aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorBruce Korb <bkorb@gnu.org>2000-11-12 03:37:33 +0000
committerBruce Korb <korbb@gcc.gnu.org>2000-11-12 03:37:33 +0000
commit56a77e1e84bc997047f8924ad4804ffa4e8b67f6 (patch)
tree07712bdd0dec8495966332bbdd1522ee74343bb6 /gcc
parent8d8523fe5247ceeef73f081cdac9d3709db0d9e1 (diff)
downloadgcc-56a77e1e84bc997047f8924ad4804ffa4e8b67f6.zip
gcc-56a77e1e84bc997047f8924ad4804ffa4e8b67f6.tar.gz
gcc-56a77e1e84bc997047f8924ad4804ffa4e8b67f6.tar.bz2
avoid commenting out #endifs
From-SVN: r37401
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rwxr-xr-xgcc/fixinc/fixinc.irix280
-rw-r--r--gcc/fixinc/fixincl.x2
-rw-r--r--gcc/fixinc/inclhack.def6
4 files changed, 8 insertions, 286 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96428ff..d380b7b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-11-11 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/inclhack.def (avoid_bool_type): avoid commenting out #endif
+ (avoid_wchar_t_type): ditto
+ * fixinc/fixinc.irix: obsoleted
+
2000-11-11 Zack Weinberg <zack@wolery.stanford.edu>
* configure.in: Don't add $outputs to all_lang_makefiles. Add
diff --git a/gcc/fixinc/fixinc.irix b/gcc/fixinc/fixinc.irix
deleted file mode 100755
index 3eab1a6..0000000
--- a/gcc/fixinc/fixinc.irix
+++ /dev/null
@@ -1,280 +0,0 @@
-#! /bin/sh
-# Install modified versions of certain problematic Irix include files.
-# If possible, create a wrapper (see fixinc.wrap) instead of copying files.
-#
-# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
-# Contributed by Brendan Kehoe (brendan@cygnus.com).
-#
-# This file is part of GNU CC.
-#
-# GNU CC is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# GNU CC is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU CC; see the file COPYING. If not, write to
-# the Free Software Foundation, 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-# See README-fixinc for more information.
-
-# Fail if no arg to specify a directory for the output.
-if [ x$1 = x ]
-then echo fixincludes: no output directory specified
-exit 1
-fi
-
-# Directory in which to store the results.
-LIB=${1?"fixincludes: output directory not specified"}
-
-# Make sure it exists.
-if [ ! -d $LIB ]; then
- mkdir $LIB || exit 1
-fi
-
-ORIG_DIR=`${PWDCMD-pwd}`
-
-# Make LIB absolute if it is relative.
-# Don't do this if not necessary, since may screw up automounters.
-case $LIB in
-/*)
- ;;
-*)
- cd $LIB; LIB=`${PWDCMD-pwd}`
- ;;
-esac
-
-echo 'Building fixincludes in ' ${LIB}
-# Directory containing the original header files.
-shift
-if [ $# -eq 0 ] ; then
- set /usr/include
-fi
-
-INLIST="$@"
-
-for INPUT in ${INLIST} ; do
-cd ${ORIG_DIR}
-cd ${INPUT}
-
-#
-# Note: For Irix, we deliberately don't try to create the directory trees,
-# since we only modify math.h, limits.h and unistd.h. If we
-# ADD ANY OTHERS, the "Making directories:" and symlinks code from
-# fixinc.svr4 may have to go back in.
-
-# This math.h fix is copied from fixinc.wrap. We want to avoid copying
-# math.h because both math.h and stdlib.h have a declaration for initstate,
-# and this declaration changed between Irix 6.2 and Irix 6.3. If we copy this
-# file, then the same toolchain can't be shared between 6.2 and 6.3+.
-
-# Some math.h files define struct exception, which conflicts with
-# the class exception defined in the C++ file std/stdexcept.h. We
-# redefine it to __math_exception. This is not a great fix, but I
-# haven't been able to think of anything better.
-file=math.h
-if [ -r $INPUT/$file ]; then
- echo Checking $INPUT/$file
- if grep 'struct exception' $INPUT/$file >/dev/null
- then
- echo Fixed $file
- rm -f $LIB/$file
- cat <<'__EOF__' >$LIB/$file
-#ifndef _MATH_H_WRAPPER
-#ifdef __cplusplus
-# define exception __math_exception
-#endif
- #include_next <math.h>
-#ifdef __cplusplus
-# undef exception
-#endif
-#define _MATH_H_WRAPPER
-#endif /* _MATH_H_WRAPPER */
-__EOF__
- # Define _MATH_H_WRAPPER at the end of the wrapper, not the start,
- # so that if #include_next gets another instance of the wrapper,
- # this will follow the #include_next chain until we arrive at
- # the real <math.h>.
- chmod a+r $LIB/$file
- fi
-fi
-
-# Avoid the definition of the bool type in curses.h when using
-# g++, since it's now an official type in the C++ language.
-
-# This is also from fixinc.wrap.
-
-file=curses.h
-if [ -r $INPUT/$file ]; then
- echo Checking $INPUT/$file
- w='[ ]'
- if grep "typedef$w$w*char$w$w*bool$w*;" $INPUT/$file >/dev/null
- then
- echo Fixed $file
- rm -f $LIB/$file
- cat <<'__EOF__' >$LIB/$file
-#ifndef _CURSES_H_WRAPPER
-#ifdef __cplusplus
-# define bool __curses_bool_t
-#endif
- #include_next <curses.h>
-#ifdef __cplusplus
-# undef bool
-#endif
-#define _CURSES_H_WRAPPER
-#endif /* _CURSES_H_WRAPPER */
-__EOF__
- # Define _CURSES_H_WRAPPER at the end of the wrapper, not the start,
- # so that if #include_next gets another instance of the wrapper,
- # this will follow the #include_next chain until we arrive at
- # the real <curses.h>.
- chmod a+r $LIB/$file
- fi
-fi
-
-# In limits.h, put #ifndefs around things that are supposed to be defined
-# in float.h to avoid redefinition errors if float.h is included first.
-
-file=limits.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
- sed -e '/[ ]FLT_MIN[ ]/i\
-#ifndef FLT_MIN
-'\
- -e '/[ ]FLT_MIN[ ]/a\
-#endif
-'\
- -e '/[ ]FLT_MAX[ ]/i\
-#ifndef FLT_MAX
-'\
- -e '/[ ]FLT_MAX[ ]/a\
-#endif
-'\
- -e '/[ ]FLT_DIG[ ]/i\
-#ifndef FLT_DIG
-'\
- -e '/[ ]FLT_DIG[ ]/a\
-#endif
-'\
- -e '/[ ]DBL_MIN[ ]/i\
-#ifndef DBL_MIN
-'\
- -e '/[ ]DBL_MIN[ ]/a\
-#endif
-'\
- -e '/[ ]DBL_MAX[ ]/i\
-#ifndef DBL_MAX
-'\
- -e '/[ ]DBL_MAX[ ]/a\
-#endif
-'\
- -e '/[ ]DBL_DIG[ ]/i\
-#ifndef DBL_DIG
-'\
- -e '/[ ]DBL_DIG[ ]/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
-
-# The Irix unistd.h will introduce a call to __vfork in its libc, but the
-# function is never actually prototyped.
-file=unistd.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
- sed -e '/__vfork/i\
-extern pid_t __vfork(void);'\
- $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
-
-# Don't use or define the name va_list in stdio.h.
-# This is for ANSI and also to interoperate properly with gcc's varargs.h.
-# Arrange for stdio.h to use stdarg.h to define __gnuc_va_list
-file=stdio.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 Fixing $file_to_fix
- echo "#define __need___va_list" > /tmp/$base
- echo "#include <stdarg.h>" >> /tmp/$base
-
- sed -e 's@ va_list @ __gnuc_va_list @' \
- -e 's@ va_list)@ __gnuc_va_list)@' \
- -e 's@ _BSD_VA_LIST_))@ __gnuc_va_list))@' \
- -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \
- -e 's@ va_list@ __not_va_list__@' \
- -e 's@\*va_list@*__not_va_list__@' \
- -e 's@ __va_list)@ __gnuc_va_list)@' \
- -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \
- -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \
- -e 's@VA_LIST@DUMMY_VA_LIST@' \
- -e 's@_Va_LIST@_VA_LIST@' $file_to_fix >> /tmp/$base
- echo Fixed $file_to_fix
- rm -f ${LIB}/$file
- cp /tmp/$base ${LIB}/$file
- chmod a+r ${LIB}/$file
- rm -f /tmp/$base
-fi
-
-if [ x${INSTALL_ASSERT_H} != x ]
-then
- cd ${ORIG_DIR}
- rm -f include/assert.h
- cp ${srcdir}/assert.h include/assert.h || exit 1
- chmod a+r include/assert.h
-fi
-
-exit 0
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x
index 524489b..9291260 100644
--- a/gcc/fixinc/fixincl.x
+++ b/gcc/fixinc/fixincl.x
@@ -1290,7 +1290,6 @@ static const char* apzAvoid_Bool_TypePatch[] = {
"#ifndef __cplusplus\n\
%0\n\
#endif",
- "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;.*",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -1328,7 +1327,6 @@ static const char* apzAvoid_Wchar_T_TypePatch[] = {
"#ifndef __cplusplus\n\
%0\n\
#endif",
- "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;.*",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index 1eb953b..73b50fd 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -764,9 +764,8 @@ fix = {
c_fix = format;
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
- c_fix_arg = "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;.*";
- test_text = "typedef unsigned int\tbool \t; /* bool type */";
+ test_text = "typedef unsigned int\tbool \t; /* bool\n type */";
};
/*
@@ -781,9 +780,8 @@ fix = {
c_fix = format;
c_fix_arg = "#ifndef __cplusplus\n%0\n#endif";
- c_fix_arg = "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;.*";
- test_text = "typedef unsigned short\twchar_t \t; /* wchar_t type */";
+ test_text = "typedef unsigned short\twchar_t \t; /* wchar_t\n type */";
};
/*