aboutsummaryrefslogtreecommitdiff
path: root/gcc/fixinc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fixinc')
-rw-r--r--gcc/fixinc/Makefile.in17
-rw-r--r--gcc/fixinc/README22
-rw-r--r--gcc/fixinc/check.tpl120
-rw-r--r--gcc/fixinc/fixfixes.c8
-rwxr-xr-xgcc/fixinc/fixinc.dgux8
-rw-r--r--gcc/fixinc/fixinc.interix8
-rw-r--r--gcc/fixinc/fixinc.ptx8
-rwxr-xr-xgcc/fixinc/fixinc.svr48
-rw-r--r--gcc/fixinc/fixinc.winnt8
-rwxr-xr-xgcc/fixinc/fixinc.wrap8
-rw-r--r--gcc/fixinc/fixincl.c33
-rwxr-xr-xgcc/fixinc/fixincl.sh15
-rw-r--r--gcc/fixinc/fixincl.tpl251
-rw-r--r--gcc/fixinc/fixincl.x1596
-rw-r--r--gcc/fixinc/fixlib.h13
-rw-r--r--gcc/fixinc/fixtests.c17
-rwxr-xr-xgcc/fixinc/genfixes10
-rw-r--r--gcc/fixinc/gnu-regex.c9
-rw-r--r--gcc/fixinc/inclhack.def583
-rwxr-xr-xgcc/fixinc/mkfixinc.sh4
-rw-r--r--gcc/fixinc/server.c38
-rw-r--r--gcc/fixinc/tests/base/arpa/inet.h2
-rw-r--r--gcc/fixinc/tests/base/assert.h5
-rw-r--r--gcc/fixinc/tests/base/curses.h5
-rw-r--r--gcc/fixinc/tests/base/fixinc-test-limits.h19
-rw-r--r--gcc/fixinc/tests/base/math.h12
-rw-r--r--gcc/fixinc/tests/base/pthread.h16
-rw-r--r--gcc/fixinc/tests/base/stdio.h10
-rw-r--r--gcc/fixinc/tests/base/stdlib.h6
-rw-r--r--gcc/fixinc/tests/base/sys/cdefs.h (renamed from gcc/fixinc/tests/base/machine/ansi.h)8
-rw-r--r--gcc/fixinc/tests/base/sys/types.h4
-rw-r--r--gcc/fixinc/tests/base/testing.h46
-rw-r--r--gcc/fixinc/tests/base/types/vxTypesBase.h2
33 files changed, 1855 insertions, 1064 deletions
diff --git a/gcc/fixinc/Makefile.in b/gcc/fixinc/Makefile.in
index 88f615da36e..d0dfb0c2f4b 100644
--- a/gcc/fixinc/Makefile.in
+++ b/gcc/fixinc/Makefile.in
@@ -1,6 +1,6 @@
# Makefile for GNU compilers.
#
-# Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+# Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
#This file is part of GNU CC.
@@ -22,8 +22,15 @@
# The makefile built from this file lives in the fixinc subdirectory.
# Its purpose is to build the any-platforms fixinc.sh script.
+SHELL=/bin/sh
+
+# Some versions of `touch' (such as the version on Solaris 2.8)
+# do not correctly set the timestamp due to buggy versions of `utime'
+# in the kernel. So, we use `echo' instead.
+STAMP = echo timestamp >
+
FL_LIST = $(CFLAGS) $(CPPFLAGS) $(WARN_CFLAGS)
-FIXINC_DEFS = -DIN_GCC $(FL_LIST) $(INCLUDES)
+FIXINC_DEFS = -DIN_GCC -DHAVE_CONFIG_H $(FL_LIST) $(INCLUDES)
# Directory where sources are, from where we are.
srcdir = @srcdir@
@@ -78,11 +85,11 @@ twoprocess : test-stamp $(AF)
full-stamp : $(ALLOBJ) $(LIBERTY)
$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(ALLOBJ) $(LIBERTY)
- touch $@
+ $(STAMP) $@
test-stamp : $(TESTOBJ) $(LIBERTY)
$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $(FI) $(TESTOBJ) $(LIBERTY)
- touch $@
+ $(STAMP) $@
$(AF): $(FIXOBJ) $(LIBERTY)
$(CC) $(FIXINC_DEFS) $(LDFLAGS) -o $@ $(FIXOBJ) $(LIBERTY)
@@ -115,7 +122,7 @@ maintainer-clean : clean
# We still copy the script because we still have alternative scripts.
#
install-bin : $(TARGETS)
- ./fixincl -v
+ ./fixincl -v < /dev/null
@if [ -f ../fixinc.sh ] ; then rm -f ../fixinc.sh || \
mv -f ../fixinc.sh ../fixinc.sh.$$ || exit 1 ; else : ; fi
@cp $(srcdir)/fixincl.sh ../fixinc.sh
diff --git a/gcc/fixinc/README b/gcc/fixinc/README
index c04b3fdda9e..06fe879245e 100644
--- a/gcc/fixinc/README
+++ b/gcc/fixinc/README
@@ -36,6 +36,9 @@ please, to me: bkorb@gnu.org.
Here are the rules for making fixes in the inclhack.def file:
+0. If you are not the fixincludes maintainer, please send that
+ person email about any changes you may want to make. Thanks!
+
1. Every fix must have a "hackname" that is compatible with C syntax
for variable names and is unique without regard to alphabetic case.
Please keep them alphabetical by this name. :-)
@@ -181,6 +184,25 @@ Here are the rules for making fixes in the inclhack.def file:
replaced. You may delete text by supplying an empty string for
the format (the first "c_fix_arg").
+ Note: In general, a format c_fix may be used in place of one
+ sed expression. However, it will need to be rewritten by
+ hand. For example:
+
+ sed = 's@^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$'
+ '@& || __GNUC__ >= 3@';
+
+ may be rewritten using a format c_fix as:
+
+ c_fix = format;
+ c_fix_arg = '%0 || __GNUC__ >= 3';
+ c_fix_arg = '^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$';
+
+ Multiple sed substitution expressions probably ought to remain sed
+ expressions in order to maintain clarity. Also note that if the
+ second sed expression is the same as the first select expression,
+ then you may omit the second c_fix_arg. The select expression will
+ be picked up and used in its absence.
+
EXAMPLES OF FIXES:
==================
diff --git a/gcc/fixinc/check.tpl b/gcc/fixinc/check.tpl
index de415110863..fd03b3ea609 100644
--- a/gcc/fixinc/check.tpl
+++ b/gcc/fixinc/check.tpl
@@ -1,4 +1,4 @@
-[= autogen template sh=check.sh =]
+[= autogen5 template sh=check.sh =]
[=
#
# This file contanes the shell template to run tests on the fixes
@@ -25,86 +25,84 @@ export TARGET_MACHINE DESTDIR SRCDIR FIND_BASE VERBOSE INPUT ORIGDIR
rm -rf ${DESTDIR} ${SRCDIR}
mkdir ${DESTDIR} ${SRCDIR}
-
-( cd ${SRCDIR}
- set +e
- for f in [=
-
- _EVAL fix.files _stack _join "echo `
-
- for f in %s
- do case $f in
- */* ) echo $f | sed 's;/[^/]*$;;' ;;
- esac
- done | sort -u
-
- ` " _printf _shell =]
- do
- mkdir $f || mkdir -p $f
- done ) > /dev/null 2>&1
-
+(
+[=
+ (shellf
+ "for f in %s
+ do case $f in
+ */* ) echo $f | sed 's;/[^/]*$;;' ;;
+ esac
+ done | sort -u | \
+ while read g
+ do echo \" mkdir \\${SRCDIR}/$g || mkdir -p \\${SRCDIR}/$g || exit 1\"
+ done" (join " " (stack "fix.files")) ) =]
+) 2> /dev/null[= # suppress 'No such file or directory' messages =]
cd inc
[=
+(define sfile "")
+(define HACK "")
+(define dfile "") =][=
-_FOR fix =][=
+FOR fix =][=
- _IF test_text _count 1 > =]
-#
-# [=hackname=] has [=_EVAL test_text _count=] tests
-#
-sfile=[=
- _IF files _exist =][=
- files[0] =][=
- _ELSE =]testing.h[=
- _ENDIF =][=
- _FOR test_text FROM 1 =]
-dfile=`dirname $sfile`/[=hackname "#_A-Z" "#-a-z" _tr=]-[=_EVAL _index=].h
-cat >> $sfile <<_HACK_EOF_
+ IF (> (count "test_text") 1) =][=
+ (set! HACK (string-upcase! (get "hackname")))
+ (set! sfile (if (exist? "files") (get "files[]") "testing.h"))
+ (set! dfile (string-append
+ (if (*==* sfile "/")
+ (shellf "echo \"%s\"|sed 's,/[^/]*,/,'" sfile )
+ "" )
+ (string-tr! (get "hackname") "_A-Z" "-a-z")
+ ) ) =][=
+
+ FOR test_text (for-from 1) =]
+cat >> [=(. sfile)=] <<_HACK_EOF_
-#if defined( [=hackname _up=]_CHECK_[=_EVAL _index=] )
+#if defined( [=(. HACK)=]_CHECK_[=(for-index)=] )
[=test_text=]
-#endif /* [=hackname _up=]_CHECK_[=_EVAL _index=] */
+#endif /* [=(. HACK)=]_CHECK_[=(for-index)=] */
_HACK_EOF_
-echo $sfile | ../../fixincl
-mv -f $sfile $dfile
-[ -f ${DESTDIR}/$sfile ] && mv ${DESTDIR}/$sfile ${DESTDIR}/$dfile[=
- /test_text =][=
- _ENDIF =][=
+echo [=(. sfile)=] | ../../fixincl
+mv -f [=(. sfile)=] [=(. dfile)=]-[=(for-index)=].h
+[ -f ${DESTDIR}/[=(. sfile)=] ] && [=#
+ =]mv ${DESTDIR}/[=(. sfile)=] ${DESTDIR}/[=(. dfile)=]-[=(for-index)=].h[=
-/fix
+ ENDFOR test_text =][=
+
+ ENDIF multi-test =][=
+
+ENDFOR fix
=][=
-_FOR fix =][=
-
- _IF test_text _exist ! =][=
- _IF replace _exist ! =]
-echo No test for [=hackname=] in inc/[=
- _IF files _exist =][=
- files[0] =][=
- _ELSE =]testing.h[=
- _ENDIF =][=
- _ENDIF =][=
- _ELSE =]
+FOR fix =][=
+ (set! HACK (string-upcase! (get "hackname"))) =][=
+
+ IF (not (exist? "test_text")) =][=
+ (if (not (exist? "replace"))
+ (error (sprintf "include fix '%s' has no test text"
+ (get "hackname") )) )
+ =][=
+ ELSE =]
cat >> [=
- _IF files _exist =][=
+ IF (exist? "files") =][=
files[0] =][=
- _ELSE =]testing.h[=
- _ENDIF =] <<_HACK_EOF_
+ ELSE =]testing.h[=
+ ENDIF =] <<_HACK_EOF_
-#if defined( [=hackname _up=]_CHECK )
+#if defined( [=(. HACK)=]_CHECK )
[=test_text=]
-#endif /* [=hackname _up=]_CHECK */
+#endif /* [=(. HACK)=]_CHECK */
_HACK_EOF_
-[=_ENDIF =][=
+[=ENDIF =][=
-/fix
+ENDFOR fix
=]
-find . -type f | sed 's;\./;;' | sort | ../../fixincl
+find . -type f | sed 's;^\./;;' | sort | ../../fixincl
cd ${DESTDIR}
exitok=true
@@ -137,7 +135,7 @@ do
:
else
- diff -c $f ${TESTBASE}/$f >&2 || :
+ diff -u $f ${TESTBASE}/$f >&2 || :
exitok=false
fi
done
@@ -173,6 +171,6 @@ else
fi
$exitok[=
-_eval _outfile "chmod +x %s" _printf _shell
+(set-writable)
=]
diff --git a/gcc/fixinc/fixfixes.c b/gcc/fixinc/fixfixes.c
index 56b9f5493c7..afdecfc9e08 100644
--- a/gcc/fixinc/fixfixes.c
+++ b/gcc/fixinc/fixfixes.c
@@ -30,14 +30,6 @@ Here are the rules:
This may be useful, for example, if there are interesting strings
or pre-compiled regular expressions stored there.
- It is also possible to access fix descriptions by using the
- index of a known fix, "my_fix_name" for example:
-
- tFixDesc* p_desc = fixDescList + MY_FIX_NAME_FIXIDX;
- tTestDesc* p_tlist = p_desc->p_test_desc;
-
- regexec (p_tlist->p_test_regex, ...)
-
= = = = = = = = = = = = = = = = = = = = = = = = =
This file is part of GNU CC.
diff --git a/gcc/fixinc/fixinc.dgux b/gcc/fixinc/fixinc.dgux
index 23f63da0860..d73d4e85a00 100755
--- a/gcc/fixinc/fixinc.dgux
+++ b/gcc/fixinc/fixinc.dgux
@@ -221,12 +221,4 @@ fi
done
-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/fixinc.interix b/gcc/fixinc/fixinc.interix
index 42bde423cbe..d0fe4cfba78 100644
--- a/gcc/fixinc/fixinc.interix
+++ b/gcc/fixinc/fixinc.interix
@@ -162,12 +162,4 @@ done
done # for include directory list
-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/fixinc.ptx b/gcc/fixinc/fixinc.ptx
index 700a725bd35..b4f92689981 100644
--- a/gcc/fixinc/fixinc.ptx
+++ b/gcc/fixinc/fixinc.ptx
@@ -263,12 +263,4 @@ fi
done
-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/fixinc.svr4 b/gcc/fixinc/fixinc.svr4
index bc2eab1f45c..4bb69fc523a 100755
--- a/gcc/fixinc/fixinc.svr4
+++ b/gcc/fixinc/fixinc.svr4
@@ -1806,12 +1806,4 @@ chmod a+r ${LIB}/sys/byteorder.h
done
-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/fixinc.winnt b/gcc/fixinc/fixinc.winnt
index 323b79a93b8..8fd6e53331f 100644
--- a/gcc/fixinc/fixinc.winnt
+++ b/gcc/fixinc/fixinc.winnt
@@ -229,12 +229,4 @@ for file in $files; do
rmdir $LIB/$file > NUL 2>&1
done
-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/fixinc.wrap b/gcc/fixinc/fixinc.wrap
index 46318967c70..e242d5aa5cf 100755
--- a/gcc/fixinc/fixinc.wrap
+++ b/gcc/fixinc/fixinc.wrap
@@ -133,12 +133,4 @@ fi
done
-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.c b/gcc/fixinc/fixincl.c
index bd134255b8f..a1746af5269 100644
--- a/gcc/fixinc/fixincl.c
+++ b/gcc/fixinc/fixincl.c
@@ -29,6 +29,9 @@ Boston, MA 02111-1307, USA. */
#endif
#include <signal.h>
+#if ! defined( SIGCHLD ) && defined( SIGCLD )
+# define SIGCHLD SIGCLD
+#endif
#ifndef SEPARATE_FIX_PROC
#include "server.h"
#endif
@@ -67,7 +70,7 @@ typedef enum {
te_verbose verbose_level = VERB_PROGRESS;
int have_tty = 0;
-#define VLEVEL(l) (verbose_level >= l)
+#define VLEVEL(l) ((unsigned int) verbose_level >= (unsigned int) l)
#define NOT_SILENT VLEVEL(VERB_FIXES)
pid_t process_chain_head = (pid_t) -1;
@@ -217,12 +220,14 @@ initialize ( argc, argv )
char** argv;
{
static const char var_not_found[] =
+#ifndef __STDC__
+ "fixincl ERROR: %s environment variable not defined\n"
+#else
"fixincl ERROR: %s environment variable not defined\n"
-#ifdef __STDC__
"each of these must be defined:\n"
-#define _ENV_(v,m,n,t) "\t" n " - " t "\n"
-ENV_TABLE
-#undef _ENV_
+# define _ENV_(v,m,n,t) "\t" n " - " t "\n"
+ ENV_TABLE
+# undef _ENV_
#endif
;
@@ -249,6 +254,12 @@ ENV_TABLE
exit (EXIT_FAILURE);
}
+#ifdef SIGCHLD
+ /* We *MUST* set SIGCHLD to SIG_DFL so that the wait4() call will
+ receive the signal. A different setting is inheritable */
+ signal (SIGCHLD, SIG_DFL);
+#endif
+
#define _ENV_(v,m,n,t) { tSCC var[] = n; \
v = getenv (var); if (m && (v == NULL)) { \
fprintf (stderr, var_not_found, var); \
@@ -908,7 +919,7 @@ fix_with_system (p_fixd, pz_fix_file, pz_file_source, pz_temp_file)
/*
* Now add the fix number and file names that may be needed
*/
- sprintf (pz_scan, "%ld %s %s %s", p_fixd - fixDescList,
+ sprintf (pz_scan, "%ld \'%s\' \'%s\' \'%s\'", p_fixd - fixDescList,
pz_fix_file, pz_file_source, pz_temp_file);
}
else /* NOT an "internal" fix: */
@@ -927,7 +938,7 @@ fix_with_system (p_fixd, pz_fix_file, pz_file_source, pz_temp_file)
the following bizarre use of 'cat' only works on DOS boxes.
It causes the file to be dropped into a temporary file for
'cat' to read (pipes do not work on DOS). */
- tSCC z_cmd_fmt[] = " %s | cat > %s";
+ tSCC z_cmd_fmt[] = " \'%s\' | cat > \'%s\'";
#else
/* Don't use positional formatting arguments because some lame-o
implementations cannot cope :-(. */
@@ -1250,7 +1261,7 @@ test_for_changes (read_fd)
{
FILE *in_fp = fdopen (read_fd, "r");
FILE *out_fp = (FILE *) NULL;
- char *pz_cmp = pz_curr_data;
+ unsigned char *pz_cmp = (unsigned char*)pz_curr_data;
#ifdef DO_STATS
fixed_ct++;
@@ -1262,6 +1273,7 @@ test_for_changes (read_fd)
ch = getc (in_fp);
if (ch == EOF)
break;
+ ch &= 0xFF; /* all bytes are 8 bits */
/* IF we are emitting the output
THEN emit this character, too.
@@ -1280,8 +1292,9 @@ test_for_changes (read_fd)
altered_ct++;
#endif
/* IF there are matched data, write the matched part now. */
- if (pz_cmp != pz_curr_data)
- fwrite (pz_curr_data, (size_t)(pz_cmp - pz_curr_data), 1, out_fp);
+ if ((char*)pz_cmp != pz_curr_data)
+ fwrite (pz_curr_data, (size_t)((char*)pz_cmp - pz_curr_data),
+ 1, out_fp);
/* Emit the current unmatching character */
putc (ch, out_fp);
diff --git a/gcc/fixinc/fixincl.sh b/gcc/fixinc/fixincl.sh
index 18b5fb24651..b84d7014d97 100755
--- a/gcc/fixinc/fixincl.sh
+++ b/gcc/fixinc/fixincl.sh
@@ -97,6 +97,13 @@ esac
ORIGDIR=`${PWDCMD}`
export ORIGDIR
FIXINCL=${ORIGDIR}/fixinc/fixincl
+if [ ! -x $FIXINCL ] ; then
+ FIXINCL=${ORIGDIR}/fixincl
+ if [ ! -x $FIXINCL ] ; then
+ echo "Cannot find working fixincl" >&2
+ exit 1
+ fi
+fi
export FIXINCL
# Make LIB absolute only if needed to avoid problems with the amd.
@@ -470,11 +477,3 @@ then echo fixincludes is done ; fi
done
#
# # # # # # # # # # # # # # # # # # # # #
-
-if [ x${INSTALL_ASSERT_H} != x ] && [ -f ${srcdir}/assert.h ]
-then
- cd $ORIGDIR
- rm -f include/assert.h
- cp ${srcdir}/assert.h include/assert.h || exit 1
- chmod a+r include/assert.h
-fi
diff --git a/gcc/fixinc/fixincl.tpl b/gcc/fixinc/fixincl.tpl
index 780bdb8d2cb..e8aefd05dfe 100644
--- a/gcc/fixinc/fixincl.tpl
+++ b/gcc/fixinc/fixincl.tpl
@@ -1,4 +1,4 @@
-[= autogen template -*- Mode: C -*-
+[= AutoGen5 Template -*- Mode: C -*-
x=fixincl.x =]
/*
* DO NOT EDIT THIS FILE - it has been generated
@@ -7,171 +7,168 @@ x=fixincl.x =]
* files which are fixed to work correctly with ANSI C and placed in a
* directory that GNU C will search.
*
- * This file contains [=_eval fix _count =] fixup descriptions.
+ * This file contains [=(count "fix")=] fixup descriptions.
*
* See README for more information.
*
* inclhack copyright (c) 1998, 1999, 2000, 2001
* The Free Software Foundation, Inc.
*
-[=_eval inclhack "# * " _gpl=]
+ [=(define re-ct 0) (define max-mach 0) (define ct 0)
+ (define HACK "") (define Hack "") (define tmp "")
+ (gpl "inclhack" " * ")=]
*/
-[= _SETENV re_ct 0 =][= _SETENV max_mach 0 =][=
+[=
-_FOR fix =]
+FOR fix =]
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of [=hackname _cap=] fix
+ * Description of [=
+ (set! Hack (string-capitalize! (get "hackname")))
+ (set! HACK (string-upcase! (get "hackname")))
+ (if (and (not (exist? "test_text")) (not (exist? "replace")))
+ (error (sprintf "include fix '%s' has no test text" Hack )) )
+ (. Hack)=] fix
*/[=
# Note that this is not just for debugging purposes, but in case
some C fix wishes to refer to the regexps it is paired with.
See commentary at the top of fixfixes.c.
=]
-#define [=hackname _up #_FIXIDX + #%-32s _printf=] [=_eval _index=]
-tSCC z[=hackname _cap=]Name[] =
- [=hackname _krstr=];
+tSCC z[=(. Hack)=]Name[] =
+ "[=hackname=]";
/*
* File name selection pattern
*/[=
- _IF files _exist=]
-tSCC z[=hackname _cap=]List[] =
- "[=_FOR files =]|[=files=][=/files=]|";[=
+ IF (exist? "files")=]
+tSCC z[=(. Hack)=]List[] =
+ "[=FOR files =]|[=files=][=ENDFOR=]|";[=
- _ELSE =]
-#define z[=hackname _cap=]List (char*)NULL[=
- _ENDIF "files _exist" =]
+ ELSE =]
+#define z[=(. Hack)=]List (char*)NULL[=
+ ENDIF (exist? "files") =]
/*
* Machine/OS name selection pattern
*/[=
- _IF mach _exist=]
-tSCC* apz[=hackname _cap=]Machs[] = {[=
- _SETENV this_mach 0 =][=
+ IF (exist? "mach")=]
+tSCC* apz[=(. Hack)=]Machs[] = {[=
+ (set! ct 0) =][=
- _FOR mach =]
- [=mach _krstr=],[=
- _SETENV this_mach mach _len this_mach _env _val 5 + +
- =][= /mach=]
+ FOR mach =]
+ [=
+ (set! tmp (get "mach"))
+ (set! ct (+ ct (string-length tmp) 5))
+ (kr-string tmp)=],[=
+ ENDFOR=]
(const char*)NULL };[=
- _SETENV max_mach _mark this_mach _env _val max_mach _env _val _max =][=
+ (if (> ct max-mach) (set! max-mach ct)) =][=
- _ELSE =]
-#define apz[=hackname _cap=]Machs (const char**)NULL[=
- _ENDIF "files _exist" =][=
+ ELSE =]
+#define apz[=(. Hack)=]Machs (const char**)NULL[=
+ ENDIF (exist? "files") =][=
- _IF select _exist=]
+ IF (exist? "select")=]
/*
* content selection pattern - do fix if pattern found
*/[=
- _FOR select =]
-tSCC z[=hackname _cap=]Select[=_eval _index=][] =
- [=select _krstr=];[=
- /select =][=
- _ENDIF =][=
+ FOR select =]
+tSCC z[=(. Hack)=]Select[=(for-index)=][] =
+ [=(kr-string (get "select"))=];[=
+ ENDFOR select =][=
+ ENDIF =][=
- _IF bypass _exist=]
+ IF (exist? "bypass")=]
/*
* content bypass pattern - skip fix if pattern found
*/[=
- _FOR bypass =]
-tSCC z[=hackname _cap=]Bypass[=_eval _index=][] =
- [=bypass _krstr=];[=
- /bypass =][=
- _ENDIF =][=
+ FOR bypass =]
+tSCC z[=(. Hack)=]Bypass[=(for-index)=][] =
+ [=(kr-string (get "bypass"))=];[=
+ ENDFOR bypass =][=
+ ENDIF =][=
- _IF test _exist=]
+ IF (exist? "test")=]
/*
* perform the 'test' shell command - do fix on success
*/[=
- _FOR test =]
-tSCC z[=hackname _cap=]Test[=_eval _index=][] =
- [=test _krstr=];[=
- /test =][=
- _ENDIF =][=
+ FOR test =]
+tSCC z[=(. Hack)=]Test[=(for-index)=][] =
+ [=(kr-string (get "test"))=];[=
+ ENDFOR =][=
+ ENDIF =][=
- _IF c_test _exist=]
+ IF (exist? "c_test")=]
/*
* perform the C function call test
*/[=
- _FOR c_test =]
-tSCC z[=hackname _cap=]FTst[=_eval _index=][] = "[=c_test=]";[=
- /c_test =][=
- _ENDIF =][=
+ FOR c_test =]
+tSCC z[=(. Hack)=]FTst[=(for-index)=][] = "[=c_test=]";[=
+ ENDFOR c_test =][=
+ ENDIF =][=
+ IF (set! ct (+ (count "select") (count "bypass")
+ (count "test") (count "c_test")))
-# Build the array of test descriptions for this fix: =][=
-
- _IF select _exist
- bypass _exist |
- test _exist |
- c_test _exist |
+ (= ct 0)
=]
+#define [=(. HACK)=]_TEST_CT 0
+#define a[=(. Hack)=]Tests (tTestDesc*)NULL[=
+ ELSE =]
+
+#define [=(. HACK)=]_TEST_CT [=(. ct)=][=
+ (set! re-ct (+ re-ct (count "select") (count "bypass"))) =]
+static tTestDesc a[=(. Hack)=]Tests[] = {[=
+
+ FOR test =]
+ { TT_TEST, z[=(. Hack)=]Test[=(for-index)=], 0 /* unused */ },[=
+ ENDFOR test =][=
-#define [=hackname _up =]_TEST_CT [=
- _eval select _count
- bypass _count +
- test _count +
- c_test _count + =][=
-_SETENV re_ct
- re_ct _env _val
- select _count +
- bypass _count + =]
-static tTestDesc a[=hackname _cap=]Tests[] = {[=
-
- _FOR test =]
- { TT_TEST, z[=hackname _cap=]Test[=_eval _index=], 0 /* unused */ },[=
- /test =][=
-
- _FOR c_test =]
- { TT_FUNCTION, z[=hackname _cap=]FTst[=_eval _index=], 0 /* unused */ },[=
- /c_test =][=
-
- _FOR bypass =]
- { TT_NEGREP, z[=hackname _cap=]Bypass[=_eval _index=], (regex_t*)NULL },[=
- /bypass =][=
-
- _FOR select =]
- { TT_EGREP, z[=hackname _cap=]Select[=_eval _index=], (regex_t*)NULL },[=
- /select =] };[=
- _ELSE =]
-#define [=hackname _up=]_TEST_CT 0
-#define a[=hackname _cap=]Tests (tTestDesc*)NULL[=
- _ENDIF =]
+ FOR c_test =]
+ { TT_FUNCTION, z[=(. Hack)=]FTst[=(for-index)=], 0 /* unused */ },[=
+ ENDFOR c_test =][=
+
+ FOR bypass =]
+ { TT_NEGREP, z[=(. Hack)=]Bypass[=(for-index)=], (regex_t*)NULL },[=
+ ENDFOR bypass =][=
+
+ FOR select =]
+ { TT_EGREP, z[=(. Hack)=]Select[=(for-index)=], (regex_t*)NULL },[=
+ ENDFOR select =] };[=
+ ENDIF =]
/*
- * Fix Command Arguments for [=hackname _cap=]
+ * Fix Command Arguments for [=(. Hack)=]
*/
-static const char* apz[=hackname _cap=]Patch[] = {[=
- _IF sed _exist =] "sed"[=
- _FOR sed=],
- "-e", [=sed _krstr=][=
- /sed=],[=
+static const char* apz[=(. Hack)=]Patch[] = {[=
+ IF (exist? "sed")=] "sed"[=
+ FOR sed=],
+ "-e", [=(kr-string (get "sed"))=][=
+ ENDFOR sed=],[=
- _ELIF shell _exist =] "sh", "-c",
- [=shell _krstr=],[=
+ ELIF (exist? "shell")=] "sh", "-c",
+ [=(kr-string (get "shell"))=],[=
- _ELIF c_fix _exist =]
- [=
- c_fix _krstr=],[=
+ ELIF (exist? "c_fix")=]
+ [=(kr-string (get "c_fix"))=],[=
- _FOR c_fix_arg =]
- [=c_fix_arg _krstr=],[=
- /c_fix_arg =][=
+ FOR c_fix_arg =]
+ [=(kr-string (get "c_fix_arg"))=],[=
+ ENDFOR c_fix_arg =][=
- _ELIF replace _len =]
-[=replace _krstr=],[=
+ ELIF (> (len "replace") 0) =]
+[=(kr-string (get "replace"))=],[=
- _ENDIF=]
+ ENDIF=]
(char*)NULL };
-[=/fix=]
+[=ENDFOR fix=]
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
@@ -181,25 +178,39 @@ static const char* apz[=hackname _cap=]Patch[] = {[=
We also must allow for the size of the target machine machine name.
This allows for a 79 byte machine name. Better be enough.
=]
-#define REGEX_COUNT [= _eval re_ct _env =]
-#define MACH_LIST_SIZE_LIMIT [= _eval max_mach _env _val 128 + =]
-#define FIX_COUNT [= _eval fix _count =]
+#define REGEX_COUNT [= (. re-ct) =]
+#define MACH_LIST_SIZE_LIMIT [= (+ 128 max-mach) =]
+#define FIX_COUNT [= (count "fix") =]
+
+/*
+ * Enumerate the fixes[= # in a way that minimizes diffs :-) =]
+ */
+typedef enum {[=
+
+FOR fix "," =]
+ [=(string-upcase! (get "hackname"))=]_FIXIDX[=
+ENDFOR
+
+=]
+} t_fixinc_idx;
tFixDesc fixDescList[ FIX_COUNT ] = {[=
-_FOR fix ",\n" =]
- { z[=hackname _cap=]Name, z[=hackname _cap=]List,
- apz[=hackname _cap=]Machs,
- [=hackname _up=]_TEST_CT, [=
- _IF not_machine _exist =]FD_MACH_IFNOT[=
- _ELSE =]FD_MACH_ONLY[=
- _ENDIF =][=
- _IF shell _exist =] | FD_SHELL_SCRIPT[=
- _ELIF c_fix _exist =] | FD_SUBROUTINE[=
- _ELIF replace _exist =] | FD_REPLACEMENT[=
- _ENDIF =],
- a[=hackname _cap=]Tests, apz[=hackname _cap=]Patch, 0 }[=
-
-/fix=]
+FOR fix ",\n" =][=
+ (set! Hack (string-capitalize! (get "hackname")))
+ (set! HACK (string-upcase! (get "hackname"))) =]
+ { z[=(. Hack)=]Name, z[=(. Hack)=]List,
+ apz[=(. Hack)=]Machs,
+ [=(. HACK)=]_TEST_CT, [=
+ IF (exist? "not_machine") =]FD_MACH_IFNOT[=
+ ELSE =]FD_MACH_ONLY[=
+ ENDIF =][=
+ IF (exist? "shell") =] | FD_SHELL_SCRIPT[=
+ ELIF (exist? "c_fix") =] | FD_SUBROUTINE[=
+ ELIF (exist? "replace") =] | FD_REPLACEMENT[=
+ ENDIF =],
+ a[=(. Hack)=]Tests, apz[=(. Hack)=]Patch, 0 }[=
+
+ENDFOR =]
};
diff --git a/gcc/fixinc/fixincl.x b/gcc/fixinc/fixincl.x
index f0d2ce47abd..675e6755c47 100644
--- a/gcc/fixinc/fixincl.x
+++ b/gcc/fixinc/fixincl.x
@@ -5,14 +5,14 @@
* files which are fixed to work correctly with ANSI C and placed in a
* directory that GNU C will search.
*
- * This file contains 131 fixup descriptions.
+ * This file contains 143 fixup descriptions.
*
* See README for more information.
*
* inclhack copyright (c) 1998, 1999, 2000, 2001
* The Free Software Foundation, Inc.
*
- * inclhack is free software.
+ * inclhack is free software.
*
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
@@ -32,43 +32,33 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Aaa_Ki_Iface fix
+ * Description of Aaa_Bad_Fixes fix
*/
-#define AAA_KI_IFACE_FIXIDX 0
-tSCC zAaa_Ki_IfaceName[] =
- "AAA_ki_iface";
+tSCC zAaa_Bad_FixesName[] =
+ "AAA_bad_fixes";
/*
* File name selection pattern
*/
-tSCC zAaa_Ki_IfaceList[] =
- "|sys/ki_iface.h|";
+tSCC zAaa_Bad_FixesList[] =
+ "|sundev/ipi_error.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzAaa_Ki_IfaceMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zAaa_Ki_IfaceSelect0[] =
- "These definitions are for HP Internal developers";
-
-#define AAA_KI_IFACE_TEST_CT 1
-static tTestDesc aAaa_Ki_IfaceTests[] = {
- { TT_EGREP, zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
+#define apzAaa_Bad_FixesMachs (const char**)NULL
+#define AAA_BAD_FIXES_TEST_CT 0
+#define aAaa_Bad_FixesTests (tTestDesc*)NULL
/*
- * Fix Command Arguments for Aaa_Ki_Iface
+ * Fix Command Arguments for Aaa_Bad_Fixes
*/
-static const char* apzAaa_Ki_IfacePatch[] = {
+static const char* apzAaa_Bad_FixesPatch[] = {
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aaa_Ki fix
*/
-#define AAA_KI_FIXIDX 1
tSCC zAaa_KiName[] =
"AAA_ki";
@@ -102,7 +92,6 @@ static const char* apzAaa_KiPatch[] = {
*
* Description of Aaa_Ki_Calls fix
*/
-#define AAA_KI_CALLS_FIXIDX 2
tSCC zAaa_Ki_CallsName[] =
"AAA_ki_calls";
@@ -136,7 +125,6 @@ static const char* apzAaa_Ki_CallsPatch[] = {
*
* Description of Aaa_Ki_Defs fix
*/
-#define AAA_KI_DEFS_FIXIDX 3
tSCC zAaa_Ki_DefsName[] =
"AAA_ki_defs";
@@ -168,35 +156,74 @@ static const char* apzAaa_Ki_DefsPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Aaa_Bad_Fixes fix
+ * Description of Aaa_Ki_Iface fix
*/
-#define AAA_BAD_FIXES_FIXIDX 4
-tSCC zAaa_Bad_FixesName[] =
- "AAA_bad_fixes";
+tSCC zAaa_Ki_IfaceName[] =
+ "AAA_ki_iface";
/*
* File name selection pattern
*/
-tSCC zAaa_Bad_FixesList[] =
- "|sundev/ipi_error.h|";
+tSCC zAaa_Ki_IfaceList[] =
+ "|sys/ki_iface.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzAaa_Bad_FixesMachs (const char**)NULL
-#define AAA_BAD_FIXES_TEST_CT 0
-#define aAaa_Bad_FixesTests (tTestDesc*)NULL
+#define apzAaa_Ki_IfaceMachs (const char**)NULL
/*
- * Fix Command Arguments for Aaa_Bad_Fixes
+ * content selection pattern - do fix if pattern found
*/
-static const char* apzAaa_Bad_FixesPatch[] = {
+tSCC zAaa_Ki_IfaceSelect0[] =
+ "These definitions are for HP Internal developers";
+
+#define AAA_KI_IFACE_TEST_CT 1
+static tTestDesc aAaa_Ki_IfaceTests[] = {
+ { TT_EGREP, zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Aaa_Ki_Iface
+ */
+static const char* apzAaa_Ki_IfacePatch[] = {
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Aaa_Standards fix
+ */
+tSCC zAaa_StandardsName[] =
+ "AAA_standards";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAaa_StandardsList[] =
+ "|standards.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzAaa_StandardsMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zAaa_StandardsSelect0[] =
+ "GNU and MIPS C compilers define __STDC__ differently";
+
+#define AAA_STANDARDS_TEST_CT 1
+static tTestDesc aAaa_StandardsTests[] = {
+ { TT_EGREP, zAaa_StandardsSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Aaa_Standards
+ */
+static const char* apzAaa_StandardsPatch[] = {
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Aaa_Time fix
*/
-#define AAA_TIME_FIXIDX 5
tSCC zAaa_TimeName[] =
"AAA_time";
@@ -230,7 +257,6 @@ static const char* apzAaa_TimePatch[] = {
*
* Description of Aab_Dgux_Int_Varargs fix
*/
-#define AAB_DGUX_INT_VARARGS_FIXIDX 6
tSCC zAab_Dgux_Int_VarargsName[] =
"AAB_dgux_int_varargs";
@@ -251,64 +277,48 @@ tSCC zAab_Dgux_Int_VarargsList[] =
*/
static const char* apzAab_Dgux_Int_VarargsPatch[] = {
"#ifndef __INT_VARARGS_H\n\
-#define __INT_VARARGS_H\n\
-\n\
+#define __INT_VARARGS_H\n\n\
/************************************************************************/\n\
/* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio. */\n\
-/************************************************************************/\n\
-\n\
+/************************************************************************/\n\n\
/*\n\
** This file is a DG internal header. Never include this\n\
** file directly.\n\
-*/\n\
-\n\
+*/\n\n\
#ifndef ___int_features_h\n\
-#include &lt;sys/_int_features.h&gt;\n\
-#endif\n\
-\n\
+#include <sys/_int_features.h>\n\
+#endif\n\n\
#if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
#define _VA_LIST\n\
-#define _VA_LIST_\n\
-\n\
-#ifdef __LINT__\n\
-\n\
+#define _VA_LIST_\n\n\
+#ifdef __LINT__\n\n\
#ifdef __STDC__\n\
typedef void * va_list;\n\
#else\n\
typedef char * va_list;\n\
-#endif\n\
-\n\
+#endif\n\n\
#else\n\
-#if _M88K_ANY\n\
-\n\
-#if defined(__DCC__)\n\
-\n\
+#if _M88K_ANY\n\n\
+#if defined(__DCC__)\n\n\
typedef struct {\n\
int next_arg;\n\
int *mem_ptr;\n\
int *reg_ptr;\n\
-} va_list;\n\
-\n\
-#else /* ! defined(__DCC__) */\n\
-\n\
+} va_list;\n\n\
+#else /* ! defined(__DCC__) */\n\n\
typedef struct {\n\
int __va_arg; /* argument number */\n\
int *__va_stk; /* start of args passed on stack */\n\
int *__va_reg; /* start of args passed in regs */\n\
-} va_list;\n\
-\n\
-#endif /* ! defined(__DCC__) */\n\
-\n\
-#elif _IX86_ANY\n\
-\n\
+} va_list;\n\n\
+#endif /* ! defined(__DCC__) */\n\n\
+#elif _IX86_ANY\n\n\
#if defined(__GNUC__) || defined(__STDC__)\n\
typedef void * va_list;\n\
#else\n\
typedef char * va_list;\n\
-#endif\n\
-\n\
-#endif /* _IX86_ANY */\n\
-\n\
+#endif\n\n\
+#endif /* _IX86_ANY */\n\n\
#endif /* __LINT__ */\n\
#endif /* !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
#endif /* #ifndef __INT_VARARGS_H */\n",
@@ -318,7 +328,6 @@ typedef char * va_list;\n\
*
* Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
*/
-#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 7
tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
"AAB_fd_zero_asm_posix_types_h";
@@ -352,8 +361,7 @@ static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
for older versions of the Linux kernel. */\n\
#ifndef _POSIX_TYPES_H_WRAPPER\n\
#include <features.h>\n\
- #include_next <asm/posix_types.h>\n\
-\n\
+ #include_next <asm/posix_types.h>\n\n\
#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
#undef __FD_ZERO\n\
#define __FD_ZERO(fdsetp) \\\n\
@@ -364,8 +372,7 @@ static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
\t\t\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
\t\t\t \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
} while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
#define _POSIX_TYPES_H_WRAPPER\n\
#endif /* _POSIX_TYPES_H_WRAPPER */\n",
(char*)NULL };
@@ -374,7 +381,6 @@ static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
*
* Description of Aab_Fd_Zero_Gnu_Types_H fix
*/
-#define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX 8
tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
"AAB_fd_zero_gnu_types_h";
@@ -399,8 +405,7 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
"/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
#ifndef _TYPES_H_WRAPPER\n\
#include <features.h>\n\
- #include_next <gnu/types.h>\n\
-\n\
+ #include_next <gnu/types.h>\n\n\
#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
#undef __FD_ZERO\n\
# define __FD_ZERO(fdsetp) \\\n\
@@ -411,8 +416,7 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
\t\t \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
} while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
#define _TYPES_H_WRAPPER\n\
#endif /* _TYPES_H_WRAPPER */\n",
(char*)NULL };
@@ -421,7 +425,6 @@ static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
*
* Description of Aab_Fd_Zero_Selectbits_H fix
*/
-#define AAB_FD_ZERO_SELECTBITS_H_FIXIDX 9
tSCC zAab_Fd_Zero_Selectbits_HName[] =
"AAB_fd_zero_selectbits_h";
@@ -446,8 +449,7 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
"/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
#ifndef _SELECTBITS_H_WRAPPER\n\
#include <features.h>\n\
- #include_next <selectbits.h>\n\
-\n\
+ #include_next <selectbits.h>\n\n\
#if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
\t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
\t&& __GLIBC_MINOR__ == 0\n\
@@ -462,8 +464,7 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
\"1\" ((__fd_mask *) (fdsetp)) \\\n\
: \"memory\"); \\\n\
} while (0)\n\
-#endif\n\
-\n\
+#endif\n\n\
#define _SELECTBITS_H_WRAPPER\n\
#endif /* _SELECTBITS_H_WRAPPER */\n",
(char*)NULL };
@@ -472,7 +473,6 @@ static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
*
* Description of Aab_Sun_Memcpy fix
*/
-#define AAB_SUN_MEMCPY_FIXIDX 10
tSCC zAab_Sun_MemcpyName[] =
"AAB_sun_memcpy";
@@ -502,8 +502,7 @@ static tTestDesc aAab_Sun_MemcpyTests[] = {
static const char* apzAab_Sun_MemcpyPatch[] = {
"/* This file was generated by fixincludes */\n\
#ifndef __memory_h__\n\
-#define __memory_h__\n\
-\n\
+#define __memory_h__\n\n\
#ifdef __STDC__\n\
extern void *memccpy();\n\
extern void *memchr();\n\
@@ -514,10 +513,8 @@ extern char *memccpy();\n\
extern char *memchr();\n\
extern char *memcpy();\n\
extern char *memset();\n\
-#endif /* __STDC__ */\n\
-\n\
-extern int memcmp();\n\
-\n\
+#endif /* __STDC__ */\n\n\
+extern int memcmp();\n\n\
#endif /* __memory_h__ */\n",
(char*)NULL };
@@ -525,7 +522,6 @@ extern int memcmp();\n\
*
* Description of Aab_Svr4_Replace_Byteorder fix
*/
-#define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 11
tSCC zAab_Svr4_Replace_ByteorderName[] =
"AAB_svr4_replace_byteorder";
@@ -553,142 +549,106 @@ tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
*/
static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
"#ifndef _SYS_BYTEORDER_H\n\
-#define _SYS_BYTEORDER_H\n\
-\n\
+#define _SYS_BYTEORDER_H\n\n\
/* Functions to convert `short' and `long' quantities from host byte order\n\
- to (internet) network byte order (i.e. big-endian).\n\
-\n\
- Written by Ron Guilmette (rfg@ncd.com).\n\
-\n\
- This isn't actually used by GCC. It is installed by fixinc.svr4.\n\
-\n\
- For big-endian machines these functions are essentially no-ops.\n\
-\n\
+ to (internet) network byte order (i.e. big-endian).\n\n\
+ Written by Ron Guilmette (rfg@ncd.com).\n\n\
+ This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
+ For big-endian machines these functions are essentially no-ops.\n\n\
For little-endian machines, we define the functions using specialized\n\
- asm sequences in cases where doing so yields better code (e.g. i386). */\n\
-\n\
+ asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
#if !defined (__GNUC__) && !defined (__GNUG__)\n\
#error You lose! This file is only useful with GNU compilers.\n\
-#endif\n\
-\n\
+#endif\n\n\
#ifndef __BYTE_ORDER__\n\
/* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
double underscores added at the front and back. */\n\
#define __LITTLE_ENDIAN__ 1234\n\
#define __BIG_ENDIAN__ 4321\n\
#define __PDP_ENDIAN__ 3412\n\
-#endif\n\
-\n\
+#endif\n\n\
#ifdef __STDC__\n\
static __inline__ unsigned long htonl (unsigned long);\n\
static __inline__ unsigned short htons (unsigned int);\n\
static __inline__ unsigned long ntohl (unsigned long);\n\
static __inline__ unsigned short ntohs (unsigned int);\n\
-#endif /* defined (__STDC__) */\n\
-\n\
-#if defined (__i386__)\n\
-\n\
+#endif /* defined (__STDC__) */\n\n\
+#if defined (__i386__)\n\n\
#ifndef __BYTE_ORDER__\n\
#define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
-#endif\n\
-\n\
-/* Convert a host long to a network long. */\n\
-\n\
+#endif\n\n\
+/* Convert a host long to a network long. */\n\n\
/* We must use a new-style function definition, so that this will also\n\
be valid for C++. */\n\
static __inline__ unsigned long\n\
htonl (unsigned long __arg)\n\
{\n\
- register unsigned long __result;\n\
-\n\
+ register unsigned long __result;\n\n\
__asm__ (\"xchg%B0 %b0,%h0\n\
\tror%L0 $16,%0\n\
\txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
return __result;\n\
-}\n\
-\n\
-/* Convert a host short to a network short. */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short. */\n\n\
static __inline__ unsigned short\n\
htons (unsigned int __arg)\n\
{\n\
- register unsigned short __result;\n\
-\n\
+ register unsigned short __result;\n\n\
__asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
return __result;\n\
-}\n\
-\n\
+}\n\n\
#elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
|| defined (__ns32k__) || defined (__vax__)\t\t\\\n\
- || defined (__spur__) || defined (__arm__))\n\
-\n\
+ || defined (__spur__) || defined (__arm__))\n\n\
#ifndef __BYTE_ORDER__\n\
#define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
-#endif\n\
-\n\
+#endif\n\n\
/* For other little-endian machines, using C code is just as efficient as\n\
- using assembly code. */\n\
-\n\
-/* Convert a host long to a network long. */\n\
-\n\
+ using assembly code. */\n\n\
+/* Convert a host long to a network long. */\n\n\
static __inline__ unsigned long\n\
htonl (unsigned long __arg)\n\
{\n\
- register unsigned long __result;\n\
-\n\
+ register unsigned long __result;\n\n\
__result = (__arg >> 24) & 0x000000ff;\n\
__result |= (__arg >> 8) & 0x0000ff00;\n\
__result |= (__arg << 8) & 0x00ff0000;\n\
__result |= (__arg << 24) & 0xff000000;\n\
return __result;\n\
-}\n\
-\n\
-/* Convert a host short to a network short. */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short. */\n\n\
static __inline__ unsigned short\n\
htons (unsigned int __arg)\n\
{\n\
- register unsigned short __result;\n\
-\n\
+ register unsigned short __result;\n\n\
__result = (__arg << 8) & 0xff00;\n\
__result |= (__arg >> 8) & 0x00ff;\n\
return __result;\n\
-}\n\
-\n\
-#else /* must be a big-endian machine */\n\
-\n\
+}\n\n\
+#else /* must be a big-endian machine */\n\n\
#ifndef __BYTE_ORDER__\n\
#define __BYTE_ORDER__ __BIG_ENDIAN__\n\
-#endif\n\
-\n\
-/* Convert a host long to a network long. */\n\
-\n\
+#endif\n\n\
+/* Convert a host long to a network long. */\n\n\
static __inline__ unsigned long\n\
htonl (unsigned long __arg)\n\
{\n\
return __arg;\n\
-}\n\
-\n\
-/* Convert a host short to a network short. */\n\
-\n\
+}\n\n\
+/* Convert a host short to a network short. */\n\n\
static __inline__ unsigned short\n\
htons (unsigned int __arg)\n\
{\n\
return __arg;\n\
-}\n\
-\n\
-#endif /* big-endian */\n\
-\n\
-/* Convert a network long to a host long. */\n\
-\n\
+}\n\n\
+#endif /* big-endian */\n\n\
+/* Convert a network long to a host long. */\n\n\
static __inline__ unsigned long\n\
ntohl (unsigned long __arg)\n\
{\n\
return htonl (__arg);\n\
-}\n\
-\n\
-/* Convert a network short to a host short. */\n\
-\n\
+}\n\n\
+/* Convert a network short to a host short. */\n\n\
static __inline__ unsigned short\n\
ntohs (unsigned int __arg)\n\
{\n\
@@ -701,7 +661,6 @@ ntohs (unsigned int __arg)\n\
*
* Description of Aab_Ultrix_Ansi_Compat fix
*/
-#define AAB_ULTRIX_ANSI_COMPAT_FIXIDX 12
tSCC zAab_Ultrix_Ansi_CompatName[] =
"AAB_ultrix_ansi_compat";
@@ -736,7 +695,6 @@ static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
*
* Description of Aab_Ultrix_Limits fix
*/
-#define AAB_ULTRIX_LIMITS_FIXIDX 13
tSCC zAab_Ultrix_LimitsName[] =
"AAB_ultrix_limits";
@@ -758,9 +716,7 @@ tSCC* apzAab_Ultrix_LimitsMachs[] = {
* Fix Command Arguments for Aab_Ultrix_Limits
*/
static const char* apzAab_Ultrix_LimitsPatch[] = {
-"/*\t@(#)limits.h\t\t\t\t*/\n\
-/* This file was generated by fixincludes\t*/\n\
-#ifndef _LIMITS_INCLUDED\n\
+"#ifndef _LIMITS_INCLUDED\n\
#define _LIMITS_INCLUDED\n\
#include <sys/limits.h>\n\
#endif /* _LIMITS_INCLUDED */\n",
@@ -770,7 +726,6 @@ static const char* apzAab_Ultrix_LimitsPatch[] = {
*
* Description of Aab_Ultrix_Memory fix
*/
-#define AAB_ULTRIX_MEMORY_FIXIDX 14
tSCC zAab_Ultrix_MemoryName[] =
"AAB_ultrix_memory";
@@ -792,9 +747,7 @@ tSCC* apzAab_Ultrix_MemoryMachs[] = {
* Fix Command Arguments for Aab_Ultrix_Memory
*/
static const char* apzAab_Ultrix_MemoryPatch[] = {
-"/*\t@(#)memory.h\t\t\t\t*/\n\
-/* This file was generated by fixincludes\t*/\n\
-#ifndef _MEMORY_INCLUDED\n\
+"#ifndef _MEMORY_INCLUDED\n\
#define _MEMORY_INCLUDED\n\
#include <strings.h>\n\
#endif /* _MEMORY_INCLUDED */\n",
@@ -804,7 +757,6 @@ static const char* apzAab_Ultrix_MemoryPatch[] = {
*
* Description of Aab_Ultrix_String fix
*/
-#define AAB_ULTRIX_STRING_FIXIDX 15
tSCC zAab_Ultrix_StringName[] =
"AAB_ultrix_string";
@@ -826,9 +778,7 @@ tSCC* apzAab_Ultrix_StringMachs[] = {
* Fix Command Arguments for Aab_Ultrix_String
*/
static const char* apzAab_Ultrix_StringPatch[] = {
-"/*\t@(#)string.h\t\t\t\t*/\n\
-/* This file was generated by fixincludes\t*/\n\
-#ifndef _STRING_INCLUDED\n\
+"#ifndef _STRING_INCLUDED\n\
#define _STRING_INCLUDED\n\
#include <strings.h>\n\
#endif /* _STRING_INCLUDED */\n",
@@ -838,7 +788,6 @@ static const char* apzAab_Ultrix_StringPatch[] = {
*
* Description of Aix_Pthread fix
*/
-#define AIX_PTHREAD_FIXIDX 16
tSCC zAix_PthreadName[] =
"aix_pthread";
@@ -876,7 +825,6 @@ static const char* apzAix_PthreadPatch[] = {
*
* Description of Aix_Sysmachine fix
*/
-#define AIX_SYSMACHINE_FIXIDX 17
tSCC zAix_SysmachineName[] =
"aix_sysmachine";
@@ -912,7 +860,6 @@ static const char* apzAix_SysmachinePatch[] = {
*
* Description of Aix_Syswait fix
*/
-#define AIX_SYSWAIT_FIXIDX 18
tSCC zAix_SyswaitName[] =
"aix_syswait";
@@ -952,7 +899,6 @@ static const char* apzAix_SyswaitPatch[] = {
*
* Description of Aix_Volatile fix
*/
-#define AIX_VOLATILE_FIXIDX 19
tSCC zAix_VolatileName[] =
"aix_volatile";
@@ -986,9 +932,43 @@ static const char* apzAix_VolatilePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Alpha___Assert fix
+ */
+tSCC zAlpha___AssertName[] =
+ "alpha___assert";
+
+/*
+ * File name selection pattern
+ */
+tSCC zAlpha___AssertList[] =
+ "|assert.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzAlpha___AssertMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zAlpha___AssertSelect0[] =
+ "__assert\\(char \\*, char \\*, int\\)";
+
+#define ALPHA___ASSERT_TEST_CT 1
+static tTestDesc aAlpha___AssertTests[] = {
+ { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Alpha___Assert
+ */
+static const char* apzAlpha___AssertPatch[] = {
+ "format",
+ "__assert(const char *, const char *, int)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Alpha_Getopt fix
*/
-#define ALPHA_GETOPT_FIXIDX 20
tSCC zAlpha_GetoptName[] =
"alpha_getopt";
@@ -1024,7 +1004,6 @@ static const char* apzAlpha_GetoptPatch[] = {
*
* Description of Alpha_Parens fix
*/
-#define ALPHA_PARENS_FIXIDX 21
tSCC zAlpha_ParensName[] =
"alpha_parens";
@@ -1060,7 +1039,6 @@ static const char* apzAlpha_ParensPatch[] = {
*
* Description of Alpha_Sbrk fix
*/
-#define ALPHA_SBRK_FIXIDX 22
tSCC zAlpha_SbrkName[] =
"alpha_sbrk";
@@ -1096,7 +1074,6 @@ static const char* apzAlpha_SbrkPatch[] = {
*
* Description of Arm_Norcroft_Hint fix
*/
-#define ARM_NORCROFT_HINT_FIXIDX 23
tSCC zArm_Norcroft_HintName[] =
"arm_norcroft_hint";
@@ -1132,7 +1109,6 @@ static const char* apzArm_Norcroft_HintPatch[] = {
*
* Description of Arm_Wchar fix
*/
-#define ARM_WCHAR_FIXIDX 24
tSCC zArm_WcharName[] =
"arm_wchar";
@@ -1169,7 +1145,6 @@ static const char* apzArm_WcharPatch[] = {
*
* Description of Aux_Asm fix
*/
-#define AUX_ASM_FIXIDX 25
tSCC zAux_AsmName[] =
"aux_asm";
@@ -1205,7 +1180,6 @@ static const char* apzAux_AsmPatch[] = {
*
* Description of Avoid_Bool_Define fix
*/
-#define AVOID_BOOL_DEFINE_FIXIDX 26
tSCC zAvoid_Bool_DefineName[] =
"avoid_bool_define";
@@ -1251,7 +1225,6 @@ static const char* apzAvoid_Bool_DefinePatch[] = {
*
* Description of Avoid_Bool_Type fix
*/
-#define AVOID_BOOL_TYPE_FIXIDX 27
tSCC zAvoid_Bool_TypeName[] =
"avoid_bool_type";
@@ -1296,7 +1269,6 @@ static const char* apzAvoid_Bool_TypePatch[] = {
*
* Description of Avoid_Wchar_T_Type fix
*/
-#define AVOID_WCHAR_T_TYPE_FIXIDX 28
tSCC zAvoid_Wchar_T_TypeName[] =
"avoid_wchar_t_type";
@@ -1333,7 +1305,6 @@ static const char* apzAvoid_Wchar_T_TypePatch[] = {
*
* Description of Bad_Lval fix
*/
-#define BAD_LVAL_FIXIDX 29
tSCC zBad_LvalName[] =
"bad_lval";
@@ -1368,7 +1339,6 @@ static const char* apzBad_LvalPatch[] = { "sed",
*
* Description of Bad_Struct_Term fix
*/
-#define BAD_STRUCT_TERM_FIXIDX 30
tSCC zBad_Struct_TermName[] =
"bad_struct_term";
@@ -1404,7 +1374,6 @@ static const char* apzBad_Struct_TermPatch[] = {
*
* Description of Badquote fix
*/
-#define BADQUOTE_FIXIDX 31
tSCC zBadquoteName[] =
"badquote";
@@ -1440,7 +1409,6 @@ static const char* apzBadquotePatch[] = {
*
* Description of Broken_Assert_Stdio fix
*/
-#define BROKEN_ASSERT_STDIO_FIXIDX 32
tSCC zBroken_Assert_StdioName[] =
"broken_assert_stdio";
@@ -1483,7 +1451,6 @@ static const char* apzBroken_Assert_StdioPatch[] = {
*
* Description of Broken_Assert_Stdlib fix
*/
-#define BROKEN_ASSERT_STDLIB_FIXIDX 33
tSCC zBroken_Assert_StdlibName[] =
"broken_assert_stdlib";
@@ -1528,7 +1495,6 @@ static const char* apzBroken_Assert_StdlibPatch[] = {
*
* Description of Broken_Cabs fix
*/
-#define BROKEN_CABS_FIXIDX 34
tSCC zBroken_CabsName[] =
"broken_cabs";
@@ -1565,7 +1531,6 @@ static const char* apzBroken_CabsPatch[] = {
*
* Description of Ctrl_Quotes_Def fix
*/
-#define CTRL_QUOTES_DEF_FIXIDX 35
tSCC zCtrl_Quotes_DefName[] =
"ctrl_quotes_def";
@@ -1600,7 +1565,6 @@ static const char* apzCtrl_Quotes_DefPatch[] = {
*
* Description of Ctrl_Quotes_Use fix
*/
-#define CTRL_QUOTES_USE_FIXIDX 36
tSCC zCtrl_Quotes_UseName[] =
"ctrl_quotes_use";
@@ -1635,7 +1599,6 @@ static const char* apzCtrl_Quotes_UsePatch[] = {
*
* Description of Cxx_Unready fix
*/
-#define CXX_UNREADY_FIXIDX 37
tSCC zCxx_UnreadyName[] =
"cxx_unready";
@@ -1683,7 +1646,6 @@ extern \"C\" {\n\
*
* Description of Dec_Intern_Asm fix
*/
-#define DEC_INTERN_ASM_FIXIDX 38
tSCC zDec_Intern_AsmName[] =
"dec_intern_asm";
@@ -1711,9 +1673,51 @@ static const char* apzDec_Intern_AsmPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Djgpp_Wchar_H fix
+ */
+tSCC zDjgpp_Wchar_HName[] =
+ "djgpp_wchar_h";
+
+/*
+ * File name selection pattern
+ */
+#define zDjgpp_Wchar_HList (char*)NULL
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzDjgpp_Wchar_HMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zDjgpp_Wchar_HSelect0[] =
+ "__DJ_wint_t";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zDjgpp_Wchar_HBypass0[] =
+ "sys/djtypes.h";
+
+#define DJGPP_WCHAR_H_TEST_CT 2
+static tTestDesc aDjgpp_Wchar_HTests[] = {
+ { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
+ { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Djgpp_Wchar_H
+ */
+static const char* apzDjgpp_Wchar_HPatch[] = {
+ "format",
+ "%0\n\
+#include <sys/djtypes.h>",
+ "#include <stddef.h>",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Ecd_Cursor fix
*/
-#define ECD_CURSOR_FIXIDX 39
tSCC zEcd_CursorName[] =
"ecd_cursor";
@@ -1749,7 +1753,6 @@ static const char* apzEcd_CursorPatch[] = {
*
* Description of Fix_Header_Breakage fix
*/
-#define FIX_HEADER_BREAKAGE_FIXIDX 40
tSCC zFix_Header_BreakageName[] =
"fix_header_breakage";
@@ -1785,9 +1788,93 @@ static const char* apzFix_Header_BreakagePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Freebsd_Gcc3_Breakage fix
+ */
+tSCC zFreebsd_Gcc3_BreakageName[] =
+ "freebsd_gcc3_breakage";
+
+/*
+ * File name selection pattern
+ */
+tSCC zFreebsd_Gcc3_BreakageList[] =
+ "|sys/cdefs.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
+ "*-*-freebsd*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zFreebsd_Gcc3_BreakageSelect0[] =
+ "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zFreebsd_Gcc3_BreakageBypass0[] =
+ "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
+
+#define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
+static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
+ { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
+ { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Freebsd_Gcc3_Breakage
+ */
+static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
+ "format",
+ "%0 || __GNUC__ >= 3",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Gnu_Types fix
+ */
+tSCC zGnu_TypesName[] =
+ "gnu_types";
+
+/*
+ * File name selection pattern
+ */
+tSCC zGnu_TypesList[] =
+ "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzGnu_TypesMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zGnu_TypesSelect0[] =
+ "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zGnu_TypesBypass0[] =
+ "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
+
+#define GNU_TYPES_TEST_CT 2
+static tTestDesc aGnu_TypesTests[] = {
+ { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
+ { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Gnu_Types
+ */
+static const char* apzGnu_TypesPatch[] = {
+ "gnu_type",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Hp_Inline fix
*/
-#define HP_INLINE_FIXIDX 41
tSCC zHp_InlineName[] =
"hp_inline";
@@ -1824,7 +1911,6 @@ static const char* apzHp_InlinePatch[] = {
*
* Description of Hp_Sysfile fix
*/
-#define HP_SYSFILE_FIXIDX 42
tSCC zHp_SysfileName[] =
"hp_sysfile";
@@ -1859,9 +1945,87 @@ static const char* apzHp_SysfilePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Hpux10_Cpp_Pow_Inline fix
+ */
+tSCC zHpux10_Cpp_Pow_InlineName[] =
+ "hpux10_cpp_pow_inline";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux10_Cpp_Pow_InlineList[] =
+ "|fixinc-test-limits.h|math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
+ "^# +ifdef +__cplusplus\n\
+ +}\n\
+ +inline +double +pow\\(double +__d,int +__expon\\) +{\n\
+[ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
+ +}\n\
+ +extern +\"C\" +{\n\
+#else\n\
+# +endif";
+
+#define HPUX10_CPP_POW_INLINE_TEST_CT 1
+static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
+ { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
+ */
+static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
+ "format",
+ "",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Hpux11_Cpp_Pow_Inline fix
+ */
+tSCC zHpux11_Cpp_Pow_InlineName[] =
+ "hpux11_cpp_pow_inline";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux11_Cpp_Pow_InlineList[] =
+ "|math.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
+ " +inline double pow\\(double d,int expon\\) {\n\
+ +return pow\\(d, \\(double\\)expon\\);\n\
+ +}\n";
+
+#define HPUX11_CPP_POW_INLINE_TEST_CT 1
+static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
+ { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
+ */
+static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
+ "format",
+ "",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Hpux11_Fabsf fix
*/
-#define HPUX11_FABSF_FIXIDX 43
tSCC zHpux11_FabsfName[] =
"hpux11_fabsf";
@@ -1906,7 +2070,6 @@ static const char* apzHpux11_FabsfPatch[] = {
*
* Description of Hpux11_Uint32_C fix
*/
-#define HPUX11_UINT32_C_FIXIDX 44
tSCC zHpux11_Uint32_CName[] =
"hpux11_uint32_c";
@@ -1940,9 +2103,43 @@ static const char* apzHpux11_Uint32_CPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Hpux11_Vsnprintf fix
+ */
+tSCC zHpux11_VsnprintfName[] =
+ "hpux11_vsnprintf";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux11_VsnprintfList[] =
+ "|stdio.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux11_VsnprintfMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux11_VsnprintfSelect0[] =
+ "extern int vsnprintf\\(char \\*, __size_t, const char \\*, __va__list\\);";
+
+#define HPUX11_VSNPRINTF_TEST_CT 1
+static tTestDesc aHpux11_VsnprintfTests[] = {
+ { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux11_Vsnprintf
+ */
+static const char* apzHpux11_VsnprintfPatch[] = {
+ "format",
+ "extern int vsnprintf(char *, __size_t, const char *, __va_list);",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Hpux8_Bogus_Inlines fix
*/
-#define HPUX8_BOGUS_INLINES_FIXIDX 45
tSCC zHpux8_Bogus_InlinesName[] =
"hpux8_bogus_inlines";
@@ -1978,81 +2175,130 @@ static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Int_Abort_Free_And_Exit fix
+ * Description of Hpux_Maxint fix
*/
-#define INT_ABORT_FREE_AND_EXIT_FIXIDX 46
-tSCC zInt_Abort_Free_And_ExitName[] =
- "int_abort_free_and_exit";
+tSCC zHpux_MaxintName[] =
+ "hpux_maxint";
/*
* File name selection pattern
*/
-tSCC zInt_Abort_Free_And_ExitList[] =
- "|stdlib.h|";
+tSCC zHpux_MaxintList[] =
+ "|sys/param.h|values.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
+#define apzHpux_MaxintMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zInt_Abort_Free_And_ExitSelect0[] =
- "int[ \t]+(abort|free|exit)[ \t]*\\(";
+tSCC zHpux_MaxintSelect0[] =
+ "^#[ \t]*define[ \t]+MAXINT[ \t]";
-#define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
-static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
- { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux_MaxintBypass0[] =
+ "^#[ \t]*ifndef[ \t]+MAXINT";
/*
- * Fix Command Arguments for Int_Abort_Free_And_Exit
+ * perform the 'test' shell command - do fix on success
*/
-static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+tSCC zHpux_MaxintTest0[] =
+ "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
+
+#define HPUX_MAXINT_TEST_CT 3
+static tTestDesc aHpux_MaxintTests[] = {
+ { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
+ { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux_Maxint
+ */
+static const char* apzHpux_MaxintPatch[] = {
"format",
- "void\t%1(",
+ "#ifndef MAXINT\n\
+%0\n\
+#endif",
+ "^#[ \t]*define[ \t]+MAXINT[ \t].*",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Isc_Omits_With_Stdc fix
+ * Description of Hpux_Systime fix
*/
-#define ISC_OMITS_WITH_STDC_FIXIDX 47
-tSCC zIsc_Omits_With_StdcName[] =
- "isc_omits_with_stdc";
+tSCC zHpux_SystimeName[] =
+ "hpux_systime";
/*
* File name selection pattern
*/
-tSCC zIsc_Omits_With_StdcList[] =
- "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+tSCC zHpux_SystimeList[] =
+ "|sys/time.h|";
/*
* Machine/OS name selection pattern
*/
-#define apzIsc_Omits_With_StdcMachs (const char**)NULL
+#define apzHpux_SystimeMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zIsc_Omits_With_StdcSelect0[] =
- "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
+tSCC zHpux_SystimeSelect0[] =
+ "^extern struct sigevent;";
-#define ISC_OMITS_WITH_STDC_TEST_CT 1
-static tTestDesc aIsc_Omits_With_StdcTests[] = {
- { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
+#define HPUX_SYSTIME_TEST_CT 1
+static tTestDesc aHpux_SystimeTests[] = {
+ { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Isc_Omits_With_Stdc
+ * Fix Command Arguments for Hpux_Systime
*/
-static const char* apzIsc_Omits_With_StdcPatch[] = {
+static const char* apzHpux_SystimePatch[] = {
"format",
- "!defined(_POSIX_SOURCE)",
+ "struct sigevent;",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Int_Abort_Free_And_Exit fix
+ */
+tSCC zInt_Abort_Free_And_ExitName[] =
+ "int_abort_free_and_exit";
+
+/*
+ * File name selection pattern
+ */
+tSCC zInt_Abort_Free_And_ExitList[] =
+ "|stdlib.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zInt_Abort_Free_And_ExitSelect0[] =
+ "int[ \t]+(abort|free|exit)[ \t]*\\(";
+
+#define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
+static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
+ { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Int_Abort_Free_And_Exit
+ */
+static const char* apzInt_Abort_Free_And_ExitPatch[] = {
+ "format",
+ "void\t%1(",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Io_Quotes_Def fix
*/
-#define IO_QUOTES_DEF_FIXIDX 48
tSCC zIo_Quotes_DefName[] =
"io_quotes_def";
@@ -2087,7 +2333,6 @@ static const char* apzIo_Quotes_DefPatch[] = {
*
* Description of Io_Quotes_Use fix
*/
-#define IO_QUOTES_USE_FIXIDX 49
tSCC zIo_Quotes_UseName[] =
"io_quotes_use";
@@ -2120,98 +2365,8 @@ static const char* apzIo_Quotes_UsePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Hpux_Maxint fix
- */
-#define HPUX_MAXINT_FIXIDX 50
-tSCC zHpux_MaxintName[] =
- "hpux_maxint";
-
-/*
- * File name selection pattern
- */
-tSCC zHpux_MaxintList[] =
- "|sys/param.h|values.h|";
-/*
- * Machine/OS name selection pattern
- */
-#define apzHpux_MaxintMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zHpux_MaxintSelect0[] =
- "^#[ \t]*define[ \t]+MAXINT[ \t]";
-
-/*
- * content bypass pattern - skip fix if pattern found
- */
-tSCC zHpux_MaxintBypass0[] =
- "^#[ \t]*ifndef[ \t]+MAXINT";
-
-/*
- * perform the 'test' shell command - do fix on success
- */
-tSCC zHpux_MaxintTest0[] =
- "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
-
-#define HPUX_MAXINT_TEST_CT 3
-static tTestDesc aHpux_MaxintTests[] = {
- { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
- { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
- { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Hpux_Maxint
- */
-static const char* apzHpux_MaxintPatch[] = {
- "format",
- "#ifndef MAXINT\n\
-%0\n\
-#endif",
- "^#[ \t]*define[ \t]+MAXINT[ \t].*",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- * Description of Hpux_Systime fix
- */
-#define HPUX_SYSTIME_FIXIDX 51
-tSCC zHpux_SystimeName[] =
- "hpux_systime";
-
-/*
- * File name selection pattern
- */
-tSCC zHpux_SystimeList[] =
- "|sys/time.h|";
-/*
- * Machine/OS name selection pattern
- */
-#define apzHpux_SystimeMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zHpux_SystimeSelect0[] =
- "^extern struct sigevent;";
-
-#define HPUX_SYSTIME_TEST_CT 1
-static tTestDesc aHpux_SystimeTests[] = {
- { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Hpux_Systime
- */
-static const char* apzHpux_SystimePatch[] = {
- "format",
- "struct sigevent;",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
* Description of Ip_Missing_Semi fix
*/
-#define IP_MISSING_SEMI_FIXIDX 52
tSCC zIp_Missing_SemiName[] =
"ip_missing_semi";
@@ -2246,7 +2401,6 @@ static const char* apzIp_Missing_SemiPatch[] = { "sed",
*
* Description of Irix_Asm_Apostrophe fix
*/
-#define IRIX_ASM_APOSTROPHE_FIXIDX 53
tSCC zIrix_Asm_ApostropheName[] =
"irix_asm_apostrophe";
@@ -2283,7 +2437,6 @@ static const char* apzIrix_Asm_ApostrophePatch[] = {
*
* Description of Irix_Limits_Const fix
*/
-#define IRIX_LIMITS_CONST_FIXIDX 54
tSCC zIrix_Limits_ConstName[] =
"irix_limits_const";
@@ -2291,7 +2444,7 @@ tSCC zIrix_Limits_ConstName[] =
* File name selection pattern
*/
tSCC zIrix_Limits_ConstList[] =
- "|limits.h|";
+ "|fixinc-test-limits.h|limits.h|";
/*
* Machine/OS name selection pattern
*/
@@ -2317,9 +2470,43 @@ static const char* apzIrix_Limits_ConstPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Irix_Stdio_Va_List fix
+ */
+tSCC zIrix_Stdio_Va_ListName[] =
+ "irix_stdio_va_list";
+
+/*
+ * File name selection pattern
+ */
+tSCC zIrix_Stdio_Va_ListList[] =
+ "|stdio.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzIrix_Stdio_Va_ListMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zIrix_Stdio_Va_ListSelect0[] =
+ "(printf\\(.*), /\\* va_list \\*/ char \\*";
+
+#define IRIX_STDIO_VA_LIST_TEST_CT 1
+static tTestDesc aIrix_Stdio_Va_ListTests[] = {
+ { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Irix_Stdio_Va_List
+ */
+static const char* apzIrix_Stdio_Va_ListPatch[] = {
+ "format",
+ "%1, __gnuc_va_list",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Isc_Fmod fix
*/
-#define ISC_FMOD_FIXIDX 55
tSCC zIsc_FmodName[] =
"isc_fmod";
@@ -2353,9 +2540,43 @@ static const char* apzIsc_FmodPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Isc_Omits_With_Stdc fix
+ */
+tSCC zIsc_Omits_With_StdcName[] =
+ "isc_omits_with_stdc";
+
+/*
+ * File name selection pattern
+ */
+tSCC zIsc_Omits_With_StdcList[] =
+ "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzIsc_Omits_With_StdcMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zIsc_Omits_With_StdcSelect0[] =
+ "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
+
+#define ISC_OMITS_WITH_STDC_TEST_CT 1
+static tTestDesc aIsc_Omits_With_StdcTests[] = {
+ { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Isc_Omits_With_Stdc
+ */
+static const char* apzIsc_Omits_With_StdcPatch[] = {
+ "format",
+ "!defined(_POSIX_SOURCE)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Kandr_Concat fix
*/
-#define KANDR_CONCAT_FIXIDX 56
tSCC zKandr_ConcatName[] =
"kandr_concat";
@@ -2391,7 +2612,6 @@ static const char* apzKandr_ConcatPatch[] = {
*
* Description of Libc1_Ifdefd_Memx fix
*/
-#define LIBC1_IFDEFD_MEMX_FIXIDX 57
tSCC zLibc1_Ifdefd_MemxName[] =
"libc1_ifdefd_memx";
@@ -2440,7 +2660,6 @@ extern [a-z_]+ mem.*(\n\
*
* Description of Limits_Ifndefs fix
*/
-#define LIMITS_IFNDEFS_FIXIDX 58
tSCC zLimits_IfndefsName[] =
"limits_ifndefs";
@@ -2479,7 +2698,6 @@ static const char* apzLimits_IfndefsPatch[] = {
*
* Description of Lynx_Void_Int fix
*/
-#define LYNX_VOID_INT_FIXIDX 59
tSCC zLynx_Void_IntName[] =
"lynx_void_int";
@@ -2515,7 +2733,6 @@ static const char* apzLynx_Void_IntPatch[] = {
*
* Description of Lynxos_Fcntl_Proto fix
*/
-#define LYNXOS_FCNTL_PROTO_FIXIDX 60
tSCC zLynxos_Fcntl_ProtoName[] =
"lynxos_fcntl_proto";
@@ -2552,7 +2769,6 @@ static const char* apzLynxos_Fcntl_ProtoPatch[] = {
*
* Description of M88k_Bad_Hypot_Opt fix
*/
-#define M88K_BAD_HYPOT_OPT_FIXIDX 61
tSCC zM88k_Bad_Hypot_OptName[] =
"m88k_bad_hypot_opt";
@@ -2601,7 +2817,6 @@ static __inline__ double fake_hypot (x, y)\n\
*
* Description of M88k_Bad_S_If fix
*/
-#define M88K_BAD_S_IF_FIXIDX 62
tSCC zM88k_Bad_S_IfName[] =
"m88k_bad_s_if";
@@ -2640,7 +2855,6 @@ static const char* apzM88k_Bad_S_IfPatch[] = {
*
* Description of M88k_Multi_Incl fix
*/
-#define M88K_MULTI_INCL_FIXIDX 63
tSCC zM88k_Multi_InclName[] =
"m88k_multi_incl";
@@ -2677,7 +2891,6 @@ static const char* apzM88k_Multi_InclPatch[] = {
*
* Description of Machine_Ansi_H_Va_List fix
*/
-#define MACHINE_ANSI_H_VA_LIST_FIXIDX 64
tSCC zMachine_Ansi_H_Va_ListName[] =
"machine_ansi_h_va_list";
@@ -2720,7 +2933,6 @@ static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
*
* Description of Machine_Name fix
*/
-#define MACHINE_NAME_FIXIDX 65
tSCC zMachine_NameName[] =
"machine_name";
@@ -2753,7 +2965,6 @@ static const char* apzMachine_NamePatch[] = {
*
* Description of Math_Exception fix
*/
-#define MATH_EXCEPTION_FIXIDX 66
tSCC zMath_ExceptionName[] =
"math_exception";
@@ -2801,7 +3012,6 @@ static const char* apzMath_ExceptionPatch[] = {
*
* Description of Math_Huge_Val_From_Dbl_Max fix
*/
-#define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 67
tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
"math_huge_val_from_dbl_max";
@@ -2836,8 +3046,7 @@ static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
* Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
*/
static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
- "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\
-\n\
+ "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
\tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
\telse cat\n\
@@ -2848,7 +3057,6 @@ static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
*
* Description of Math_Huge_Val_Ifndef fix
*/
-#define MATH_HUGE_VAL_IFNDEF_FIXIDX 68
tSCC zMath_Huge_Val_IfndefName[] =
"math_huge_val_ifndef";
@@ -2885,9 +3093,43 @@ static const char* apzMath_Huge_Val_IfndefPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Nested_Auth_Des fix
+ */
+tSCC zNested_Auth_DesName[] =
+ "nested_auth_des";
+
+/*
+ * File name selection pattern
+ */
+tSCC zNested_Auth_DesList[] =
+ "|rpc/rpc.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzNested_Auth_DesMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zNested_Auth_DesSelect0[] =
+ "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
+
+#define NESTED_AUTH_DES_TEST_CT 1
+static tTestDesc aNested_Auth_DesTests[] = {
+ { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Nested_Auth_Des
+ */
+static const char* apzNested_Auth_DesPatch[] = {
+ "format",
+ "%1*/ /*",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Nested_Motorola fix
*/
-#define NESTED_MOTOROLA_FIXIDX 69
tSCC zNested_MotorolaName[] =
"nested_motorola";
@@ -2925,7 +3167,6 @@ static const char* apzNested_MotorolaPatch[] = { "sed",
*
* Description of Nested_Sys_Limits fix
*/
-#define NESTED_SYS_LIMITS_FIXIDX 70
tSCC zNested_Sys_LimitsName[] =
"nested_sys_limits";
@@ -2959,45 +3200,8 @@ static const char* apzNested_Sys_LimitsPatch[] = { "sed",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Nested_Auth_Des fix
- */
-#define NESTED_AUTH_DES_FIXIDX 71
-tSCC zNested_Auth_DesName[] =
- "nested_auth_des";
-
-/*
- * File name selection pattern
- */
-tSCC zNested_Auth_DesList[] =
- "|rpc/rpc.h|";
-/*
- * Machine/OS name selection pattern
- */
-#define apzNested_Auth_DesMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zNested_Auth_DesSelect0[] =
- "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
-
-#define NESTED_AUTH_DES_TEST_CT 1
-static tTestDesc aNested_Auth_DesTests[] = {
- { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Nested_Auth_Des
- */
-static const char* apzNested_Auth_DesPatch[] = {
- "format",
- "%1*/ /*",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
* Description of News_Os_Recursion fix
*/
-#define NEWS_OS_RECURSION_FIXIDX 72
tSCC zNews_Os_RecursionName[] =
"news_os_recursion";
@@ -3035,7 +3239,6 @@ static const char* apzNews_Os_RecursionPatch[] = {
*
* Description of Next_Math_Prefix fix
*/
-#define NEXT_MATH_PREFIX_FIXIDX 73
tSCC zNext_Math_PrefixName[] =
"next_math_prefix";
@@ -3072,7 +3275,6 @@ static const char* apzNext_Math_PrefixPatch[] = {
*
* Description of Next_Template fix
*/
-#define NEXT_TEMPLATE_FIXIDX 74
tSCC zNext_TemplateName[] =
"next_template";
@@ -3109,7 +3311,6 @@ static const char* apzNext_TemplatePatch[] = {
*
* Description of Next_Volitile fix
*/
-#define NEXT_VOLITILE_FIXIDX 75
tSCC zNext_VolitileName[] =
"next_volitile";
@@ -3146,7 +3347,6 @@ static const char* apzNext_VolitilePatch[] = {
*
* Description of Next_Wait_Union fix
*/
-#define NEXT_WAIT_UNION_FIXIDX 76
tSCC zNext_Wait_UnionName[] =
"next_wait_union";
@@ -3182,7 +3382,6 @@ static const char* apzNext_Wait_UnionPatch[] = {
*
* Description of Nodeent_Syntax fix
*/
-#define NODEENT_SYNTAX_FIXIDX 77
tSCC zNodeent_SyntaxName[] =
"nodeent_syntax";
@@ -3218,7 +3417,6 @@ static const char* apzNodeent_SyntaxPatch[] = {
*
* Description of Osf_Namespace_A fix
*/
-#define OSF_NAMESPACE_A_FIXIDX 78
tSCC zOsf_Namespace_AName[] =
"osf_namespace_a";
@@ -3264,7 +3462,6 @@ static const char* apzOsf_Namespace_APatch[] = {
*
* Description of Osf_Namespace_C fix
*/
-#define OSF_NAMESPACE_C_FIXIDX 79
tSCC zOsf_Namespace_CName[] =
"osf_namespace_c";
@@ -3319,7 +3516,6 @@ typedef __regmatch_t\tregmatch_t;",
*
* Description of Pthread_Page_Size fix
*/
-#define PTHREAD_PAGE_SIZE_FIXIDX 80
tSCC zPthread_Page_SizeName[] =
"pthread_page_size";
@@ -3355,7 +3551,6 @@ static const char* apzPthread_Page_SizePatch[] = {
*
* Description of Read_Ret_Type fix
*/
-#define READ_RET_TYPE_FIXIDX 81
tSCC zRead_Ret_TypeName[] =
"read_ret_type";
@@ -3393,7 +3588,6 @@ static const char* apzRead_Ret_TypePatch[] = {
*
* Description of Rs6000_Double fix
*/
-#define RS6000_DOUBLE_FIXIDX 82
tSCC zRs6000_DoubleName[] =
"rs6000_double";
@@ -3432,7 +3626,6 @@ static const char* apzRs6000_DoublePatch[] = {
*
* Description of Rs6000_Fchmod fix
*/
-#define RS6000_FCHMOD_FIXIDX 83
tSCC zRs6000_FchmodName[] =
"rs6000_fchmod";
@@ -3468,7 +3661,6 @@ static const char* apzRs6000_FchmodPatch[] = {
*
* Description of Rs6000_Param fix
*/
-#define RS6000_PARAM_FIXIDX 84
tSCC zRs6000_ParamName[] =
"rs6000_param";
@@ -3504,7 +3696,6 @@ static const char* apzRs6000_ParamPatch[] = {
*
* Description of Sco_Static_Func fix
*/
-#define SCO_STATIC_FUNC_FIXIDX 85
tSCC zSco_Static_FuncName[] =
"sco_static_func";
@@ -3546,85 +3737,85 @@ extern \"C\" {\\\n\
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Sco_Strict_Ansi fix
+ * Description of Sco_Utime fix
*/
-#define SCO_STRICT_ANSI_FIXIDX 86
-tSCC zSco_Strict_AnsiName[] =
- "sco_strict_ansi";
+tSCC zSco_UtimeName[] =
+ "sco_utime";
/*
* File name selection pattern
*/
-#define zSco_Strict_AnsiList (char*)NULL
+tSCC zSco_UtimeList[] =
+ "|sys/times.h|";
/*
* Machine/OS name selection pattern
*/
-tSCC* apzSco_Strict_AnsiMachs[] = {
- "i?86-*-sco3.2*",
+tSCC* apzSco_UtimeMachs[] = {
+ "i?86-*-sco3.2v4*",
(const char*)NULL };
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zSco_Strict_AnsiSelect0[] =
- "^[ \t]*#[ \t]*if.*!__STDC__";
+tSCC zSco_UtimeSelect0[] =
+ "\\(const char \\*, struct utimbuf \\*\\);";
-#define SCO_STRICT_ANSI_TEST_CT 1
-static tTestDesc aSco_Strict_AnsiTests[] = {
- { TT_EGREP, zSco_Strict_AnsiSelect0, (regex_t*)NULL }, };
+#define SCO_UTIME_TEST_CT 1
+static tTestDesc aSco_UtimeTests[] = {
+ { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Sco_Strict_Ansi
+ * Fix Command Arguments for Sco_Utime
*/
-static const char* apzSco_Strict_AnsiPatch[] = {
+static const char* apzSco_UtimePatch[] = {
"format",
- "%1defined(__STRICT_ANSI__)%2",
- "^([ \t]*#[ \t]*if[ \t].*!)__STDC__(.*)",
+ "(const char *, const struct utimbuf *);",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Sco_Utime fix
+ * Description of Solaris_Mutex_Init fix
*/
-#define SCO_UTIME_FIXIDX 87
-tSCC zSco_UtimeName[] =
- "sco_utime";
+tSCC zSolaris_Mutex_InitName[] =
+ "solaris_mutex_init";
/*
* File name selection pattern
*/
-tSCC zSco_UtimeList[] =
- "|sys/times.h|";
+tSCC zSolaris_Mutex_InitList[] =
+ "|pthread.h|";
/*
* Machine/OS name selection pattern
*/
-tSCC* apzSco_UtimeMachs[] = {
- "i?86-*-sco3.2v4*",
- (const char*)NULL };
+#define apzSolaris_Mutex_InitMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
-tSCC zSco_UtimeSelect0[] =
- "\\(const char \\*, struct utimbuf \\*\\);";
+tSCC zSolaris_Mutex_InitSelect0[] =
+ "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
-#define SCO_UTIME_TEST_CT 1
-static tTestDesc aSco_UtimeTests[] = {
- { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
+#define SOLARIS_MUTEX_INIT_TEST_CT 1
+static tTestDesc aSolaris_Mutex_InitTests[] = {
+ { TT_EGREP, zSolaris_Mutex_InitSelect0, (regex_t*)NULL }, };
/*
- * Fix Command Arguments for Sco_Utime
+ * Fix Command Arguments for Solaris_Mutex_Init
*/
-static const char* apzSco_UtimePatch[] = {
+static const char* apzSolaris_Mutex_InitPatch[] = {
"format",
- "(const char *, const struct utimbuf *);",
+ "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
+%0\n\
+#else\n\
+%1, {0}}%3\n\
+#endif",
+ "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*),[ \t]*0}(|[ \t].*)$",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Statsswtch fix
*/
-#define STATSSWTCH_FIXIDX 88
tSCC zStatsswtchName[] =
"statsswtch";
@@ -3660,7 +3851,6 @@ static const char* apzStatsswtchPatch[] = {
*
* Description of Stdio_Stdarg_H fix
*/
-#define STDIO_STDARG_H_FIXIDX 89
tSCC zStdio_Stdarg_HName[] =
"stdio_stdarg_h";
@@ -3697,7 +3887,6 @@ static const char* apzStdio_Stdarg_HPatch[] = {
*
* Description of Stdio_Va_List fix
*/
-#define STDIO_VA_LIST_FIXIDX 90
tSCC zStdio_Va_ListName[] =
"stdio_va_list";
@@ -3740,9 +3929,129 @@ s@_Va_LIST@_VA_LIST@",
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Strict_Ansi_Not fix
+ */
+tSCC zStrict_Ansi_NotName[] =
+ "strict_ansi_not";
+
+/*
+ * File name selection pattern
+ */
+#define zStrict_Ansi_NotList (char*)NULL
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzStrict_Ansi_NotMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_NotSelect0[] =
+ "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
+
+/*
+ * perform the C function call test
+ */
+tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
+
+#define STRICT_ANSI_NOT_TEST_CT 2
+static tTestDesc aStrict_Ansi_NotTests[] = {
+ { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
+ { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Strict_Ansi_Not
+ */
+static const char* apzStrict_Ansi_NotPatch[] = {
+ "format",
+ "%1 !defined(__STRICT_ANSI__)%3",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Strict_Ansi_Not_Ctd fix
+ */
+tSCC zStrict_Ansi_Not_CtdName[] =
+ "strict_ansi_not_ctd";
+
+/*
+ * File name selection pattern
+ */
+tSCC zStrict_Ansi_Not_CtdList[] =
+ "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_Not_CtdSelect0[] =
+ "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
+
+/*
+ * perform the C function call test
+ */
+tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
+
+#define STRICT_ANSI_NOT_CTD_TEST_CT 2
+static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
+ { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
+ { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Strict_Ansi_Not_Ctd
+ */
+static const char* apzStrict_Ansi_Not_CtdPatch[] = {
+ "format",
+ "%1 !defined(__STRICT_ANSI__)%3",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Strict_Ansi_Only fix
+ */
+tSCC zStrict_Ansi_OnlyName[] =
+ "strict_ansi_only";
+
+/*
+ * File name selection pattern
+ */
+#define zStrict_Ansi_OnlyList (char*)NULL
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzStrict_Ansi_OnlyMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zStrict_Ansi_OnlySelect0[] =
+ "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)(.*)";
+
+/*
+ * perform the C function call test
+ */
+tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
+
+#define STRICT_ANSI_ONLY_TEST_CT 2
+static tTestDesc aStrict_Ansi_OnlyTests[] = {
+ { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
+ { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Strict_Ansi_Only
+ */
+static const char* apzStrict_Ansi_OnlyPatch[] = {
+ "format",
+ "%1 defined(__STRICT_ANSI__)%3",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Struct_File fix
*/
-#define STRUCT_FILE_FIXIDX 91
tSCC zStruct_FileName[] =
"struct_file";
@@ -3779,7 +4088,6 @@ static const char* apzStruct_FilePatch[] = {
*
* Description of Struct_Sockaddr fix
*/
-#define STRUCT_SOCKADDR_FIXIDX 92
tSCC zStruct_SockaddrName[] =
"struct_sockaddr";
@@ -3823,7 +4131,6 @@ static const char* apzStruct_SockaddrPatch[] = {
*
* Description of Sun_Auth_Proto fix
*/
-#define SUN_AUTH_PROTO_FIXIDX 93
tSCC zSun_Auth_ProtoName[] =
"sun_auth_proto";
@@ -3864,7 +4171,6 @@ static const char* apzSun_Auth_ProtoPatch[] = {
*
* Description of Sun_Bogus_Ifdef fix
*/
-#define SUN_BOGUS_IFDEF_FIXIDX 94
tSCC zSun_Bogus_IfdefName[] =
"sun_bogus_ifdef";
@@ -3900,7 +4206,6 @@ static const char* apzSun_Bogus_IfdefPatch[] = {
*
* Description of Sun_Catmacro fix
*/
-#define SUN_CATMACRO_FIXIDX 95
tSCC zSun_CatmacroName[] =
"sun_catmacro";
@@ -3940,7 +4245,6 @@ static const char* apzSun_CatmacroPatch[] = {
*
* Description of Sun_Malloc fix
*/
-#define SUN_MALLOC_FIXIDX 96
tSCC zSun_MallocName[] =
"sun_malloc";
@@ -3971,7 +4275,6 @@ static const char* apzSun_MallocPatch[] = { "sed",
*
* Description of Sun_Rusers_Semi fix
*/
-#define SUN_RUSERS_SEMI_FIXIDX 97
tSCC zSun_Rusers_SemiName[] =
"sun_rusers_semi";
@@ -4006,7 +4309,6 @@ static const char* apzSun_Rusers_SemiPatch[] = { "sed",
*
* Description of Sun_Signal fix
*/
-#define SUN_SIGNAL_FIXIDX 98
tSCC zSun_SignalName[] =
"sun_signal";
@@ -4046,7 +4348,6 @@ void\t(*signal(...))(...);\n\
*
* Description of Sunos_Matherr_Decl fix
*/
-#define SUNOS_MATHERR_DECL_FIXIDX 99
tSCC zSunos_Matherr_DeclName[] =
"sunos_matherr_decl";
@@ -4089,7 +4390,6 @@ static const char* apzSunos_Matherr_DeclPatch[] = {
*
* Description of Sunos_Strlen fix
*/
-#define SUNOS_STRLEN_FIXIDX 100
tSCC zSunos_StrlenName[] =
"sunos_strlen";
@@ -4125,7 +4425,6 @@ static const char* apzSunos_StrlenPatch[] = {
*
* Description of Svr4__P fix
*/
-#define SVR4__P_FIXIDX 101
tSCC zSvr4__PName[] =
"svr4__p";
@@ -4163,7 +4462,6 @@ static const char* apzSvr4__PPatch[] = {
*
* Description of Svr4_Getcwd fix
*/
-#define SVR4_GETCWD_FIXIDX 102
tSCC zSvr4_GetcwdName[] =
"svr4_getcwd";
@@ -4199,7 +4497,6 @@ static const char* apzSvr4_GetcwdPatch[] = {
*
* Description of Svr4_Profil fix
*/
-#define SVR4_PROFIL_FIXIDX 103
tSCC zSvr4_ProfilName[] =
"svr4_profil";
@@ -4233,51 +4530,8 @@ static const char* apzSvr4_ProfilPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
- * Description of Gnu_Types fix
- */
-#define GNU_TYPES_FIXIDX 104
-tSCC zGnu_TypesName[] =
- "gnu_types";
-
-/*
- * File name selection pattern
- */
-tSCC zGnu_TypesList[] =
- "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
-/*
- * Machine/OS name selection pattern
- */
-#define apzGnu_TypesMachs (const char**)NULL
-
-/*
- * content selection pattern - do fix if pattern found
- */
-tSCC zGnu_TypesSelect0[] =
- "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
-
-/*
- * content bypass pattern - skip fix if pattern found
- */
-tSCC zGnu_TypesBypass0[] =
- "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
-
-#define GNU_TYPES_TEST_CT 2
-static tTestDesc aGnu_TypesTests[] = {
- { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
- { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
-
-/*
- * Fix Command Arguments for Gnu_Types
- */
-static const char* apzGnu_TypesPatch[] = {
- "gnu_type",
- (char*)NULL };
-
-/* * * * * * * * * * * * * * * * * * * * * * * * * *
- *
* Description of Sysv68_String fix
*/
-#define SYSV68_STRING_FIXIDX 105
tSCC zSysv68_StringName[] =
"sysv68_string";
@@ -4314,7 +4568,6 @@ extern unsigned int\\\n\
*
* Description of Sysz_Stdlib_For_Sun fix
*/
-#define SYSZ_STDLIB_FOR_SUN_FIXIDX 106
tSCC zSysz_Stdlib_For_SunName[] =
"sysz_stdlib_for_sun";
@@ -4350,7 +4603,6 @@ static const char* apzSysz_Stdlib_For_SunPatch[] = {
*
* Description of Tinfo_Cplusplus fix
*/
-#define TINFO_CPLUSPLUS_FIXIDX 107
tSCC zTinfo_CplusplusName[] =
"tinfo_cplusplus";
@@ -4384,9 +4636,43 @@ static const char* apzTinfo_CplusplusPatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Ultrix_Atexit_Param fix
+ */
+tSCC zUltrix_Atexit_ParamName[] =
+ "ultrix_atexit_param";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_Atexit_ParamList[] =
+ "|stdlib.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_Atexit_ParamMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Atexit_ParamSelect0[] =
+ "atexit\\(.*\\(\\)";
+
+#define ULTRIX_ATEXIT_PARAM_TEST_CT 1
+static tTestDesc aUltrix_Atexit_ParamTests[] = {
+ { TT_EGREP, zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Atexit_Param
+ */
+static const char* apzUltrix_Atexit_ParamPatch[] = {
+ "format",
+ "atexit( void (*__func)( void )",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Ultrix_Atof_Param fix
*/
-#define ULTRIX_ATOF_PARAM_FIXIDX 108
tSCC zUltrix_Atof_ParamName[] =
"ultrix_atof_param";
@@ -4422,7 +4708,6 @@ static const char* apzUltrix_Atof_ParamPatch[] = {
*
* Description of Ultrix_Const fix
*/
-#define ULTRIX_CONST_FIXIDX 109
tSCC zUltrix_ConstName[] =
"ultrix_const";
@@ -4459,7 +4744,6 @@ static const char* apzUltrix_ConstPatch[] = {
*
* Description of Ultrix_Const2 fix
*/
-#define ULTRIX_CONST2_FIXIDX 110
tSCC zUltrix_Const2Name[] =
"ultrix_const2";
@@ -4496,7 +4780,6 @@ static const char* apzUltrix_Const2Patch[] = {
*
* Description of Ultrix_Fix_Fixproto fix
*/
-#define ULTRIX_FIX_FIXPROTO_FIXIDX 111
tSCC zUltrix_Fix_FixprotoName[] =
"ultrix_fix_fixproto";
@@ -4534,7 +4817,6 @@ static const char* apzUltrix_Fix_FixprotoPatch[] = {
*
* Description of Ultrix_Ifdef fix
*/
-#define ULTRIX_IFDEF_FIXIDX 112
tSCC zUltrix_IfdefName[] =
"ultrix_ifdef";
@@ -4570,7 +4852,6 @@ static const char* apzUltrix_IfdefPatch[] = {
*
* Description of Ultrix_Math_Ifdef fix
*/
-#define ULTRIX_MATH_IFDEF_FIXIDX 113
tSCC zUltrix_Math_IfdefName[] =
"ultrix_math_ifdef";
@@ -4606,7 +4887,6 @@ static const char* apzUltrix_Math_IfdefPatch[] = {
*
* Description of Ultrix_Nested_Ioctl fix
*/
-#define ULTRIX_NESTED_IOCTL_FIXIDX 114
tSCC zUltrix_Nested_IoctlName[] =
"ultrix_nested_ioctl";
@@ -4641,7 +4921,6 @@ static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
*
* Description of Ultrix_Nested_Svc fix
*/
-#define ULTRIX_NESTED_SVC_FIXIDX 115
tSCC zUltrix_Nested_SvcName[] =
"ultrix_nested_svc";
@@ -4676,7 +4955,6 @@ static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
*
* Description of Ultrix_Stat fix
*/
-#define ULTRIX_STAT_FIXIDX 116
tSCC zUltrix_StatName[] =
"ultrix_stat";
@@ -4707,8 +4985,7 @@ static const char* apzUltrix_StatPatch[] = { "sed",
"-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
\\\n\
/* macro to test for symbolic link */\\\n\
-#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\
-\n",
+#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
"-e", "/^[ \t]*fstat(),$/a\\\n\
\tlstat(),\n",
(char*)NULL };
@@ -4717,7 +4994,6 @@ static const char* apzUltrix_StatPatch[] = { "sed",
*
* Description of Ultrix_Static fix
*/
-#define ULTRIX_STATIC_FIXIDX 117
tSCC zUltrix_StaticName[] =
"ultrix_static";
@@ -4754,7 +5030,6 @@ static const char* apzUltrix_StaticPatch[] = { "sed",
*
* Description of Ultrix_Strings fix
*/
-#define ULTRIX_STRINGS_FIXIDX 118
tSCC zUltrix_StringsName[] =
"ultrix_strings";
@@ -4789,7 +5064,6 @@ static const char* apzUltrix_StringsPatch[] = {
*
* Description of Undefine_Null fix
*/
-#define UNDEFINE_NULL_FIXIDX 119
tSCC zUndefine_NullName[] =
"undefine_null";
@@ -4835,7 +5109,6 @@ static const char* apzUndefine_NullPatch[] = {
*
* Description of Uw7_Byteorder_Fix fix
*/
-#define UW7_BYTEORDER_FIX_FIXIDX 120
tSCC zUw7_Byteorder_FixName[] =
"uw7_byteorder_fix";
@@ -4866,7 +5139,7 @@ tSCC zUw7_Byteorder_FixSelect0[] =
* perform the 'test' shell command - do fix on success
*/
tSCC zUw7_Byteorder_FixTest0[] =
- "-f $DESTDIR/sys/byteorder.h";
+ "-f sys/byteorder.h";
#define UW7_BYTEORDER_FIX_TEST_CT 2
static tTestDesc aUw7_Byteorder_FixTests[] = {
@@ -4879,14 +5152,13 @@ static tTestDesc aUw7_Byteorder_FixTests[] = {
static const char* apzUw7_Byteorder_FixPatch[] = {
"format",
"",
- "^extern.*(htons|ntohs).*\\(in_port_t\\).*\n",
+ "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Va_I960_Macro fix
*/
-#define VA_I960_MACRO_FIXIDX 121
tSCC zVa_I960_MacroName[] =
"va_i960_macro";
@@ -4922,7 +5194,6 @@ static const char* apzVa_I960_MacroPatch[] = {
*
* Description of Void_Null fix
*/
-#define VOID_NULL_FIXIDX 122
tSCC zVoid_NullName[] =
"void_null";
@@ -4958,7 +5229,6 @@ static const char* apzVoid_NullPatch[] = {
*
* Description of Vxworks_Gcc_Problem fix
*/
-#define VXWORKS_GCC_PROBLEM_FIXIDX 123
tSCC zVxworks_Gcc_ProblemName[] =
"vxworks_gcc_problem";
@@ -5008,7 +5278,6 @@ static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
*
* Description of Vxworks_Needs_Vxtypes fix
*/
-#define VXWORKS_NEEDS_VXTYPES_FIXIDX 124
tSCC zVxworks_Needs_VxtypesName[] =
"vxworks_needs_vxtypes";
@@ -5044,7 +5313,6 @@ static const char* apzVxworks_Needs_VxtypesPatch[] = {
*
* Description of Vxworks_Needs_Vxworks fix
*/
-#define VXWORKS_NEEDS_VXWORKS_FIXIDX 125
tSCC zVxworks_Needs_VxworksName[] =
"vxworks_needs_vxworks";
@@ -5093,7 +5361,6 @@ static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
*
* Description of Vxworks_Time fix
*/
-#define VXWORKS_TIME_FIXIDX 126
tSCC zVxworks_TimeName[] =
"vxworks_time";
@@ -5144,7 +5411,6 @@ typedef void (*__gcc_VOIDFUNCPTR) ();\n\
*
* Description of X11_Class fix
*/
-#define X11_CLASS_FIXIDX 127
tSCC zX11_ClassName[] =
"x11_class";
@@ -5191,7 +5457,6 @@ static const char* apzX11_ClassPatch[] = {
*
* Description of X11_Class_Usage fix
*/
-#define X11_CLASS_USAGE_FIXIDX 128
tSCC zX11_Class_UsageName[] =
"x11_class_usage";
@@ -5234,7 +5499,6 @@ static const char* apzX11_Class_UsagePatch[] = {
*
* Description of X11_New fix
*/
-#define X11_NEW_FIXIDX 129
tSCC zX11_NewName[] =
"x11_new";
@@ -5275,7 +5539,6 @@ static const char* apzX11_NewPatch[] = { "sed",
*
* Description of X11_Sprintf fix
*/
-#define X11_SPRINTF_FIXIDX 130
tSCC zX11_SprintfName[] =
"x11_sprintf";
@@ -5314,15 +5577,164 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
-#define REGEX_COUNT 136
+#define REGEX_COUNT 150
#define MACH_LIST_SIZE_LIMIT 279
-#define FIX_COUNT 131
+#define FIX_COUNT 143
+
+/*
+ * Enumerate the fixes
+ */
+typedef enum {
+ AAA_BAD_FIXES_FIXIDX,
+ AAA_KI_FIXIDX,
+ AAA_KI_CALLS_FIXIDX,
+ AAA_KI_DEFS_FIXIDX,
+ AAA_KI_IFACE_FIXIDX,
+ AAA_STANDARDS_FIXIDX,
+ AAA_TIME_FIXIDX,
+ AAB_DGUX_INT_VARARGS_FIXIDX,
+ AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
+ AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
+ AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
+ AAB_SUN_MEMCPY_FIXIDX,
+ AAB_SVR4_REPLACE_BYTEORDER_FIXIDX,
+ AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
+ AAB_ULTRIX_LIMITS_FIXIDX,
+ AAB_ULTRIX_MEMORY_FIXIDX,
+ AAB_ULTRIX_STRING_FIXIDX,
+ AIX_PTHREAD_FIXIDX,
+ AIX_SYSMACHINE_FIXIDX,
+ AIX_SYSWAIT_FIXIDX,
+ AIX_VOLATILE_FIXIDX,
+ ALPHA___ASSERT_FIXIDX,
+ ALPHA_GETOPT_FIXIDX,
+ ALPHA_PARENS_FIXIDX,
+ ALPHA_SBRK_FIXIDX,
+ ARM_NORCROFT_HINT_FIXIDX,
+ ARM_WCHAR_FIXIDX,
+ AUX_ASM_FIXIDX,
+ AVOID_BOOL_DEFINE_FIXIDX,
+ AVOID_BOOL_TYPE_FIXIDX,
+ AVOID_WCHAR_T_TYPE_FIXIDX,
+ BAD_LVAL_FIXIDX,
+ BAD_STRUCT_TERM_FIXIDX,
+ BADQUOTE_FIXIDX,
+ BROKEN_ASSERT_STDIO_FIXIDX,
+ BROKEN_ASSERT_STDLIB_FIXIDX,
+ BROKEN_CABS_FIXIDX,
+ CTRL_QUOTES_DEF_FIXIDX,
+ CTRL_QUOTES_USE_FIXIDX,
+ CXX_UNREADY_FIXIDX,
+ DEC_INTERN_ASM_FIXIDX,
+ DJGPP_WCHAR_H_FIXIDX,
+ ECD_CURSOR_FIXIDX,
+ FIX_HEADER_BREAKAGE_FIXIDX,
+ FREEBSD_GCC3_BREAKAGE_FIXIDX,
+ GNU_TYPES_FIXIDX,
+ HP_INLINE_FIXIDX,
+ HP_SYSFILE_FIXIDX,
+ HPUX10_CPP_POW_INLINE_FIXIDX,
+ HPUX11_CPP_POW_INLINE_FIXIDX,
+ HPUX11_FABSF_FIXIDX,
+ HPUX11_UINT32_C_FIXIDX,
+ HPUX11_VSNPRINTF_FIXIDX,
+ HPUX8_BOGUS_INLINES_FIXIDX,
+ HPUX_MAXINT_FIXIDX,
+ HPUX_SYSTIME_FIXIDX,
+ INT_ABORT_FREE_AND_EXIT_FIXIDX,
+ IO_QUOTES_DEF_FIXIDX,
+ IO_QUOTES_USE_FIXIDX,
+ IP_MISSING_SEMI_FIXIDX,
+ IRIX_ASM_APOSTROPHE_FIXIDX,
+ IRIX_LIMITS_CONST_FIXIDX,
+ IRIX_STDIO_VA_LIST_FIXIDX,
+ ISC_FMOD_FIXIDX,
+ ISC_OMITS_WITH_STDC_FIXIDX,
+ KANDR_CONCAT_FIXIDX,
+ LIBC1_IFDEFD_MEMX_FIXIDX,
+ LIMITS_IFNDEFS_FIXIDX,
+ LYNX_VOID_INT_FIXIDX,
+ LYNXOS_FCNTL_PROTO_FIXIDX,
+ M88K_BAD_HYPOT_OPT_FIXIDX,
+ M88K_BAD_S_IF_FIXIDX,
+ M88K_MULTI_INCL_FIXIDX,
+ MACHINE_ANSI_H_VA_LIST_FIXIDX,
+ MACHINE_NAME_FIXIDX,
+ MATH_EXCEPTION_FIXIDX,
+ MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
+ MATH_HUGE_VAL_IFNDEF_FIXIDX,
+ NESTED_AUTH_DES_FIXIDX,
+ NESTED_MOTOROLA_FIXIDX,
+ NESTED_SYS_LIMITS_FIXIDX,
+ NEWS_OS_RECURSION_FIXIDX,
+ NEXT_MATH_PREFIX_FIXIDX,
+ NEXT_TEMPLATE_FIXIDX,
+ NEXT_VOLITILE_FIXIDX,
+ NEXT_WAIT_UNION_FIXIDX,
+ NODEENT_SYNTAX_FIXIDX,
+ OSF_NAMESPACE_A_FIXIDX,
+ OSF_NAMESPACE_C_FIXIDX,
+ PTHREAD_PAGE_SIZE_FIXIDX,
+ READ_RET_TYPE_FIXIDX,
+ RS6000_DOUBLE_FIXIDX,
+ RS6000_FCHMOD_FIXIDX,
+ RS6000_PARAM_FIXIDX,
+ SCO_STATIC_FUNC_FIXIDX,
+ SCO_UTIME_FIXIDX,
+ SOLARIS_MUTEX_INIT_FIXIDX,
+ STATSSWTCH_FIXIDX,
+ STDIO_STDARG_H_FIXIDX,
+ STDIO_VA_LIST_FIXIDX,
+ STRICT_ANSI_NOT_FIXIDX,
+ STRICT_ANSI_NOT_CTD_FIXIDX,
+ STRICT_ANSI_ONLY_FIXIDX,
+ STRUCT_FILE_FIXIDX,
+ STRUCT_SOCKADDR_FIXIDX,
+ SUN_AUTH_PROTO_FIXIDX,
+ SUN_BOGUS_IFDEF_FIXIDX,
+ SUN_CATMACRO_FIXIDX,
+ SUN_MALLOC_FIXIDX,
+ SUN_RUSERS_SEMI_FIXIDX,
+ SUN_SIGNAL_FIXIDX,
+ SUNOS_MATHERR_DECL_FIXIDX,
+ SUNOS_STRLEN_FIXIDX,
+ SVR4__P_FIXIDX,
+ SVR4_GETCWD_FIXIDX,
+ SVR4_PROFIL_FIXIDX,
+ SYSV68_STRING_FIXIDX,
+ SYSZ_STDLIB_FOR_SUN_FIXIDX,
+ TINFO_CPLUSPLUS_FIXIDX,
+ ULTRIX_ATEXIT_PARAM_FIXIDX,
+ ULTRIX_ATOF_PARAM_FIXIDX,
+ ULTRIX_CONST_FIXIDX,
+ ULTRIX_CONST2_FIXIDX,
+ ULTRIX_FIX_FIXPROTO_FIXIDX,
+ ULTRIX_IFDEF_FIXIDX,
+ ULTRIX_MATH_IFDEF_FIXIDX,
+ ULTRIX_NESTED_IOCTL_FIXIDX,
+ ULTRIX_NESTED_SVC_FIXIDX,
+ ULTRIX_STAT_FIXIDX,
+ ULTRIX_STATIC_FIXIDX,
+ ULTRIX_STRINGS_FIXIDX,
+ UNDEFINE_NULL_FIXIDX,
+ UW7_BYTEORDER_FIX_FIXIDX,
+ VA_I960_MACRO_FIXIDX,
+ VOID_NULL_FIXIDX,
+ VXWORKS_GCC_PROBLEM_FIXIDX,
+ VXWORKS_NEEDS_VXTYPES_FIXIDX,
+ VXWORKS_NEEDS_VXWORKS_FIXIDX,
+ VXWORKS_TIME_FIXIDX,
+ X11_CLASS_FIXIDX,
+ X11_CLASS_USAGE_FIXIDX,
+ X11_NEW_FIXIDX,
+ X11_SPRINTF_FIXIDX
+} t_fixinc_idx;
tFixDesc fixDescList[ FIX_COUNT ] = {
- { zAaa_Ki_IfaceName, zAaa_Ki_IfaceList,
- apzAaa_Ki_IfaceMachs,
- AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
- aAaa_Ki_IfaceTests, apzAaa_Ki_IfacePatch, 0 },
+ { zAaa_Bad_FixesName, zAaa_Bad_FixesList,
+ apzAaa_Bad_FixesMachs,
+ AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+ aAaa_Bad_FixesTests, apzAaa_Bad_FixesPatch, 0 },
{ zAaa_KiName, zAaa_KiList,
apzAaa_KiMachs,
@@ -5339,10 +5751,15 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
AAA_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
aAaa_Ki_DefsTests, apzAaa_Ki_DefsPatch, 0 },
- { zAaa_Bad_FixesName, zAaa_Bad_FixesList,
- apzAaa_Bad_FixesMachs,
- AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
- aAaa_Bad_FixesTests, apzAaa_Bad_FixesPatch, 0 },
+ { zAaa_Ki_IfaceName, zAaa_Ki_IfaceList,
+ apzAaa_Ki_IfaceMachs,
+ AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+ aAaa_Ki_IfaceTests, apzAaa_Ki_IfacePatch, 0 },
+
+ { zAaa_StandardsName, zAaa_StandardsList,
+ apzAaa_StandardsMachs,
+ AAA_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
+ aAaa_StandardsTests, apzAaa_StandardsPatch, 0 },
{ zAaa_TimeName, zAaa_TimeList,
apzAaa_TimeMachs,
@@ -5419,6 +5836,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aAix_VolatileTests, apzAix_VolatilePatch, 0 },
+ { zAlpha___AssertName, zAlpha___AssertList,
+ apzAlpha___AssertMachs,
+ ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
+
{ zAlpha_GetoptName, zAlpha_GetoptList,
apzAlpha_GetoptMachs,
ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5514,6 +5936,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
+ { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
+ apzDjgpp_Wchar_HMachs,
+ DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
+
{ zEcd_CursorName, zEcd_CursorList,
apzEcd_CursorMachs,
ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5524,6 +5951,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
FIX_HEADER_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aFix_Header_BreakageTests, apzFix_Header_BreakagePatch, 0 },
+ { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
+ apzFreebsd_Gcc3_BreakageMachs,
+ FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
+
+ { zGnu_TypesName, zGnu_TypesList,
+ apzGnu_TypesMachs,
+ GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aGnu_TypesTests, apzGnu_TypesPatch, 0 },
+
{ zHp_InlineName, zHp_InlineList,
apzHp_InlineMachs,
HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5534,6 +5971,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHp_SysfileTests, apzHp_SysfilePatch, 0 },
+ { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
+ apzHpux10_Cpp_Pow_InlineMachs,
+ HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
+
+ { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
+ apzHpux11_Cpp_Pow_InlineMachs,
+ HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
+
{ zHpux11_FabsfName, zHpux11_FabsfList,
apzHpux11_FabsfMachs,
HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5544,21 +5991,31 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux11_Uint32_CTests, apzHpux11_Uint32_CPatch, 0 },
+ { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
+ apzHpux11_VsnprintfMachs,
+ HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
+
{ zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
apzHpux8_Bogus_InlinesMachs,
HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
+ { zHpux_MaxintName, zHpux_MaxintList,
+ apzHpux_MaxintMachs,
+ HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux_MaxintTests, apzHpux_MaxintPatch, 0 },
+
+ { zHpux_SystimeName, zHpux_SystimeList,
+ apzHpux_SystimeMachs,
+ HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
+
{ zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
apzInt_Abort_Free_And_ExitMachs,
INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
- { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
- apzIsc_Omits_With_StdcMachs,
- ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
-
{ zIo_Quotes_DefName, zIo_Quotes_DefList,
apzIo_Quotes_DefMachs,
IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5569,16 +6026,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
- { zHpux_MaxintName, zHpux_MaxintList,
- apzHpux_MaxintMachs,
- HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aHpux_MaxintTests, apzHpux_MaxintPatch, 0 },
-
- { zHpux_SystimeName, zHpux_SystimeList,
- apzHpux_SystimeMachs,
- HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
-
{ zIp_Missing_SemiName, zIp_Missing_SemiList,
apzIp_Missing_SemiMachs,
IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
@@ -5594,11 +6041,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
+ { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
+ apzIrix_Stdio_Va_ListMachs,
+ IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
+
{ zIsc_FmodName, zIsc_FmodList,
apzIsc_FmodMachs,
ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aIsc_FmodTests, apzIsc_FmodPatch, 0 },
+ { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
+ apzIsc_Omits_With_StdcMachs,
+ ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
+
{ zKandr_ConcatName, zKandr_ConcatList,
apzKandr_ConcatMachs,
KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5664,6 +6121,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aMath_Huge_Val_IfndefTests, apzMath_Huge_Val_IfndefPatch, 0 },
+ { zNested_Auth_DesName, zNested_Auth_DesList,
+ apzNested_Auth_DesMachs,
+ NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
+
{ zNested_MotorolaName, zNested_MotorolaList,
apzNested_MotorolaMachs,
NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
@@ -5674,11 +6136,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 },
- { zNested_Auth_DesName, zNested_Auth_DesList,
- apzNested_Auth_DesMachs,
- NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
-
{ zNews_Os_RecursionName, zNews_Os_RecursionList,
apzNews_Os_RecursionMachs,
NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5749,16 +6206,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 },
- { zSco_Strict_AnsiName, zSco_Strict_AnsiList,
- apzSco_Strict_AnsiMachs,
- SCO_STRICT_ANSI_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aSco_Strict_AnsiTests, apzSco_Strict_AnsiPatch, 0 },
-
{ zSco_UtimeName, zSco_UtimeList,
apzSco_UtimeMachs,
SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSco_UtimeTests, apzSco_UtimePatch, 0 },
+ { zSolaris_Mutex_InitName, zSolaris_Mutex_InitList,
+ apzSolaris_Mutex_InitMachs,
+ SOLARIS_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSolaris_Mutex_InitTests, apzSolaris_Mutex_InitPatch, 0 },
+
{ zStatsswtchName, zStatsswtchList,
apzStatsswtchMachs,
STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5774,6 +6231,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
+ { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
+ apzStrict_Ansi_NotMachs,
+ STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
+
+ { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
+ apzStrict_Ansi_Not_CtdMachs,
+ STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
+
+ { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
+ apzStrict_Ansi_OnlyMachs,
+ STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
+
{ zStruct_FileName, zStruct_FileList,
apzStruct_FileMachs,
STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
@@ -5839,11 +6311,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
- { zGnu_TypesName, zGnu_TypesList,
- apzGnu_TypesMachs,
- GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
- aGnu_TypesTests, apzGnu_TypesPatch, 0 },
-
{ zSysv68_StringName, zSysv68_StringList,
apzSysv68_StringMachs,
SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
@@ -5859,6 +6326,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
+ { zUltrix_Atexit_ParamName, zUltrix_Atexit_ParamList,
+ apzUltrix_Atexit_ParamMachs,
+ ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aUltrix_Atexit_ParamTests, apzUltrix_Atexit_ParamPatch, 0 },
+
{ zUltrix_Atof_ParamName, zUltrix_Atof_ParamList,
apzUltrix_Atof_ParamMachs,
ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
diff --git a/gcc/fixinc/fixlib.h b/gcc/fixinc/fixlib.h
index 4490d2086ea..6bcc6e2c666 100644
--- a/gcc/fixinc/fixlib.h
+++ b/gcc/fixinc/fixlib.h
@@ -3,7 +3,7 @@
files which are fixed to work correctly with ANSI C and placed in a
directory that GNU C will search.
- Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -22,11 +22,12 @@ 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. */
-#ifndef FIXINCLUDES_FIXLIB_H
-#define FIXINCLUDES_FIXLIB_H
+#ifndef GCC_FIXLIB_H
+#define GCC_FIXLIB_H
#include "auto-host.h"
-#include "gansidecl.h"
+#include "ansidecl.h"
+#include "config.h"
#include "system.h"
#include "gnu-regex.h"
@@ -88,7 +89,7 @@ typedef int t_success;
#define IGNORE_ARG(a) ((void)(a))
-typedef enum
+typedef enum t_bool
{
BOOL_FALSE, BOOL_TRUE
} t_bool;
@@ -223,4 +224,4 @@ void mn_get_regexps
PARAMS(( regex_t** label_re, regex_t** name_re,
tCC *who ));
#endif
-#endif /* FIXINCLUDES_FIXLIB_H */
+#endif /* ! GCC_FIXLIB_H */
diff --git a/gcc/fixinc/fixtests.c b/gcc/fixinc/fixtests.c
index e3da35b8c36..40687cfc755 100644
--- a/gcc/fixinc/fixtests.c
+++ b/gcc/fixinc/fixtests.c
@@ -47,6 +47,10 @@ Boston, MA 02111-1307, USA. */
#include "fixlib.h"
+#define _ENV_(v,m,n,t) extern tCC* v;
+ENV_TABLE
+#undef _ENV_
+
typedef apply_fix_p_t t_test_proc PARAMS(( tCC* file, tCC* text ));
typedef struct {
@@ -55,7 +59,8 @@ typedef struct {
} test_entry_t;
#define FIX_TEST_TABLE \
- _FT_( "machine_name", machine_name_test )
+ _FT_( "machine_name", machine_name_test ) \
+ _FT_( "stdc_0_in_system_headers", stdc_0_in_system_headers_test )
#define TEST_FOR_FIX_PROC_HEAD( test ) \
static apply_fix_p_t test PARAMS(( tCC* file, tCC* text )); \
@@ -116,6 +121,16 @@ TEST_FOR_FIX_PROC_HEAD( machine_name_test )
}
+TEST_FOR_FIX_PROC_HEAD( stdc_0_in_system_headers_test )
+{
+#ifdef STDC_0_IN_SYSTEM_HEADERS
+ return (pz_machine == NULL) ? APPLY_FIX : SKIP_FIX;
+#else
+ return APPLY_FIX;
+#endif
+}
+
+
/* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
test for fix selector
diff --git a/gcc/fixinc/genfixes b/gcc/fixinc/genfixes
index c0ae1e5f22f..a47e091db7a 100755
--- a/gcc/fixinc/genfixes
+++ b/gcc/fixinc/genfixes
@@ -68,15 +68,15 @@ set -e
case "$1" in
fixincl.x | */fixincl.x )
- if (${AG} --help > /dev/null 2>&1)
+ if [ -z "`${AG} -v | fgrep 'Ver. 5.'`" ]
then
- echo AutoGen-ing fixincl.x
- $AG inclhack.def
- else
- echo "AutoGen does not appear to be correctly installed."
+ echo "AutoGen appears to be out of date or not correctly installed."
echo "Please download and install:"
echo " ftp://gcc.gnu.org/pub/gcc/infrastructure/autogen.tar.gz"
touch fixincl.x
+ else
+ echo AutoGen-ing fixincl.x
+ $AG inclhack.def
fi
;;
diff --git a/gcc/fixinc/gnu-regex.c b/gcc/fixinc/gnu-regex.c
index a6ebd96e832..99786e2d49d 100644
--- a/gcc/fixinc/gnu-regex.c
+++ b/gcc/fixinc/gnu-regex.c
@@ -22,10 +22,6 @@
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-#include "auto-host.h"
-/* GCC LOCAL: we don't need NLS here. */
-#undef ENABLE_NLS
-
#undef _GNU_SOURCE
#define _GNU_SOURCE
@@ -33,6 +29,11 @@
# include <config.h>
#endif
+/* GCC LOCAL: we don't need NLS here. */
+#undef ENABLE_NLS
+/* GCC LOCAL: to handle defining alloca. */
+#include "libiberty.h"
+
/* Do not use a C alloca, we will leak memory and crash. */
#ifdef C_ALLOCA
# define REGEX_MALLOC
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index 40332750c1d..aedf09713d3 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -6,6 +6,15 @@ autogen definitions fixincl;
/* Define all the fixes we know about for repairing damaged headers.
Please see the README before adding or changing entries in this file.
+ This is the sort command:
+
+ blocksort output=XXX \
+ pattern='^/\*$' \
+ start='DO +NOT +DO +BROKEN +FIXES' \
+ trailer='^/\*EOF\*[/]' \
+ input=inclhack.def \
+ key='hackname[ ]*=[ ]*(.*);'
+
Set up a debug test so we can make the templates emit special
code while debugging these fixes: */
@@ -16,12 +25,15 @@ FIXINC_DEBUG = yes;
/* DO NOT DO BROKEN FIXES (empty replacement fixes) */
/*
- * Purge some HP-UX 11 files that are only broken after they are "fixed".
+ * This file on SunOS 4 has a very large macro. When the sed loop
+ * tries pull it in, it overflows the pattern space size of the SunOS
+ * sed (GNU sed does not have this problem). Since the file does not
+ * require fixing, we remove it from the fixed directory.
*/
fix = {
- hackname = AAA_ki_iface;
- files = sys/ki_iface.h;
- select = 'These definitions are for HP Internal developers';
+ hackname = AAA_bad_fixes;
+ files = sundev/ipi_error.h;
+ /* shouldn't there be a select expression here??? */
replace; /* empty replacement -> no fixing the file */
};
@@ -60,15 +72,24 @@ fix = {
/*
- * This file on SunOS 4 has a very large macro. When the sed loop
- * tries pull it in, it overflows the pattern space size of the SunOS
- * sed (GNU sed does not have this problem). Since the file does not
- * require fixing, we remove it from the fixed directory.
+ * Purge some HP-UX 11 files that are only broken after they are "fixed".
*/
fix = {
- hackname = AAA_bad_fixes;
- files = sundev/ipi_error.h;
- /* shouldn't there be a select expression here??? */
+ hackname = AAA_ki_iface;
+ files = sys/ki_iface.h;
+ select = 'These definitions are for HP Internal developers';
+ replace; /* empty replacement -> no fixing the file */
+};
+
+
+/*
+ * Tru64 UNIX V4.0F/V5.1 <standards.h> defines _NO_PROTO and _NONSTD_TYPES
+ * correctly for GCC, but strict_ansi_not breaks it.
+ */
+fix = {
+ hackname = AAA_standards;
+ files = standards.h;
+ select = 'GNU and MIPS C compilers define __STDC__ differently';
replace; /* empty replacement -> no fixing the file */
};
@@ -86,26 +107,27 @@ fix = {
/* And now, the real fixes, replacement text fixes first: */
/*
- * Completely replace &lt;_int_varargs.h&gt; with a file that includes gcc's
+ * Completely replace <_int_varargs.h> with a file that includes gcc's
* stdarg.h or varargs.h files as appropriate on DG/UX
*/
fix = {
hackname = AAB_dgux_int_varargs;
files = _int_varargs.h;
- replace = "#ifndef __INT_VARARGS_H
+ replace =
+"#ifndef __INT_VARARGS_H
\#define __INT_VARARGS_H
/************************************************************************/
/* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio. */
/************************************************************************/
-/*
+/*" "
** This file is a DG internal header. Never include this
** file directly.
*/
\#ifndef ___int_features_h
-\#include &lt;sys/_int_features.h&gt;
+\#include <sys/_int_features.h>
\#endif
\#if !(defined(_VA_LIST) || defined(_VA_LIST_))
@@ -320,6 +342,29 @@ extern int memcmp();
/*
+ * Completely replace <sys/varargs.h> with a file that includes gcc's
+ * stdarg.h or varargs.h files as appropriate.
+ */
+#ifdef SVR4
+fix = {
+ hackname = AAB_svr4_no_varargs;
+ files = sys/varargs.h;
+ replace = "/* This file was generated by fixincludes. */\n"
+ "#ifndef _SYS_VARARGS_H\n"
+ "#define _SYS_VARARGS_H\n\n"
+
+ "#ifdef __STDC__\n"
+ "#include <stdarg.h>\n"
+ "#else\n"
+ "#include <varargs.h>\n"
+ "#endif\n\n"
+
+ "#endif /* _SYS_VARARGS_H */\n";
+};
+#endif
+
+
+/*
* Completely replace <sys/byteorder.h>; with a file that implements gcc's
* optimized byteswapping. Restricted to "SVR4" machines until either
* it is shown to be safe to replace this file always, or we get bolder ;-)
@@ -483,29 +528,6 @@ ntohs (unsigned int __arg)
/*
- * Completely replace <sys/varargs.h> with a file that includes gcc's
- * stdarg.h or varargs.h files as appropriate.
- */
-#ifdef SVR4
-fix = {
- hackname = AAB_svr4_no_varargs;
- files = sys/varargs.h;
- replace = "/* This file was generated by fixincludes. */\n"
- "#ifndef _SYS_VARARGS_H\n"
- "#define _SYS_VARARGS_H\n\n"
-
- "#ifdef __STDC__\n"
- "#include <stdarg.h>\n"
- "#else\n"
- "#include <varargs.h>\n"
- "#endif\n\n"
-
- "#endif /* _SYS_VARARGS_H */\n";
-};
-#endif
-
-
-/*
* Cancel out ansi_compat.h on Ultrix. Replace it with an empty file.
*/
fix = {
@@ -525,9 +547,7 @@ fix = {
files = limits.h;
mach = "*-*-ultrix4.3";
replace =
-'/* @(#)limits.h */
-/* This file was generated by fixincludes */
-\#ifndef _LIMITS_INCLUDED
+'#ifndef _LIMITS_INCLUDED
\#define _LIMITS_INCLUDED
\#include <sys/limits.h>
\#endif /* _LIMITS_INCLUDED */
@@ -545,9 +565,7 @@ fix = {
files = memory.h;
mach = "*-*-ultrix4.3";
replace =
-'/* @(#)memory.h */
-/* This file was generated by fixincludes */
-\#ifndef _MEMORY_INCLUDED
+'#ifndef _MEMORY_INCLUDED
\#define _MEMORY_INCLUDED
\#include <strings.h>
\#endif /* _MEMORY_INCLUDED */
@@ -565,9 +583,7 @@ fix = {
files = string.h;
mach = "*-*-ultrix4.3";
replace =
-'/* @(#)string.h */
-/* This file was generated by fixincludes */
-\#ifndef _STRING_INCLUDED
+'#ifndef _STRING_INCLUDED
\#define _STRING_INCLUDED
\#include <strings.h>
\#endif /* _STRING_INCLUDED */
@@ -639,6 +655,19 @@ fix = {
/*
+ * Fix __assert declaration in assert.h on Alpha OSF/1.
+ */
+fix = {
+ hackname = alpha___assert;
+ files = "assert.h";
+ select = '__assert\(char \*, char \*, int\)';
+ c_fix = format;
+ c_fix_arg = "__assert(const char *, const char *, int)";
+ test_text = 'extern void __assert(char *, char *, int);';
+};
+
+
+/*
* Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX.
*/
fix = {
@@ -1000,6 +1029,21 @@ fix = {
/*
+ * Fix typo in <wchar.h> on DJGPP 2.03.
+ */
+fix = {
+ hackname = djgpp_wchar_h;
+ file = wchar.h;
+ select = "__DJ_wint_t";
+ bypass = "sys/djtypes.h";
+ c_fix = format;
+ c_fix_arg = "%0\n#include <sys/djtypes.h>";
+ c_fix_arg = "#include <stddef.h>";
+ test_text = "#include <stddef.h>\n"
+ "extern __DJ_wint_t x;\n";
+};
+
+/*
* Fix these Sun OS files to avoid an invalid identifier in an #ifdef.
*/
fix = {
@@ -1031,6 +1075,44 @@ fix = {
/*
+ * Between 8/24/1998 and 2/17/2001, FreeBSD system headers presume
+ * neither the existence of GCC 3 nor its exact feature set yet break
+ * (by design?) when __GNUC__ is set beyond 2.
+ */
+fix = {
+ hackname = freebsd_gcc3_breakage;
+ mach = *-*-freebsd*;
+ files = sys/cdefs.h;
+ select = '^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$';
+ bypass = '__GNUC__[ \t]*([>=]=[ \t]*[3-9]|>[ \t]*2)';
+ c_fix = format;
+ c_fix_arg = '%0 || __GNUC__ >= 3';
+ test_text = '#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7';
+};
+
+
+/*
+ * Fix these files to use the same types that we think they should.
+ */
+fix = {
+ hackname = gnu_types;
+ files = "sys/types.h";
+ files = "stdlib.h";
+ files = "sys/stdtypes.h";
+ files = "stddef.h";
+ files = "memory.h";
+ files = "unistd.h";
+ bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
+ select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
+ c_fix = gnu_type;
+
+ test_text = "typedef long int ptrdiff_t; /* long int */\n"
+ "typedef uint_t size_t; /* uint_t */\n"
+ "typedef ushort_t wchar_t; /* ushort_t */";
+};
+
+
+/*
* Fix HP & Sony's use of "../machine/xxx.h"
* to refer to: <machine/xxx.h>
*/
@@ -1067,6 +1149,53 @@ fix = {
/*
+ * Delete C++ double pow (double, int) inline function from HP-UX 10 & 11
+ * math.h to prevent clash with define in c_std/bits/std_cmath.h.
+ */
+fix = {
+ hackname = hpux10_cpp_pow_inline;
+ files = fixinc-test-limits.h, math.h;
+ select = <<- END_POW_INLINE
+ ^# +ifdef +__cplusplus
+ +}
+ +inline +double +pow\(double +__d,int +__expon\) +{
+ [ ]+return +pow\(__d,\(double\)__expon\);
+ +}
+ +extern +"C" +{
+ #else
+ # +endif
+ END_POW_INLINE;
+
+ c_fix = format;
+ c_fix_arg = "";
+
+ test_text =
+ "# ifdef __cplusplus\n"
+ " }\n"
+ " inline double pow(double __d,int __expon) {\n"
+ "\t return pow(__d,(double)__expon);\n"
+ " }\n"
+ ' extern "C"' " {\n"
+ "#else\n"
+ "# endif";
+};
+
+fix = {
+ hackname = hpux11_cpp_pow_inline;
+ files = math.h;
+ select = " +inline double pow\\(double d,int expon\\) {\n"
+ " +return pow\\(d, \\(double\\)expon\\);\n"
+ " +}\n";
+ c_fix = format;
+ c_fix_arg = "";
+
+ test_text =
+ " inline double pow(double d,int expon) {\n"
+ " return pow(d, (double)expon);\n"
+ " }\n";
+};
+
+/*
* Keep HP-UX 11 from stomping on C++ math namespace
* with defines for fabsf.
*/
@@ -1087,7 +1216,7 @@ fix = {
/*
- * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition
+ * In inttypes.h on HPUX 11, the use of __CONCAT__ in the definition
* of UINT32_C has undefined behavior according to ISO/ANSI:
* the arguments to __CONCAT__ are not macro expanded before the
* concatination happens so the trailing ')' in the first argument
@@ -1095,7 +1224,7 @@ fix = {
* invalid pp token. The behavior of invalid pp tokens is undefined.
* GCC does not handle these invalid tokens the way the HP compiler does.
* This problem will potentially occur anytime macros are used in the
- * arguments to __CONCAT__. A general solution to this problem would be to
+ * arguments to __CONCAT__. A general solution to this problem would be to
* insert another layer of macro between __CONCAT__ and its use
* in UINT32_C. An example of this solution can be found in the C standard.
* A more specific solution, the one used here, is to change the UINT32_C
@@ -1115,6 +1244,24 @@ fix = {
/*
+ * Fix hpux 11.00 broken vsnprintf declaration
+ */
+fix = {
+ hackname = hpux11_vsnprintf;
+ files = stdio.h;
+ select = 'extern int vsnprintf\(char \*, __size_t, const char \*,'
+ ' __va__list\);';
+
+ c_fix = format;
+ c_fix_arg = "extern int vsnprintf(char *, __size_t, const char *,"
+ " __va_list);";
+
+ test_text = 'extern int vsnprintf(char *, __size_t, const char *,'
+ ' __va__list);';
+};
+
+
+/*
* get rid of bogus inline definitions in HP-UX 8.0
*/
fix = {
@@ -1132,43 +1279,54 @@ fix = {
/*
- * Fix return type of abort and free
+ * HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
*/
fix = {
- hackname = int_abort_free_and_exit;
- files = stdlib.h;
- select = "int[ \t]+(abort|free|exit)[ \t]*\\(";
+ hackname = hpux_maxint;
+ files = sys/param.h;
+ files = values.h;
+ select = "^#[ \t]*define[ \t]+MAXINT[ \t]";
+ bypass = "^#[ \t]*ifndef[ \t]+MAXINT";
+ test =
+ "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
c_fix = format;
- c_fix_arg = "void\t%1(";
+ c_fix_arg = "#ifndef MAXINT\n%0\n#endif";
+ c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*";
- test_text = "extern int abort(int);\n"
- "extern int free(void*);\n"
- "extern int exit(void*);";
+ test_text = '#define MAXINT 0x7FFFFFFF';
};
/*
- * On Interactive Unix 2.2, certain traditional Unix definitions
- * (notably getc and putc in stdio.h) are omitted if __STDC__ is
- * defined, not just if _POSIX_SOURCE is defined. This makes it
- * impossible to compile any nontrivial program except with -posix.
+ * Fix hpux10.20 <sys/time.h> to avoid invalid forward decl
*/
fix = {
- hackname = isc_omits_with_stdc;
+ hackname = hpux_systime;
+ files = sys/time.h;
+ select = "^extern struct sigevent;";
- files = "stdio.h";
- files = "math.h";
- files = "ctype.h";
- files = "sys/limits.h";
- files = "sys/fcntl.h";
- files = "sys/dirent.h";
+ c_fix = format;
+ c_fix_arg = "struct sigevent;";
+
+ test_text = 'extern struct sigevent;';
+};
+
+
+/*
+ * Fix return type of abort and free
+ */
+fix = {
+ hackname = int_abort_free_and_exit;
+ files = stdlib.h;
+ select = "int[ \t]+(abort|free|exit)[ \t]*\\(";
- select = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)';
c_fix = format;
- c_fix_arg = '!defined(_POSIX_SOURCE)';
- test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */"
- "\nint foo;\n#endif";
+ c_fix_arg = "void\t%1(";
+
+ test_text = "extern int abort(int);\n"
+ "extern int free(void*);\n"
+ "extern int exit(void*);";
};
@@ -1215,41 +1373,6 @@ fix = {
/*
- * HPUX 10.x sys/param.h defines MAXINT which clashes with values.h
- */
-fix = {
- hackname = hpux_maxint;
- files = sys/param.h;
- files = values.h;
- select = "^#[ \t]*define[ \t]+MAXINT[ \t]";
- bypass = "^#[ \t]*ifndef[ \t]+MAXINT";
- test =
- "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
-
- c_fix = format;
- c_fix_arg = "#ifndef MAXINT\n%0\n#endif";
- c_fix_arg = "^#[ \t]*define[ \t]+MAXINT[ \t].*";
-
- test_text = '#define MAXINT 0x7FFFFFFF';
-};
-
-
-/*
- * Fix hpux10.20 <sys/time.h> to avoid invalid forward decl
- */
-fix = {
- hackname = hpux_systime;
- files = sys/time.h;
- select = "^extern struct sigevent;";
-
- c_fix = format;
- c_fix_arg = "struct sigevent;";
-
- test_text = 'extern struct sigevent;';
-};
-
-
-/*
* Check for missing ';' in struct
*/
fix = {
@@ -1287,12 +1410,28 @@ fix = {
* Non-traditional "const" declaration in Irix's limits.h.
*/
fix = {
- hackname = irix_limits_const;
- files = limits.h;
- select = "^extern const ";
- c_fix = format;
- c_fix_arg = "extern __const ";
- test_text = "extern const char limit; /* test\n\tlimits */";
+ hackname = irix_limits_const;
+ files = fixinc-test-limits.h, limits.h;
+ select = "^extern const ";
+ c_fix = format;
+ c_fix_arg = "extern __const ";
+ test_text = "extern const char limit; /* test limits */";
+};
+
+
+/*
+ * IRIX 5.x's stdio.h declares some functions that take a va_list as
+ * taking char *. However, GCC uses void * for va_list, so
+ * calling vfprintf with a va_list fails in C++. */
+fix = {
+ hackname = irix_stdio_va_list;
+ files = stdio.h;
+
+ select = '(printf\(.*), /\* va_list \*/ char \*';
+ c_fix = format;
+ c_fix_arg = "%1, __gnuc_va_list";
+ test_text =
+ "extern int printf( const char *, /* va_list */ char * );";
};
@@ -1310,6 +1449,30 @@ fix = {
/*
+ * On Interactive Unix 2.2, certain traditional Unix definitions
+ * (notably getc and putc in stdio.h) are omitted if __STDC__ is
+ * defined, not just if _POSIX_SOURCE is defined. This makes it
+ * impossible to compile any nontrivial program except with -posix.
+ */
+fix = {
+ hackname = isc_omits_with_stdc;
+
+ files = "stdio.h";
+ files = "math.h";
+ files = "ctype.h";
+ files = "sys/limits.h";
+ files = "sys/fcntl.h";
+ files = "sys/dirent.h";
+
+ select = '!defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)';
+ c_fix = format;
+ c_fix_arg = '!defined(_POSIX_SOURCE)';
+ test_text = "#if !defined(__STDC__) && !defined(_POSIX_SOURCE) /* ? ! */"
+ "\nint foo;\n#endif";
+};
+
+
+/*
* These files in Sun OS 4.x and ARM/RISCiX and BSD4.3
* use / * * / to concatenate tokens.
*/
@@ -1488,7 +1651,7 @@ fix = {
/*
* Fix BSD machine/ansi.h to use __builtin_va_list to define _BSD_VA_LIST_.
- *
+ *
* On NetBSD, machine is a symbolic link to an architecture specific
* directory name, so we can't match a specific file name here.
*/
@@ -1603,6 +1766,19 @@ fix = {
/*
+ * nested comment
+ */
+fix = {
+ hackname = nested_auth_des;
+ files = rpc/rpc.h;
+ select = '(/\*.*rpc/auth_des\.h>.*)/\*';
+ c_fix = format;
+ c_fix_arg = "%1*/ /*";
+ test_text = "/*#include <rpc/auth_des.h> /* skip this */";
+};
+
+
+/*
* Fix nested comments in Motorola's <limits.h> and <sys/limits.h>
*/
fix = {
@@ -1638,19 +1814,6 @@ fix = {
};
/*
- * nested comment
- */
-fix = {
- hackname = nested_auth_des;
- files = rpc/rpc.h;
- select = '(/\*.*rpc/auth_des\.h>.*)/\*';
- c_fix = format;
- c_fix_arg = "%1*/ /*";
- test_text = "/*#include <rpc/auth_des.h> /* skip this */";
-};
-
-
-/*
* fix bogus recursive stdlib.h in NEWS-OS 4.0C
*/
fix = {
@@ -1820,7 +1983,7 @@ fix = {
/*
- * function class(double x) conflicts with C++ keyword on rs/6000
+ * function class(double x) conflicts with C++ keyword on rs/6000
*/
fix = {
hackname = rs6000_double;
@@ -1849,7 +2012,7 @@ fix = {
/*
- * parameters conflict with C++ new on rs/6000
+ * parameters conflict with C++ new on rs/6000
*/
fix = {
hackname = rs6000_param;
@@ -1865,7 +2028,7 @@ fix = {
/*
- * The static functions lstat() and fchmod() in <sys/stat.h>
+ * The static functions lstat() and fchmod() in <sys/stat.h>
* cause G++ grief since they're not wrapped in "if __cplusplus".
*
* On SCO OpenServer 5.0.0 through (at least) 5.0.5 <sys/stat.h> contains
@@ -1904,22 +2067,6 @@ fix = {
/*
- * "!__STDC__" is "!defined( __STRICT_ANSI__ )"
- */
-fix = {
- hackname = sco_strict_ansi;
- mach = "i?86-*-sco3.2*";
- select = "^[ \t]*#[ \t]*if.*!__STDC__";
-
- c_fix = format;
- c_fix_arg = "%1defined(__STRICT_ANSI__)%2";
- c_fix_arg = "^([ \t]*#[ \t]*if[ \t].*!)__STDC__(.*)";
-
- test_text = "#if !__STDC__ /* not standard C */\nint foo;\n#endif";
-};
-
-
-/*
* Fix prototype declaration of utime in sys/times.h.
* In 3.2v4.0 the const is missing.
*/
@@ -1937,6 +2084,34 @@ fix = {
/*
+ * Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing
+ * "0" for the last field of the pthread_mutex_t structure, which is
+ * of type upad64_t, which itself is typedef'd to int64_t, but with
+ * __STDC__ defined (e.g. by -ansi) it is a union. So change the
+ * initializer to "{0}" instead
+ */
+fix = {
+ hackname = solaris_mutex_init;
+ select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
+ files = pthread.h;
+ c_fix = format;
+ c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n"
+ "%0\n"
+ "#else\n"
+ "%1, {0}}%3\n"
+ "#endif";
+ c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*)"
+ ",[ \t]*0}" "(|[ \t].*)$";
+ test_text =
+ '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n"
+ "#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n"
+ "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n"
+ "#define PTHREAD_RWLOCK_INITIALIZER\t"
+ "{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}";
+};
+
+
+/*
* Sony NEWSOS 5.0 does not support the complete ANSI C standard.
*/
#ifdef SONY
@@ -2051,18 +2226,68 @@ fix = {
/*
- * Check for strict ansi compliance
+ * "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0"
+ * is "!defined( __STRICT_ANSI__ )"
*/
-#ifdef STRICT_ANSI
fix = {
- hackname = strict_ansi;
- select = "__STDC__[ \t]*[=!]=[ \t]*[01]";
- sed = "s/__STDC__[ \t]*==[ \t]*0/!defined (__STRICT_ANSI__)/g";
- sed = "s/__STDC__[ \t]*!=[ \t]*0/defined (__STRICT_ANSI__)/g";
- sed = "s/__STDC__[ \t]*==[ \t]*1/defined (__STRICT_ANSI__)/g";
- sed = "s/__STDC__[ \t]*!=[ \t]*1/!defined (__STRICT_ANSI__)/g";
+ hackname = strict_ansi_not;
+ select = "^([ \t]*#[ \t]*if.*)"
+ "(!__STDC__"
+ "|__STDC__[ \t]*==[ \t]*0"
+ "|__STDC__[ \t]*!=[ \t]*1"
+ "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
+ ")(.*)";
+ c_test = stdc_0_in_system_headers;
+
+ c_fix = format;
+ c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
+
+ test_text = "#if !__STDC__ \n"
+ "#if __STDC__ == 0\n"
+ "#if __STDC__ != 1\n"
+ "#if __STDC__ - 0 == 0"
+ "/* not std C */\nint foo;\n"
+ "\n#end-end-end-end-if :-)";
+};
+
+/*
+ * "__STDC__-0==0"
+ * is "!defined( __STRICT_ANSI__ )" on continued #if-s
+ */
+fix = {
+ hackname = strict_ansi_not_ctd;
+ files = math.h, limits.h, stdio.h, signal.h, stdlib.h, time.h;
+ select = "^([ \t]*[|&][|&][ \t(]*)"
+ "(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0"
+ ")(.*)";
+ c_test = stdc_0_in_system_headers;
+
+ c_fix = format;
+ c_fix_arg = "%1 !defined(__STRICT_ANSI__)%3";
+
+ test_text = "#if 1\\\n"
+ "|| __STDC__ - 0 == 0 /* not std C */\nint foo;\n#endif";
+};
+
+/*
+ * "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1"
+ * is "defined( __STRICT_ANSI__ )"
+ */
+fix = {
+ hackname = strict_ansi_only;
+ select = "^([ \t]*#[ \t]*if.*)"
+ "(__STDC__[ \t]*!=[ \t]*0"
+ "|__STDC__[ \t]*==[ \t]*1"
+ "|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1"
+ "|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0"
+ ")(.*)";
+ c_test = stdc_0_in_system_headers;
+
+ c_fix = format;
+ c_fix_arg = "%1 defined(__STRICT_ANSI__)%3";
+
+ test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif";
};
-#endif
/*
@@ -2566,7 +2791,7 @@ fix = {
#endif
-/*
+/*
* Like svr4_mach_defines, but with newfangled syntax.
* Source lines are of #define __i386 #machine(i386). Delete them.
*/
@@ -2581,27 +2806,6 @@ fix = {
/*
- * Fix these files to use the same types that we think they should.
- */
-fix = {
- hackname = gnu_types;
- files = "sys/types.h";
- files = "stdlib.h";
- files = "sys/stdtypes.h";
- files = "stddef.h";
- files = "memory.h";
- files = "unistd.h";
- bypass = '_GCC_(PTRDIFF|SIZE|WCHAR)_T';
- select = "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
- c_fix = gnu_type;
-
- test_text = "typedef long int ptrdiff_t; /* long int */\n"
- "typedef uint_t size_t; /* uint_t */\n"
- "typedef ushort_t wchar_t; /* ushort_t */";
-};
-
-
-/*
* Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn}
* in string.h on sysV68
* Correct the return type for strlen in string.h on Lynx.
@@ -2683,6 +2887,21 @@ fix = {
/*
+ * function parameter to atexit is missing "void" on VAX Ultrix 4.3.
+ */
+fix = {
+ hackname = ultrix_atexit_param;
+ files = stdlib.h;
+ select = 'atexit\(.*\(\)';
+
+ c_fix = format;
+ c_fix_arg = "atexit( void (*__func)( void )";
+
+ test_text = "int atexit( void (*__func)() );\n";
+};
+
+
+/*
* parameter to atof not const on DECstation Ultrix V4.0 and NEWS-OS 4.2R.
*/
fix = {
@@ -2894,7 +3113,7 @@ fix = {
hackname = uw7_byteorder_fix;
files = arpa/inet.h;
select = "in_port_t";
- test = "-f $DESTDIR/sys/byteorder.h";
+ test = "-f sys/byteorder.h";
#ifndef SVR5
mach = "*-*-sysv4*";
mach = "i?86-*-sysv5*";
@@ -2906,12 +3125,12 @@ fix = {
c_fix = format;
c_fix_arg = "";
- c_fix_arg = "^extern.*(htons|ntohs).*\\(in_port_t\\).*\n";
+ c_fix_arg = "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;";
- test_text = "extern htons(in_port_t);"
+ test_text = "extern in_port_t\thtons __P((in_port_t));\n"
+ "extern in_port_t\tntohs __P((in_port_t));"
"`[ ! -d $DESTDIR/sys ] && mkdir $DESTDIR/sys\n"
- "echo '/* DUMMY */' >> sys/byteorder.h\n"
- "touch $DESTDIR/sys/byteorder.h`";
+ "echo '/* DUMMY */' >> sys/byteorder.h`";
};
diff --git a/gcc/fixinc/mkfixinc.sh b/gcc/fixinc/mkfixinc.sh
index f353d5e8be3..29567bd35fc 100755
--- a/gcc/fixinc/mkfixinc.sh
+++ b/gcc/fixinc/mkfixinc.sh
@@ -35,9 +35,7 @@ esac
# Check for special fix rules for particular targets
case $machine in
- *-*-sysv4* | \
- i?86-*-sysv5* | \
- i?86-*-udk*)
+ *-*-sysv4* )
fixincludes=fixinc.svr4
;;
diff --git a/gcc/fixinc/server.c b/gcc/fixinc/server.c
index e32576fca51..e58a09fa3ab 100644
--- a/gcc/fixinc/server.c
+++ b/gcc/fixinc/server.c
@@ -2,7 +2,7 @@
/*
* server.c Set up and handle communications with a server process.
*
- * Server Handling copyright 1992-1999 The Free Software Foundation
+ * Server Handling copyright 1992-1999, 2001 The Free Software Foundation
*
* Server Handling is free software.
* You may redistribute it and/or modify it under the terms of the
@@ -47,7 +47,7 @@
*/
#include "auto-host.h"
-#include "gansidecl.h"
+#include "ansidecl.h"
#include "system.h"
#include <signal.h>
@@ -57,7 +57,7 @@
# define volatile
#endif
-STATIC volatile t_bool read_pipe_timeout;
+STATIC volatile enum t_bool read_pipe_timeout;
STATIC pid_t server_master_pid = NOPROCESS;
tSCC* def_args[] =
@@ -93,10 +93,7 @@ load_data (fp)
t_bool got_done = BOOL_FALSE;
text_size = sizeof (z_line) * 2;
- pz_scan = pz_text = malloc (text_size);
-
- if (pz_text == (char *) NULL)
- return (char *) NULL;
+ pz_scan = pz_text = xmalloc (text_size);
for (;;)
{
@@ -120,18 +117,9 @@ load_data (fp)
if (text_size - used_ct < sizeof (z_line))
{
size_t off = (size_t) (pz_scan - pz_text);
- void *p;
text_size += 4096;
- p = realloc ((void *) pz_text, text_size);
- if (p == (void *) NULL)
- {
- fprintf (stderr, "Failed to get 0x%08lX bytes\n",
- (long) text_size);
- free ((void *) pz_text);
- return (char *) NULL;
- }
- pz_text = (char *) p;
+ pz_text = xrealloc ((void *) pz_text, text_size);
pz_scan = pz_text + off;
}
}
@@ -146,7 +134,7 @@ load_data (fp)
while ((pz_scan > pz_text) && ISSPACE (pz_scan[-1]))
pz_scan--;
*pz_scan = NUL;
- return realloc ((void *) pz_text, strlen (pz_text) + 1);
+ return xrealloc ((void *) pz_text, strlen (pz_text) + 1);
}
@@ -284,11 +272,8 @@ run_shell (pz_cmd)
/* IF it is still not running, THEN return the nil string. */
if (server_id <= 0)
{
- char *pz = (char *) malloc (1);
fprintf (stderr, zNoServer, pz_cmd);
- if (pz != (char *) NULL)
- *pz = '\0';
- return pz;
+ return xcalloc (1, 1);
}
/* Make sure the process will pay attention to us, send the
@@ -302,11 +287,8 @@ run_shell (pz_cmd)
THEN return an empty string. */
if (server_id == NULLPROCESS)
{
- char *pz = (char *) malloc (1);
fprintf (stderr, zNoServer, pz_cmd);
- if (pz != (char *) NULL)
- *pz = '\0';
- return pz;
+ return xcalloc (1, 1);
}
/* Now try to read back all the data. If we fail due to either a
@@ -326,9 +308,7 @@ run_shell (pz_cmd)
fprintf (stderr, "CLOSING SHELL SERVER - command failure:\n\t%s\n",
pz_cmd);
- pz = (char *) malloc (1);
- if (pz != (char *) NULL)
- *pz = '\0';
+ pz = xcalloc (1, 1);
}
#ifdef DEBUG
fprintf( stderr, "run_shell command success: %s\n", pz );
diff --git a/gcc/fixinc/tests/base/arpa/inet.h b/gcc/fixinc/tests/base/arpa/inet.h
index 90c240f106d..acd8ed54577 100644
--- a/gcc/fixinc/tests/base/arpa/inet.h
+++ b/gcc/fixinc/tests/base/arpa/inet.h
@@ -10,4 +10,6 @@
#if defined( UW7_BYTEORDER_FIX_CHECK )
+
+
#endif /* UW7_BYTEORDER_FIX_CHECK */
diff --git a/gcc/fixinc/tests/base/assert.h b/gcc/fixinc/tests/base/assert.h
index 490496ffbd7..45716a3b303 100644
--- a/gcc/fixinc/tests/base/assert.h
+++ b/gcc/fixinc/tests/base/assert.h
@@ -19,6 +19,11 @@
#include <stdio.h>
+#if defined( ALPHA___ASSERT_CHECK )
+extern void __assert(const char *, const char *, int);
+#endif /* ALPHA___ASSERT_CHECK */
+
+
#if defined( BROKEN_ASSERT_STDIO_CHECK )
extern FILE* stderr;
#endif /* BROKEN_ASSERT_STDIO_CHECK */
diff --git a/gcc/fixinc/tests/base/curses.h b/gcc/fixinc/tests/base/curses.h
index 676718020ea..ba2db2448a0 100644
--- a/gcc/fixinc/tests/base/curses.h
+++ b/gcc/fixinc/tests/base/curses.h
@@ -19,8 +19,9 @@
#if defined( AVOID_BOOL_TYPE_CHECK )
#ifndef __cplusplus
-typedef unsigned int bool ; /* bool type */
-#endif
+typedef unsigned int bool ;
+#endif /* bool
+ type */
#endif /* AVOID_BOOL_TYPE_CHECK */
diff --git a/gcc/fixinc/tests/base/fixinc-test-limits.h b/gcc/fixinc/tests/base/fixinc-test-limits.h
new file mode 100644
index 00000000000..0422d0901a9
--- /dev/null
+++ b/gcc/fixinc/tests/base/fixinc-test-limits.h
@@ -0,0 +1,19 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/fixinc-test-limits.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( HPUX10_CPP_POW_INLINE_CHECK )
+
+#endif /* HPUX10_CPP_POW_INLINE_CHECK */
+
+
+#if defined( IRIX_LIMITS_CONST_CHECK )
+extern __const char limit; /* test limits */
+#endif /* IRIX_LIMITS_CONST_CHECK */
diff --git a/gcc/fixinc/tests/base/math.h b/gcc/fixinc/tests/base/math.h
index 93722c97350..3690dd9afd9 100644
--- a/gcc/fixinc/tests/base/math.h
+++ b/gcc/fixinc/tests/base/math.h
@@ -35,6 +35,11 @@ extern double floor(), ceil(), fmod(), fabs _PARAMS((double));
#endif /* FIX_HEADER_BREAKAGE_CHECK */
+#if defined( HPUX11_CPP_POW_INLINE_CHECK )
+
+#endif /* HPUX11_CPP_POW_INLINE_CHECK */
+
+
#if defined( HPUX11_FABSF_CHECK )
#ifdef _PA_RISC
#ifndef __cplusplus
@@ -99,6 +104,13 @@ extern int class();
#endif /* RS6000_DOUBLE_CHECK */
+#if defined( STRICT_ANSI_NOT_CTD_CHECK )
+#if 1|| !defined(__STRICT_ANSI__) /* not std C */
+int foo;
+#endif
+#endif /* STRICT_ANSI_NOT_CTD_CHECK */
+
+
#if defined( SUNOS_MATHERR_DECL_CHECK )
extern int matherr();
#endif /* SUNOS_MATHERR_DECL_CHECK */
diff --git a/gcc/fixinc/tests/base/pthread.h b/gcc/fixinc/tests/base/pthread.h
index ccd662a34e6..5f7c724e758 100644
--- a/gcc/fixinc/tests/base/pthread.h
+++ b/gcc/fixinc/tests/base/pthread.h
@@ -18,3 +18,19 @@
#if defined( PTHREAD_PAGE_SIZE_CHECK )
extern int __page_size;
#endif /* PTHREAD_PAGE_SIZE_CHECK */
+
+
+#if defined( SOLARIS_MUTEX_INIT_CHECK )
+#ident "@(#)pthread.h 1.26 98/04/12 SMI"
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, 0}
+#else
+#define PTHREAD_MUTEX_INITIALIZER {{{0},0}, {{{0}}}, {0}}
+#endif
+#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)
+#define PTHREAD_COND_INITIALIZER {{{0}, 0}, 0} /* DEFAULTCV */
+#else
+#define PTHREAD_COND_INITIALIZER {{{0}, 0}, {0}} /* DEFAULTCV */
+#endif
+#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}
+#endif /* SOLARIS_MUTEX_INIT_CHECK */
diff --git a/gcc/fixinc/tests/base/stdio.h b/gcc/fixinc/tests/base/stdio.h
index c2e82a134fe..87145ce2916 100644
--- a/gcc/fixinc/tests/base/stdio.h
+++ b/gcc/fixinc/tests/base/stdio.h
@@ -19,6 +19,16 @@ extern int getopt(int, char *const[], const char *);
#endif /* ALPHA_GETOPT_CHECK */
+#if defined( HPUX11_VSNPRINTF_CHECK )
+extern int vsnprintf(char *, __size_t, const char *, __gnuc_va_list);
+#endif /* HPUX11_VSNPRINTF_CHECK */
+
+
+#if defined( IRIX_STDIO_DUMMY_VA_LIST_CHECK )
+extern int printf( const char *, __gnuc_va_list );
+#endif /* IRIX_STDIO_DUMMY_VA_LIST_CHECK */
+
+
#if defined( ISC_OMITS_WITH_STDC_CHECK )
#if !defined(_POSIX_SOURCE) /* ? ! */
int foo;
diff --git a/gcc/fixinc/tests/base/stdlib.h b/gcc/fixinc/tests/base/stdlib.h
index 1f58af4cb37..9e43d13270f 100644
--- a/gcc/fixinc/tests/base/stdlib.h
+++ b/gcc/fixinc/tests/base/stdlib.h
@@ -47,3 +47,9 @@ extern void * realloc(void*,size_t);
extern void * bsearch(void*,size_t,size_t);
#endif /* SYSZ_STDLIB_FOR_SUN_CHECK */
+
+
+#if defined( ULTRIX_ATEXIT_PARAM_CHECK )
+int atexit( void (*__func)( void ) );
+
+#endif /* ULTRIX_ATEXIT_PARAM_CHECK */
diff --git a/gcc/fixinc/tests/base/machine/ansi.h b/gcc/fixinc/tests/base/sys/cdefs.h
index cf9f6d569e7..0b345a48ee4 100644
--- a/gcc/fixinc/tests/base/machine/ansi.h
+++ b/gcc/fixinc/tests/base/sys/cdefs.h
@@ -2,13 +2,13 @@
It has been auto-edited by fixincludes from:
- "fixinc/tests/inc/machine/ansi.h"
+ "fixinc/tests/inc/sys/cdefs.h"
This had to be done to correct non-standard usages in the
original, manufacturer supplied header file. */
-#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
- # define _BSD_VA_LIST_ __builtin_va_list
-#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
+#if defined( FREEBSD_GCC3_BREAKAGE_CHECK )
+#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3
+#endif /* FREEBSD_GCC3_BREAKAGE_CHECK */
diff --git a/gcc/fixinc/tests/base/sys/types.h b/gcc/fixinc/tests/base/sys/types.h
index daf5c659fe0..683b5e93ecd 100644
--- a/gcc/fixinc/tests/base/sys/types.h
+++ b/gcc/fixinc/tests/base/sys/types.h
@@ -20,9 +20,11 @@ typedef __PTRDIFF_TYPE__ ptrdiff_t;
typedef __SIZE_TYPE__ size_t;
#endif
/* uint_t */
+#ifndef __cplusplus
#if !defined(_GCC_WCHAR_T) && ! defined(__cplusplus)
#define _GCC_WCHAR_T
typedef __WCHAR_TYPE__ wchar_t;
#endif
- /* ushort_t */
+
+#endif /* ushort_t */
#endif /* GNU_TYPES_CHECK */
diff --git a/gcc/fixinc/tests/base/testing.h b/gcc/fixinc/tests/base/testing.h
index 687531e5ce7..aa7dbb10d16 100644
--- a/gcc/fixinc/tests/base/testing.h
+++ b/gcc/fixinc/tests/base/testing.h
@@ -9,8 +9,17 @@
+#if defined( AVOID_WCHAR_T_TYPE_CHECK )
+#ifndef __cplusplus
+typedef unsigned short wchar_t ;
+#endif /* wchar_t
+ type */
+#endif /* AVOID_WCHAR_T_TYPE_CHECK */
+
+
#if defined( CTRL_QUOTES_DEF_CHECK )
-#define _CTRL(c) (c&037)
+#define BSD43_CTRL(n, x) ((n<<8)+x)
+
#endif /* CTRL_QUOTES_DEF_CHECK */
@@ -19,8 +28,18 @@
#endif /* CTRL_QUOTES_USE_CHECK */
+#if defined( DJGPP_WCHAR_H_CHECK )
+#include <stddef.h>
+#include <sys/djtypes.h>
+extern __DJ_wint_t x;
+
+#endif /* DJGPP_WCHAR_H_CHECK */
+
+
#if defined( IO_QUOTES_DEF_CHECK )
-#define XX_IO(x) (x<<8|256)
+#define BSD43__IOWR(n, x) ((n<<8)+x)
+#define _IOWN(x,y,t) (_IOC_IN|(((t)&_IOCPARM_MASK)<<16)|(x<<8)|y)
+#define _IO(x,y) (x<<8|y)
#endif /* IO_QUOTES_DEF_CHECK */
@@ -38,6 +57,11 @@ extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,
#endif /* LIBC1_IFDEFD_MEMX_CHECK */
+#if defined( MACHINE_ANSI_H_VA_LIST_CHECK )
+ # define _BSD_VA_LIST_ __builtin_va_list
+#endif /* MACHINE_ANSI_H_VA_LIST_CHECK */
+
+
#if defined( MACHINE_NAME_CHECK )
/* MACH_DIFF: */
#if defined( __i386__ ) || defined( sparc ) || defined( vax )
@@ -45,11 +69,23 @@ extern __ptr_t memcpy __P ((__ptr_t __dest, __const __ptr_t __src,
#endif /* MACHINE_NAME_CHECK */
-#if defined( SCO_STRICT_ANSI_CHECK )
-#if !defined(__STRICT_ANSI__) /* not standard C */
+#if defined( STRICT_ANSI_NOT_CHECK )
+#if !defined(__STRICT_ANSI__)
+#if !defined(__STRICT_ANSI__)
+#if !defined(__STRICT_ANSI__)
+#if !defined(__STRICT_ANSI__)/* not std C */
+int foo;
+
+#end-end-end-end-if :-)
+#endif /* STRICT_ANSI_NOT_CHECK */
+
+
+#if defined( STRICT_ANSI_ONLY_CHECK )
+#if defined(__STRICT_ANSI__) /* is std C
+ */
int foo;
#endif
-#endif /* SCO_STRICT_ANSI_CHECK */
+#endif /* STRICT_ANSI_ONLY_CHECK */
#if defined( SYSV68_STRING_CHECK )
diff --git a/gcc/fixinc/tests/base/types/vxTypesBase.h b/gcc/fixinc/tests/base/types/vxTypesBase.h
index 7d7a434c8f7..76a9338d970 100644
--- a/gcc/fixinc/tests/base/types/vxTypesBase.h
+++ b/gcc/fixinc/tests/base/types/vxTypesBase.h
@@ -19,10 +19,12 @@ typedef unsigned int size_t;
#define _GCC_PTRDIFF_T
typedef long ptrdiff_t;
#endif
+#ifndef __cplusplus
#ifndef _GCC_WCHAR_T
#define _GCC_WCHAR_T
typedef unsigned short wchar_t;
#endif
+#endif
#endif /* __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__ */
#endif /* VXWORKS_GCC_PROBLEM_CHECK */