aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1993-04-09 19:12:20 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1993-04-09 19:12:20 +0000
commitc49c4803903250196bb02446851ee7e940608393 (patch)
tree529717ea347645387e415e01d18f499591fcf48e /gcc
parent1717563d61f35d5fa87aea7aaccea1ef2864514f (diff)
downloadgcc-c49c4803903250196bb02446851ee7e940608393.zip
gcc-c49c4803903250196bb02446851ee7e940608393.tar.gz
gcc-c49c4803903250196bb02446851ee7e940608393.tar.bz2
Don't put #ifndefs in limits.h if they are already there
From-SVN: r4053
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/fixincludes39
1 files changed, 24 insertions, 15 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index 52ecb0a..8de7a60 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -959,6 +959,11 @@ 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.
+# On HP/UX this patch does not work, because on HP/UX limits.h uses
+# multi line comments and the inserted #endif winds up inside the
+# comment. Fortunately, HP/UX already uses #ifndefs in limits.h; if
+# we find a #ifndef FLT_MIN we assume that all the required #ifndefs
+# are there, and we do not add them ourselves.
file=limits.h
if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
cp $file ${LIB}/$file >/dev/null 2>&1 || echo "Can't copy $file"
@@ -967,33 +972,37 @@ if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
fi
if [ -r ${LIB}/$file ]; then
- echo Fixing $file
- sed -e '/[ ]FLT_MIN[ ]/i\
+ if egrep 'ifndef[ ]+FLT_MIN' ${LIB}/$file >/dev/null; then
+ true
+ else
+ echo Fixing $file
+ sed -e '/[ ]FLT_MIN[ ]/i\
#ifndef FLT_MIN'\
- -e '/[ ]FLT_MIN[ ]/a\
+ -e '/[ ]FLT_MIN[ ]/a\
#endif'\
- -e '/[ ]FLT_MAX[ ]/i\
+ -e '/[ ]FLT_MAX[ ]/i\
#ifndef FLT_MAX'\
- -e '/[ ]FLT_MAX[ ]/a\
+ -e '/[ ]FLT_MAX[ ]/a\
#endif'\
- -e '/[ ]FLT_DIG[ ]/i\
+ -e '/[ ]FLT_DIG[ ]/i\
#ifndef FLT_DIG'\
- -e '/[ ]FLT_DIG[ ]/a\
+ -e '/[ ]FLT_DIG[ ]/a\
#endif'\
- -e '/[ ]DBL_MIN[ ]/i\
+ -e '/[ ]DBL_MIN[ ]/i\
#ifndef DBL_MIN'\
- -e '/[ ]DBL_MIN[ ]/a\
+ -e '/[ ]DBL_MIN[ ]/a\
#endif'\
- -e '/[ ]DBL_MAX[ ]/i\
+ -e '/[ ]DBL_MAX[ ]/i\
#ifndef DBL_MAX'\
- -e '/[ ]DBL_MAX[ ]/a\
+ -e '/[ ]DBL_MAX[ ]/a\
#endif'\
- -e '/[ ]DBL_DIG[ ]/i\
+ -e '/[ ]DBL_DIG[ ]/i\
#ifndef DBL_DIG'\
- -e '/[ ]DBL_DIG[ ]/a\
+ -e '/[ ]DBL_DIG[ ]/a\
#endif'\
- ${LIB}/$file > ${LIB}/${file}.sed
- rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
+ ${LIB}/$file > ${LIB}/${file}.sed
+ rm -f ${LIB}/$file; mv ${LIB}/${file}.sed ${LIB}/$file
+ fi
if cmp $file ${LIB}/$file >/dev/null 2>&1; then
echo Deleting ${LIB}/$file\; no fixes were needed.
rm -f ${LIB}/$file