*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed Friday August 1, 2003 at 06:47:22 PM EDT
+ * It has been AutoGen-ed Monday August 4, 2003 at 03:26:31 PM EDT
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT CVS-MERGE THIS FILE, EITHER Fri Aug 1 18:47:22 EDT 2003
+/* DO NOT CVS-MERGE THIS FILE, EITHER Mon Aug 4 15:26:31 EDT 2003
*
* You must regenerate it. Use the ./genfixes script.
*
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
- * This file contains 155 fixup descriptions.
+ * This file contains 156 fixup descriptions.
*
* See README for more information.
*
"profil(unsigned short *, size_t, int, unsigned int)",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Svr4_Undeclared_Getrnge fix
+ */
+tSCC zSvr4_Undeclared_GetrngeName[] =
+ "svr4_undeclared_getrnge";
+
+/*
+ * File name selection pattern
+ */
+tSCC zSvr4_Undeclared_GetrngeList[] =
+ "|regexp.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zSvr4_Undeclared_GetrngeSelect0[] =
+ "getrnge";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zSvr4_Undeclared_GetrngeBypass0[] =
+ "static void getrnge";
+
+#define SVR4_UNDECLARED_GETRNGE_TEST_CT 2
+static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
+ { TT_NEGREP, zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
+ { TT_EGREP, zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Svr4_Undeclared_Getrnge
+ */
+static const char* apzSvr4_Undeclared_GetrngePatch[] = {
+ "format",
+ "%0\n\
+static int getrnge ();",
+ "^static int[ \t]+size;",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Sysv68_String fix
*
* List of all fixes
*/
-#define REGEX_COUNT 174
+#define REGEX_COUNT 176
#define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT 155
+#define FIX_COUNT 156
/*
* Enumerate the fixes
SVR4_DISABLE_OPT_FIXIDX,
SVR4_GETCWD_FIXIDX,
SVR4_PROFIL_FIXIDX,
+ SVR4_UNDECLARED_GETRNGE_FIXIDX,
SYSV68_STRING_FIXIDX,
SYSZ_STDLIB_FOR_SUN_FIXIDX,
THREAD_KEYWORD_FIXIDX,
SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
+ { zSvr4_Undeclared_GetrngeName, zSvr4_Undeclared_GetrngeList,
+ apzSvr4_Undeclared_GetrngeMachs,
+ SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aSvr4_Undeclared_GetrngeTests, apzSvr4_Undeclared_GetrngePatch, 0 },
+
{ zSysv68_StringName, zSysv68_StringList,
apzSysv68_StringMachs,
SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
};
-/*
- * Add a `static' declaration of `getrnge' into <regexp.h>.
- *
- * Don't do this if there is already a `static void getrnge' declaration
- * present, since this would cause a redeclaration error. Solaris 2.x has
- * such a declaration.
- */
-#ifdef SVR4
-fix = {
- hackname = static_getrnge;
- files = regexp.h;
- bypass = "static void getrnge";
- sed = "/^static int[ \t]*size;/c\\\n"
- "static int size ;\\\n\\\n"
- "static int getrnge ();";
-};
-#endif
-
-
/*
* a missing semi-colon at the end of the statsswtch structure definition.
*/
#endif
+/*
+ * Some SysV r4 systems, including Sequent's DYNIX/ptx, use the local
+ * function 'getrnge' in <regexp.h> before they declare it. For these
+ * systems add a 'static int' declaration of 'getrnge' into <regexp.h>
+ * early on.
+ *
+ * 'getrnge' traditionally manipulates a file-scope global called 'size',
+ * so put the declaration right after the declaration of 'size'.
+ *
+ * Don't do this if there is already a `static void getrnge' declaration
+ * present, since this would cause a redeclaration error. Solaris 2.x has
+ * such a declaration.
+ */
+fix = {
+ hackname = svr4_undeclared_getrnge;
+ files = regexp.h;
+ select = "getrnge";
+ bypass = "static void getrnge";
+ c_fix = format;
+ c_fix_arg = "%0\n"
+ "static int getrnge ();";
+ c_fix_arg = "^static int[ \t]+size;";
+ test_text = "static int size;\n"
+ "/* stuff which calls getrnge() */\n"
+ "static getrnge()\n"
+ "{}";
+};
+
+
/*
* Like svr4_mach_defines, but with newfangled syntax.
* Source lines are of #define __i386 #machine(i386). Delete them.