summaryrefslogtreecommitdiff
path: root/gcc/fixincludes
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-12-16 22:51:00 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-12-16 22:51:00 +0000
commit0cacc072bdfa8ca8a2dbbe78edac82cfe4703770 (patch)
treecc42e39d77a3a433ee763d6e9fe3505ecef60656 /gcc/fixincludes
parentedcbf4fa5e24931d18f3129fa4727a3a02c3c951 (diff)
downloadgcc-0cacc072bdfa8ca8a2dbbe78edac82cfe4703770.tar.gz
* fixincludes (size_t): Add support for Motorola's stdlib.h
which fails to provide a definition for size_t. (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3. (strlen,strspn,strcspn return value): Handle different layout on sysV88. (hypot): Provide a fake for hypot for m88k-motorola-sysv3. Fixes from Manfred. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17120 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fixincludes')
-rwxr-xr-xgcc/fixincludes15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index 80032e624d6..42d81b9161c 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -366,6 +366,13 @@ for file in sys/types.h stdlib.h sys/stdtypes.h stddef.h memory.h unistd.h; do
if [ -r ${LIB}/$file ]; then
echo Fixing size_t, ptrdiff_t and wchar_t in $file
sed \
+ -e '/^[ ]*\*[ ]*typedef unsigned int size_t;/N' \
+ -e 's/^\([ ]*\*[ ]*typedef unsigned int size_t;\n[ ]*\*\/\)/\1\
+#ifndef __SIZE_TYPE__\
+#define __SIZE_TYPE__ long unsigned int\
+#endif\
+typedef __SIZE_TYPE__ size_t;\
+/' \
-e '/typedef[ ][ ]*[a-z_][ a-z_]*[ ]size_t/i\
#ifndef __SIZE_TYPE__\
#define __SIZE_TYPE__ long unsigned int\
@@ -2300,6 +2307,8 @@ done
# libm.a on m88k-motorola-sysv3 contains a stupid optimization for function
# hypot(), which returns the second argument without even looking at its value
# if the other is 0.0
+# Another drawback is that fix-header doesn't fix fabs' prototype, and I have
+# no idea why.
file=math.h
if [ $target_canonical = m88k-motorola-sysv3 ]; then
if [ -r $file ] && [ ! -r ${LIB}/$file ]; then
@@ -2309,8 +2318,10 @@ if [ $target_canonical = m88k-motorola-sysv3 ]; then
fi
if [ -r ${LIB}/$file ]; then
- echo Fixing $file, hypot definition
- sed -e '/^extern double hypot();$/a\
+ echo Fixing $file, fabs/hypot definition
+ sed \
+ -e 's/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/' \
+ -e '/^extern double hypot();$/a\
\/* Workaround a stupid Motorola optimization if one\
of x or y is 0.0 and the other is negative! *\/\
#ifdef __STDC__\