]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fixinc/fixincl.x
i386.h (processor_costs): Add new fields fadd, fmul, fdiv, fabs, fchs and fsqrt to...
[thirdparty/gcc.git] / gcc / fixinc / fixincl.x
CommitLineData
06bbab1b 1/*
be02fa1a 2 * DO NOT EDIT THIS FILE - it has been generated
06bbab1b
BK
3 *
4 * Install modified versions of certain ANSI-incompatible system header
5 * files which are fixed to work correctly with ANSI C and placed in a
6 * directory that GNU C will search.
7 *
3d78f2e9 8 * This file contains 146 fixup descriptions.
06bbab1b 9 *
8d8d5752 10 * See README for more information.
06bbab1b 11 *
8d8d5752 12 * inclhack copyright (c) 1998, 1999, 2000, 2001
3be1fb72 13 * The Free Software Foundation, Inc.
be02fa1a 14 *
dac32862 15 * inclhack is free software.
06bbab1b
BK
16 *
17 * You may redistribute it and/or modify it under the terms of the
18 * GNU General Public License, as published by the Free Software
19 * Foundation; either version 2, or (at your option) any later version.
20 *
21 * inclhack is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24 * See the GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with inclhack. See the file "COPYING". If not,
28 * write to: The Free Software Foundation, Inc.,
29 * 59 Temple Place - Suite 330,
30 * Boston, MA 02111-1307, USA.
3be1fb72
ZW
31 */
32
5abc1f74
BK
33/* * * * * * * * * * * * * * * * * * * * * * * * * *
34 *
35 * Description of Aab_Dgux_Int_Varargs fix
36 */
5abc1f74 37tSCC zAab_Dgux_Int_VarargsName[] =
3be1fb72
ZW
38 "AAB_dgux_int_varargs";
39
5abc1f74
BK
40/*
41 * File name selection pattern
42 */
43tSCC zAab_Dgux_Int_VarargsList[] =
44 "|_int_varargs.h|";
45/*
46 * Machine/OS name selection pattern
47 */
48#define apzAab_Dgux_Int_VarargsMachs (const char**)NULL
49#define AAB_DGUX_INT_VARARGS_TEST_CT 0
5abc1f74
BK
50#define aAab_Dgux_Int_VarargsTests (tTestDesc*)NULL
51
52/*
53 * Fix Command Arguments for Aab_Dgux_Int_Varargs
54 */
3af556f7 55static const char* apzAab_Dgux_Int_VarargsPatch[] = {
5abc1f74 56"#ifndef __INT_VARARGS_H\n\
dac32862 57#define __INT_VARARGS_H\n\n\
b5639a49
BK
58/********************************************************/\n\
59/* Define the common stuff for varargs/stdarg/stdio. */\n\
60/********************************************************/\n\n\
5abc1f74
BK
61/*\n\
62** This file is a DG internal header. Never include this\n\
63** file directly.\n\
dac32862 64*/\n\n\
5abc1f74 65#ifndef ___int_features_h\n\
786b0d35 66#include <sys/_int_features.h>\n\
dac32862 67#endif\n\n\
5abc1f74
BK
68#if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
69#define _VA_LIST\n\
dac32862
BK
70#define _VA_LIST_\n\n\
71#ifdef __LINT__\n\n\
5abc1f74
BK
72#ifdef __STDC__\n\
73typedef void * va_list;\n\
74#else\n\
75typedef char * va_list;\n\
dac32862 76#endif\n\n\
5abc1f74 77#else\n\
dac32862
BK
78#if _M88K_ANY\n\n\
79#if defined(__DCC__)\n\n\
5abc1f74
BK
80typedef struct {\n\
81 int next_arg;\n\
82 int *mem_ptr;\n\
83 int *reg_ptr;\n\
dac32862
BK
84} va_list;\n\n\
85#else /* ! defined(__DCC__) */\n\n\
5abc1f74
BK
86typedef struct {\n\
87 int __va_arg; /* argument number */\n\
88 int *__va_stk; /* start of args passed on stack */\n\
89 int *__va_reg; /* start of args passed in regs */\n\
dac32862
BK
90} va_list;\n\n\
91#endif /* ! defined(__DCC__) */\n\n\
92#elif _IX86_ANY\n\n\
5abc1f74
BK
93#if defined(__GNUC__) || defined(__STDC__)\n\
94typedef void * va_list;\n\
95#else\n\
96typedef char * va_list;\n\
dac32862
BK
97#endif\n\n\
98#endif /* _IX86_ANY */\n\n\
5abc1f74
BK
99#endif /* __LINT__ */\n\
100#endif /* !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
b5639a49 101#endif /* #ifndef __INT_VARARGS_H */",
5abc1f74
BK
102 (char*)NULL };
103
8aeb3b0e
BK
104/* * * * * * * * * * * * * * * * * * * * * * * * * *
105 *
d7eb5a45 106 * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
8aeb3b0e 107 */
d7eb5a45 108tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
3be1fb72
ZW
109 "AAB_fd_zero_asm_posix_types_h";
110
8aeb3b0e
BK
111/*
112 * File name selection pattern
113 */
d7eb5a45 114tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
8aeb3b0e
BK
115 "|asm/posix_types.h|";
116/*
117 * Machine/OS name selection pattern
118 */
d7eb5a45 119tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
57119aa9 120 "i[34567]86-*-linux*",
c5984b7b 121 (const char*)NULL };
8aeb3b0e
BK
122
123/*
d7eb5a45 124 * content bypass pattern - skip fix if pattern found
8aeb3b0e 125 */
d7eb5a45
ZW
126tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
127 "} while";
128
129#define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 1
3af556f7 130static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
d7eb5a45
ZW
131 { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
132
133/*
134 * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
135 */
3af556f7 136static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
d7eb5a45
ZW
137"/* This file fixes a bug in the __FD_ZERO macro\n\
138 for older versions of the Linux kernel. */\n\
8aeb3b0e
BK
139#ifndef _POSIX_TYPES_H_WRAPPER\n\
140#include <features.h>\n\
dac32862 141 #include_next <asm/posix_types.h>\n\n\
8aeb3b0e
BK
142#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
143#undef __FD_ZERO\n\
d7eb5a45
ZW
144#define __FD_ZERO(fdsetp) \\\n\
145 do { \\\n\
146 int __d0, __d1; \\\n\
8f2e963b
LR
147__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
148: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
149: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
150 \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
d7eb5a45 151 } while (0)\n\
dac32862 152#endif\n\n\
8aeb3b0e 153#define _POSIX_TYPES_H_WRAPPER\n\
8f2e963b 154#endif /* _POSIX_TYPES_H_WRAPPER */",
8aeb3b0e
BK
155 (char*)NULL };
156
157/* * * * * * * * * * * * * * * * * * * * * * * * * *
158 *
d7eb5a45 159 * Description of Aab_Fd_Zero_Gnu_Types_H fix
8aeb3b0e 160 */
d7eb5a45 161tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
3be1fb72
ZW
162 "AAB_fd_zero_gnu_types_h";
163
8aeb3b0e
BK
164/*
165 * File name selection pattern
166 */
d7eb5a45 167tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
8aeb3b0e
BK
168 "|gnu/types.h|";
169/*
170 * Machine/OS name selection pattern
171 */
d7eb5a45 172tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
57119aa9 173 "i[34567]86-*-linux*",
c5984b7b 174 (const char*)NULL };
d7eb5a45 175#define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
d7eb5a45 176#define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
8aeb3b0e
BK
177
178/*
d7eb5a45 179 * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
8aeb3b0e 180 */
3af556f7 181static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
d7eb5a45 182"/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
8aeb3b0e
BK
183#ifndef _TYPES_H_WRAPPER\n\
184#include <features.h>\n\
dac32862 185 #include_next <gnu/types.h>\n\n\
8aeb3b0e
BK
186#if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
187#undef __FD_ZERO\n\
d7eb5a45
ZW
188# define __FD_ZERO(fdsetp) \\\n\
189 do { \\\n\
190 int __d0, __d1; \\\n\
191\t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
192 \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
193 \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
194\t\t \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
195 } while (0)\n\
dac32862 196#endif\n\n\
8aeb3b0e
BK
197#define _TYPES_H_WRAPPER\n\
198#endif /* _TYPES_H_WRAPPER */\n",
199 (char*)NULL };
200
201/* * * * * * * * * * * * * * * * * * * * * * * * * *
202 *
d7eb5a45 203 * Description of Aab_Fd_Zero_Selectbits_H fix
8aeb3b0e 204 */
d7eb5a45 205tSCC zAab_Fd_Zero_Selectbits_HName[] =
3be1fb72
ZW
206 "AAB_fd_zero_selectbits_h";
207
8aeb3b0e
BK
208/*
209 * File name selection pattern
210 */
d7eb5a45 211tSCC zAab_Fd_Zero_Selectbits_HList[] =
8aeb3b0e
BK
212 "|selectbits.h|";
213/*
214 * Machine/OS name selection pattern
215 */
d7eb5a45 216tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
57119aa9 217 "i[34567]86-*-linux*",
c5984b7b 218 (const char*)NULL };
d7eb5a45 219#define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
d7eb5a45 220#define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
8aeb3b0e
BK
221
222/*
d7eb5a45 223 * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
8aeb3b0e 224 */
3af556f7 225static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
d7eb5a45 226"/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
8aeb3b0e
BK
227#ifndef _SELECTBITS_H_WRAPPER\n\
228#include <features.h>\n\
dac32862 229 #include_next <selectbits.h>\n\n\
d7eb5a45
ZW
230#if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
231\t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
232\t&& __GLIBC_MINOR__ == 0\n\
8aeb3b0e 233#undef __FD_ZERO\n\
d7eb5a45
ZW
234#define __FD_ZERO(fdsetp) \\\n\
235 do { \\\n\
236 int __d0, __d1; \\\n\
237 __asm__ __volatile__ (\"cld; rep; stosl\" \\\n\
238 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
239 : \"a\" (0), \"0\" (sizeof (__fd_set) \\\n\
240 / sizeof (__fd_mask)), \\\n\
241 \"1\" ((__fd_mask *) (fdsetp)) \\\n\
242 : \"memory\"); \\\n\
243 } while (0)\n\
dac32862 244#endif\n\n\
8aeb3b0e
BK
245#define _SELECTBITS_H_WRAPPER\n\
246#endif /* _SELECTBITS_H_WRAPPER */\n",
247 (char*)NULL };
248
b51207a4
ZW
249/* * * * * * * * * * * * * * * * * * * * * * * * * *
250 *
251 * Description of Aab_Sun_Memcpy fix
252 */
b51207a4 253tSCC zAab_Sun_MemcpyName[] =
3be1fb72
ZW
254 "AAB_sun_memcpy";
255
b51207a4
ZW
256/*
257 * File name selection pattern
258 */
259tSCC zAab_Sun_MemcpyList[] =
260 "|memory.h|";
261/*
262 * Machine/OS name selection pattern
263 */
264#define apzAab_Sun_MemcpyMachs (const char**)NULL
265
266/*
267 * content selection pattern - do fix if pattern found
268 */
269tSCC zAab_Sun_MemcpySelect0[] =
270 "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
271
272#define AAB_SUN_MEMCPY_TEST_CT 1
3af556f7 273static tTestDesc aAab_Sun_MemcpyTests[] = {
b51207a4
ZW
274 { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
275
276/*
277 * Fix Command Arguments for Aab_Sun_Memcpy
278 */
3af556f7 279static const char* apzAab_Sun_MemcpyPatch[] = {
b51207a4
ZW
280"/* This file was generated by fixincludes */\n\
281#ifndef __memory_h__\n\
dac32862 282#define __memory_h__\n\n\
b51207a4
ZW
283#ifdef __STDC__\n\
284extern void *memccpy();\n\
285extern void *memchr();\n\
286extern void *memcpy();\n\
287extern void *memset();\n\
288#else\n\
289extern char *memccpy();\n\
290extern char *memchr();\n\
291extern char *memcpy();\n\
292extern char *memset();\n\
dac32862
BK
293#endif /* __STDC__ */\n\n\
294extern int memcmp();\n\n\
b51207a4
ZW
295#endif /* __memory_h__ */\n",
296 (char*)NULL };
297
eadc0202
RH
298/* * * * * * * * * * * * * * * * * * * * * * * * * *
299 *
300 * Description of Aab_Solaris_Sys_Varargs_H fix
301 */
302tSCC zAab_Solaris_Sys_Varargs_HName[] =
303 "AAB_solaris_sys_varargs_h";
304
305/*
306 * File name selection pattern
307 */
308tSCC zAab_Solaris_Sys_Varargs_HList[] =
309 "|sys/varargs.h|";
310/*
311 * Machine/OS name selection pattern
312 */
313tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
314 "*-*-solaris*",
315 (const char*)NULL };
316#define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0
317#define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL
318
319/*
320 * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
321 */
322static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
323"#ifdef __STDC__\n\
324#include <stdarg.h>\n\
325#else\n\
326#include <varargs.h>\n\
327#endif\n",
328 (char*)NULL };
329
86765ca0
RL
330/* * * * * * * * * * * * * * * * * * * * * * * * * *
331 *
332 * Description of Aab_Svr4_Replace_Byteorder fix
333 */
86765ca0 334tSCC zAab_Svr4_Replace_ByteorderName[] =
3be1fb72
ZW
335 "AAB_svr4_replace_byteorder";
336
86765ca0
RL
337/*
338 * File name selection pattern
339 */
340tSCC zAab_Svr4_Replace_ByteorderList[] =
341 "|sys/byteorder.h|";
342/*
343 * Machine/OS name selection pattern
344 */
345tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
346 "*-*-sysv4*",
347 "i[34567]86-*-sysv5*",
348 "i[34567]86-*-udk*",
349 "i[34567]86-*-solaris2.[0-4]",
350 "powerpcle-*-solaris2.[0-4]",
351 "sparc-*-solaris2.[0-4]",
352 (const char*)NULL };
353#define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0
86765ca0
RL
354#define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL
355
356/*
357 * Fix Command Arguments for Aab_Svr4_Replace_Byteorder
358 */
3af556f7 359static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
86765ca0 360"#ifndef _SYS_BYTEORDER_H\n\
dac32862 361#define _SYS_BYTEORDER_H\n\n\
86765ca0 362/* Functions to convert `short' and `long' quantities from host byte order\n\
dac32862
BK
363 to (internet) network byte order (i.e. big-endian).\n\n\
364 Written by Ron Guilmette (rfg@ncd.com).\n\n\
365 This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
366 For big-endian machines these functions are essentially no-ops.\n\n\
86765ca0 367 For little-endian machines, we define the functions using specialized\n\
dac32862 368 asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
86765ca0
RL
369#if !defined (__GNUC__) && !defined (__GNUG__)\n\
370#error You lose! This file is only useful with GNU compilers.\n\
dac32862 371#endif\n\n\
86765ca0
RL
372#ifndef __BYTE_ORDER__\n\
373/* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
374 double underscores added at the front and back. */\n\
375#define __LITTLE_ENDIAN__ 1234\n\
376#define __BIG_ENDIAN__ 4321\n\
377#define __PDP_ENDIAN__ 3412\n\
dac32862 378#endif\n\n\
86765ca0
RL
379#ifdef __STDC__\n\
380static __inline__ unsigned long htonl (unsigned long);\n\
381static __inline__ unsigned short htons (unsigned int);\n\
382static __inline__ unsigned long ntohl (unsigned long);\n\
383static __inline__ unsigned short ntohs (unsigned int);\n\
dac32862
BK
384#endif /* defined (__STDC__) */\n\n\
385#if defined (__i386__)\n\n\
86765ca0
RL
386#ifndef __BYTE_ORDER__\n\
387#define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
dac32862
BK
388#endif\n\n\
389/* Convert a host long to a network long. */\n\n\
86765ca0
RL
390/* We must use a new-style function definition, so that this will also\n\
391 be valid for C++. */\n\
392static __inline__ unsigned long\n\
393htonl (unsigned long __arg)\n\
394{\n\
dac32862 395 register unsigned long __result;\n\n\
86765ca0
RL
396 __asm__ (\"xchg%B0 %b0,%h0\n\
397\tror%L0 $16,%0\n\
398\txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
399 return __result;\n\
dac32862
BK
400}\n\n\
401/* Convert a host short to a network short. */\n\n\
86765ca0
RL
402static __inline__ unsigned short\n\
403htons (unsigned int __arg)\n\
404{\n\
dac32862 405 register unsigned short __result;\n\n\
86765ca0
RL
406 __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
407 return __result;\n\
dac32862 408}\n\n\
d7eb5a45
ZW
409#elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
410 || defined (__ns32k__) || defined (__vax__)\t\t\\\n\
dac32862 411 || defined (__spur__) || defined (__arm__))\n\n\
86765ca0
RL
412#ifndef __BYTE_ORDER__\n\
413#define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
dac32862 414#endif\n\n\
86765ca0 415/* For other little-endian machines, using C code is just as efficient as\n\
dac32862
BK
416 using assembly code. */\n\n\
417/* Convert a host long to a network long. */\n\n\
86765ca0
RL
418static __inline__ unsigned long\n\
419htonl (unsigned long __arg)\n\
420{\n\
dac32862 421 register unsigned long __result;\n\n\
86765ca0
RL
422 __result = (__arg >> 24) & 0x000000ff;\n\
423 __result |= (__arg >> 8) & 0x0000ff00;\n\
424 __result |= (__arg << 8) & 0x00ff0000;\n\
425 __result |= (__arg << 24) & 0xff000000;\n\
426 return __result;\n\
dac32862
BK
427}\n\n\
428/* Convert a host short to a network short. */\n\n\
86765ca0
RL
429static __inline__ unsigned short\n\
430htons (unsigned int __arg)\n\
431{\n\
dac32862 432 register unsigned short __result;\n\n\
86765ca0
RL
433 __result = (__arg << 8) & 0xff00;\n\
434 __result |= (__arg >> 8) & 0x00ff;\n\
435 return __result;\n\
dac32862
BK
436}\n\n\
437#else /* must be a big-endian machine */\n\n\
86765ca0
RL
438#ifndef __BYTE_ORDER__\n\
439#define __BYTE_ORDER__ __BIG_ENDIAN__\n\
dac32862
BK
440#endif\n\n\
441/* Convert a host long to a network long. */\n\n\
86765ca0
RL
442static __inline__ unsigned long\n\
443htonl (unsigned long __arg)\n\
444{\n\
445 return __arg;\n\
dac32862
BK
446}\n\n\
447/* Convert a host short to a network short. */\n\n\
86765ca0
RL
448static __inline__ unsigned short\n\
449htons (unsigned int __arg)\n\
450{\n\
451 return __arg;\n\
dac32862
BK
452}\n\n\
453#endif /* big-endian */\n\n\
454/* Convert a network long to a host long. */\n\n\
86765ca0
RL
455static __inline__ unsigned long\n\
456ntohl (unsigned long __arg)\n\
457{\n\
458 return htonl (__arg);\n\
dac32862
BK
459}\n\n\
460/* Convert a network short to a host short. */\n\n\
86765ca0
RL
461static __inline__ unsigned short\n\
462ntohs (unsigned int __arg)\n\
463{\n\
464 return htons (__arg);\n\
465}\n\
466#endif\n",
467 (char*)NULL };
468
b51207a4
ZW
469/* * * * * * * * * * * * * * * * * * * * * * * * * *
470 *
471 * Description of Aab_Ultrix_Ansi_Compat fix
472 */
b51207a4 473tSCC zAab_Ultrix_Ansi_CompatName[] =
3be1fb72
ZW
474 "AAB_ultrix_ansi_compat";
475
b51207a4
ZW
476/*
477 * File name selection pattern
478 */
479tSCC zAab_Ultrix_Ansi_CompatList[] =
480 "|ansi_compat.h|";
481/*
482 * Machine/OS name selection pattern
483 */
484#define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
485
486/*
487 * content selection pattern - do fix if pattern found
488 */
489tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
490 "ULTRIX";
491
492#define AAB_ULTRIX_ANSI_COMPAT_TEST_CT 1
3af556f7 493static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
b51207a4
ZW
494 { TT_EGREP, zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
495
496/*
497 * Fix Command Arguments for Aab_Ultrix_Ansi_Compat
498 */
3af556f7 499static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
b51207a4
ZW
500"/* This file intentionally left blank. */\n",
501 (char*)NULL };
502
bde8e564
BK
503/* * * * * * * * * * * * * * * * * * * * * * * * * *
504 *
505 * Description of Aab_Ultrix_Limits fix
506 */
bde8e564
BK
507tSCC zAab_Ultrix_LimitsName[] =
508 "AAB_ultrix_limits";
509
510/*
511 * File name selection pattern
512 */
513tSCC zAab_Ultrix_LimitsList[] =
514 "|limits.h|";
515/*
516 * Machine/OS name selection pattern
517 */
518tSCC* apzAab_Ultrix_LimitsMachs[] = {
519 "*-*-ultrix4.3",
520 (const char*)NULL };
521#define AAB_ULTRIX_LIMITS_TEST_CT 0
522#define aAab_Ultrix_LimitsTests (tTestDesc*)NULL
523
524/*
525 * Fix Command Arguments for Aab_Ultrix_Limits
526 */
3af556f7 527static const char* apzAab_Ultrix_LimitsPatch[] = {
935e0a47 528"#ifndef _LIMITS_INCLUDED\n\
bde8e564
BK
529#define _LIMITS_INCLUDED\n\
530#include <sys/limits.h>\n\
531#endif /* _LIMITS_INCLUDED */\n",
532 (char*)NULL };
533
534/* * * * * * * * * * * * * * * * * * * * * * * * * *
535 *
536 * Description of Aab_Ultrix_Memory fix
537 */
bde8e564
BK
538tSCC zAab_Ultrix_MemoryName[] =
539 "AAB_ultrix_memory";
540
541/*
542 * File name selection pattern
543 */
544tSCC zAab_Ultrix_MemoryList[] =
545 "|memory.h|";
546/*
547 * Machine/OS name selection pattern
548 */
549tSCC* apzAab_Ultrix_MemoryMachs[] = {
550 "*-*-ultrix4.3",
551 (const char*)NULL };
552#define AAB_ULTRIX_MEMORY_TEST_CT 0
553#define aAab_Ultrix_MemoryTests (tTestDesc*)NULL
554
555/*
556 * Fix Command Arguments for Aab_Ultrix_Memory
557 */
3af556f7 558static const char* apzAab_Ultrix_MemoryPatch[] = {
935e0a47 559"#ifndef _MEMORY_INCLUDED\n\
bde8e564
BK
560#define _MEMORY_INCLUDED\n\
561#include <strings.h>\n\
562#endif /* _MEMORY_INCLUDED */\n",
563 (char*)NULL };
564
565/* * * * * * * * * * * * * * * * * * * * * * * * * *
566 *
567 * Description of Aab_Ultrix_String fix
568 */
bde8e564
BK
569tSCC zAab_Ultrix_StringName[] =
570 "AAB_ultrix_string";
571
572/*
573 * File name selection pattern
574 */
575tSCC zAab_Ultrix_StringList[] =
576 "|string.h|";
577/*
578 * Machine/OS name selection pattern
579 */
580tSCC* apzAab_Ultrix_StringMachs[] = {
581 "*-*-ultrix4.3",
582 (const char*)NULL };
583#define AAB_ULTRIX_STRING_TEST_CT 0
584#define aAab_Ultrix_StringTests (tTestDesc*)NULL
585
586/*
587 * Fix Command Arguments for Aab_Ultrix_String
588 */
3af556f7 589static const char* apzAab_Ultrix_StringPatch[] = {
935e0a47 590"#ifndef _STRING_INCLUDED\n\
bde8e564
BK
591#define _STRING_INCLUDED\n\
592#include <strings.h>\n\
593#endif /* _STRING_INCLUDED */\n",
594 (char*)NULL };
595
2c82e043
GK
596/* * * * * * * * * * * * * * * * * * * * * * * * * *
597 *
598 * Description of Aix_Pthread fix
599 */
2c82e043
GK
600tSCC zAix_PthreadName[] =
601 "aix_pthread";
602
603/*
604 * File name selection pattern
605 */
606tSCC zAix_PthreadList[] =
607 "|pthread.h|";
608/*
609 * Machine/OS name selection pattern
610 */
611#define apzAix_PthreadMachs (const char**)NULL
612
613/*
614 * content selection pattern - do fix if pattern found
615 */
616tSCC zAix_PthreadSelect0[] =
617 "(#define [A-Za-z_0-9]+)(\\\\\n\
618[^A-Za-z_0-9 \t\n\
619(])";
620
621#define AIX_PTHREAD_TEST_CT 1
3af556f7 622static tTestDesc aAix_PthreadTests[] = {
2c82e043
GK
623 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
624
625/*
626 * Fix Command Arguments for Aix_Pthread
627 */
3af556f7 628static const char* apzAix_PthreadPatch[] = {
2c82e043
GK
629 "format",
630 "%1 %2",
631 (char*)NULL };
632
633/* * * * * * * * * * * * * * * * * * * * * * * * * *
634 *
635 * Description of Aix_Sysmachine fix
636 */
2c82e043
GK
637tSCC zAix_SysmachineName[] =
638 "aix_sysmachine";
639
640/*
641 * File name selection pattern
642 */
643tSCC zAix_SysmachineList[] =
644 "|sys/machine.h|";
645/*
646 * Machine/OS name selection pattern
647 */
648#define apzAix_SysmachineMachs (const char**)NULL
649
650/*
651 * content selection pattern - do fix if pattern found
652 */
653tSCC zAix_SysmachineSelect0[] =
654 "\\\\ +\n";
655
656#define AIX_SYSMACHINE_TEST_CT 1
3af556f7 657static tTestDesc aAix_SysmachineTests[] = {
2c82e043
GK
658 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
659
660/*
661 * Fix Command Arguments for Aix_Sysmachine
662 */
3af556f7 663static const char* apzAix_SysmachinePatch[] = {
2c82e043
GK
664 "format",
665 "\\\n",
666 (char*)NULL };
667
5abc1f74
BK
668/* * * * * * * * * * * * * * * * * * * * * * * * * *
669 *
670 * Description of Aix_Syswait fix
671 */
06bbab1b 672tSCC zAix_SyswaitName[] =
3be1fb72
ZW
673 "aix_syswait";
674
06bbab1b
BK
675/*
676 * File name selection pattern
677 */
678tSCC zAix_SyswaitList[] =
54585825 679 "|sys/wait.h|";
06bbab1b
BK
680/*
681 * Machine/OS name selection pattern
682 */
683#define apzAix_SyswaitMachs (const char**)NULL
684
685/*
be02fa1a 686 * content selection pattern - do fix if pattern found
06bbab1b
BK
687 */
688tSCC zAix_SyswaitSelect0[] =
88acf854
BK
689 "^extern pid_t wait3\\(\\);\n";
690tSCC zAix_SyswaitSelect1[] =
06bbab1b
BK
691 "bos325,";
692
88acf854 693#define AIX_SYSWAIT_TEST_CT 2
3af556f7 694static tTestDesc aAix_SyswaitTests[] = {
88acf854
BK
695 { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
696 { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
06bbab1b
BK
697
698/*
699 * Fix Command Arguments for Aix_Syswait
700 */
3af556f7 701static const char* apzAix_SyswaitPatch[] = {
88acf854
BK
702 "format",
703 "struct rusage;\n\
704%0",
06bbab1b
BK
705 (char*)NULL };
706
707/* * * * * * * * * * * * * * * * * * * * * * * * * *
708 *
5abc1f74 709 * Description of Aix_Volatile fix
06bbab1b
BK
710 */
711tSCC zAix_VolatileName[] =
3be1fb72
ZW
712 "aix_volatile";
713
06bbab1b
BK
714/*
715 * File name selection pattern
716 */
717tSCC zAix_VolatileList[] =
54585825 718 "|sys/signal.h|";
06bbab1b
BK
719/*
720 * Machine/OS name selection pattern
721 */
722#define apzAix_VolatileMachs (const char**)NULL
723
724/*
be02fa1a 725 * content selection pattern - do fix if pattern found
06bbab1b
BK
726 */
727tSCC zAix_VolatileSelect0[] =
728 "typedef volatile int sig_atomic_t";
729
730#define AIX_VOLATILE_TEST_CT 1
3af556f7 731static tTestDesc aAix_VolatileTests[] = {
5abc1f74 732 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
06bbab1b
BK
733
734/*
735 * Fix Command Arguments for Aix_Volatile
736 */
3af556f7 737static const char* apzAix_VolatilePatch[] = {
99d05d99
BK
738 "format",
739 "typedef int sig_atomic_t",
06bbab1b
BK
740 (char*)NULL };
741
a88072eb
RO
742/* * * * * * * * * * * * * * * * * * * * * * * * * *
743 *
744 * Description of Alpha___Assert fix
745 */
a88072eb
RO
746tSCC zAlpha___AssertName[] =
747 "alpha___assert";
748
749/*
750 * File name selection pattern
751 */
752tSCC zAlpha___AssertList[] =
753 "|assert.h|";
754/*
755 * Machine/OS name selection pattern
756 */
757#define apzAlpha___AssertMachs (const char**)NULL
758
759/*
760 * content selection pattern - do fix if pattern found
761 */
762tSCC zAlpha___AssertSelect0[] =
763 "__assert\\(char \\*, char \\*, int\\)";
764
765#define ALPHA___ASSERT_TEST_CT 1
766static tTestDesc aAlpha___AssertTests[] = {
767 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
768
769/*
770 * Fix Command Arguments for Alpha___Assert
771 */
772static const char* apzAlpha___AssertPatch[] = {
773 "format",
774 "__assert(const char *, const char *, int)",
775 (char*)NULL };
776
aaa4d130
RO
777/* * * * * * * * * * * * * * * * * * * * * * * * * *
778 *
779 * Description of Alpha_Assert fix
780 */
781tSCC zAlpha_AssertName[] =
782 "alpha_assert";
783
784/*
785 * File name selection pattern
786 */
787tSCC zAlpha_AssertList[] =
788 "|assert.h|";
789/*
790 * Machine/OS name selection pattern
791 */
792#define apzAlpha_AssertMachs (const char**)NULL
793
794/*
795 * content selection pattern - do fix if pattern found
796 */
797tSCC zAlpha_AssertSelect0[] =
798 "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
799
800#define ALPHA_ASSERT_TEST_CT 1
801static tTestDesc aAlpha_AssertTests[] = {
802 { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
803
804/*
805 * Fix Command Arguments for Alpha_Assert
806 */
807static const char* apzAlpha_AssertPatch[] = {
808 "format",
809 "%1(EX)",
810 (char*)NULL };
811
06bbab1b
BK
812/* * * * * * * * * * * * * * * * * * * * * * * * * *
813 *
5abc1f74 814 * Description of Alpha_Getopt fix
06bbab1b
BK
815 */
816tSCC zAlpha_GetoptName[] =
3be1fb72
ZW
817 "alpha_getopt";
818
06bbab1b
BK
819/*
820 * File name selection pattern
821 */
822tSCC zAlpha_GetoptList[] =
54585825 823 "|stdio.h|stdlib.h|";
06bbab1b
BK
824/*
825 * Machine/OS name selection pattern
826 */
827#define apzAlpha_GetoptMachs (const char**)NULL
828
829/*
be02fa1a 830 * content selection pattern - do fix if pattern found
06bbab1b
BK
831 */
832tSCC zAlpha_GetoptSelect0[] =
87b6d63a 833 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
06bbab1b
BK
834
835#define ALPHA_GETOPT_TEST_CT 1
3af556f7 836static tTestDesc aAlpha_GetoptTests[] = {
5abc1f74 837 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
06bbab1b
BK
838
839/*
840 * Fix Command Arguments for Alpha_Getopt
841 */
3af556f7 842static const char* apzAlpha_GetoptPatch[] = {
99d05d99
BK
843 "format",
844 "getopt(int, char *const[], const char *)",
06bbab1b
BK
845 (char*)NULL };
846
847/* * * * * * * * * * * * * * * * * * * * * * * * * *
848 *
5abc1f74 849 * Description of Alpha_Parens fix
06bbab1b
BK
850 */
851tSCC zAlpha_ParensName[] =
3be1fb72
ZW
852 "alpha_parens";
853
06bbab1b
BK
854/*
855 * File name selection pattern
856 */
857tSCC zAlpha_ParensList[] =
c329beb0 858 "|sym.h|";
06bbab1b
BK
859/*
860 * Machine/OS name selection pattern
861 */
862#define apzAlpha_ParensMachs (const char**)NULL
863
864/*
be02fa1a 865 * content selection pattern - do fix if pattern found
06bbab1b
BK
866 */
867tSCC zAlpha_ParensSelect0[] =
868 "#ifndef\\(__mips64\\)";
869
870#define ALPHA_PARENS_TEST_CT 1
3af556f7 871static tTestDesc aAlpha_ParensTests[] = {
5abc1f74 872 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
06bbab1b
BK
873
874/*
875 * Fix Command Arguments for Alpha_Parens
876 */
3af556f7 877static const char* apzAlpha_ParensPatch[] = {
99d05d99
BK
878 "format",
879 "#ifndef __mips64",
06bbab1b
BK
880 (char*)NULL };
881
882/* * * * * * * * * * * * * * * * * * * * * * * * * *
883 *
5abc1f74 884 * Description of Alpha_Sbrk fix
06bbab1b
BK
885 */
886tSCC zAlpha_SbrkName[] =
3be1fb72
ZW
887 "alpha_sbrk";
888
06bbab1b
BK
889/*
890 * File name selection pattern
891 */
892tSCC zAlpha_SbrkList[] =
c329beb0 893 "|unistd.h|";
06bbab1b
BK
894/*
895 * Machine/OS name selection pattern
896 */
897#define apzAlpha_SbrkMachs (const char**)NULL
898
899/*
be02fa1a 900 * content selection pattern - do fix if pattern found
06bbab1b
BK
901 */
902tSCC zAlpha_SbrkSelect0[] =
903 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
904
905#define ALPHA_SBRK_TEST_CT 1
3af556f7 906static tTestDesc aAlpha_SbrkTests[] = {
5abc1f74 907 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
06bbab1b
BK
908
909/*
910 * Fix Command Arguments for Alpha_Sbrk
911 */
3af556f7 912static const char* apzAlpha_SbrkPatch[] = {
99d05d99
BK
913 "format",
914 "void *sbrk(",
06bbab1b
BK
915 (char*)NULL };
916
917/* * * * * * * * * * * * * * * * * * * * * * * * * *
918 *
5abc1f74 919 * Description of Arm_Norcroft_Hint fix
06bbab1b
BK
920 */
921tSCC zArm_Norcroft_HintName[] =
3be1fb72
ZW
922 "arm_norcroft_hint";
923
06bbab1b
BK
924/*
925 * File name selection pattern
926 */
927tSCC zArm_Norcroft_HintList[] =
c329beb0 928 "|X11/Intrinsic.h|";
06bbab1b
BK
929/*
930 * Machine/OS name selection pattern
931 */
932#define apzArm_Norcroft_HintMachs (const char**)NULL
ef16b5e5
JL
933
934/*
935 * content selection pattern - do fix if pattern found
936 */
937tSCC zArm_Norcroft_HintSelect0[] =
938 "___type p_type";
939
940#define ARM_NORCROFT_HINT_TEST_CT 1
3af556f7 941static tTestDesc aArm_Norcroft_HintTests[] = {
5abc1f74 942 { TT_EGREP, zArm_Norcroft_HintSelect0, (regex_t*)NULL }, };
06bbab1b
BK
943
944/*
945 * Fix Command Arguments for Arm_Norcroft_Hint
946 */
3af556f7 947static const char* apzArm_Norcroft_HintPatch[] = {
cd64831f
BK
948 "format",
949 "p_type",
06bbab1b
BK
950 (char*)NULL };
951
952/* * * * * * * * * * * * * * * * * * * * * * * * * *
953 *
5abc1f74 954 * Description of Arm_Wchar fix
06bbab1b
BK
955 */
956tSCC zArm_WcharName[] =
3be1fb72
ZW
957 "arm_wchar";
958
06bbab1b
BK
959/*
960 * File name selection pattern
961 */
962tSCC zArm_WcharList[] =
c329beb0 963 "|stdlib.h|";
06bbab1b
BK
964/*
965 * Machine/OS name selection pattern
966 */
967#define apzArm_WcharMachs (const char**)NULL
968
969/*
be02fa1a 970 * content selection pattern - do fix if pattern found
06bbab1b
BK
971 */
972tSCC zArm_WcharSelect0[] =
973 "#[ \t]*define[ \t]*__wchar_t";
974
975#define ARM_WCHAR_TEST_CT 1
3af556f7 976static tTestDesc aArm_WcharTests[] = {
5abc1f74 977 { TT_EGREP, zArm_WcharSelect0, (regex_t*)NULL }, };
06bbab1b
BK
978
979/*
980 * Fix Command Arguments for Arm_Wchar
981 */
3af556f7 982static const char* apzArm_WcharPatch[] = {
a8228686
BK
983 "format",
984 "%1_GCC_WCHAR_T",
985 "(#[ \t]*(ifndef|define)[ \t]+)__wchar_t",
06bbab1b
BK
986 (char*)NULL };
987
988/* * * * * * * * * * * * * * * * * * * * * * * * * *
989 *
5abc1f74 990 * Description of Aux_Asm fix
06bbab1b
BK
991 */
992tSCC zAux_AsmName[] =
3be1fb72
ZW
993 "aux_asm";
994
06bbab1b
BK
995/*
996 * File name selection pattern
997 */
998tSCC zAux_AsmList[] =
c329beb0 999 "|sys/param.h|";
06bbab1b
BK
1000/*
1001 * Machine/OS name selection pattern
1002 */
1003#define apzAux_AsmMachs (const char**)NULL
1004
1005/*
be02fa1a 1006 * content selection pattern - do fix if pattern found
06bbab1b
BK
1007 */
1008tSCC zAux_AsmSelect0[] =
1009 "#ifndef NOINLINE";
1010
1011#define AUX_ASM_TEST_CT 1
3af556f7 1012static tTestDesc aAux_AsmTests[] = {
5abc1f74 1013 { TT_EGREP, zAux_AsmSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1014
1015/*
1016 * Fix Command Arguments for Aux_Asm
1017 */
3af556f7 1018static const char* apzAux_AsmPatch[] = {
cd64831f
BK
1019 "format",
1020 "#if !defined(NOINLINE) && !defined(__GNUC__)",
06bbab1b
BK
1021 (char*)NULL };
1022
1023/* * * * * * * * * * * * * * * * * * * * * * * * * *
1024 *
cd64831f 1025 * Description of Avoid_Bool_Define fix
06bbab1b 1026 */
cd64831f
BK
1027tSCC zAvoid_Bool_DefineName[] =
1028 "avoid_bool_define";
3be1fb72 1029
06bbab1b
BK
1030/*
1031 * File name selection pattern
1032 */
cd64831f 1033tSCC zAvoid_Bool_DefineList[] =
c329beb0 1034 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
06bbab1b
BK
1035/*
1036 * Machine/OS name selection pattern
1037 */
cd64831f 1038#define apzAvoid_Bool_DefineMachs (const char**)NULL
5c0d5b94
ZW
1039
1040/*
1041 * content selection pattern - do fix if pattern found
1042 */
cd64831f
BK
1043tSCC zAvoid_Bool_DefineSelect0[] =
1044 "#[ \t]*define[ \t]+bool[ \t]";
1045
a8228686
BK
1046/*
1047 * content bypass pattern - skip fix if pattern found
1048 */
1049tSCC zAvoid_Bool_DefineBypass0[] =
1050 "we must use the C\\+\\+ compiler's type";
1051
1052#define AVOID_BOOL_DEFINE_TEST_CT 2
3af556f7 1053static tTestDesc aAvoid_Bool_DefineTests[] = {
a8228686 1054 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
cd64831f 1055 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
5c0d5b94
ZW
1056
1057/*
cd64831f 1058 * Fix Command Arguments for Avoid_Bool_Define
5c0d5b94 1059 */
3af556f7 1060static const char* apzAvoid_Bool_DefinePatch[] = {
cd64831f
BK
1061 "format",
1062 "#ifndef __cplusplus\n\
1063%0\n\
1064#endif",
1065 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1066 (char*)NULL };
5c0d5b94 1067
cd64831f
BK
1068/* * * * * * * * * * * * * * * * * * * * * * * * * *
1069 *
1070 * Description of Avoid_Bool_Type fix
1071 */
cd64831f
BK
1072tSCC zAvoid_Bool_TypeName[] =
1073 "avoid_bool_type";
06bbab1b
BK
1074
1075/*
cd64831f 1076 * File name selection pattern
06bbab1b 1077 */
cd64831f
BK
1078tSCC zAvoid_Bool_TypeList[] =
1079 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1080/*
1081 * Machine/OS name selection pattern
1082 */
1083#define apzAvoid_Bool_TypeMachs (const char**)NULL
1084
1085/*
1086 * content selection pattern - do fix if pattern found
1087 */
1088tSCC zAvoid_Bool_TypeSelect0[] =
1089 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1090
a8228686
BK
1091/*
1092 * content bypass pattern - skip fix if pattern found
1093 */
1094tSCC zAvoid_Bool_TypeBypass0[] =
1095 "we must use the C\\+\\+ compiler's type";
1096
1097#define AVOID_BOOL_TYPE_TEST_CT 2
3af556f7 1098static tTestDesc aAvoid_Bool_TypeTests[] = {
a8228686 1099 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
cd64831f
BK
1100 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1101
1102/*
1103 * Fix Command Arguments for Avoid_Bool_Type
1104 */
3af556f7 1105static const char* apzAvoid_Bool_TypePatch[] = {
cd64831f
BK
1106 "format",
1107 "#ifndef __cplusplus\n\
1108%0\n\
1109#endif",
06bbab1b
BK
1110 (char*)NULL };
1111
8b4c8a86
MM
1112/* * * * * * * * * * * * * * * * * * * * * * * * * *
1113 *
1114 * Description of Avoid_Wchar_T_Type fix
1115 */
8b4c8a86
MM
1116tSCC zAvoid_Wchar_T_TypeName[] =
1117 "avoid_wchar_t_type";
1118
1119/*
1120 * File name selection pattern
1121 */
1122#define zAvoid_Wchar_T_TypeList (char*)NULL
1123/*
1124 * Machine/OS name selection pattern
1125 */
1126#define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1127
1128/*
1129 * content selection pattern - do fix if pattern found
1130 */
1131tSCC zAvoid_Wchar_T_TypeSelect0[] =
1132 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1133
1134#define AVOID_WCHAR_T_TYPE_TEST_CT 1
1135static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1136 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1137
1138/*
1139 * Fix Command Arguments for Avoid_Wchar_T_Type
1140 */
1141static const char* apzAvoid_Wchar_T_TypePatch[] = {
1142 "format",
1143 "#ifndef __cplusplus\n\
1144%0\n\
1145#endif",
8b4c8a86
MM
1146 (char*)NULL };
1147
79589c4d
BK
1148/* * * * * * * * * * * * * * * * * * * * * * * * * *
1149 *
1150 * Description of Bad_Lval fix
1151 */
79589c4d
BK
1152tSCC zBad_LvalName[] =
1153 "bad_lval";
1154
1155/*
1156 * File name selection pattern
1157 */
1158tSCC zBad_LvalList[] =
1159 "|libgen.h|dirent.h|ftw.h|grp.h|ndbm.h|pthread.h|pwd.h|signal.h|standards.h|stdlib.h|string.h|stropts.h|time.h|unistd.h|";
1160/*
1161 * Machine/OS name selection pattern
1162 */
1163#define apzBad_LvalMachs (const char**)NULL
1164
1165/*
1166 * content selection pattern - do fix if pattern found
1167 */
1168tSCC zBad_LvalSelect0[] =
1169 "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1170
1171#define BAD_LVAL_TEST_CT 1
3af556f7 1172static tTestDesc aBad_LvalTests[] = {
79589c4d
BK
1173 { TT_EGREP, zBad_LvalSelect0, (regex_t*)NULL }, };
1174
1175/*
1176 * Fix Command Arguments for Bad_Lval
1177 */
3af556f7 1178static const char* apzBad_LvalPatch[] = { "sed",
79589c4d
BK
1179 "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1180 (char*)NULL };
1181
06bbab1b
BK
1182/* * * * * * * * * * * * * * * * * * * * * * * * * *
1183 *
5abc1f74 1184 * Description of Bad_Struct_Term fix
06bbab1b
BK
1185 */
1186tSCC zBad_Struct_TermName[] =
3be1fb72
ZW
1187 "bad_struct_term";
1188
06bbab1b
BK
1189/*
1190 * File name selection pattern
1191 */
1192tSCC zBad_Struct_TermList[] =
c329beb0 1193 "|curses.h|";
06bbab1b
BK
1194/*
1195 * Machine/OS name selection pattern
1196 */
1197#define apzBad_Struct_TermMachs (const char**)NULL
1198
1199/*
be02fa1a 1200 * content selection pattern - do fix if pattern found
06bbab1b
BK
1201 */
1202tSCC zBad_Struct_TermSelect0[] =
1203 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1204
1205#define BAD_STRUCT_TERM_TEST_CT 1
3af556f7 1206static tTestDesc aBad_Struct_TermTests[] = {
5abc1f74 1207 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1208
1209/*
1210 * Fix Command Arguments for Bad_Struct_Term
1211 */
3af556f7 1212static const char* apzBad_Struct_TermPatch[] = {
cd64831f
BK
1213 "format",
1214 "struct term;",
06bbab1b
BK
1215 (char*)NULL };
1216
1217/* * * * * * * * * * * * * * * * * * * * * * * * * *
1218 *
5abc1f74 1219 * Description of Badquote fix
06bbab1b
BK
1220 */
1221tSCC zBadquoteName[] =
3be1fb72
ZW
1222 "badquote";
1223
06bbab1b
BK
1224/*
1225 * File name selection pattern
1226 */
1227tSCC zBadquoteList[] =
c329beb0 1228 "|sundev/vuid_event.h|";
06bbab1b
BK
1229/*
1230 * Machine/OS name selection pattern
1231 */
1232#define apzBadquoteMachs (const char**)NULL
cd64831f
BK
1233
1234/*
1235 * content selection pattern - do fix if pattern found
1236 */
1237tSCC zBadquoteSelect0[] =
1238 "doesn't";
1239
1240#define BADQUOTE_TEST_CT 1
3af556f7 1241static tTestDesc aBadquoteTests[] = {
cd64831f 1242 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1243
1244/*
1245 * Fix Command Arguments for Badquote
1246 */
3af556f7 1247static const char* apzBadquotePatch[] = {
cd64831f
BK
1248 "format",
1249 "does not",
06bbab1b
BK
1250 (char*)NULL };
1251
06bbab1b
BK
1252/* * * * * * * * * * * * * * * * * * * * * * * * * *
1253 *
5abc1f74 1254 * Description of Broken_Assert_Stdio fix
06bbab1b
BK
1255 */
1256tSCC zBroken_Assert_StdioName[] =
3be1fb72
ZW
1257 "broken_assert_stdio";
1258
06bbab1b
BK
1259/*
1260 * File name selection pattern
1261 */
1262tSCC zBroken_Assert_StdioList[] =
c329beb0 1263 "|assert.h|";
06bbab1b
BK
1264/*
1265 * Machine/OS name selection pattern
1266 */
1267#define apzBroken_Assert_StdioMachs (const char**)NULL
1268
1269/*
be02fa1a 1270 * content selection pattern - do fix if pattern found
06bbab1b
BK
1271 */
1272tSCC zBroken_Assert_StdioSelect0[] =
1273 "stderr";
1274
1275/*
be02fa1a 1276 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
1277 */
1278tSCC zBroken_Assert_StdioBypass0[] =
87b6d63a 1279 "include.*stdio\\.h";
06bbab1b
BK
1280
1281#define BROKEN_ASSERT_STDIO_TEST_CT 2
3af556f7 1282static tTestDesc aBroken_Assert_StdioTests[] = {
5abc1f74
BK
1283 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1284 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1285
1286/*
1287 * Fix Command Arguments for Broken_Assert_Stdio
1288 */
3af556f7 1289static const char* apzBroken_Assert_StdioPatch[] = {
ba8fcfc3
BK
1290 "wrap",
1291 "#include <stdio.h>\n",
06bbab1b
BK
1292 (char*)NULL };
1293
1294/* * * * * * * * * * * * * * * * * * * * * * * * * *
1295 *
5abc1f74 1296 * Description of Broken_Assert_Stdlib fix
06bbab1b
BK
1297 */
1298tSCC zBroken_Assert_StdlibName[] =
3be1fb72
ZW
1299 "broken_assert_stdlib";
1300
06bbab1b
BK
1301/*
1302 * File name selection pattern
1303 */
1304tSCC zBroken_Assert_StdlibList[] =
c329beb0 1305 "|assert.h|";
06bbab1b
BK
1306/*
1307 * Machine/OS name selection pattern
1308 */
1309#define apzBroken_Assert_StdlibMachs (const char**)NULL
1310
1311/*
be02fa1a 1312 * content selection pattern - do fix if pattern found
06bbab1b
BK
1313 */
1314tSCC zBroken_Assert_StdlibSelect0[] =
1315 "exit *\\(|abort *\\(";
1316
1317/*
be02fa1a 1318 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
1319 */
1320tSCC zBroken_Assert_StdlibBypass0[] =
87b6d63a 1321 "include.*stdlib\\.h";
06bbab1b
BK
1322
1323#define BROKEN_ASSERT_STDLIB_TEST_CT 2
3af556f7 1324static tTestDesc aBroken_Assert_StdlibTests[] = {
5abc1f74
BK
1325 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1326 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1327
1328/*
1329 * Fix Command Arguments for Broken_Assert_Stdlib
1330 */
3af556f7 1331static const char* apzBroken_Assert_StdlibPatch[] = {
ba8fcfc3
BK
1332 "wrap",
1333 "#ifdef __cplusplus\n\
1334#include <stdlib.h>\n\
1335#endif\n",
06bbab1b
BK
1336 (char*)NULL };
1337
72b9c7fb
BK
1338/* * * * * * * * * * * * * * * * * * * * * * * * * *
1339 *
1340 * Description of Broken_Cabs fix
1341 */
72b9c7fb
BK
1342tSCC zBroken_CabsName[] =
1343 "broken_cabs";
1344
1345/*
1346 * File name selection pattern
1347 */
1348tSCC zBroken_CabsList[] =
1349 "|math.h|";
1350/*
1351 * Machine/OS name selection pattern
1352 */
1353#define apzBroken_CabsMachs (const char**)NULL
1354
1355/*
1356 * content selection pattern - do fix if pattern found
1357 */
1358tSCC zBroken_CabsSelect0[] =
a1c63101 1359 "^extern[ \\t]+double[ \\t]+cabs";
72b9c7fb
BK
1360
1361#define BROKEN_CABS_TEST_CT 1
3af556f7 1362static tTestDesc aBroken_CabsTests[] = {
72b9c7fb
BK
1363 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1364
1365/*
1366 * Fix Command Arguments for Broken_Cabs
1367 */
3af556f7 1368static const char* apzBroken_CabsPatch[] = {
cd64831f
BK
1369 "format",
1370 "",
a1c63101 1371 "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
72b9c7fb
BK
1372 (char*)NULL };
1373
48bd9529
BK
1374/* * * * * * * * * * * * * * * * * * * * * * * * * *
1375 *
79589c4d 1376 * Description of Ctrl_Quotes_Def fix
48bd9529 1377 */
79589c4d
BK
1378tSCC zCtrl_Quotes_DefName[] =
1379 "ctrl_quotes_def";
3be1fb72 1380
48bd9529
BK
1381/*
1382 * File name selection pattern
1383 */
79589c4d 1384#define zCtrl_Quotes_DefList (char*)NULL
48bd9529
BK
1385/*
1386 * Machine/OS name selection pattern
1387 */
79589c4d 1388#define apzCtrl_Quotes_DefMachs (const char**)NULL
48bd9529
BK
1389
1390/*
79589c4d 1391 * content selection pattern - do fix if pattern found
48bd9529 1392 */
79589c4d 1393tSCC zCtrl_Quotes_DefSelect0[] =
cf6d5133 1394 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
79589c4d
BK
1395
1396#define CTRL_QUOTES_DEF_TEST_CT 1
3af556f7 1397static tTestDesc aCtrl_Quotes_DefTests[] = {
79589c4d
BK
1398 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1399
1400/*
1401 * Fix Command Arguments for Ctrl_Quotes_Def
1402 */
3af556f7 1403static const char* apzCtrl_Quotes_DefPatch[] = {
79589c4d
BK
1404 "char_macro_def",
1405 "CTRL",
48bd9529
BK
1406 (char*)NULL };
1407
06bbab1b
BK
1408/* * * * * * * * * * * * * * * * * * * * * * * * * *
1409 *
79589c4d 1410 * Description of Ctrl_Quotes_Use fix
06bbab1b 1411 */
79589c4d
BK
1412tSCC zCtrl_Quotes_UseName[] =
1413 "ctrl_quotes_use";
3be1fb72 1414
06bbab1b
BK
1415/*
1416 * File name selection pattern
1417 */
79589c4d 1418#define zCtrl_Quotes_UseList (char*)NULL
06bbab1b
BK
1419/*
1420 * Machine/OS name selection pattern
1421 */
79589c4d 1422#define apzCtrl_Quotes_UseMachs (const char**)NULL
06bbab1b
BK
1423
1424/*
79589c4d 1425 * content selection pattern - do fix if pattern found
06bbab1b 1426 */
79589c4d
BK
1427tSCC zCtrl_Quotes_UseSelect0[] =
1428 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1429
1430#define CTRL_QUOTES_USE_TEST_CT 1
3af556f7 1431static tTestDesc aCtrl_Quotes_UseTests[] = {
79589c4d
BK
1432 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1433
1434/*
1435 * Fix Command Arguments for Ctrl_Quotes_Use
1436 */
3af556f7 1437static const char* apzCtrl_Quotes_UsePatch[] = {
79589c4d
BK
1438 "char_macro_use",
1439 "CTRL",
06bbab1b
BK
1440 (char*)NULL };
1441
06bbab1b
BK
1442/* * * * * * * * * * * * * * * * * * * * * * * * * *
1443 *
79589c4d 1444 * Description of Cxx_Unready fix
06bbab1b 1445 */
79589c4d
BK
1446tSCC zCxx_UnreadyName[] =
1447 "cxx_unready";
3be1fb72 1448
06bbab1b
BK
1449/*
1450 * File name selection pattern
1451 */
79589c4d
BK
1452tSCC zCxx_UnreadyList[] =
1453 "|sys/mman.h|rpc/types.h|";
06bbab1b
BK
1454/*
1455 * Machine/OS name selection pattern
1456 */
79589c4d 1457#define apzCxx_UnreadyMachs (const char**)NULL
06bbab1b
BK
1458
1459/*
be02fa1a 1460 * content selection pattern - do fix if pattern found
06bbab1b 1461 */
79589c4d
BK
1462tSCC zCxx_UnreadySelect0[] =
1463 "[^#]+malloc.*;";
06bbab1b 1464
79589c4d
BK
1465/*
1466 * content bypass pattern - skip fix if pattern found
1467 */
1468tSCC zCxx_UnreadyBypass0[] =
1469 "\"C\"|__BEGIN_DECLS";
1470
1471#define CXX_UNREADY_TEST_CT 2
3af556f7 1472static tTestDesc aCxx_UnreadyTests[] = {
79589c4d
BK
1473 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1474 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
06bbab1b
BK
1475
1476/*
79589c4d 1477 * Fix Command Arguments for Cxx_Unready
06bbab1b 1478 */
3af556f7 1479static const char* apzCxx_UnreadyPatch[] = {
79589c4d
BK
1480 "wrap",
1481 "#ifdef __cplusplus\n\
1482extern \"C\" {\n\
1483#endif\n",
1484 "#ifdef __cplusplus\n\
1485}\n\
1486#endif\n",
06bbab1b
BK
1487 (char*)NULL };
1488
1489/* * * * * * * * * * * * * * * * * * * * * * * * * *
1490 *
79589c4d 1491 * Description of Dec_Intern_Asm fix
06bbab1b 1492 */
79589c4d
BK
1493tSCC zDec_Intern_AsmName[] =
1494 "dec_intern_asm";
3be1fb72 1495
06bbab1b
BK
1496/*
1497 * File name selection pattern
1498 */
79589c4d
BK
1499tSCC zDec_Intern_AsmList[] =
1500 "|c_asm.h|";
06bbab1b
BK
1501/*
1502 * Machine/OS name selection pattern
1503 */
79589c4d
BK
1504#define apzDec_Intern_AsmMachs (const char**)NULL
1505#define DEC_INTERN_ASM_TEST_CT 0
1506#define aDec_Intern_AsmTests (tTestDesc*)NULL
06bbab1b
BK
1507
1508/*
79589c4d 1509 * Fix Command Arguments for Dec_Intern_Asm
06bbab1b 1510 */
3af556f7 1511static const char* apzDec_Intern_AsmPatch[] = { "sed",
79589c4d
BK
1512 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1513#ifdef __DECC\n",
1514 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1515#endif\n",
1516 (char*)NULL };
06bbab1b 1517
6822468a
LB
1518/* * * * * * * * * * * * * * * * * * * * * * * * * *
1519 *
1520 * Description of Djgpp_Wchar_H fix
1521 */
6822468a
LB
1522tSCC zDjgpp_Wchar_HName[] =
1523 "djgpp_wchar_h";
1524
1525/*
1526 * File name selection pattern
1527 */
1528#define zDjgpp_Wchar_HList (char*)NULL
1529/*
1530 * Machine/OS name selection pattern
1531 */
1532#define apzDjgpp_Wchar_HMachs (const char**)NULL
1533
1534/*
1535 * content selection pattern - do fix if pattern found
1536 */
1537tSCC zDjgpp_Wchar_HSelect0[] =
1538 "__DJ_wint_t";
1539
1540/*
1541 * content bypass pattern - skip fix if pattern found
1542 */
1543tSCC zDjgpp_Wchar_HBypass0[] =
1544 "sys/djtypes.h";
1545
1546#define DJGPP_WCHAR_H_TEST_CT 2
1547static tTestDesc aDjgpp_Wchar_HTests[] = {
1548 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1549 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1550
1551/*
1552 * Fix Command Arguments for Djgpp_Wchar_H
1553 */
1554static const char* apzDjgpp_Wchar_HPatch[] = {
1555 "format",
1556 "%0\n\
1557#include <sys/djtypes.h>",
1558 "#include <stddef.h>",
1559 (char*)NULL };
1560
79589c4d
BK
1561/* * * * * * * * * * * * * * * * * * * * * * * * * *
1562 *
1563 * Description of Ecd_Cursor fix
1564 */
79589c4d
BK
1565tSCC zEcd_CursorName[] =
1566 "ecd_cursor";
06bbab1b
BK
1567
1568/*
79589c4d 1569 * File name selection pattern
06bbab1b 1570 */
79589c4d
BK
1571tSCC zEcd_CursorList[] =
1572 "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1573/*
1574 * Machine/OS name selection pattern
1575 */
1576#define apzEcd_CursorMachs (const char**)NULL
cd64831f
BK
1577
1578/*
1579 * content selection pattern - do fix if pattern found
1580 */
1581tSCC zEcd_CursorSelect0[] =
1582 "ecd\\.cursor";
1583
1584#define ECD_CURSOR_TEST_CT 1
3af556f7 1585static tTestDesc aEcd_CursorTests[] = {
cd64831f 1586 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
79589c4d
BK
1587
1588/*
1589 * Fix Command Arguments for Ecd_Cursor
1590 */
3af556f7 1591static const char* apzEcd_CursorPatch[] = {
cd64831f
BK
1592 "format",
1593 "ecd_cursor",
06bbab1b
BK
1594 (char*)NULL };
1595
1596/* * * * * * * * * * * * * * * * * * * * * * * * * *
1597 *
79589c4d 1598 * Description of Fix_Header_Breakage fix
06bbab1b 1599 */
79589c4d
BK
1600tSCC zFix_Header_BreakageName[] =
1601 "fix_header_breakage";
3be1fb72 1602
06bbab1b
BK
1603/*
1604 * File name selection pattern
1605 */
79589c4d
BK
1606tSCC zFix_Header_BreakageList[] =
1607 "|math.h|";
06bbab1b
BK
1608/*
1609 * Machine/OS name selection pattern
1610 */
79589c4d
BK
1611tSCC* apzFix_Header_BreakageMachs[] = {
1612 "m88k-motorola-sysv3*",
1613 (const char*)NULL };
06bbab1b 1614
3be1fb72
ZW
1615/*
1616 * content selection pattern - do fix if pattern found
1617 */
79589c4d
BK
1618tSCC zFix_Header_BreakageSelect0[] =
1619 "extern double floor\\(\\), ceil\\(\\), fmod\\(\\), fabs\\(\\);";
3be1fb72 1620
79589c4d 1621#define FIX_HEADER_BREAKAGE_TEST_CT 1
3af556f7 1622static tTestDesc aFix_Header_BreakageTests[] = {
79589c4d 1623 { TT_EGREP, zFix_Header_BreakageSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1624
1625/*
79589c4d 1626 * Fix Command Arguments for Fix_Header_Breakage
06bbab1b 1627 */
3af556f7 1628static const char* apzFix_Header_BreakagePatch[] = {
79589c4d
BK
1629 "format",
1630 "extern double floor(), ceil(), fmod(), fabs _PARAMS((double));",
06bbab1b
BK
1631 (char*)NULL };
1632
89647e8a
LR
1633/* * * * * * * * * * * * * * * * * * * * * * * * * *
1634 *
1635 * Description of Freebsd_Gcc3_Breakage fix
1636 */
89647e8a
LR
1637tSCC zFreebsd_Gcc3_BreakageName[] =
1638 "freebsd_gcc3_breakage";
1639
1640/*
1641 * File name selection pattern
1642 */
1643tSCC zFreebsd_Gcc3_BreakageList[] =
1644 "|sys/cdefs.h|";
1645/*
1646 * Machine/OS name selection pattern
1647 */
1648tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1649 "*-*-freebsd*",
1650 (const char*)NULL };
1651
1652/*
1653 * content selection pattern - do fix if pattern found
1654 */
1655tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1656 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1657
1658/*
1659 * content bypass pattern - skip fix if pattern found
1660 */
1661tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1662 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1663
1664#define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
1665static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1666 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1667 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1668
1669/*
1670 * Fix Command Arguments for Freebsd_Gcc3_Breakage
1671 */
1672static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1673 "format",
1674 "%0 || __GNUC__ >= 3",
1675 (char*)NULL };
1676
7b78a14a
BK
1677/* * * * * * * * * * * * * * * * * * * * * * * * * *
1678 *
1679 * Description of Gnu_Types fix
1680 */
1681tSCC zGnu_TypesName[] =
1682 "gnu_types";
1683
1684/*
1685 * File name selection pattern
1686 */
1687tSCC zGnu_TypesList[] =
1688 "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1689/*
1690 * Machine/OS name selection pattern
1691 */
1692#define apzGnu_TypesMachs (const char**)NULL
1693
1694/*
1695 * content selection pattern - do fix if pattern found
1696 */
1697tSCC zGnu_TypesSelect0[] =
1698 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1699
1700/*
1701 * content bypass pattern - skip fix if pattern found
1702 */
1703tSCC zGnu_TypesBypass0[] =
1704 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1705
1706#define GNU_TYPES_TEST_CT 2
1707static tTestDesc aGnu_TypesTests[] = {
1708 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
1709 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
1710
1711/*
1712 * Fix Command Arguments for Gnu_Types
1713 */
1714static const char* apzGnu_TypesPatch[] = {
1715 "gnu_type",
1716 (char*)NULL };
1717
06bbab1b
BK
1718/* * * * * * * * * * * * * * * * * * * * * * * * * *
1719 *
79589c4d 1720 * Description of Hp_Inline fix
06bbab1b 1721 */
79589c4d
BK
1722tSCC zHp_InlineName[] =
1723 "hp_inline";
3be1fb72 1724
06bbab1b
BK
1725/*
1726 * File name selection pattern
1727 */
79589c4d 1728tSCC zHp_InlineList[] =
cd64831f 1729 "|sys/spinlock.h|machine/machparam.h|";
06bbab1b
BK
1730/*
1731 * Machine/OS name selection pattern
1732 */
79589c4d 1733#define apzHp_InlineMachs (const char**)NULL
87b6d63a
BK
1734
1735/*
1736 * content selection pattern - do fix if pattern found
1737 */
79589c4d 1738tSCC zHp_InlineSelect0[] =
cd64831f 1739 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
87b6d63a 1740
79589c4d 1741#define HP_INLINE_TEST_CT 1
3af556f7 1742static tTestDesc aHp_InlineTests[] = {
79589c4d 1743 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1744
1745/*
79589c4d 1746 * Fix Command Arguments for Hp_Inline
06bbab1b 1747 */
3af556f7 1748static const char* apzHp_InlinePatch[] = {
cd64831f
BK
1749 "format",
1750 "%1<machine/%2.h>",
1751 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
06bbab1b
BK
1752 (char*)NULL };
1753
1754/* * * * * * * * * * * * * * * * * * * * * * * * * *
1755 *
79589c4d 1756 * Description of Hp_Sysfile fix
06bbab1b 1757 */
79589c4d
BK
1758tSCC zHp_SysfileName[] =
1759 "hp_sysfile";
3be1fb72 1760
06bbab1b
BK
1761/*
1762 * File name selection pattern
1763 */
79589c4d
BK
1764tSCC zHp_SysfileList[] =
1765 "|sys/file.h|";
06bbab1b
BK
1766/*
1767 * Machine/OS name selection pattern
1768 */
79589c4d 1769#define apzHp_SysfileMachs (const char**)NULL
06bbab1b
BK
1770
1771/*
be02fa1a 1772 * content selection pattern - do fix if pattern found
06bbab1b 1773 */
79589c4d
BK
1774tSCC zHp_SysfileSelect0[] =
1775 "HPUX_SOURCE";
06bbab1b 1776
79589c4d 1777#define HP_SYSFILE_TEST_CT 1
3af556f7 1778static tTestDesc aHp_SysfileTests[] = {
79589c4d 1779 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
06bbab1b
BK
1780
1781/*
79589c4d 1782 * Fix Command Arguments for Hp_Sysfile
06bbab1b 1783 */
3af556f7 1784static const char* apzHp_SysfilePatch[] = {
cd64831f
BK
1785 "format",
1786 "(struct file *, ...)",
1787 "\\(\\.\\.\\.\\)",
06bbab1b
BK
1788 (char*)NULL };
1789
5ffd49b8
JDA
1790/* * * * * * * * * * * * * * * * * * * * * * * * * *
1791 *
1792 * Description of Hpux10_Cpp_Pow_Inline fix
1793 */
1794tSCC zHpux10_Cpp_Pow_InlineName[] =
1795 "hpux10_cpp_pow_inline";
1796
1797/*
1798 * File name selection pattern
1799 */
1800tSCC zHpux10_Cpp_Pow_InlineList[] =
30102605 1801 "|fixinc-test-limits.h|math.h|";
5ffd49b8
JDA
1802/*
1803 * Machine/OS name selection pattern
1804 */
1805#define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1806
1807/*
1808 * content selection pattern - do fix if pattern found
1809 */
1810tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1811 "^# +ifdef +__cplusplus\n\
1812 +}\n\
1813 +inline +double +pow\\(double +__d,int +__expon\\) +{\n\
1814[ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1815 +}\n\
1816 +extern +\"C\" +{\n\
1817#else\n\
1818# +endif";
1819
1820#define HPUX10_CPP_POW_INLINE_TEST_CT 1
1821static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1822 { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1823
1824/*
1825 * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1826 */
1827static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1828 "format",
1829 "",
1830 (char*)NULL };
1831
eb559363
BK
1832/* * * * * * * * * * * * * * * * * * * * * * * * * *
1833 *
1834 * Description of Hpux11_Cpp_Pow_Inline fix
1835 */
1836tSCC zHpux11_Cpp_Pow_InlineName[] =
1837 "hpux11_cpp_pow_inline";
1838
1839/*
1840 * File name selection pattern
1841 */
1842tSCC zHpux11_Cpp_Pow_InlineList[] =
1843 "|math.h|";
1844/*
1845 * Machine/OS name selection pattern
1846 */
1847#define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
1848
1849/*
1850 * content selection pattern - do fix if pattern found
1851 */
1852tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
1853 " +inline double pow\\(double d,int expon\\) {\n\
1854 +return pow\\(d, \\(double\\)expon\\);\n\
1855 +}\n";
1856
1857#define HPUX11_CPP_POW_INLINE_TEST_CT 1
1858static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
1859 { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1860
1861/*
1862 * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
1863 */
1864static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
1865 "format",
1866 "",
1867 (char*)NULL };
1868
2dc693ee
BK
1869/* * * * * * * * * * * * * * * * * * * * * * * * * *
1870 *
1871 * Description of Hpux11_Fabsf fix
1872 */
2dc693ee
BK
1873tSCC zHpux11_FabsfName[] =
1874 "hpux11_fabsf";
1875
1876/*
1877 * File name selection pattern
1878 */
1879tSCC zHpux11_FabsfList[] =
1880 "|math.h|";
1881/*
1882 * Machine/OS name selection pattern
1883 */
1884#define apzHpux11_FabsfMachs (const char**)NULL
1885
1886/*
1887 * content selection pattern - do fix if pattern found
1888 */
1889tSCC zHpux11_FabsfSelect0[] =
1890 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1891
1892/*
1893 * content bypass pattern - skip fix if pattern found
1894 */
1895tSCC zHpux11_FabsfBypass0[] =
1896 "__cplusplus";
1897
1898#define HPUX11_FABSF_TEST_CT 2
3af556f7 1899static tTestDesc aHpux11_FabsfTests[] = {
2dc693ee
BK
1900 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
1901 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1902
1903/*
1904 * Fix Command Arguments for Hpux11_Fabsf
1905 */
3af556f7 1906static const char* apzHpux11_FabsfPatch[] = {
2dc693ee
BK
1907 "format",
1908 "#ifndef __cplusplus\n\
1909%0\n\
1910#endif",
1911 (char*)NULL };
1912
34b3b0f6
JM
1913/* * * * * * * * * * * * * * * * * * * * * * * * * *
1914 *
1915 * Description of Hpux11_Size_T fix
1916 */
1917tSCC zHpux11_Size_TName[] =
1918 "hpux11_size_t";
1919
1920/*
1921 * File name selection pattern
1922 */
1923#define zHpux11_Size_TList (char*)NULL
1924/*
1925 * Machine/OS name selection pattern
1926 */
1927tSCC* apzHpux11_Size_TMachs[] = {
b5639a49 1928 "*-hp-hpux11*",
34b3b0f6
JM
1929 (const char*)NULL };
1930
1931/*
1932 * content selection pattern - do fix if pattern found
1933 */
1934tSCC zHpux11_Size_TSelect0[] =
b5639a49 1935 "__size_t";
34b3b0f6
JM
1936
1937#define HPUX11_SIZE_T_TEST_CT 1
1938static tTestDesc aHpux11_Size_TTests[] = {
1939 { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
1940
1941/*
1942 * Fix Command Arguments for Hpux11_Size_T
1943 */
1944static const char* apzHpux11_Size_TPatch[] = {
1945 "format",
1946 "_hpux_size_t",
34b3b0f6
JM
1947 (char*)NULL };
1948
d7eb5a45
ZW
1949/* * * * * * * * * * * * * * * * * * * * * * * * * *
1950 *
cd64831f 1951 * Description of Hpux11_Uint32_C fix
d7eb5a45 1952 */
cd64831f
BK
1953tSCC zHpux11_Uint32_CName[] =
1954 "hpux11_uint32_c";
3be1fb72 1955
d7eb5a45
ZW
1956/*
1957 * File name selection pattern
1958 */
cd64831f
BK
1959tSCC zHpux11_Uint32_CList[] =
1960 "|inttypes.h|";
d7eb5a45
ZW
1961/*
1962 * Machine/OS name selection pattern
1963 */
cd64831f 1964#define apzHpux11_Uint32_CMachs (const char**)NULL
d7eb5a45
ZW
1965
1966/*
1967 * content selection pattern - do fix if pattern found
1968 */
cd64831f
BK
1969tSCC zHpux11_Uint32_CSelect0[] =
1970 "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
d7eb5a45 1971
cd64831f 1972#define HPUX11_UINT32_C_TEST_CT 1
3af556f7 1973static tTestDesc aHpux11_Uint32_CTests[] = {
cd64831f 1974 { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
d7eb5a45
ZW
1975
1976/*
cd64831f 1977 * Fix Command Arguments for Hpux11_Uint32_C
d7eb5a45 1978 */
3af556f7 1979static const char* apzHpux11_Uint32_CPatch[] = {
cd64831f
BK
1980 "format",
1981 "#define UINT32_C(__c) __CONCAT__(__c,ul)",
d7eb5a45
ZW
1982 (char*)NULL };
1983
b8d0bbf7
BK
1984/* * * * * * * * * * * * * * * * * * * * * * * * * *
1985 *
1986 * Description of Hpux11_Vsnprintf fix
1987 */
1988tSCC zHpux11_VsnprintfName[] =
1989 "hpux11_vsnprintf";
1990
1991/*
1992 * File name selection pattern
1993 */
1994tSCC zHpux11_VsnprintfList[] =
1995 "|stdio.h|";
1996/*
1997 * Machine/OS name selection pattern
1998 */
1999#define apzHpux11_VsnprintfMachs (const char**)NULL
2000
2001/*
2002 * content selection pattern - do fix if pattern found
2003 */
2004tSCC zHpux11_VsnprintfSelect0[] =
b5639a49 2005 "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
b8d0bbf7
BK
2006
2007#define HPUX11_VSNPRINTF_TEST_CT 1
2008static tTestDesc aHpux11_VsnprintfTests[] = {
2009 { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2010
2011/*
2012 * Fix Command Arguments for Hpux11_Vsnprintf
2013 */
2014static const char* apzHpux11_VsnprintfPatch[] = {
2015 "format",
b5639a49 2016 "%1 __va_list);",
b8d0bbf7
BK
2017 (char*)NULL };
2018
abf7cec7
GRK
2019/* * * * * * * * * * * * * * * * * * * * * * * * * *
2020 *
cd64831f 2021 * Description of Hpux8_Bogus_Inlines fix
abf7cec7 2022 */
cd64831f
BK
2023tSCC zHpux8_Bogus_InlinesName[] =
2024 "hpux8_bogus_inlines";
3be1fb72 2025
abf7cec7
GRK
2026/*
2027 * File name selection pattern
2028 */
cd64831f
BK
2029tSCC zHpux8_Bogus_InlinesList[] =
2030 "|math.h|";
abf7cec7
GRK
2031/*
2032 * Machine/OS name selection pattern
2033 */
cd64831f 2034#define apzHpux8_Bogus_InlinesMachs (const char**)NULL
abf7cec7
GRK
2035
2036/*
2037 * content selection pattern - do fix if pattern found
2038 */
cd64831f
BK
2039tSCC zHpux8_Bogus_InlinesSelect0[] =
2040 "inline";
abf7cec7 2041
cd64831f 2042#define HPUX8_BOGUS_INLINES_TEST_CT 1
3af556f7 2043static tTestDesc aHpux8_Bogus_InlinesTests[] = {
cd64831f 2044 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
abf7cec7
GRK
2045
2046/*
cd64831f 2047 * Fix Command Arguments for Hpux8_Bogus_Inlines
abf7cec7 2048 */
3af556f7 2049static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
cd64831f
BK
2050 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2051 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2052 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2053 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
abf7cec7
GRK
2054 (char*)NULL };
2055
cb8d5168
BK
2056/* * * * * * * * * * * * * * * * * * * * * * * * * *
2057 *
7b78a14a 2058 * Description of Hpux_Maxint fix
cb8d5168 2059 */
7b78a14a
BK
2060tSCC zHpux_MaxintName[] =
2061 "hpux_maxint";
cb8d5168
BK
2062
2063/*
2064 * File name selection pattern
2065 */
7b78a14a
BK
2066tSCC zHpux_MaxintList[] =
2067 "|sys/param.h|values.h|";
cb8d5168
BK
2068/*
2069 * Machine/OS name selection pattern
2070 */
7b78a14a 2071#define apzHpux_MaxintMachs (const char**)NULL
cb8d5168
BK
2072
2073/*
2074 * content selection pattern - do fix if pattern found
2075 */
7b78a14a
BK
2076tSCC zHpux_MaxintSelect0[] =
2077 "^#[ \t]*define[ \t]+MAXINT[ \t]";
cb8d5168 2078
7b78a14a
BK
2079/*
2080 * content bypass pattern - skip fix if pattern found
2081 */
2082tSCC zHpux_MaxintBypass0[] =
2083 "^#[ \t]*ifndef[ \t]+MAXINT";
cb8d5168
BK
2084
2085/*
7b78a14a 2086 * perform the 'test' shell command - do fix on success
cb8d5168 2087 */
7b78a14a
BK
2088tSCC zHpux_MaxintTest0[] =
2089 "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2090
2091#define HPUX_MAXINT_TEST_CT 3
2092static tTestDesc aHpux_MaxintTests[] = {
2093 { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
2094 { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
2095 { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
2096
2097/*
2098 * Fix Command Arguments for Hpux_Maxint
2099 */
2100static const char* apzHpux_MaxintPatch[] = {
cb8d5168 2101 "format",
7b78a14a
BK
2102 "#ifndef MAXINT\n\
2103%0\n\
2104#endif",
2105 "^#[ \t]*define[ \t]+MAXINT[ \t].*",
cb8d5168
BK
2106 (char*)NULL };
2107
06bbab1b
BK
2108/* * * * * * * * * * * * * * * * * * * * * * * * * *
2109 *
7b78a14a 2110 * Description of Hpux_Systime fix
06bbab1b 2111 */
7b78a14a
BK
2112tSCC zHpux_SystimeName[] =
2113 "hpux_systime";
3be1fb72 2114
06bbab1b
BK
2115/*
2116 * File name selection pattern
2117 */
7b78a14a
BK
2118tSCC zHpux_SystimeList[] =
2119 "|sys/time.h|";
06bbab1b
BK
2120/*
2121 * Machine/OS name selection pattern
2122 */
7b78a14a 2123#define apzHpux_SystimeMachs (const char**)NULL
06bbab1b
BK
2124
2125/*
b51207a4 2126 * content selection pattern - do fix if pattern found
06bbab1b 2127 */
7b78a14a
BK
2128tSCC zHpux_SystimeSelect0[] =
2129 "^extern struct sigevent;";
06bbab1b 2130
7b78a14a
BK
2131#define HPUX_SYSTIME_TEST_CT 1
2132static tTestDesc aHpux_SystimeTests[] = {
2133 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2134
2135/*
7b78a14a 2136 * Fix Command Arguments for Hpux_Systime
06bbab1b 2137 */
7b78a14a 2138static const char* apzHpux_SystimePatch[] = {
79589c4d 2139 "format",
7b78a14a
BK
2140 "struct sigevent;",
2141 (char*)NULL };
2142
2143/* * * * * * * * * * * * * * * * * * * * * * * * * *
2144 *
2145 * Description of Int_Abort_Free_And_Exit fix
2146 */
2147tSCC zInt_Abort_Free_And_ExitName[] =
2148 "int_abort_free_and_exit";
2149
2150/*
2151 * File name selection pattern
2152 */
2153tSCC zInt_Abort_Free_And_ExitList[] =
2154 "|stdlib.h|";
2155/*
2156 * Machine/OS name selection pattern
2157 */
2158#define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2159
2160/*
2161 * content selection pattern - do fix if pattern found
2162 */
2163tSCC zInt_Abort_Free_And_ExitSelect0[] =
2164 "int[ \t]+(abort|free|exit)[ \t]*\\(";
2165
2166#define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
2167static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2168 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2169
2170/*
2171 * Fix Command Arguments for Int_Abort_Free_And_Exit
2172 */
2173static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2174 "format",
2175 "void\t%1(",
06bbab1b
BK
2176 (char*)NULL };
2177
06bbab1b
BK
2178/* * * * * * * * * * * * * * * * * * * * * * * * * *
2179 *
88acf854 2180 * Description of Io_Quotes_Def fix
06bbab1b 2181 */
88acf854
BK
2182tSCC zIo_Quotes_DefName[] =
2183 "io_quotes_def";
3be1fb72 2184
06bbab1b
BK
2185/*
2186 * File name selection pattern
2187 */
88acf854 2188#define zIo_Quotes_DefList (char*)NULL
06bbab1b
BK
2189/*
2190 * Machine/OS name selection pattern
2191 */
88acf854 2192#define apzIo_Quotes_DefMachs (const char**)NULL
06bbab1b
BK
2193
2194/*
be02fa1a 2195 * content selection pattern - do fix if pattern found
06bbab1b 2196 */
88acf854 2197tSCC zIo_Quotes_DefSelect0[] =
cf6d5133 2198 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
06bbab1b 2199
88acf854 2200#define IO_QUOTES_DEF_TEST_CT 1
3af556f7 2201static tTestDesc aIo_Quotes_DefTests[] = {
88acf854 2202 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2203
2204/*
88acf854 2205 * Fix Command Arguments for Io_Quotes_Def
06bbab1b 2206 */
3af556f7 2207static const char* apzIo_Quotes_DefPatch[] = {
4c6d912f
ZW
2208 "char_macro_def",
2209 "IO",
5c0d5b94
ZW
2210 (char*)NULL };
2211
2212/* * * * * * * * * * * * * * * * * * * * * * * * * *
2213 *
99d05d99 2214 * Description of Io_Quotes_Use fix
5c0d5b94 2215 */
99d05d99
BK
2216tSCC zIo_Quotes_UseName[] =
2217 "io_quotes_use";
3be1fb72 2218
5c0d5b94
ZW
2219/*
2220 * File name selection pattern
2221 */
99d05d99 2222#define zIo_Quotes_UseList (char*)NULL
5c0d5b94
ZW
2223/*
2224 * Machine/OS name selection pattern
2225 */
99d05d99 2226#define apzIo_Quotes_UseMachs (const char**)NULL
5c0d5b94
ZW
2227
2228/*
2229 * content selection pattern - do fix if pattern found
2230 */
99d05d99
BK
2231tSCC zIo_Quotes_UseSelect0[] =
2232 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
5c0d5b94 2233
99d05d99 2234#define IO_QUOTES_USE_TEST_CT 1
3af556f7 2235static tTestDesc aIo_Quotes_UseTests[] = {
99d05d99 2236 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
5c0d5b94
ZW
2237
2238/*
99d05d99 2239 * Fix Command Arguments for Io_Quotes_Use
5c0d5b94 2240 */
3af556f7 2241static const char* apzIo_Quotes_UsePatch[] = {
4c6d912f 2242 "char_macro_use",
99d05d99 2243 "IO",
06bbab1b
BK
2244 (char*)NULL };
2245
2246/* * * * * * * * * * * * * * * * * * * * * * * * * *
2247 *
7b78a14a 2248 * Description of Ip_Missing_Semi fix
06bbab1b 2249 */
7b78a14a
BK
2250tSCC zIp_Missing_SemiName[] =
2251 "ip_missing_semi";
3be1fb72 2252
06bbab1b
BK
2253/*
2254 * File name selection pattern
2255 */
7b78a14a
BK
2256tSCC zIp_Missing_SemiList[] =
2257 "|netinet/ip.h|";
06bbab1b
BK
2258/*
2259 * Machine/OS name selection pattern
2260 */
7b78a14a 2261#define apzIp_Missing_SemiMachs (const char**)NULL
d7eb5a45
ZW
2262
2263/*
2264 * content selection pattern - do fix if pattern found
79589c4d 2265 */
7b78a14a
BK
2266tSCC zIp_Missing_SemiSelect0[] =
2267 "}$";
79589c4d 2268
7b78a14a
BK
2269#define IP_MISSING_SEMI_TEST_CT 1
2270static tTestDesc aIp_Missing_SemiTests[] = {
2271 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
039df8c7
DA
2272
2273/*
7b78a14a 2274 * Fix Command Arguments for Ip_Missing_Semi
06bbab1b 2275 */
7b78a14a
BK
2276static const char* apzIp_Missing_SemiPatch[] = { "sed",
2277 "-e", "/^struct/,/^};/s/}$/};/",
06bbab1b
BK
2278 (char*)NULL };
2279
2280/* * * * * * * * * * * * * * * * * * * * * * * * * *
2281 *
7b78a14a 2282 * Description of Irix_Asm_Apostrophe fix
06bbab1b 2283 */
7b78a14a
BK
2284tSCC zIrix_Asm_ApostropheName[] =
2285 "irix_asm_apostrophe";
3be1fb72 2286
06bbab1b
BK
2287/*
2288 * File name selection pattern
2289 */
7b78a14a
BK
2290tSCC zIrix_Asm_ApostropheList[] =
2291 "|sys/asm.h|";
06bbab1b
BK
2292/*
2293 * Machine/OS name selection pattern
2294 */
7b78a14a 2295#define apzIrix_Asm_ApostropheMachs (const char**)NULL
06bbab1b
BK
2296
2297/*
be02fa1a 2298 * content selection pattern - do fix if pattern found
06bbab1b 2299 */
7b78a14a
BK
2300tSCC zIrix_Asm_ApostropheSelect0[] =
2301 "^[ \t]*#.*[Ww]e're";
3be1fb72 2302
7b78a14a
BK
2303#define IRIX_ASM_APOSTROPHE_TEST_CT 1
2304static tTestDesc aIrix_Asm_ApostropheTests[] = {
2305 { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2306
2307/*
7b78a14a 2308 * Fix Command Arguments for Irix_Asm_Apostrophe
06bbab1b 2309 */
7b78a14a 2310static const char* apzIrix_Asm_ApostrophePatch[] = {
a8228686 2311 "format",
7b78a14a
BK
2312 "%1 are",
2313 "^([ \t]*#.*[Ww]e)'re",
06bbab1b
BK
2314 (char*)NULL };
2315
2316/* * * * * * * * * * * * * * * * * * * * * * * * * *
2317 *
7b78a14a 2318 * Description of Irix_Limits_Const fix
94cc6036 2319 */
7b78a14a
BK
2320tSCC zIrix_Limits_ConstName[] =
2321 "irix_limits_const";
3be1fb72 2322
94cc6036
BK
2323/*
2324 * File name selection pattern
2325 */
7b78a14a
BK
2326tSCC zIrix_Limits_ConstList[] =
2327 "|fixinc-test-limits.h|limits.h|";
94cc6036
BK
2328/*
2329 * Machine/OS name selection pattern
2330 */
7b78a14a 2331#define apzIrix_Limits_ConstMachs (const char**)NULL
94cc6036
BK
2332
2333/*
2334 * content selection pattern - do fix if pattern found
2335 */
7b78a14a
BK
2336tSCC zIrix_Limits_ConstSelect0[] =
2337 "^extern const ";
94cc6036 2338
7b78a14a
BK
2339#define IRIX_LIMITS_CONST_TEST_CT 1
2340static tTestDesc aIrix_Limits_ConstTests[] = {
2341 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
94cc6036
BK
2342
2343/*
7b78a14a 2344 * Fix Command Arguments for Irix_Limits_Const
94cc6036 2345 */
7b78a14a 2346static const char* apzIrix_Limits_ConstPatch[] = {
79589c4d 2347 "format",
7b78a14a 2348 "extern __const ",
06bbab1b
BK
2349 (char*)NULL };
2350
3b3a1054
BK
2351/* * * * * * * * * * * * * * * * * * * * * * * * * *
2352 *
2353 * Description of Irix_Stdio_Va_List fix
2354 */
3b3a1054
BK
2355tSCC zIrix_Stdio_Va_ListName[] =
2356 "irix_stdio_va_list";
2357
2358/*
2359 * File name selection pattern
2360 */
2361tSCC zIrix_Stdio_Va_ListList[] =
2362 "|stdio.h|";
2363/*
2364 * Machine/OS name selection pattern
2365 */
2366#define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2367
2368/*
2369 * content selection pattern - do fix if pattern found
2370 */
2371tSCC zIrix_Stdio_Va_ListSelect0[] =
2372 "(printf\\(.*), /\\* va_list \\*/ char \\*";
2373
2374#define IRIX_STDIO_VA_LIST_TEST_CT 1
2375static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2376 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2377
2378/*
2379 * Fix Command Arguments for Irix_Stdio_Va_List
2380 */
2381static const char* apzIrix_Stdio_Va_ListPatch[] = {
2382 "format",
2383 "%1, __gnuc_va_list",
2384 (char*)NULL };
2385
8d8d5752
JO
2386/* * * * * * * * * * * * * * * * * * * * * * * * * *
2387 *
7b78a14a 2388 * Description of Isc_Fmod fix
8d8d5752 2389 */
7b78a14a
BK
2390tSCC zIsc_FmodName[] =
2391 "isc_fmod";
8d8d5752
JO
2392
2393/*
2394 * File name selection pattern
2395 */
7b78a14a
BK
2396tSCC zIsc_FmodList[] =
2397 "|math.h|";
8d8d5752
JO
2398/*
2399 * Machine/OS name selection pattern
2400 */
7b78a14a 2401#define apzIsc_FmodMachs (const char**)NULL
8d8d5752
JO
2402
2403/*
2404 * content selection pattern - do fix if pattern found
2405 */
7b78a14a
BK
2406tSCC zIsc_FmodSelect0[] =
2407 "fmod\\(double\\)";
8d8d5752 2408
7b78a14a
BK
2409#define ISC_FMOD_TEST_CT 1
2410static tTestDesc aIsc_FmodTests[] = {
2411 { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, };
8d8d5752
JO
2412
2413/*
7b78a14a 2414 * Fix Command Arguments for Isc_Fmod
8d8d5752 2415 */
7b78a14a 2416static const char* apzIsc_FmodPatch[] = {
8d8d5752 2417 "format",
7b78a14a 2418 "fmod(double, double)",
8d8d5752
JO
2419 (char*)NULL };
2420
06bbab1b
BK
2421/* * * * * * * * * * * * * * * * * * * * * * * * * *
2422 *
7b78a14a 2423 * Description of Isc_Omits_With_Stdc fix
06bbab1b 2424 */
7b78a14a
BK
2425tSCC zIsc_Omits_With_StdcName[] =
2426 "isc_omits_with_stdc";
3be1fb72 2427
06bbab1b
BK
2428/*
2429 * File name selection pattern
2430 */
7b78a14a
BK
2431tSCC zIsc_Omits_With_StdcList[] =
2432 "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
06bbab1b
BK
2433/*
2434 * Machine/OS name selection pattern
2435 */
7b78a14a 2436#define apzIsc_Omits_With_StdcMachs (const char**)NULL
06bbab1b
BK
2437
2438/*
be02fa1a 2439 * content selection pattern - do fix if pattern found
06bbab1b 2440 */
7b78a14a
BK
2441tSCC zIsc_Omits_With_StdcSelect0[] =
2442 "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
06bbab1b 2443
7b78a14a
BK
2444#define ISC_OMITS_WITH_STDC_TEST_CT 1
2445static tTestDesc aIsc_Omits_With_StdcTests[] = {
2446 { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2447
2448/*
7b78a14a 2449 * Fix Command Arguments for Isc_Omits_With_Stdc
06bbab1b 2450 */
7b78a14a 2451static const char* apzIsc_Omits_With_StdcPatch[] = {
79589c4d 2452 "format",
7b78a14a 2453 "!defined(_POSIX_SOURCE)",
06bbab1b
BK
2454 (char*)NULL };
2455
2456/* * * * * * * * * * * * * * * * * * * * * * * * * *
2457 *
5abc1f74 2458 * Description of Kandr_Concat fix
06bbab1b
BK
2459 */
2460tSCC zKandr_ConcatName[] =
3be1fb72
ZW
2461 "kandr_concat";
2462
06bbab1b
BK
2463/*
2464 * File name selection pattern
2465 */
2466tSCC zKandr_ConcatList[] =
c329beb0 2467 "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
06bbab1b
BK
2468/*
2469 * Machine/OS name selection pattern
2470 */
2471#define apzKandr_ConcatMachs (const char**)NULL
2472
2473/*
be02fa1a 2474 * content selection pattern - do fix if pattern found
06bbab1b
BK
2475 */
2476tSCC zKandr_ConcatSelect0[] =
2477 "/\\*\\*/";
2478
2479#define KANDR_CONCAT_TEST_CT 1
3af556f7 2480static tTestDesc aKandr_ConcatTests[] = {
5abc1f74 2481 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2482
2483/*
2484 * Fix Command Arguments for Kandr_Concat
2485 */
3af556f7 2486static const char* apzKandr_ConcatPatch[] = {
79589c4d
BK
2487 "format",
2488 "##",
06bbab1b
BK
2489 (char*)NULL };
2490
62a37b6f
HPN
2491/* * * * * * * * * * * * * * * * * * * * * * * * * *
2492 *
2493 * Description of Libc1_Ifdefd_Memx fix
2494 */
62a37b6f
HPN
2495tSCC zLibc1_Ifdefd_MemxName[] =
2496 "libc1_ifdefd_memx";
2497
2498/*
2499 * File name selection pattern
2500 */
2501tSCC zLibc1_Ifdefd_MemxList[] =
2502 "|testing.h|string.h|";
2503/*
2504 * Machine/OS name selection pattern
2505 */
2506#define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2507
2508/*
2509 * content selection pattern - do fix if pattern found
2510 */
2511tSCC zLibc1_Ifdefd_MemxSelect0[] =
2512 "' is a built-in function for gcc 2\\.x\\. \\*/";
2513
2514/*
2515 * content bypass pattern - skip fix if pattern found
2516 */
2517tSCC zLibc1_Ifdefd_MemxBypass0[] =
2518 "__cplusplus";
2519
2520#define LIBC1_IFDEFD_MEMX_TEST_CT 2
3af556f7 2521static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
62a37b6f
HPN
2522 { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2523 { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2524
2525/*
2526 * Fix Command Arguments for Libc1_Ifdefd_Memx
2527 */
3af556f7 2528static const char* apzLibc1_Ifdefd_MemxPatch[] = {
62a37b6f 2529 "format",
4f923eb8 2530 "%1",
62a37b6f 2531 "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
4f923eb8 2532#if defined\\(__STDC__\\) && __GNUC__ < 2\n\
62a37b6f 2533(/\\* .* \\*/\n\
4f923eb8
BK
2534extern [a-z_]+ mem.*(\n\
2535[^#].*)*;)\n\
2536#endif",
62a37b6f
HPN
2537 (char*)NULL };
2538
06bbab1b
BK
2539/* * * * * * * * * * * * * * * * * * * * * * * * * *
2540 *
5abc1f74 2541 * Description of Limits_Ifndefs fix
06bbab1b
BK
2542 */
2543tSCC zLimits_IfndefsName[] =
3be1fb72
ZW
2544 "limits_ifndefs";
2545
06bbab1b
BK
2546/*
2547 * File name selection pattern
2548 */
2549tSCC zLimits_IfndefsList[] =
c1fd153e 2550 "|sys/limits.h|limits.h|";
06bbab1b
BK
2551/*
2552 * Machine/OS name selection pattern
2553 */
2554#define apzLimits_IfndefsMachs (const char**)NULL
2555
2556/*
be02fa1a 2557 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
2558 */
2559tSCC zLimits_IfndefsBypass0[] =
2560 "ifndef[ \t]+FLT_MIN";
2561
2562#define LIMITS_IFNDEFS_TEST_CT 1
3af556f7 2563static tTestDesc aLimits_IfndefsTests[] = {
5abc1f74 2564 { TT_NEGREP, zLimits_IfndefsBypass0, (regex_t*)NULL }, };
06bbab1b
BK
2565
2566/*
2567 * Fix Command Arguments for Limits_Ifndefs
2568 */
3af556f7 2569static const char* apzLimits_IfndefsPatch[] = {
79589c4d
BK
2570 "format",
2571 "#ifndef %1\n\
a8228686
BK
2572%0\n\
2573#endif",
2574 "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
06bbab1b
BK
2575 (char*)NULL };
2576
2577/* * * * * * * * * * * * * * * * * * * * * * * * * *
2578 *
5abc1f74 2579 * Description of Lynx_Void_Int fix
06bbab1b
BK
2580 */
2581tSCC zLynx_Void_IntName[] =
3be1fb72
ZW
2582 "lynx_void_int";
2583
06bbab1b
BK
2584/*
2585 * File name selection pattern
2586 */
2587tSCC zLynx_Void_IntList[] =
c329beb0 2588 "|curses.h|";
06bbab1b
BK
2589/*
2590 * Machine/OS name selection pattern
2591 */
2592#define apzLynx_Void_IntMachs (const char**)NULL
2593
2594/*
be02fa1a 2595 * content selection pattern - do fix if pattern found
06bbab1b
BK
2596 */
2597tSCC zLynx_Void_IntSelect0[] =
79589c4d 2598 "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
06bbab1b
BK
2599
2600#define LYNX_VOID_INT_TEST_CT 1
3af556f7 2601static tTestDesc aLynx_Void_IntTests[] = {
5abc1f74 2602 { TT_EGREP, zLynx_Void_IntSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2603
2604/*
2605 * Fix Command Arguments for Lynx_Void_Int
2606 */
3af556f7 2607static const char* apzLynx_Void_IntPatch[] = {
79589c4d
BK
2608 "format",
2609 "",
06bbab1b
BK
2610 (char*)NULL };
2611
2612/* * * * * * * * * * * * * * * * * * * * * * * * * *
2613 *
5abc1f74 2614 * Description of Lynxos_Fcntl_Proto fix
06bbab1b
BK
2615 */
2616tSCC zLynxos_Fcntl_ProtoName[] =
3be1fb72
ZW
2617 "lynxos_fcntl_proto";
2618
06bbab1b
BK
2619/*
2620 * File name selection pattern
2621 */
2622tSCC zLynxos_Fcntl_ProtoList[] =
c329beb0 2623 "|fcntl.h|";
06bbab1b
BK
2624/*
2625 * Machine/OS name selection pattern
2626 */
2627#define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
48bd9529
BK
2628
2629/*
be02fa1a 2630 * content selection pattern - do fix if pattern found
48bd9529
BK
2631 */
2632tSCC zLynxos_Fcntl_ProtoSelect0[] =
79589c4d 2633 "fcntl[ \t]*\\(int, int, int\\)";
48bd9529
BK
2634
2635#define LYNXOS_FCNTL_PROTO_TEST_CT 1
3af556f7 2636static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
5abc1f74 2637 { TT_EGREP, zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2638
2639/*
2640 * Fix Command Arguments for Lynxos_Fcntl_Proto
2641 */
3af556f7 2642static const char* apzLynxos_Fcntl_ProtoPatch[] = {
79589c4d
BK
2643 "format",
2644 "%1...)",
2645 "(fcntl[ \t]*\\(int, int, )int\\)",
06bbab1b
BK
2646 (char*)NULL };
2647
2648/* * * * * * * * * * * * * * * * * * * * * * * * * *
2649 *
5abc1f74 2650 * Description of M88k_Bad_Hypot_Opt fix
06bbab1b
BK
2651 */
2652tSCC zM88k_Bad_Hypot_OptName[] =
3be1fb72
ZW
2653 "m88k_bad_hypot_opt";
2654
06bbab1b
BK
2655/*
2656 * File name selection pattern
2657 */
2658tSCC zM88k_Bad_Hypot_OptList[] =
c329beb0 2659 "|math.h|";
06bbab1b
BK
2660/*
2661 * Machine/OS name selection pattern
2662 */
2663tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
2664 "m88k-motorola-sysv3*",
2665 (const char*)NULL };
79589c4d
BK
2666
2667/*
2668 * content selection pattern - do fix if pattern found
2669 */
2670tSCC zM88k_Bad_Hypot_OptSelect0[] =
2671 "^extern double hypot\\(\\);\n";
2672
2673#define M88K_BAD_HYPOT_OPT_TEST_CT 1
3af556f7 2674static tTestDesc aM88k_Bad_Hypot_OptTests[] = {
79589c4d 2675 { TT_EGREP, zM88k_Bad_Hypot_OptSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2676
2677/*
2678 * Fix Command Arguments for M88k_Bad_Hypot_Opt
2679 */
3af556f7 2680static const char* apzM88k_Bad_Hypot_OptPatch[] = {
79589c4d
BK
2681 "format",
2682 "%0/* Workaround a stupid Motorola optimization if one\n\
2683 of x or y is 0.0 and the other is negative! */\n\
2684#ifdef __STDC__\n\
2685static __inline__ double fake_hypot (double x, double y)\n\
2686#else\n\
2687static __inline__ double fake_hypot (x, y)\n\
2688\tdouble x, y;\n\
2689#endif\n\
2690{\n\
2691\treturn fabs (hypot (x, y));\n\
2692}\n\
c329beb0 2693#define hypot\tfake_hypot\n",
06bbab1b
BK
2694 (char*)NULL };
2695
2696/* * * * * * * * * * * * * * * * * * * * * * * * * *
2697 *
5abc1f74 2698 * Description of M88k_Bad_S_If fix
06bbab1b
BK
2699 */
2700tSCC zM88k_Bad_S_IfName[] =
3be1fb72
ZW
2701 "m88k_bad_s_if";
2702
06bbab1b
BK
2703/*
2704 * File name selection pattern
2705 */
2706tSCC zM88k_Bad_S_IfList[] =
c329beb0 2707 "|sys/stat.h|";
06bbab1b
BK
2708/*
2709 * Machine/OS name selection pattern
2710 */
2711tSCC* apzM88k_Bad_S_IfMachs[] = {
2712 "m88k-*-sysv3*",
2713 (const char*)NULL };
2714
2715/*
be02fa1a 2716 * content selection pattern - do fix if pattern found
06bbab1b
BK
2717 */
2718tSCC zM88k_Bad_S_IfSelect0[] =
79589c4d 2719 "#define[ \t]+S_IS[A-Z]+\\(m\\)[ \t]+\\(m[ \t]*&";
06bbab1b
BK
2720
2721#define M88K_BAD_S_IF_TEST_CT 1
3af556f7 2722static tTestDesc aM88k_Bad_S_IfTests[] = {
5abc1f74 2723 { TT_EGREP, zM88k_Bad_S_IfSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2724
2725/*
2726 * Fix Command Arguments for M88k_Bad_S_If
2727 */
3af556f7 2728static const char* apzM88k_Bad_S_IfPatch[] = {
79589c4d
BK
2729 "format",
2730 "#define %1(m) (((m) & S_IFMT) == %2)",
2731 "#define[ \t]+(S_IS[A-Z]+)\\(m\\)[ \t]+\\(m[ \t]*&[ \t]*(S_IF[A-Z][A-Z][A-Z]+|0[0-9]+)[ \t]*\\)",
06bbab1b
BK
2732 (char*)NULL };
2733
2734/* * * * * * * * * * * * * * * * * * * * * * * * * *
2735 *
5abc1f74 2736 * Description of M88k_Multi_Incl fix
06bbab1b
BK
2737 */
2738tSCC zM88k_Multi_InclName[] =
3be1fb72
ZW
2739 "m88k_multi_incl";
2740
06bbab1b
BK
2741/*
2742 * File name selection pattern
2743 */
2744tSCC zM88k_Multi_InclList[] =
c329beb0 2745 "|time.h|";
06bbab1b
BK
2746/*
2747 * Machine/OS name selection pattern
2748 */
2749tSCC* apzM88k_Multi_InclMachs[] = {
2750 "m88k-tektronix-sysv3*",
2751 (const char*)NULL };
2752
2753/*
be02fa1a 2754 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
2755 */
2756tSCC zM88k_Multi_InclBypass0[] =
2757 "#ifndef";
2758
2759#define M88K_MULTI_INCL_TEST_CT 1
3af556f7 2760static tTestDesc aM88k_Multi_InclTests[] = {
5abc1f74 2761 { TT_NEGREP, zM88k_Multi_InclBypass0, (regex_t*)NULL }, };
06bbab1b
BK
2762
2763/*
2764 * Fix Command Arguments for M88k_Multi_Incl
2765 */
3af556f7 2766static const char* apzM88k_Multi_InclPatch[] = {
da6d3adf 2767 "wrap",
06bbab1b
BK
2768 (char*)NULL };
2769
3be1fb72
ZW
2770/* * * * * * * * * * * * * * * * * * * * * * * * * *
2771 *
2772 * Description of Machine_Ansi_H_Va_List fix
2773 */
3be1fb72
ZW
2774tSCC zMachine_Ansi_H_Va_ListName[] =
2775 "machine_ansi_h_va_list";
2776
2777/*
2778 * File name selection pattern
2779 */
1435059e 2780#define zMachine_Ansi_H_Va_ListList (char*)NULL
3be1fb72
ZW
2781/*
2782 * Machine/OS name selection pattern
2783 */
2784#define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2785
2786/*
2787 * content selection pattern - do fix if pattern found
2788 */
2789tSCC zMachine_Ansi_H_Va_ListSelect0[] =
a8228686 2790 "define[ \t]+_BSD_VA_LIST_[ \t]";
3be1fb72
ZW
2791
2792/*
2793 * content bypass pattern - skip fix if pattern found
2794 */
2795tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2796 "__builtin_va_list";
2797
2798#define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
3af556f7 2799static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3be1fb72
ZW
2800 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
2801 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
2802
2803/*
2804 * Fix Command Arguments for Machine_Ansi_H_Va_List
2805 */
3af556f7 2806static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
a8228686
BK
2807 "format",
2808 "%1__builtin_va_list",
2809 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3be1fb72
ZW
2810 (char*)NULL };
2811
06bbab1b
BK
2812/* * * * * * * * * * * * * * * * * * * * * * * * * *
2813 *
5abc1f74 2814 * Description of Machine_Name fix
06bbab1b
BK
2815 */
2816tSCC zMachine_NameName[] =
3be1fb72
ZW
2817 "machine_name";
2818
06bbab1b
BK
2819/*
2820 * File name selection pattern
2821 */
2822#define zMachine_NameList (char*)NULL
2823/*
2824 * Machine/OS name selection pattern
2825 */
2826#define apzMachine_NameMachs (const char**)NULL
2827
2828/*
52c207e2 2829 * perform the C function call test
06bbab1b 2830 */
52c207e2 2831tSCC zMachine_NameFTst0[] = "machine_name";
06bbab1b
BK
2832
2833#define MACHINE_NAME_TEST_CT 1
3af556f7 2834static tTestDesc aMachine_NameTests[] = {
52c207e2 2835 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
06bbab1b
BK
2836
2837/*
2838 * Fix Command Arguments for Machine_Name
2839 */
3af556f7 2840static const char* apzMachine_NamePatch[] = {
f5b105ca 2841 "machine_name",
06bbab1b
BK
2842 (char*)NULL };
2843
2844/* * * * * * * * * * * * * * * * * * * * * * * * * *
2845 *
5abc1f74 2846 * Description of Math_Exception fix
06bbab1b
BK
2847 */
2848tSCC zMath_ExceptionName[] =
3be1fb72
ZW
2849 "math_exception";
2850
06bbab1b
BK
2851/*
2852 * File name selection pattern
2853 */
2854tSCC zMath_ExceptionList[] =
c329beb0 2855 "|math.h|";
06bbab1b
BK
2856/*
2857 * Machine/OS name selection pattern
2858 */
2859#define apzMath_ExceptionMachs (const char**)NULL
2860
2861/*
be02fa1a 2862 * content selection pattern - do fix if pattern found
06bbab1b
BK
2863 */
2864tSCC zMath_ExceptionSelect0[] =
2865 "struct exception";
2866
d7eb5a45
ZW
2867/*
2868 * content bypass pattern - skip fix if pattern found
2869 */
2870tSCC zMath_ExceptionBypass0[] =
5c0d5b94 2871 "We have a problem when using C\\+\\+";
d7eb5a45
ZW
2872
2873#define MATH_EXCEPTION_TEST_CT 2
3af556f7 2874static tTestDesc aMath_ExceptionTests[] = {
d7eb5a45 2875 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
5abc1f74 2876 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
06bbab1b
BK
2877
2878/*
2879 * Fix Command Arguments for Math_Exception
2880 */
3af556f7 2881static const char* apzMath_ExceptionPatch[] = {
ba8fcfc3
BK
2882 "wrap",
2883 "#ifdef __cplusplus\n\
2884#define exception __math_exception\n\
c329beb0 2885#endif\n",
ba8fcfc3
BK
2886 "#ifdef __cplusplus\n\
2887#undef exception\n\
c329beb0 2888#endif\n",
06bbab1b
BK
2889 (char*)NULL };
2890
2891/* * * * * * * * * * * * * * * * * * * * * * * * * *
2892 *
d7eb5a45 2893 * Description of Math_Huge_Val_From_Dbl_Max fix
06bbab1b 2894 */
d7eb5a45 2895tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3be1fb72
ZW
2896 "math_huge_val_from_dbl_max";
2897
06bbab1b
BK
2898/*
2899 * File name selection pattern
2900 */
d7eb5a45 2901tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
c329beb0 2902 "|math.h|";
06bbab1b
BK
2903/*
2904 * Machine/OS name selection pattern
2905 */
d7eb5a45
ZW
2906#define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
2907
2908/*
2909 * content selection pattern - do fix if pattern found
2910 */
2911tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
b5e20633 2912 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
06bbab1b
BK
2913
2914/*
d7eb5a45 2915 * content bypass pattern - skip fix if pattern found
06bbab1b 2916 */
d7eb5a45 2917tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
b5e20633 2918 "define[ \t]+DBL_MAX";
d7eb5a45
ZW
2919
2920#define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
3af556f7 2921static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
d7eb5a45
ZW
2922 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
2923 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
2924
2925/*
2926 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
2927 */
3af556f7 2928static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
dac32862 2929 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
d7eb5a45 2930\tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
b5e20633 2931\tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
d7eb5a45
ZW
2932\telse cat\n\
2933\tfi",
2934 (char*)NULL };
2935
2936/* * * * * * * * * * * * * * * * * * * * * * * * * *
2937 *
2938 * Description of Math_Huge_Val_Ifndef fix
2939 */
d7eb5a45 2940tSCC zMath_Huge_Val_IfndefName[] =
3be1fb72
ZW
2941 "math_huge_val_ifndef";
2942
d7eb5a45
ZW
2943/*
2944 * File name selection pattern
2945 */
2946tSCC zMath_Huge_Val_IfndefList[] =
a8228686 2947 "|math.h|math/math.h|";
d7eb5a45
ZW
2948/*
2949 * Machine/OS name selection pattern
2950 */
2951#define apzMath_Huge_Val_IfndefMachs (const char**)NULL
2952
2953/*
2954 * content selection pattern - do fix if pattern found
2955 */
2956tSCC zMath_Huge_Val_IfndefSelect0[] =
a8228686 2957 "define[ \t]+HUGE_VAL";
d7eb5a45
ZW
2958
2959#define MATH_HUGE_VAL_IFNDEF_TEST_CT 1
3af556f7 2960static tTestDesc aMath_Huge_Val_IfndefTests[] = {
d7eb5a45
ZW
2961 { TT_EGREP, zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
2962
2963/*
2964 * Fix Command Arguments for Math_Huge_Val_Ifndef
2965 */
3af556f7 2966static const char* apzMath_Huge_Val_IfndefPatch[] = {
a8228686
BK
2967 "format",
2968 "#ifndef HUGE_VAL\n\
2969%0\n\
2970#endif",
2971 "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
06bbab1b
BK
2972 (char*)NULL };
2973
7b78a14a
BK
2974/* * * * * * * * * * * * * * * * * * * * * * * * * *
2975 *
2976 * Description of Nested_Auth_Des fix
2977 */
2978tSCC zNested_Auth_DesName[] =
2979 "nested_auth_des";
2980
2981/*
2982 * File name selection pattern
2983 */
2984tSCC zNested_Auth_DesList[] =
2985 "|rpc/rpc.h|";
2986/*
2987 * Machine/OS name selection pattern
2988 */
2989#define apzNested_Auth_DesMachs (const char**)NULL
2990
2991/*
2992 * content selection pattern - do fix if pattern found
2993 */
2994tSCC zNested_Auth_DesSelect0[] =
2995 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
2996
2997#define NESTED_AUTH_DES_TEST_CT 1
2998static tTestDesc aNested_Auth_DesTests[] = {
2999 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3000
3001/*
3002 * Fix Command Arguments for Nested_Auth_Des
3003 */
3004static const char* apzNested_Auth_DesPatch[] = {
3005 "format",
3006 "%1*/ /*",
3007 (char*)NULL };
3008
06bbab1b
BK
3009/* * * * * * * * * * * * * * * * * * * * * * * * * *
3010 *
79589c4d
BK
3011 * Description of Nested_Motorola fix
3012 */
79589c4d
BK
3013tSCC zNested_MotorolaName[] =
3014 "nested_motorola";
3015
3016/*
3017 * File name selection pattern
3018 */
3019tSCC zNested_MotorolaList[] =
c1fd153e 3020 "|sys/limits.h|limits.h|";
79589c4d
BK
3021/*
3022 * Machine/OS name selection pattern
3023 */
3024tSCC* apzNested_MotorolaMachs[] = {
3025 "m68k-motorola-sysv*",
3026 (const char*)NULL };
b5e20633
BK
3027
3028/*
3029 * content selection pattern - do fix if pattern found
3030 */
3031tSCC zNested_MotorolaSelect0[] =
3032 "max # bytes atomic in write|error value returned by Math lib";
3033
3034#define NESTED_MOTOROLA_TEST_CT 1
3af556f7 3035static tTestDesc aNested_MotorolaTests[] = {
b5e20633 3036 { TT_EGREP, zNested_MotorolaSelect0, (regex_t*)NULL }, };
79589c4d
BK
3037
3038/*
3039 * Fix Command Arguments for Nested_Motorola
3040 */
3af556f7 3041static const char* apzNested_MotorolaPatch[] = { "sed",
79589c4d
BK
3042 "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3043 "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3044 (char*)NULL };
3045
3046/* * * * * * * * * * * * * * * * * * * * * * * * * *
3047 *
3048 * Description of Nested_Sys_Limits fix
3049 */
79589c4d
BK
3050tSCC zNested_Sys_LimitsName[] =
3051 "nested_sys_limits";
3052
3053/*
3054 * File name selection pattern
3055 */
3056tSCC zNested_Sys_LimitsList[] =
3057 "|sys/limits.h|";
3058/*
3059 * Machine/OS name selection pattern
3060 */
3061#define apzNested_Sys_LimitsMachs (const char**)NULL
3062
3063/*
3064 * content selection pattern - do fix if pattern found
3065 */
3066tSCC zNested_Sys_LimitsSelect0[] =
3067 "CHILD_MAX";
3068
3069#define NESTED_SYS_LIMITS_TEST_CT 1
3af556f7 3070static tTestDesc aNested_Sys_LimitsTests[] = {
79589c4d
BK
3071 { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3072
3073/*
3074 * Fix Command Arguments for Nested_Sys_Limits
3075 */
3af556f7 3076static const char* apzNested_Sys_LimitsPatch[] = { "sed",
79589c4d
BK
3077 "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3078 "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3079 (char*)NULL };
3080
06bbab1b
BK
3081/* * * * * * * * * * * * * * * * * * * * * * * * * *
3082 *
5abc1f74 3083 * Description of News_Os_Recursion fix
06bbab1b
BK
3084 */
3085tSCC zNews_Os_RecursionName[] =
3be1fb72
ZW
3086 "news_os_recursion";
3087
06bbab1b
BK
3088/*
3089 * File name selection pattern
3090 */
3091tSCC zNews_Os_RecursionList[] =
c329beb0 3092 "|stdlib.h|";
06bbab1b
BK
3093/*
3094 * Machine/OS name selection pattern
3095 */
3096#define apzNews_Os_RecursionMachs (const char**)NULL
3097
3098/*
be02fa1a 3099 * content selection pattern - do fix if pattern found
06bbab1b
BK
3100 */
3101tSCC zNews_Os_RecursionSelect0[] =
cb8d5168 3102 "[ \t]*#include <stdlib\\.h>.*";
06bbab1b
BK
3103
3104#define NEWS_OS_RECURSION_TEST_CT 1
3af556f7 3105static tTestDesc aNews_Os_RecursionTests[] = {
5abc1f74 3106 { TT_EGREP, zNews_Os_RecursionSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3107
3108/*
3109 * Fix Command Arguments for News_Os_Recursion
3110 */
3af556f7 3111static const char* apzNews_Os_RecursionPatch[] = {
a8228686
BK
3112 "format",
3113 "#ifdef BOGUS_RECURSION\n\
3114%0\n\
3115#endif",
06bbab1b
BK
3116 (char*)NULL };
3117
3118/* * * * * * * * * * * * * * * * * * * * * * * * * *
3119 *
5abc1f74 3120 * Description of Next_Math_Prefix fix
06bbab1b
BK
3121 */
3122tSCC zNext_Math_PrefixName[] =
3be1fb72
ZW
3123 "next_math_prefix";
3124
06bbab1b
BK
3125/*
3126 * File name selection pattern
3127 */
3128tSCC zNext_Math_PrefixList[] =
c329beb0 3129 "|ansi/math.h|";
06bbab1b
BK
3130/*
3131 * Machine/OS name selection pattern
3132 */
3133#define apzNext_Math_PrefixMachs (const char**)NULL
3134
3135/*
be02fa1a 3136 * content selection pattern - do fix if pattern found
06bbab1b
BK
3137 */
3138tSCC zNext_Math_PrefixSelect0[] =
a8228686 3139 "^extern[ \t]+double[ \t]+__const__[ \t]";
06bbab1b
BK
3140
3141#define NEXT_MATH_PREFIX_TEST_CT 1
3af556f7 3142static tTestDesc aNext_Math_PrefixTests[] = {
5abc1f74 3143 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3144
3145/*
3146 * Fix Command Arguments for Next_Math_Prefix
3147 */
3af556f7 3148static const char* apzNext_Math_PrefixPatch[] = {
a8228686
BK
3149 "format",
3150 "extern double %1(",
3151 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
06bbab1b
BK
3152 (char*)NULL };
3153
3154/* * * * * * * * * * * * * * * * * * * * * * * * * *
3155 *
5abc1f74 3156 * Description of Next_Template fix
06bbab1b
BK
3157 */
3158tSCC zNext_TemplateName[] =
3be1fb72
ZW
3159 "next_template";
3160
06bbab1b
BK
3161/*
3162 * File name selection pattern
3163 */
3164tSCC zNext_TemplateList[] =
c329beb0 3165 "|bsd/libc.h|";
06bbab1b
BK
3166/*
3167 * Machine/OS name selection pattern
3168 */
3169#define apzNext_TemplateMachs (const char**)NULL
3170
3171/*
be02fa1a 3172 * content selection pattern - do fix if pattern found
06bbab1b
BK
3173 */
3174tSCC zNext_TemplateSelect0[] =
a8228686 3175 "[ \t]template\\)";
06bbab1b
BK
3176
3177#define NEXT_TEMPLATE_TEST_CT 1
3af556f7 3178static tTestDesc aNext_TemplateTests[] = {
5abc1f74 3179 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3180
3181/*
3182 * Fix Command Arguments for Next_Template
3183 */
3af556f7 3184static const char* apzNext_TemplatePatch[] = {
a8228686
BK
3185 "format",
3186 "(%1)",
3187 "\\(([^)]*)[ \t]template\\)",
06bbab1b
BK
3188 (char*)NULL };
3189
3190/* * * * * * * * * * * * * * * * * * * * * * * * * *
3191 *
5abc1f74 3192 * Description of Next_Volitile fix
06bbab1b
BK
3193 */
3194tSCC zNext_VolitileName[] =
3be1fb72
ZW
3195 "next_volitile";
3196
06bbab1b
BK
3197/*
3198 * File name selection pattern
3199 */
3200tSCC zNext_VolitileList[] =
c329beb0 3201 "|ansi/stdlib.h|";
06bbab1b
BK
3202/*
3203 * Machine/OS name selection pattern
3204 */
3205#define apzNext_VolitileMachs (const char**)NULL
3206
3207/*
be02fa1a 3208 * content selection pattern - do fix if pattern found
06bbab1b
BK
3209 */
3210tSCC zNext_VolitileSelect0[] =
a8228686 3211 "^extern[ \t]+volatile[ \t]+void[ \t]";
06bbab1b
BK
3212
3213#define NEXT_VOLITILE_TEST_CT 1
3af556f7 3214static tTestDesc aNext_VolitileTests[] = {
5abc1f74 3215 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3216
3217/*
3218 * Fix Command Arguments for Next_Volitile
3219 */
3af556f7 3220static const char* apzNext_VolitilePatch[] = {
a8228686
BK
3221 "format",
3222 "extern void %1(",
3223 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
06bbab1b
BK
3224 (char*)NULL };
3225
3226/* * * * * * * * * * * * * * * * * * * * * * * * * *
3227 *
5abc1f74 3228 * Description of Next_Wait_Union fix
06bbab1b
BK
3229 */
3230tSCC zNext_Wait_UnionName[] =
3be1fb72
ZW
3231 "next_wait_union";
3232
06bbab1b
BK
3233/*
3234 * File name selection pattern
3235 */
3236tSCC zNext_Wait_UnionList[] =
c329beb0 3237 "|sys/wait.h|";
06bbab1b
BK
3238/*
3239 * Machine/OS name selection pattern
3240 */
3241#define apzNext_Wait_UnionMachs (const char**)NULL
3242
3243/*
be02fa1a 3244 * content selection pattern - do fix if pattern found
06bbab1b
BK
3245 */
3246tSCC zNext_Wait_UnionSelect0[] =
3247 "wait\\(union wait";
3248
3249#define NEXT_WAIT_UNION_TEST_CT 1
3af556f7 3250static tTestDesc aNext_Wait_UnionTests[] = {
5abc1f74 3251 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3252
3253/*
3254 * Fix Command Arguments for Next_Wait_Union
3255 */
3af556f7 3256static const char* apzNext_Wait_UnionPatch[] = {
cb8d5168
BK
3257 "format",
3258 "wait(void",
06bbab1b
BK
3259 (char*)NULL };
3260
3261/* * * * * * * * * * * * * * * * * * * * * * * * * *
3262 *
5abc1f74 3263 * Description of Nodeent_Syntax fix
06bbab1b
BK
3264 */
3265tSCC zNodeent_SyntaxName[] =
3be1fb72
ZW
3266 "nodeent_syntax";
3267
06bbab1b
BK
3268/*
3269 * File name selection pattern
3270 */
3271tSCC zNodeent_SyntaxList[] =
c329beb0 3272 "|netdnet/dnetdb.h|";
06bbab1b
BK
3273/*
3274 * Machine/OS name selection pattern
3275 */
3276#define apzNodeent_SyntaxMachs (const char**)NULL
cb8d5168
BK
3277
3278/*
3279 * content selection pattern - do fix if pattern found
3280 */
3281tSCC zNodeent_SyntaxSelect0[] =
3282 "char[ \t]*\\*na_addr[ \t]*$";
3283
3284#define NODEENT_SYNTAX_TEST_CT 1
3af556f7 3285static tTestDesc aNodeent_SyntaxTests[] = {
cb8d5168 3286 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3287
3288/*
3289 * Fix Command Arguments for Nodeent_Syntax
3290 */
3af556f7 3291static const char* apzNodeent_SyntaxPatch[] = {
cb8d5168
BK
3292 "format",
3293 "%0;",
06bbab1b
BK
3294 (char*)NULL };
3295
3296/* * * * * * * * * * * * * * * * * * * * * * * * * *
3297 *
5abc1f74 3298 * Description of Osf_Namespace_A fix
06bbab1b
BK
3299 */
3300tSCC zOsf_Namespace_AName[] =
3be1fb72
ZW
3301 "osf_namespace_a";
3302
06bbab1b
BK
3303/*
3304 * File name selection pattern
3305 */
3306tSCC zOsf_Namespace_AList[] =
c329beb0 3307 "|reg_types.h|sys/lc_core.h|";
06bbab1b
BK
3308/*
3309 * Machine/OS name selection pattern
3310 */
3311#define apzOsf_Namespace_AMachs (const char**)NULL
3312
3313/*
be02fa1a 3314 * perform the 'test' shell command - do fix on success
06bbab1b
BK
3315 */
3316tSCC zOsf_Namespace_ATest0[] =
48bd9529
BK
3317 " -r reg_types.h";
3318tSCC zOsf_Namespace_ATest1[] =
3319 " -r sys/lc_core.h";
3320tSCC zOsf_Namespace_ATest2[] =
3321 " -n \"`grep '} regex_t;' reg_types.h`\"";
3322tSCC zOsf_Namespace_ATest3[] =
3323 " -z \"`grep __regex_t regex.h`\"";
3324
3325#define OSF_NAMESPACE_A_TEST_CT 4
3af556f7 3326static tTestDesc aOsf_Namespace_ATests[] = {
5abc1f74
BK
3327 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
3328 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
3329 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
3330 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
06bbab1b
BK
3331
3332/*
3333 * Fix Command Arguments for Osf_Namespace_A
3334 */
3af556f7 3335static const char* apzOsf_Namespace_APatch[] = {
cb8d5168
BK
3336 "format",
3337 "__%0",
ef6df611 3338 "reg(ex|off|match)_t",
06bbab1b
BK
3339 (char*)NULL };
3340
3341/* * * * * * * * * * * * * * * * * * * * * * * * * *
3342 *
cb8d5168 3343 * Description of Osf_Namespace_C fix
06bbab1b 3344 */
cb8d5168
BK
3345tSCC zOsf_Namespace_CName[] =
3346 "osf_namespace_c";
3be1fb72 3347
06bbab1b
BK
3348/*
3349 * File name selection pattern
3350 */
cb8d5168 3351tSCC zOsf_Namespace_CList[] =
c329beb0 3352 "|regex.h|";
06bbab1b
BK
3353/*
3354 * Machine/OS name selection pattern
3355 */
cb8d5168
BK
3356#define apzOsf_Namespace_CMachs (const char**)NULL
3357
3358/*
3359 * content selection pattern - do fix if pattern found
3360 */
3361tSCC zOsf_Namespace_CSelect0[] =
3362 "#include <reg_types.h>.*";
06bbab1b
BK
3363
3364/*
be02fa1a 3365 * perform the 'test' shell command - do fix on success
06bbab1b 3366 */
cb8d5168 3367tSCC zOsf_Namespace_CTest0[] =
48bd9529 3368 " -r reg_types.h";
cb8d5168 3369tSCC zOsf_Namespace_CTest1[] =
48bd9529 3370 " -r sys/lc_core.h";
cb8d5168 3371tSCC zOsf_Namespace_CTest2[] =
48bd9529 3372 " -n \"`grep '} regex_t;' reg_types.h`\"";
cb8d5168 3373tSCC zOsf_Namespace_CTest3[] =
48bd9529
BK
3374 " -z \"`grep __regex_t regex.h`\"";
3375
cb8d5168 3376#define OSF_NAMESPACE_C_TEST_CT 5
3af556f7 3377static tTestDesc aOsf_Namespace_CTests[] = {
cb8d5168
BK
3378 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
3379 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
3380 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
3381 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
3382 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3383
3384/*
cb8d5168 3385 * Fix Command Arguments for Osf_Namespace_C
06bbab1b 3386 */
3af556f7 3387static const char* apzOsf_Namespace_CPatch[] = {
cb8d5168
BK
3388 "format",
3389 "%0\n\
3390typedef __regex_t\tregex_t;\n\
3391typedef __regoff_t\tregoff_t;\n\
3392typedef __regmatch_t\tregmatch_t;",
06bbab1b
BK
3393 (char*)NULL };
3394
3395/* * * * * * * * * * * * * * * * * * * * * * * * * *
3396 *
5abc1f74 3397 * Description of Pthread_Page_Size fix
06bbab1b
BK
3398 */
3399tSCC zPthread_Page_SizeName[] =
3be1fb72
ZW
3400 "pthread_page_size";
3401
06bbab1b
BK
3402/*
3403 * File name selection pattern
3404 */
3405tSCC zPthread_Page_SizeList[] =
c329beb0 3406 "|pthread.h|";
06bbab1b
BK
3407/*
3408 * Machine/OS name selection pattern
3409 */
3410#define apzPthread_Page_SizeMachs (const char**)NULL
3411
3412/*
be02fa1a 3413 * content selection pattern - do fix if pattern found
06bbab1b
BK
3414 */
3415tSCC zPthread_Page_SizeSelect0[] =
3416 "^int __page_size";
3417
3418#define PTHREAD_PAGE_SIZE_TEST_CT 1
3af556f7 3419static tTestDesc aPthread_Page_SizeTests[] = {
5abc1f74 3420 { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3421
3422/*
3423 * Fix Command Arguments for Pthread_Page_Size
3424 */
3af556f7 3425static const char* apzPthread_Page_SizePatch[] = {
cb8d5168
BK
3426 "format",
3427 "extern %0",
06bbab1b
BK
3428 (char*)NULL };
3429
3430/* * * * * * * * * * * * * * * * * * * * * * * * * *
3431 *
5abc1f74 3432 * Description of Read_Ret_Type fix
d71ef9d4
BK
3433 */
3434tSCC zRead_Ret_TypeName[] =
3be1fb72
ZW
3435 "read_ret_type";
3436
d71ef9d4
BK
3437/*
3438 * File name selection pattern
3439 */
3440tSCC zRead_Ret_TypeList[] =
3441 "|stdio.h|";
3442/*
3443 * Machine/OS name selection pattern
3444 */
3445#define apzRead_Ret_TypeMachs (const char**)NULL
3446
3447/*
3448 * content selection pattern - do fix if pattern found
3449 */
3450tSCC zRead_Ret_TypeSelect0[] =
3451 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3452
3453#define READ_RET_TYPE_TEST_CT 1
3af556f7 3454static tTestDesc aRead_Ret_TypeTests[] = {
5abc1f74 3455 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
d71ef9d4
BK
3456
3457/*
3458 * Fix Command Arguments for Read_Ret_Type
3459 */
3af556f7 3460static const char* apzRead_Ret_TypePatch[] = {
cb8d5168
BK
3461 "format",
3462 "extern unsigned int fread(), fwrite();\n\
3463%1%2",
3464 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
d71ef9d4
BK
3465 (char*)NULL };
3466
3467/* * * * * * * * * * * * * * * * * * * * * * * * * *
3468 *
5abc1f74 3469 * Description of Rs6000_Double fix
06bbab1b
BK
3470 */
3471tSCC zRs6000_DoubleName[] =
3be1fb72
ZW
3472 "rs6000_double";
3473
06bbab1b
BK
3474/*
3475 * File name selection pattern
3476 */
3477tSCC zRs6000_DoubleList[] =
c329beb0 3478 "|math.h|";
06bbab1b
BK
3479/*
3480 * Machine/OS name selection pattern
3481 */
3482#define apzRs6000_DoubleMachs (const char**)NULL
3483
3484/*
be02fa1a 3485 * content selection pattern - do fix if pattern found
06bbab1b
BK
3486 */
3487tSCC zRs6000_DoubleSelect0[] =
3488 "[^a-zA-Z_]class\\(";
3489
3490#define RS6000_DOUBLE_TEST_CT 1
3af556f7 3491static tTestDesc aRs6000_DoubleTests[] = {
5abc1f74 3492 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3493
3494/*
3495 * Fix Command Arguments for Rs6000_Double
3496 */
3af556f7 3497static const char* apzRs6000_DoublePatch[] = {
cb8d5168
BK
3498 "format",
3499 "#ifndef __cplusplus\n\
3500%0\n\
3501#endif",
3502 "^.*[^a-zA-Z_]class\\(.*",
06bbab1b
BK
3503 (char*)NULL };
3504
3505/* * * * * * * * * * * * * * * * * * * * * * * * * *
3506 *
5abc1f74 3507 * Description of Rs6000_Fchmod fix
06bbab1b
BK
3508 */
3509tSCC zRs6000_FchmodName[] =
3be1fb72
ZW
3510 "rs6000_fchmod";
3511
06bbab1b
BK
3512/*
3513 * File name selection pattern
3514 */
3515tSCC zRs6000_FchmodList[] =
c329beb0 3516 "|sys/stat.h|";
06bbab1b
BK
3517/*
3518 * Machine/OS name selection pattern
3519 */
3520#define apzRs6000_FchmodMachs (const char**)NULL
3521
3522/*
be02fa1a 3523 * content selection pattern - do fix if pattern found
06bbab1b
BK
3524 */
3525tSCC zRs6000_FchmodSelect0[] =
cb8d5168 3526 "fchmod\\(char \\*";
06bbab1b
BK
3527
3528#define RS6000_FCHMOD_TEST_CT 1
3af556f7 3529static tTestDesc aRs6000_FchmodTests[] = {
5abc1f74 3530 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3531
3532/*
3533 * Fix Command Arguments for Rs6000_Fchmod
3534 */
3af556f7 3535static const char* apzRs6000_FchmodPatch[] = {
cb8d5168
BK
3536 "format",
3537 "fchmod(int",
06bbab1b
BK
3538 (char*)NULL };
3539
3540/* * * * * * * * * * * * * * * * * * * * * * * * * *
3541 *
5abc1f74 3542 * Description of Rs6000_Param fix
06bbab1b
BK
3543 */
3544tSCC zRs6000_ParamName[] =
3be1fb72
ZW
3545 "rs6000_param";
3546
06bbab1b
BK
3547/*
3548 * File name selection pattern
3549 */
3550tSCC zRs6000_ParamList[] =
c329beb0 3551 "|stdio.h|unistd.h|";
06bbab1b
BK
3552/*
3553 * Machine/OS name selection pattern
3554 */
3555#define apzRs6000_ParamMachs (const char**)NULL
d7eb5a45
ZW
3556
3557/*
3558 * content selection pattern - do fix if pattern found
3559 */
3560tSCC zRs6000_ParamSelect0[] =
cb8d5168 3561 "rename\\(const char \\*old, const char \\*new\\)";
d7eb5a45
ZW
3562
3563#define RS6000_PARAM_TEST_CT 1
3af556f7 3564static tTestDesc aRs6000_ParamTests[] = {
d7eb5a45 3565 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3566
3567/*
3568 * Fix Command Arguments for Rs6000_Param
3569 */
3af556f7 3570static const char* apzRs6000_ParamPatch[] = {
cb8d5168
BK
3571 "format",
3572 "rename(const char *_old, const char *_new)",
06bbab1b
BK
3573 (char*)NULL };
3574
4c188026
BK
3575/* * * * * * * * * * * * * * * * * * * * * * * * * *
3576 *
79589c4d 3577 * Description of Sco_Static_Func fix
4c188026 3578 */
79589c4d
BK
3579tSCC zSco_Static_FuncName[] =
3580 "sco_static_func";
4c188026
BK
3581
3582/*
3583 * File name selection pattern
3584 */
79589c4d
BK
3585tSCC zSco_Static_FuncList[] =
3586 "|sys/stat.h|";
4c188026
BK
3587/*
3588 * Machine/OS name selection pattern
3589 */
79589c4d 3590tSCC* apzSco_Static_FuncMachs[] = {
4c188026
BK
3591 "i?86-*-sco3.2*",
3592 (const char*)NULL };
3593
3594/*
3595 * content selection pattern - do fix if pattern found
3596 */
79589c4d
BK
3597tSCC zSco_Static_FuncSelect0[] =
3598 "^static int";
4c188026 3599
79589c4d 3600#define SCO_STATIC_FUNC_TEST_CT 1
3af556f7 3601static tTestDesc aSco_Static_FuncTests[] = {
79589c4d 3602 { TT_EGREP, zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4c188026
BK
3603
3604/*
79589c4d 3605 * Fix Command Arguments for Sco_Static_Func
4c188026 3606 */
3af556f7 3607static const char* apzSco_Static_FuncPatch[] = { "sed",
79589c4d
BK
3608 "-e", "/^static int/i\\\n\
3609#if __cplusplus\\\n\
3610extern \"C\" {\\\n\
3611#endif /* __cplusplus */",
3612 "-e", "/^}$/a\\\n\
3613#if __cplusplus\\\n\
3614 }\\\n\
3615#endif /* __cplusplus */",
4c188026
BK
3616 (char*)NULL };
3617
6ee71e49
BK
3618/* * * * * * * * * * * * * * * * * * * * * * * * * *
3619 *
7b78a14a 3620 * Description of Sco_Utime fix
6ee71e49 3621 */
7b78a14a
BK
3622tSCC zSco_UtimeName[] =
3623 "sco_utime";
6ee71e49
BK
3624
3625/*
3626 * File name selection pattern
3627 */
7b78a14a
BK
3628tSCC zSco_UtimeList[] =
3629 "|sys/times.h|";
6ee71e49
BK
3630/*
3631 * Machine/OS name selection pattern
3632 */
7b78a14a
BK
3633tSCC* apzSco_UtimeMachs[] = {
3634 "i?86-*-sco3.2v4*",
3635 (const char*)NULL };
6ee71e49
BK
3636
3637/*
3638 * content selection pattern - do fix if pattern found
3639 */
7b78a14a
BK
3640tSCC zSco_UtimeSelect0[] =
3641 "\\(const char \\*, struct utimbuf \\*\\);";
a26c3bb5 3642
7b78a14a
BK
3643#define SCO_UTIME_TEST_CT 1
3644static tTestDesc aSco_UtimeTests[] = {
3645 { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
6ee71e49
BK
3646
3647/*
7b78a14a 3648 * Fix Command Arguments for Sco_Utime
6ee71e49 3649 */
7b78a14a 3650static const char* apzSco_UtimePatch[] = {
6ee71e49 3651 "format",
7b78a14a 3652 "(const char *, const struct utimbuf *);",
6ee71e49
BK
3653 (char*)NULL };
3654
3655/* * * * * * * * * * * * * * * * * * * * * * * * * *
3656 *
eb559363 3657 * Description of Solaris_Mutex_Init fix
6ee71e49 3658 */
eb559363
BK
3659tSCC zSolaris_Mutex_InitName[] =
3660 "solaris_mutex_init";
6ee71e49
BK
3661
3662/*
3663 * File name selection pattern
3664 */
eb559363 3665tSCC zSolaris_Mutex_InitList[] =
7b78a14a 3666 "|pthread.h|";
6ee71e49
BK
3667/*
3668 * Machine/OS name selection pattern
3669 */
eb559363 3670#define apzSolaris_Mutex_InitMachs (const char**)NULL
6ee71e49
BK
3671
3672/*
3673 * content selection pattern - do fix if pattern found
3674 */
eb559363
BK
3675tSCC zSolaris_Mutex_InitSelect0[] =
3676 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
a26c3bb5 3677
eb559363
BK
3678#define SOLARIS_MUTEX_INIT_TEST_CT 1
3679static tTestDesc aSolaris_Mutex_InitTests[] = {
3680 { TT_EGREP, zSolaris_Mutex_InitSelect0, (regex_t*)NULL }, };
6ee71e49
BK
3681
3682/*
eb559363 3683 * Fix Command Arguments for Solaris_Mutex_Init
6ee71e49 3684 */
eb559363 3685static const char* apzSolaris_Mutex_InitPatch[] = {
6ee71e49 3686 "format",
eb559363
BK
3687 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
3688%0\n\
3689#else\n\
3690%1, {0}}%3\n\
3691#endif",
3692 "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*),[ \t]*0}(|[ \t].*)$",
6ee71e49
BK
3693 (char*)NULL };
3694
fba39eaf
RH
3695/* * * * * * * * * * * * * * * * * * * * * * * * * *
3696 *
3697 * Description of Solaris_Stdio_Tag fix
3698 */
3699tSCC zSolaris_Stdio_TagName[] =
3700 "solaris_stdio_tag";
3701
3702/*
3703 * File name selection pattern
3704 */
3705tSCC zSolaris_Stdio_TagList[] =
3706 "|stdio_tag.h|";
3707/*
3708 * Machine/OS name selection pattern
3709 */
3710#define apzSolaris_Stdio_TagMachs (const char**)NULL
3711
3712/*
3713 * content selection pattern - do fix if pattern found
3714 */
3715tSCC zSolaris_Stdio_TagSelect0[] =
3716 "__cplusplus < 54321L";
3717
3718#define SOLARIS_STDIO_TAG_TEST_CT 1
3719static tTestDesc aSolaris_Stdio_TagTests[] = {
3720 { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
3721
3722/*
3723 * Fix Command Arguments for Solaris_Stdio_Tag
3724 */
3725static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
3726 "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
3727 (char*)NULL };
3728
d8af0868
RO
3729/* * * * * * * * * * * * * * * * * * * * * * * * * *
3730 *
3731 * Description of Solaris_Widec fix
3732 */
3733tSCC zSolaris_WidecName[] =
3734 "solaris_widec";
3735
3736/*
3737 * File name selection pattern
3738 */
3739tSCC zSolaris_WidecList[] =
3740 "|widec.h|";
3741/*
3742 * Machine/OS name selection pattern
3743 */
3744tSCC* apzSolaris_WidecMachs[] = {
3745 "*-*-solaris2.[0-5]*",
3746 (const char*)NULL };
3747
3748/*
3749 * content selection pattern - do fix if pattern found
3750 */
3751tSCC zSolaris_WidecSelect0[] =
3752 "#include <euc.h>";
3753
3754/*
3755 * content bypass pattern - skip fix if pattern found
3756 */
3757tSCC zSolaris_WidecBypass0[] =
3758 "include.*wchar\\.h";
3759
3760#define SOLARIS_WIDEC_TEST_CT 2
3761static tTestDesc aSolaris_WidecTests[] = {
3762 { TT_NEGREP, zSolaris_WidecBypass0, (regex_t*)NULL },
3763 { TT_EGREP, zSolaris_WidecSelect0, (regex_t*)NULL }, };
3764
3765/*
3766 * Fix Command Arguments for Solaris_Widec
3767 */
3768static const char* apzSolaris_WidecPatch[] = {
3769 "format",
3770 "%0\n\
3771#include <wchar.h>",
3772 (char*)NULL };
3773
6ee71e49
BK
3774/* * * * * * * * * * * * * * * * * * * * * * * * * *
3775 *
7b78a14a 3776 * Description of Statsswtch fix
6ee71e49 3777 */
7b78a14a
BK
3778tSCC zStatsswtchName[] =
3779 "statsswtch";
6ee71e49
BK
3780
3781/*
3782 * File name selection pattern
3783 */
7b78a14a
BK
3784tSCC zStatsswtchList[] =
3785 "|rpcsvc/rstat.h|";
6ee71e49
BK
3786/*
3787 * Machine/OS name selection pattern
3788 */
7b78a14a 3789#define apzStatsswtchMachs (const char**)NULL
6ee71e49
BK
3790
3791/*
3792 * content selection pattern - do fix if pattern found
3793 */
7b78a14a
BK
3794tSCC zStatsswtchSelect0[] =
3795 "boottime$";
a26c3bb5 3796
7b78a14a
BK
3797#define STATSSWTCH_TEST_CT 1
3798static tTestDesc aStatsswtchTests[] = {
3799 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
6ee71e49
BK
3800
3801/*
7b78a14a 3802 * Fix Command Arguments for Statsswtch
6ee71e49 3803 */
7b78a14a 3804static const char* apzStatsswtchPatch[] = {
6ee71e49 3805 "format",
7b78a14a 3806 "boottime;",
6ee71e49
BK
3807 (char*)NULL };
3808
4c188026
BK
3809/* * * * * * * * * * * * * * * * * * * * * * * * * *
3810 *
7b78a14a 3811 * Description of Stdio_Stdarg_H fix
4c188026 3812 */
7b78a14a
BK
3813tSCC zStdio_Stdarg_HName[] =
3814 "stdio_stdarg_h";
4c188026
BK
3815
3816/*
3817 * File name selection pattern
3818 */
7b78a14a
BK
3819tSCC zStdio_Stdarg_HList[] =
3820 "|stdio.h|";
4c188026
BK
3821/*
3822 * Machine/OS name selection pattern
3823 */
7b78a14a 3824#define apzStdio_Stdarg_HMachs (const char**)NULL
4c188026
BK
3825
3826/*
7b78a14a 3827 * content bypass pattern - skip fix if pattern found
4c188026 3828 */
7b78a14a
BK
3829tSCC zStdio_Stdarg_HBypass0[] =
3830 "include.*(stdarg.h|machine/ansi.h)";
4c188026 3831
7b78a14a
BK
3832#define STDIO_STDARG_H_TEST_CT 1
3833static tTestDesc aStdio_Stdarg_HTests[] = {
3834 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4c188026
BK
3835
3836/*
7b78a14a 3837 * Fix Command Arguments for Stdio_Stdarg_H
4c188026 3838 */
7b78a14a
BK
3839static const char* apzStdio_Stdarg_HPatch[] = {
3840 "wrap",
3841 "#define __need___va_list\n\
3842#include <stdarg.h>\n",
4c188026
BK
3843 (char*)NULL };
3844
1f98d85e
WB
3845/* * * * * * * * * * * * * * * * * * * * * * * * * *
3846 *
7b78a14a 3847 * Description of Stdio_Va_List fix
1f98d85e 3848 */
7b78a14a
BK
3849tSCC zStdio_Va_ListName[] =
3850 "stdio_va_list";
1f98d85e
WB
3851
3852/*
3853 * File name selection pattern
3854 */
7b78a14a
BK
3855tSCC zStdio_Va_ListList[] =
3856 "|stdio.h|";
1f98d85e
WB
3857/*
3858 * Machine/OS name selection pattern
3859 */
7b78a14a 3860#define apzStdio_Va_ListMachs (const char**)NULL
1f98d85e
WB
3861
3862/*
7b78a14a 3863 * content bypass pattern - skip fix if pattern found
1f98d85e 3864 */
7b78a14a
BK
3865tSCC zStdio_Va_ListBypass0[] =
3866 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
1f98d85e 3867
7b78a14a
BK
3868#define STDIO_VA_LIST_TEST_CT 1
3869static tTestDesc aStdio_Va_ListTests[] = {
3870 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
1f98d85e
WB
3871
3872/*
7b78a14a 3873 * Fix Command Arguments for Stdio_Va_List
1f98d85e 3874 */
7b78a14a
BK
3875static const char* apzStdio_Va_ListPatch[] = { "sed",
3876 "-e", "s@ va_list @ __gnuc_va_list @\n\
3877s@ va_list)@ __gnuc_va_list)@\n\
3878s@ _VA_LIST_));@ __gnuc_va_list));@\n\
6d638aac 3879s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7b78a14a
BK
3880s@ va_list@ __not_va_list__@\n\
3881s@\\*va_list@*__not_va_list__@\n\
3882s@ __va_list)@ __gnuc_va_list)@\n\
3883s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
3884s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
3885s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
3886s@VA_LIST@DUMMY_VA_LIST@\n\
3887s@_Va_LIST@_VA_LIST@",
1f98d85e
WB
3888 (char*)NULL };
3889
06bbab1b
BK
3890/* * * * * * * * * * * * * * * * * * * * * * * * * *
3891 *
7b78a14a 3892 * Description of Strict_Ansi_Not fix
06bbab1b 3893 */
7b78a14a
BK
3894tSCC zStrict_Ansi_NotName[] =
3895 "strict_ansi_not";
3be1fb72 3896
06bbab1b
BK
3897/*
3898 * File name selection pattern
3899 */
7b78a14a 3900#define zStrict_Ansi_NotList (char*)NULL
06bbab1b
BK
3901/*
3902 * Machine/OS name selection pattern
3903 */
7b78a14a
BK
3904#define apzStrict_Ansi_NotMachs (const char**)NULL
3905
3906/*
3907 * content selection pattern - do fix if pattern found
3908 */
3909tSCC zStrict_Ansi_NotSelect0[] =
b5639a49 3910 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
06bbab1b 3911
8f2e963b
LR
3912/*
3913 * content bypass pattern - skip fix if pattern found
3914 */
3915tSCC zStrict_Ansi_NotBypass0[] =
3916 "GNU and MIPS C compilers define __STDC__ differently";
3917
06bbab1b 3918/*
7b78a14a 3919 * perform the C function call test
06bbab1b 3920 */
7b78a14a 3921tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
06bbab1b 3922
8f2e963b 3923#define STRICT_ANSI_NOT_TEST_CT 3
7b78a14a
BK
3924static tTestDesc aStrict_Ansi_NotTests[] = {
3925 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
8f2e963b 3926 { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
7b78a14a 3927 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
06bbab1b
BK
3928
3929/*
7b78a14a 3930 * Fix Command Arguments for Strict_Ansi_Not
06bbab1b 3931 */
7b78a14a 3932static const char* apzStrict_Ansi_NotPatch[] = {
cb8d5168 3933 "format",
b5639a49 3934 "%1 !defined(__STRICT_ANSI__)",
06bbab1b
BK
3935 (char*)NULL };
3936
3be1fb72
ZW
3937/* * * * * * * * * * * * * * * * * * * * * * * * * *
3938 *
7b78a14a 3939 * Description of Strict_Ansi_Not_Ctd fix
3be1fb72 3940 */
7b78a14a
BK
3941tSCC zStrict_Ansi_Not_CtdName[] =
3942 "strict_ansi_not_ctd";
3be1fb72
ZW
3943
3944/*
3945 * File name selection pattern
3946 */
7b78a14a 3947tSCC zStrict_Ansi_Not_CtdList[] =
b5639a49 3948 "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
3be1fb72
ZW
3949/*
3950 * Machine/OS name selection pattern
3951 */
7b78a14a 3952#define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
3be1fb72
ZW
3953
3954/*
7b78a14a 3955 * content selection pattern - do fix if pattern found
3be1fb72 3956 */
7b78a14a 3957tSCC zStrict_Ansi_Not_CtdSelect0[] =
b5639a49 3958 "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
3be1fb72 3959
7b78a14a
BK
3960/*
3961 * perform the C function call test
3962 */
3963tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
3964
3965#define STRICT_ANSI_NOT_CTD_TEST_CT 2
3966static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
3967 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
3968 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
3be1fb72
ZW
3969
3970/*
7b78a14a 3971 * Fix Command Arguments for Strict_Ansi_Not_Ctd
3be1fb72 3972 */
7b78a14a
BK
3973static const char* apzStrict_Ansi_Not_CtdPatch[] = {
3974 "format",
b5639a49 3975 "%1 !defined(__STRICT_ANSI__)",
3be1fb72
ZW
3976 (char*)NULL };
3977
06bbab1b
BK
3978/* * * * * * * * * * * * * * * * * * * * * * * * * *
3979 *
7b78a14a 3980 * Description of Strict_Ansi_Only fix
06bbab1b 3981 */
7b78a14a
BK
3982tSCC zStrict_Ansi_OnlyName[] =
3983 "strict_ansi_only";
3be1fb72 3984
06bbab1b
BK
3985/*
3986 * File name selection pattern
3987 */
7b78a14a 3988#define zStrict_Ansi_OnlyList (char*)NULL
06bbab1b
BK
3989/*
3990 * Machine/OS name selection pattern
3991 */
7b78a14a 3992#define apzStrict_Ansi_OnlyMachs (const char**)NULL
d7eb5a45
ZW
3993
3994/*
7b78a14a 3995 * content selection pattern - do fix if pattern found
d7eb5a45 3996 */
7b78a14a 3997tSCC zStrict_Ansi_OnlySelect0[] =
b5639a49 3998 "^([ \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)";
d7eb5a45 3999
7b78a14a
BK
4000/*
4001 * perform the C function call test
4002 */
4003tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
4004
4005#define STRICT_ANSI_ONLY_TEST_CT 2
4006static tTestDesc aStrict_Ansi_OnlyTests[] = {
4007 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
4008 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
06bbab1b
BK
4009
4010/*
7b78a14a 4011 * Fix Command Arguments for Strict_Ansi_Only
06bbab1b 4012 */
7b78a14a
BK
4013static const char* apzStrict_Ansi_OnlyPatch[] = {
4014 "format",
b5639a49 4015 "%1 defined(__STRICT_ANSI__)",
06bbab1b
BK
4016 (char*)NULL };
4017
79589c4d
BK
4018/* * * * * * * * * * * * * * * * * * * * * * * * * *
4019 *
4020 * Description of Struct_File fix
4021 */
79589c4d
BK
4022tSCC zStruct_FileName[] =
4023 "struct_file";
4024
4025/*
4026 * File name selection pattern
4027 */
4028tSCC zStruct_FileList[] =
4029 "|rpc/xdr.h|";
4030/*
4031 * Machine/OS name selection pattern
4032 */
4033#define apzStruct_FileMachs (const char**)NULL
4034
4035/*
4036 * content selection pattern - do fix if pattern found
4037 */
4038tSCC zStruct_FileSelect0[] =
4039 "^.*xdrstdio_create.*struct __file_s";
4040
4041#define STRUCT_FILE_TEST_CT 1
3af556f7 4042static tTestDesc aStruct_FileTests[] = {
79589c4d
BK
4043 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
4044
4045/*
4046 * Fix Command Arguments for Struct_File
4047 */
3af556f7 4048static const char* apzStruct_FilePatch[] = {
79589c4d
BK
4049 "format",
4050 "struct __file_s;\n\
4051%0",
4052 (char*)NULL };
4053
4054/* * * * * * * * * * * * * * * * * * * * * * * * * *
4055 *
4056 * Description of Struct_Sockaddr fix
4057 */
79589c4d
BK
4058tSCC zStruct_SockaddrName[] =
4059 "struct_sockaddr";
4060
4061/*
4062 * File name selection pattern
4063 */
4064tSCC zStruct_SockaddrList[] =
4065 "|rpc/auth.h|";
4066/*
4067 * Machine/OS name selection pattern
4068 */
4069#define apzStruct_SockaddrMachs (const char**)NULL
4070
4071/*
4072 * content selection pattern - do fix if pattern found
4073 */
4074tSCC zStruct_SockaddrSelect0[] =
4075 "^.*authdes_create.*struct sockaddr";
4076
4077/*
4078 * content bypass pattern - skip fix if pattern found
4079 */
4080tSCC zStruct_SockaddrBypass0[] =
4081 "<sys/socket.h>";
4082
4083#define STRUCT_SOCKADDR_TEST_CT 2
3af556f7 4084static tTestDesc aStruct_SockaddrTests[] = {
79589c4d
BK
4085 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
4086 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4087
4088/*
4089 * Fix Command Arguments for Struct_Sockaddr
4090 */
3af556f7 4091static const char* apzStruct_SockaddrPatch[] = {
79589c4d
BK
4092 "format",
4093 "struct sockaddr;\n\
4094%0",
4095 (char*)NULL };
4096
4c188026
BK
4097/* * * * * * * * * * * * * * * * * * * * * * * * * *
4098 *
4099 * Description of Sun_Auth_Proto fix
4100 */
4c188026
BK
4101tSCC zSun_Auth_ProtoName[] =
4102 "sun_auth_proto";
4103
4104/*
4105 * File name selection pattern
4106 */
4107tSCC zSun_Auth_ProtoList[] =
4108 "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4109/*
4110 * Machine/OS name selection pattern
4111 */
4112#define apzSun_Auth_ProtoMachs (const char**)NULL
4113
4114/*
4115 * content selection pattern - do fix if pattern found
4116 */
4117tSCC zSun_Auth_ProtoSelect0[] =
4118 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4119
4120#define SUN_AUTH_PROTO_TEST_CT 1
3af556f7 4121static tTestDesc aSun_Auth_ProtoTests[] = {
4c188026
BK
4122 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4123
4124/*
4125 * Fix Command Arguments for Sun_Auth_Proto
4126 */
3af556f7 4127static const char* apzSun_Auth_ProtoPatch[] = {
cb8d5168
BK
4128 "format",
4129 "#ifdef __cplusplus\n\
4130%1(...);%2\n\
4131#else\n\
4132%1();%2\n\
4133#endif",
4134 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4c188026
BK
4135 (char*)NULL };
4136
06bbab1b
BK
4137/* * * * * * * * * * * * * * * * * * * * * * * * * *
4138 *
5abc1f74 4139 * Description of Sun_Bogus_Ifdef fix
06bbab1b
BK
4140 */
4141tSCC zSun_Bogus_IfdefName[] =
3be1fb72
ZW
4142 "sun_bogus_ifdef";
4143
06bbab1b
BK
4144/*
4145 * File name selection pattern
4146 */
4147tSCC zSun_Bogus_IfdefList[] =
c329beb0 4148 "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
06bbab1b
BK
4149/*
4150 * Machine/OS name selection pattern
4151 */
4152#define apzSun_Bogus_IfdefMachs (const char**)NULL
4153
4154/*
be02fa1a 4155 * content selection pattern - do fix if pattern found
06bbab1b
BK
4156 */
4157tSCC zSun_Bogus_IfdefSelect0[] =
cb8d5168 4158 "#ifdef(.*\\|\\|.*)";
06bbab1b
BK
4159
4160#define SUN_BOGUS_IFDEF_TEST_CT 1
3af556f7 4161static tTestDesc aSun_Bogus_IfdefTests[] = {
5abc1f74 4162 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4163
4164/*
4165 * Fix Command Arguments for Sun_Bogus_Ifdef
4166 */
3af556f7 4167static const char* apzSun_Bogus_IfdefPatch[] = {
cb8d5168
BK
4168 "format",
4169 "#if%1",
06bbab1b
BK
4170 (char*)NULL };
4171
4172/* * * * * * * * * * * * * * * * * * * * * * * * * *
4173 *
5abc1f74 4174 * Description of Sun_Catmacro fix
06bbab1b
BK
4175 */
4176tSCC zSun_CatmacroName[] =
3be1fb72
ZW
4177 "sun_catmacro";
4178
06bbab1b
BK
4179/*
4180 * File name selection pattern
4181 */
4182tSCC zSun_CatmacroList[] =
c329beb0 4183 "|pixrect/memvar.h|";
06bbab1b
BK
4184/*
4185 * Machine/OS name selection pattern
4186 */
4187#define apzSun_CatmacroMachs (const char**)NULL
4188
4189/*
be02fa1a 4190 * content selection pattern - do fix if pattern found
06bbab1b
BK
4191 */
4192tSCC zSun_CatmacroSelect0[] =
cb8d5168 4193 "^#define[ \t]+CAT\\(a,b\\).*";
06bbab1b
BK
4194
4195#define SUN_CATMACRO_TEST_CT 1
3af556f7 4196static tTestDesc aSun_CatmacroTests[] = {
5abc1f74 4197 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4198
4199/*
4200 * Fix Command Arguments for Sun_Catmacro
4201 */
3af556f7 4202static const char* apzSun_CatmacroPatch[] = {
cb8d5168
BK
4203 "format",
4204 "#ifdef __STDC__\n\
4205# define CAT(a,b) a##b\n\
4206#else\n\
4207%0\n\
4208#endif",
06bbab1b
BK
4209 (char*)NULL };
4210
4211/* * * * * * * * * * * * * * * * * * * * * * * * * *
4212 *
5abc1f74 4213 * Description of Sun_Malloc fix
06bbab1b
BK
4214 */
4215tSCC zSun_MallocName[] =
3be1fb72
ZW
4216 "sun_malloc";
4217
06bbab1b
BK
4218/*
4219 * File name selection pattern
4220 */
4221tSCC zSun_MallocList[] =
c329beb0 4222 "|malloc.h|";
06bbab1b
BK
4223/*
4224 * Machine/OS name selection pattern
4225 */
4226#define apzSun_MallocMachs (const char**)NULL
4227#define SUN_MALLOC_TEST_CT 0
4228#define aSun_MallocTests (tTestDesc*)NULL
4229
4230/*
4231 * Fix Command Arguments for Sun_Malloc
4232 */
3af556f7 4233static const char* apzSun_MallocPatch[] = { "sed",
be02fa1a
BK
4234 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4235 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4236 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4237 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
93a718f6 4238 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
06bbab1b
BK
4239 (char*)NULL };
4240
06bbab1b
BK
4241/* * * * * * * * * * * * * * * * * * * * * * * * * *
4242 *
5abc1f74 4243 * Description of Sun_Rusers_Semi fix
06bbab1b
BK
4244 */
4245tSCC zSun_Rusers_SemiName[] =
3be1fb72
ZW
4246 "sun_rusers_semi";
4247
06bbab1b
BK
4248/*
4249 * File name selection pattern
4250 */
4251tSCC zSun_Rusers_SemiList[] =
c329beb0 4252 "|rpcsvc/rusers.h|";
06bbab1b
BK
4253/*
4254 * Machine/OS name selection pattern
4255 */
4256#define apzSun_Rusers_SemiMachs (const char**)NULL
4257
4258/*
be02fa1a 4259 * content selection pattern - do fix if pattern found
06bbab1b
BK
4260 */
4261tSCC zSun_Rusers_SemiSelect0[] =
4262 "_cnt$";
4263
4264#define SUN_RUSERS_SEMI_TEST_CT 1
3af556f7 4265static tTestDesc aSun_Rusers_SemiTests[] = {
5abc1f74 4266 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4267
4268/*
4269 * Fix Command Arguments for Sun_Rusers_Semi
4270 */
3af556f7 4271static const char* apzSun_Rusers_SemiPatch[] = { "sed",
be02fa1a 4272 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
06bbab1b
BK
4273 (char*)NULL };
4274
4275/* * * * * * * * * * * * * * * * * * * * * * * * * *
4276 *
5abc1f74 4277 * Description of Sun_Signal fix
06bbab1b
BK
4278 */
4279tSCC zSun_SignalName[] =
3be1fb72
ZW
4280 "sun_signal";
4281
06bbab1b
BK
4282/*
4283 * File name selection pattern
4284 */
4285tSCC zSun_SignalList[] =
c329beb0 4286 "|sys/signal.h|signal.h|";
06bbab1b
BK
4287/*
4288 * Machine/OS name selection pattern
4289 */
4290#define apzSun_SignalMachs (const char**)NULL
4291
4292/*
be02fa1a 4293 * content selection pattern - do fix if pattern found
06bbab1b
BK
4294 */
4295tSCC zSun_SignalSelect0[] =
cb8d5168 4296 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
06bbab1b
BK
4297
4298#define SUN_SIGNAL_TEST_CT 1
3af556f7 4299static tTestDesc aSun_SignalTests[] = {
5abc1f74 4300 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4301
4302/*
4303 * Fix Command Arguments for Sun_Signal
4304 */
3af556f7 4305static const char* apzSun_SignalPatch[] = {
cb8d5168
BK
4306 "format",
4307 "#ifdef __cplusplus\n\
4308void\t(*signal(...))(...);\n\
4309#else\n\
4310%0\n\
4311#endif",
06bbab1b
BK
4312 (char*)NULL };
4313
06bbab1b
BK
4314/* * * * * * * * * * * * * * * * * * * * * * * * * *
4315 *
5abc1f74 4316 * Description of Sunos_Matherr_Decl fix
06bbab1b
BK
4317 */
4318tSCC zSunos_Matherr_DeclName[] =
3be1fb72
ZW
4319 "sunos_matherr_decl";
4320
06bbab1b
BK
4321/*
4322 * File name selection pattern
4323 */
4324tSCC zSunos_Matherr_DeclList[] =
c329beb0 4325 "|math.h|";
06bbab1b
BK
4326/*
4327 * Machine/OS name selection pattern
4328 */
4329#define apzSunos_Matherr_DeclMachs (const char**)NULL
d7eb5a45 4330
cb8d5168
BK
4331/*
4332 * content selection pattern - do fix if pattern found
4333 */
4334tSCC zSunos_Matherr_DeclSelect0[] =
4335 "matherr";
4336
d7eb5a45
ZW
4337/*
4338 * content bypass pattern - skip fix if pattern found
4339 */
4340tSCC zSunos_Matherr_DeclBypass0[] =
995c461c 4341 "matherr.*(struct exception|__MATH_EXCEPTION)";
d7eb5a45 4342
cb8d5168 4343#define SUNOS_MATHERR_DECL_TEST_CT 2
3af556f7 4344static tTestDesc aSunos_Matherr_DeclTests[] = {
cb8d5168
BK
4345 { TT_NEGREP, zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4346 { TT_EGREP, zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4347
4348/*
4349 * Fix Command Arguments for Sunos_Matherr_Decl
4350 */
3af556f7 4351static const char* apzSunos_Matherr_DeclPatch[] = {
cb8d5168
BK
4352 "wrap",
4353 "struct exception;\n",
06bbab1b
BK
4354 (char*)NULL };
4355
4356/* * * * * * * * * * * * * * * * * * * * * * * * * *
4357 *
5abc1f74 4358 * Description of Sunos_Strlen fix
06bbab1b
BK
4359 */
4360tSCC zSunos_StrlenName[] =
3be1fb72
ZW
4361 "sunos_strlen";
4362
06bbab1b
BK
4363/*
4364 * File name selection pattern
4365 */
4366tSCC zSunos_StrlenList[] =
c329beb0 4367 "|strings.h|";
06bbab1b
BK
4368/*
4369 * Machine/OS name selection pattern
4370 */
4371#define apzSunos_StrlenMachs (const char**)NULL
d7eb5a45
ZW
4372
4373/*
4374 * content selection pattern - do fix if pattern found
4375 */
4376tSCC zSunos_StrlenSelect0[] =
cb8d5168 4377 "int[ \t]*strlen\\(\\);(.*)";
d7eb5a45
ZW
4378
4379#define SUNOS_STRLEN_TEST_CT 1
3af556f7 4380static tTestDesc aSunos_StrlenTests[] = {
d7eb5a45 4381 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4382
4383/*
4384 * Fix Command Arguments for Sunos_Strlen
4385 */
3af556f7 4386static const char* apzSunos_StrlenPatch[] = {
cb8d5168
BK
4387 "format",
4388 "__SIZE_TYPE__ strlen();%1",
4389 (char*)NULL };
4390
4391/* * * * * * * * * * * * * * * * * * * * * * * * * *
4392 *
4393 * Description of Svr4__P fix
4394 */
cb8d5168
BK
4395tSCC zSvr4__PName[] =
4396 "svr4__p";
4397
4398/*
4399 * File name selection pattern
4400 */
4401tSCC zSvr4__PList[] =
4402 "|math.h|floatingpoint.h|";
4403/*
4404 * Machine/OS name selection pattern
4405 */
4406#define apzSvr4__PMachs (const char**)NULL
4407
4408/*
4409 * content selection pattern - do fix if pattern found
4410 */
4411tSCC zSvr4__PSelect0[] =
4412 "^#define[ \t]+__P.*";
4413
4414#define SVR4__P_TEST_CT 1
3af556f7 4415static tTestDesc aSvr4__PTests[] = {
cb8d5168
BK
4416 { TT_EGREP, zSvr4__PSelect0, (regex_t*)NULL }, };
4417
4418/*
4419 * Fix Command Arguments for Svr4__P
4420 */
3af556f7 4421static const char* apzSvr4__PPatch[] = {
cb8d5168
BK
4422 "format",
4423 "#ifndef __P\n\
4424%0\n\
4425#endif",
06bbab1b
BK
4426 (char*)NULL };
4427
4c188026
BK
4428/* * * * * * * * * * * * * * * * * * * * * * * * * *
4429 *
4430 * Description of Svr4_Getcwd fix
4431 */
4c188026
BK
4432tSCC zSvr4_GetcwdName[] =
4433 "svr4_getcwd";
4434
4435/*
4436 * File name selection pattern
4437 */
4438tSCC zSvr4_GetcwdList[] =
4439 "|stdlib.h|unistd.h|prototypes.h|";
4440/*
4441 * Machine/OS name selection pattern
4442 */
4443#define apzSvr4_GetcwdMachs (const char**)NULL
4444
4445/*
4446 * content selection pattern - do fix if pattern found
4447 */
4448tSCC zSvr4_GetcwdSelect0[] =
4449 "getcwd\\(char \\*, int\\)";
4450
4451#define SVR4_GETCWD_TEST_CT 1
3af556f7 4452static tTestDesc aSvr4_GetcwdTests[] = {
4c188026
BK
4453 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4454
4455/*
4456 * Fix Command Arguments for Svr4_Getcwd
4457 */
3af556f7 4458static const char* apzSvr4_GetcwdPatch[] = {
cb8d5168
BK
4459 "format",
4460 "getcwd(char *, size_t)",
4c188026
BK
4461 (char*)NULL };
4462
4463/* * * * * * * * * * * * * * * * * * * * * * * * * *
4464 *
4465 * Description of Svr4_Profil fix
4466 */
4c188026
BK
4467tSCC zSvr4_ProfilName[] =
4468 "svr4_profil";
4469
4470/*
4471 * File name selection pattern
4472 */
4473tSCC zSvr4_ProfilList[] =
4474 "|stdlib.h|unistd.h|";
4475/*
4476 * Machine/OS name selection pattern
4477 */
4478#define apzSvr4_ProfilMachs (const char**)NULL
cb8d5168
BK
4479
4480/*
4481 * content selection pattern - do fix if pattern found
4482 */
4483tSCC zSvr4_ProfilSelect0[] =
4484 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4485
4486#define SVR4_PROFIL_TEST_CT 1
3af556f7 4487static tTestDesc aSvr4_ProfilTests[] = {
cb8d5168 4488 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4c188026
BK
4489
4490/*
4491 * Fix Command Arguments for Svr4_Profil
4492 */
3af556f7 4493static const char* apzSvr4_ProfilPatch[] = {
cb8d5168
BK
4494 "format",
4495 "profil(unsigned short *, size_t, int, unsigned int)",
4c188026
BK
4496 (char*)NULL };
4497
06bbab1b
BK
4498/* * * * * * * * * * * * * * * * * * * * * * * * * *
4499 *
5abc1f74 4500 * Description of Sysv68_String fix
06bbab1b
BK
4501 */
4502tSCC zSysv68_StringName[] =
3be1fb72
ZW
4503 "sysv68_string";
4504
06bbab1b
BK
4505/*
4506 * File name selection pattern
4507 */
4508tSCC zSysv68_StringList[] =
b5e20633 4509 "|testing.h|string.h|";
06bbab1b
BK
4510/*
4511 * Machine/OS name selection pattern
4512 */
4513#define apzSysv68_StringMachs (const char**)NULL
4514#define SYSV68_STRING_TEST_CT 0
4515#define aSysv68_StringTests (tTestDesc*)NULL
4516
4517/*
4518 * Fix Command Arguments for Sysv68_String
4519 */
3af556f7 4520static const char* apzSysv68_StringPatch[] = { "sed",
be02fa1a
BK
4521 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4522 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4523 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4524 "-e", "/^extern char$/N",
4525 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
f4306baa
EZ
4526 "-e", "/^extern int$/N",
4527 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
be02fa1a 4528 "-e", "/^\tstrncmp(),$/N",
c329beb0
BK
4529 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4530extern unsigned int\\\n\
4531\\2/",
06bbab1b
BK
4532 (char*)NULL };
4533
4534/* * * * * * * * * * * * * * * * * * * * * * * * * *
4535 *
5abc1f74 4536 * Description of Sysz_Stdlib_For_Sun fix
06bbab1b
BK
4537 */
4538tSCC zSysz_Stdlib_For_SunName[] =
3be1fb72
ZW
4539 "sysz_stdlib_for_sun";
4540
06bbab1b
BK
4541/*
4542 * File name selection pattern
4543 */
4544tSCC zSysz_Stdlib_For_SunList[] =
c329beb0 4545 "|stdlib.h|";
06bbab1b
BK
4546/*
4547 * Machine/OS name selection pattern
4548 */
ef16b5e5 4549#define apzSysz_Stdlib_For_SunMachs (const char**)NULL
cb8d5168
BK
4550
4551/*
4552 * content selection pattern - do fix if pattern found
4553 */
4554tSCC zSysz_Stdlib_For_SunSelect0[] =
4555 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4556
4557#define SYSZ_STDLIB_FOR_SUN_TEST_CT 1
3af556f7 4558static tTestDesc aSysz_Stdlib_For_SunTests[] = {
cb8d5168 4559 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4560
4561/*
4562 * Fix Command Arguments for Sysz_Stdlib_For_Sun
4563 */
3af556f7 4564static const char* apzSysz_Stdlib_For_SunPatch[] = {
cb8d5168
BK
4565 "format",
4566 "void *\t%1(",
06bbab1b
BK
4567 (char*)NULL };
4568
3d78f2e9
RH
4569/* * * * * * * * * * * * * * * * * * * * * * * * * *
4570 *
4571 * Description of Thread_Keyword fix
4572 */
4573tSCC zThread_KeywordName[] =
4574 "thread_keyword";
4575
4576/*
4577 * File name selection pattern
4578 */
4579tSCC zThread_KeywordList[] =
fd0a3915 4580 "|pthread.h|bits/sigthread.h|";
3d78f2e9
RH
4581/*
4582 * Machine/OS name selection pattern
4583 */
4584#define apzThread_KeywordMachs (const char**)NULL
4585
4586/*
4587 * content selection pattern - do fix if pattern found
4588 */
4589tSCC zThread_KeywordSelect0[] =
5d83269d 4590 "([* ])__thread([,)])";
3d78f2e9
RH
4591
4592#define THREAD_KEYWORD_TEST_CT 1
4593static tTestDesc aThread_KeywordTests[] = {
4594 { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
4595
4596/*
4597 * Fix Command Arguments for Thread_Keyword
4598 */
fd0a3915
BK
4599static const char* apzThread_KeywordPatch[] = {
4600 "format",
5d83269d 4601 "%1__thr%2",
3d78f2e9
RH
4602 (char*)NULL };
4603
06bbab1b
BK
4604/* * * * * * * * * * * * * * * * * * * * * * * * * *
4605 *
5abc1f74 4606 * Description of Tinfo_Cplusplus fix
06bbab1b
BK
4607 */
4608tSCC zTinfo_CplusplusName[] =
3be1fb72
ZW
4609 "tinfo_cplusplus";
4610
06bbab1b
BK
4611/*
4612 * File name selection pattern
4613 */
4614tSCC zTinfo_CplusplusList[] =
c329beb0 4615 "|tinfo.h|";
06bbab1b
BK
4616/*
4617 * Machine/OS name selection pattern
4618 */
4619#define apzTinfo_CplusplusMachs (const char**)NULL
d7eb5a45
ZW
4620
4621/*
4622 * content selection pattern - do fix if pattern found
4623 */
4624tSCC zTinfo_CplusplusSelect0[] =
4625 "[ \t]_cplusplus";
4626
4627#define TINFO_CPLUSPLUS_TEST_CT 1
3af556f7 4628static tTestDesc aTinfo_CplusplusTests[] = {
d7eb5a45 4629 { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4630
4631/*
4632 * Fix Command Arguments for Tinfo_Cplusplus
4633 */
3af556f7 4634static const char* apzTinfo_CplusplusPatch[] = {
5d7d28c2
BK
4635 "format",
4636 " __cplusplus",
06bbab1b
BK
4637 (char*)NULL };
4638
b8d0bbf7
BK
4639/* * * * * * * * * * * * * * * * * * * * * * * * * *
4640 *
4641 * Description of Ultrix_Atexit_Param fix
4642 */
4643tSCC zUltrix_Atexit_ParamName[] =
4644 "ultrix_atexit_param";
4645
4646/*
4647 * File name selection pattern
4648 */
4649tSCC zUltrix_Atexit_ParamList[] =
4650 "|stdlib.h|";
4651/*
4652 * Machine/OS name selection pattern
4653 */
4654#define apzUltrix_Atexit_ParamMachs (const char**)NULL
4655
4656/*
4657 * content selection pattern - do fix if pattern found
4658 */
4659tSCC zUltrix_Atexit_ParamSelect0[] =
4660 "atexit\\(.*\\(\\)";
4661
4662#define ULTRIX_ATEXIT_PARAM_TEST_CT 1
4663static tTestDesc aUltrix_Atexit_ParamTests[] = {
4664 { TT_EGREP, zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
4665
4666/*
4667 * Fix Command Arguments for Ultrix_Atexit_Param
4668 */
4669static const char* apzUltrix_Atexit_ParamPatch[] = {
4670 "format",
4671 "atexit( void (*__func)( void )",
4672 (char*)NULL };
4673
1f414ac4
BK
4674/* * * * * * * * * * * * * * * * * * * * * * * * * *
4675 *
5abc1f74 4676 * Description of Ultrix_Atof_Param fix
06bbab1b
BK
4677 */
4678tSCC zUltrix_Atof_ParamName[] =
3be1fb72
ZW
4679 "ultrix_atof_param";
4680
06bbab1b
BK
4681/*
4682 * File name selection pattern
4683 */
4684tSCC zUltrix_Atof_ParamList[] =
c329beb0 4685 "|math.h|";
06bbab1b
BK
4686/*
4687 * Machine/OS name selection pattern
4688 */
4689#define apzUltrix_Atof_ParamMachs (const char**)NULL
d7eb5a45
ZW
4690
4691/*
4692 * content selection pattern - do fix if pattern found
4693 */
4694tSCC zUltrix_Atof_ParamSelect0[] =
4695 "atof\\([ \t]*char";
4696
4697#define ULTRIX_ATOF_PARAM_TEST_CT 1
3af556f7 4698static tTestDesc aUltrix_Atof_ParamTests[] = {
d7eb5a45 4699 { TT_EGREP, zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4700
4701/*
4702 * Fix Command Arguments for Ultrix_Atof_Param
4703 */
3af556f7 4704static const char* apzUltrix_Atof_ParamPatch[] = {
bde8e564
BK
4705 "format",
4706 "atof(const char",
06bbab1b
BK
4707 (char*)NULL };
4708
4709/* * * * * * * * * * * * * * * * * * * * * * * * * *
4710 *
5abc1f74 4711 * Description of Ultrix_Const fix
06bbab1b
BK
4712 */
4713tSCC zUltrix_ConstName[] =
3be1fb72
ZW
4714 "ultrix_const";
4715
06bbab1b
BK
4716/*
4717 * File name selection pattern
4718 */
4719tSCC zUltrix_ConstList[] =
c329beb0 4720 "|stdio.h|";
06bbab1b
BK
4721/*
4722 * Machine/OS name selection pattern
4723 */
4724#define apzUltrix_ConstMachs (const char**)NULL
5d7d28c2
BK
4725
4726/*
4727 * content selection pattern - do fix if pattern found
4728 */
4729tSCC zUltrix_ConstSelect0[] =
4730 "perror\\( char \\*";
4731
4732#define ULTRIX_CONST_TEST_CT 1
3af556f7 4733static tTestDesc aUltrix_ConstTests[] = {
5d7d28c2 4734 { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4735
4736/*
4737 * Fix Command Arguments for Ultrix_Const
4738 */
3af556f7 4739static const char* apzUltrix_ConstPatch[] = {
5d7d28c2
BK
4740 "format",
4741 "%1 const %3 *__",
4742 "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
4743 (char*)NULL };
4744
4745/* * * * * * * * * * * * * * * * * * * * * * * * * *
4746 *
4747 * Description of Ultrix_Const2 fix
4748 */
5d7d28c2
BK
4749tSCC zUltrix_Const2Name[] =
4750 "ultrix_const2";
4751
4752/*
4753 * File name selection pattern
4754 */
4755tSCC zUltrix_Const2List[] =
4756 "|stdio.h|";
4757/*
4758 * Machine/OS name selection pattern
4759 */
4760#define apzUltrix_Const2Machs (const char**)NULL
4761
4762/*
4763 * content selection pattern - do fix if pattern found
4764 */
4765tSCC zUltrix_Const2Select0[] =
4766 "\\*fopen\\( char \\*";
4767
4768#define ULTRIX_CONST2_TEST_CT 1
3af556f7 4769static tTestDesc aUltrix_Const2Tests[] = {
5d7d28c2
BK
4770 { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
4771
4772/*
4773 * Fix Command Arguments for Ultrix_Const2
4774 */
3af556f7 4775static const char* apzUltrix_Const2Patch[] = {
5d7d28c2
BK
4776 "format",
4777 "%1( const char *%3, const char *",
4778 "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
06bbab1b
BK
4779 (char*)NULL };
4780
4781/* * * * * * * * * * * * * * * * * * * * * * * * * *
4782 *
79589c4d 4783 * Description of Ultrix_Fix_Fixproto fix
06bbab1b 4784 */
79589c4d
BK
4785tSCC zUltrix_Fix_FixprotoName[] =
4786 "ultrix_fix_fixproto";
3be1fb72 4787
06bbab1b
BK
4788/*
4789 * File name selection pattern
4790 */
79589c4d
BK
4791tSCC zUltrix_Fix_FixprotoList[] =
4792 "|sys/utsname.h|";
06bbab1b
BK
4793/*
4794 * Machine/OS name selection pattern
4795 */
79589c4d 4796#define apzUltrix_Fix_FixprotoMachs (const char**)NULL
06bbab1b
BK
4797
4798/*
be02fa1a 4799 * content selection pattern - do fix if pattern found
06bbab1b 4800 */
79589c4d
BK
4801tSCC zUltrix_Fix_FixprotoSelect0[] =
4802 "ULTRIX";
06bbab1b 4803
79589c4d 4804#define ULTRIX_FIX_FIXPROTO_TEST_CT 1
3af556f7 4805static tTestDesc aUltrix_Fix_FixprotoTests[] = {
79589c4d 4806 { TT_EGREP, zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
06bbab1b
BK
4807
4808/*
79589c4d 4809 * Fix Command Arguments for Ultrix_Fix_Fixproto
06bbab1b 4810 */
3af556f7 4811static const char* apzUltrix_Fix_FixprotoPatch[] = {
bde8e564
BK
4812 "format",
4813 "struct utsname;\n\
4814%0",
4815 "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
06bbab1b
BK
4816 (char*)NULL };
4817
4818/* * * * * * * * * * * * * * * * * * * * * * * * * *
4819 *
79589c4d 4820 * Description of Ultrix_Ifdef fix
06bbab1b 4821 */
79589c4d
BK
4822tSCC zUltrix_IfdefName[] =
4823 "ultrix_ifdef";
3be1fb72 4824
06bbab1b
BK
4825/*
4826 * File name selection pattern
4827 */
79589c4d
BK
4828tSCC zUltrix_IfdefList[] =
4829 "|sys/file.h|";
06bbab1b
BK
4830/*
4831 * Machine/OS name selection pattern
4832 */
79589c4d 4833#define apzUltrix_IfdefMachs (const char**)NULL
06bbab1b
BK
4834
4835/*
79589c4d 4836 * content selection pattern - do fix if pattern found
06bbab1b 4837 */
79589c4d 4838tSCC zUltrix_IfdefSelect0[] =
bde8e564 4839 "^#ifdef KERNEL[ \t]+&&";
79589c4d
BK
4840
4841#define ULTRIX_IFDEF_TEST_CT 1
3af556f7 4842static tTestDesc aUltrix_IfdefTests[] = {
79589c4d
BK
4843 { TT_EGREP, zUltrix_IfdefSelect0, (regex_t*)NULL }, };
4844
4845/*
4846 * Fix Command Arguments for Ultrix_Ifdef
4847 */
3af556f7 4848static const char* apzUltrix_IfdefPatch[] = {
bde8e564
BK
4849 "format",
4850 "#if defined(KERNEL) &&",
4851 (char*)NULL };
4852
4853/* * * * * * * * * * * * * * * * * * * * * * * * * *
4854 *
4855 * Description of Ultrix_Math_Ifdef fix
4856 */
bde8e564
BK
4857tSCC zUltrix_Math_IfdefName[] =
4858 "ultrix_math_ifdef";
4859
4860/*
4861 * File name selection pattern
4862 */
4863tSCC zUltrix_Math_IfdefList[] =
c1fd153e 4864 "|sys/limits.h|float.h|math.h|";
bde8e564
BK
4865/*
4866 * Machine/OS name selection pattern
4867 */
4868#define apzUltrix_Math_IfdefMachs (const char**)NULL
4869
4870/*
4871 * content selection pattern - do fix if pattern found
4872 */
4873tSCC zUltrix_Math_IfdefSelect0[] =
c1fd153e 4874 "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
bde8e564
BK
4875
4876#define ULTRIX_MATH_IFDEF_TEST_CT 1
3af556f7 4877static tTestDesc aUltrix_Math_IfdefTests[] = {
bde8e564
BK
4878 { TT_EGREP, zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
4879
4880/*
4881 * Fix Command Arguments for Ultrix_Math_Ifdef
4882 */
3af556f7 4883static const char* apzUltrix_Math_IfdefPatch[] = {
c1fd153e
BK
4884 "format",
4885 "%1",
bde8e564
BK
4886 (char*)NULL };
4887
4888/* * * * * * * * * * * * * * * * * * * * * * * * * *
4889 *
4890 * Description of Ultrix_Nested_Ioctl fix
4891 */
bde8e564
BK
4892tSCC zUltrix_Nested_IoctlName[] =
4893 "ultrix_nested_ioctl";
4894
4895/*
4896 * File name selection pattern
4897 */
4898tSCC zUltrix_Nested_IoctlList[] =
4899 "|sys/ioctl.h|";
4900/*
4901 * Machine/OS name selection pattern
4902 */
4903#define apzUltrix_Nested_IoctlMachs (const char**)NULL
4904
4905/*
4906 * content selection pattern - do fix if pattern found
4907 */
4908tSCC zUltrix_Nested_IoctlSelect0[] =
4909 "^/\\* #define SIOCSCREEN";
4910
4911#define ULTRIX_NESTED_IOCTL_TEST_CT 1
3af556f7 4912static tTestDesc aUltrix_Nested_IoctlTests[] = {
bde8e564
BK
4913 { TT_EGREP, zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
4914
4915/*
4916 * Fix Command Arguments for Ultrix_Nested_Ioctl
4917 */
3af556f7 4918static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
bde8e564
BK
4919 "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
4920 (char*)NULL };
4921
4922/* * * * * * * * * * * * * * * * * * * * * * * * * *
4923 *
4924 * Description of Ultrix_Nested_Svc fix
4925 */
bde8e564
BK
4926tSCC zUltrix_Nested_SvcName[] =
4927 "ultrix_nested_svc";
4928
4929/*
4930 * File name selection pattern
4931 */
4932tSCC zUltrix_Nested_SvcList[] =
4933 "|rpc/svc.h|";
4934/*
4935 * Machine/OS name selection pattern
4936 */
4937#define apzUltrix_Nested_SvcMachs (const char**)NULL
4938
4939/*
4940 * content selection pattern - do fix if pattern found
4941 */
4942tSCC zUltrix_Nested_SvcSelect0[] =
4943 "^ \\*[ \t]*int protocol; */\\*";
4944
4945#define ULTRIX_NESTED_SVC_TEST_CT 1
3af556f7 4946static tTestDesc aUltrix_Nested_SvcTests[] = {
bde8e564
BK
4947 { TT_EGREP, zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
4948
4949/*
4950 * Fix Command Arguments for Ultrix_Nested_Svc
4951 */
3af556f7 4952static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
bde8e564
BK
4953 "-e", "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@",
4954 (char*)NULL };
4955
4956/* * * * * * * * * * * * * * * * * * * * * * * * * *
4957 *
4958 * Description of Ultrix_Stat fix
4959 */
bde8e564
BK
4960tSCC zUltrix_StatName[] =
4961 "ultrix_stat";
4962
4963/*
4964 * File name selection pattern
4965 */
4966tSCC zUltrix_StatList[] =
4967 "|sys/stat.h|";
4968/*
4969 * Machine/OS name selection pattern
4970 */
4971#define apzUltrix_StatMachs (const char**)NULL
4972
4973/*
4974 * content selection pattern - do fix if pattern found
4975 */
4976tSCC zUltrix_StatSelect0[] =
4977 "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
4978
4979#define ULTRIX_STAT_TEST_CT 1
3af556f7 4980static tTestDesc aUltrix_StatTests[] = {
bde8e564
BK
4981 { TT_EGREP, zUltrix_StatSelect0, (regex_t*)NULL }, };
4982
4983/*
4984 * Fix Command Arguments for Ultrix_Stat
4985 */
3af556f7 4986static const char* apzUltrix_StatPatch[] = { "sed",
bde8e564
BK
4987 "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
4988\\\n\
4989/* macro to test for symbolic link */\\\n\
dac32862 4990#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
bde8e564
BK
4991 "-e", "/^[ \t]*fstat(),$/a\\\n\
4992\tlstat(),\n",
06bbab1b
BK
4993 (char*)NULL };
4994
4995/* * * * * * * * * * * * * * * * * * * * * * * * * *
4996 *
5abc1f74 4997 * Description of Ultrix_Static fix
06bbab1b
BK
4998 */
4999tSCC zUltrix_StaticName[] =
3be1fb72
ZW
5000 "ultrix_static";
5001
06bbab1b
BK
5002/*
5003 * File name selection pattern
5004 */
5005tSCC zUltrix_StaticList[] =
c329beb0 5006 "|machine/cpu.h|";
06bbab1b
BK
5007/*
5008 * Machine/OS name selection pattern
5009 */
5010#define apzUltrix_StaticMachs (const char**)NULL
5011
5012/*
be02fa1a 5013 * content selection pattern - do fix if pattern found
06bbab1b
BK
5014 */
5015tSCC zUltrix_StaticSelect0[] =
5016 "#include \"r[34]_cpu";
5017
5018#define ULTRIX_STATIC_TEST_CT 1
3af556f7 5019static tTestDesc aUltrix_StaticTests[] = {
5abc1f74 5020 { TT_EGREP, zUltrix_StaticSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5021
5022/*
5023 * Fix Command Arguments for Ultrix_Static
5024 */
3af556f7 5025static const char* apzUltrix_StaticPatch[] = { "sed",
be02fa1a
BK
5026 "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
5027 "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
5028 "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
06bbab1b
BK
5029 (char*)NULL };
5030
bde8e564
BK
5031/* * * * * * * * * * * * * * * * * * * * * * * * * *
5032 *
5033 * Description of Ultrix_Strings fix
5034 */
bde8e564
BK
5035tSCC zUltrix_StringsName[] =
5036 "ultrix_strings";
5037
5038/*
5039 * File name selection pattern
5040 */
5041tSCC zUltrix_StringsList[] =
5042 "|strings.h|";
5043/*
5044 * Machine/OS name selection pattern
5045 */
5046#define apzUltrix_StringsMachs (const char**)NULL
5047
5048/*
5049 * content selection pattern - do fix if pattern found
5050 */
5051tSCC zUltrix_StringsSelect0[] =
5052 "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
5053
5054#define ULTRIX_STRINGS_TEST_CT 1
3af556f7 5055static tTestDesc aUltrix_StringsTests[] = {
bde8e564
BK
5056 { TT_EGREP, zUltrix_StringsSelect0, (regex_t*)NULL }, };
5057
5058/*
5059 * Fix Command Arguments for Ultrix_Strings
5060 */
3af556f7 5061static const char* apzUltrix_StringsPatch[] = {
bde8e564
BK
5062 "wrap",
5063 (char*)NULL };
5064
06bbab1b
BK
5065/* * * * * * * * * * * * * * * * * * * * * * * * * *
5066 *
5abc1f74 5067 * Description of Undefine_Null fix
06bbab1b
BK
5068 */
5069tSCC zUndefine_NullName[] =
3be1fb72
ZW
5070 "undefine_null";
5071
06bbab1b
BK
5072/*
5073 * File name selection pattern
5074 */
5075#define zUndefine_NullList (char*)NULL
5076/*
5077 * Machine/OS name selection pattern
5078 */
5079#define apzUndefine_NullMachs (const char**)NULL
5080
5081/*
be02fa1a 5082 * content selection pattern - do fix if pattern found
06bbab1b
BK
5083 */
5084tSCC zUndefine_NullSelect0[] =
99d05d99 5085 "^#[ \t]*define[ \t]+NULL[ \t]";
06bbab1b
BK
5086
5087/*
be02fa1a 5088 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
5089 */
5090tSCC zUndefine_NullBypass0[] =
99d05d99 5091 "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
06bbab1b
BK
5092
5093#define UNDEFINE_NULL_TEST_CT 2
3af556f7 5094static tTestDesc aUndefine_NullTests[] = {
5abc1f74
BK
5095 { TT_NEGREP, zUndefine_NullBypass0, (regex_t*)NULL },
5096 { TT_EGREP, zUndefine_NullSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5097
5098/*
5099 * Fix Command Arguments for Undefine_Null
5100 */
3af556f7 5101static const char* apzUndefine_NullPatch[] = {
99d05d99
BK
5102 "format",
5103 "#ifndef NULL%2\n\
5104#define NULL%1%2\n\
5105#endif%2\n",
5106 "^#[ \t]*define[ \t]*[ \t]NULL([^\r\n\
5107]+)([\r]*)\n",
06bbab1b
BK
5108 (char*)NULL };
5109
30102605
RH
5110/* * * * * * * * * * * * * * * * * * * * * * * * * *
5111 *
5112 * Description of Unicosmk_Restrict fix
5113 */
5114tSCC zUnicosmk_RestrictName[] =
5115 "unicosmk_restrict";
5116
5117/*
5118 * File name selection pattern
5119 */
5120tSCC zUnicosmk_RestrictList[] =
5121 "|stdio.h|stdlib.h|wchar.h|";
5122/*
5123 * Machine/OS name selection pattern
5124 */
5125tSCC* apzUnicosmk_RestrictMachs[] = {
5126 "*-*-unicosmk*",
5127 (const char*)NULL };
5128
5129/*
5130 * content selection pattern - do fix if pattern found
5131 */
5132tSCC zUnicosmk_RestrictSelect0[] =
5133 "(\\*[ \t]*)restrict([ \t]+)";
5134
5135#define UNICOSMK_RESTRICT_TEST_CT 1
5136static tTestDesc aUnicosmk_RestrictTests[] = {
5137 { TT_EGREP, zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
5138
5139/*
5140 * Fix Command Arguments for Unicosmk_Restrict
5141 */
5142static const char* apzUnicosmk_RestrictPatch[] = {
5143 "format",
5144 "%1__restrict__%2",
5145 (char*)NULL };
5146
86765ca0
RL
5147/* * * * * * * * * * * * * * * * * * * * * * * * * *
5148 *
b5e20633 5149 * Description of Uw7_Byteorder_Fix fix
86765ca0 5150 */
b5e20633
BK
5151tSCC zUw7_Byteorder_FixName[] =
5152 "uw7_byteorder_fix";
3be1fb72 5153
86765ca0
RL
5154/*
5155 * File name selection pattern
5156 */
b5e20633 5157tSCC zUw7_Byteorder_FixList[] =
86765ca0
RL
5158 "|arpa/inet.h|";
5159/*
5160 * Machine/OS name selection pattern
5161 */
b5e20633 5162tSCC* apzUw7_Byteorder_FixMachs[] = {
86765ca0 5163 "*-*-sysv4*",
7ae2112b
BK
5164 "i?86-*-sysv5*",
5165 "i?86-*-udk*",
5166 "i?86-*-solaris2.[0-4]",
86765ca0
RL
5167 "powerpcle-*-solaris2.[0-4]",
5168 "sparc-*-solaris2.[0-4]",
5169 (const char*)NULL };
5170
5171/*
5172 * content selection pattern - do fix if pattern found
5173 */
b5e20633 5174tSCC zUw7_Byteorder_FixSelect0[] =
86765ca0
RL
5175 "in_port_t";
5176
b5e20633
BK
5177/*
5178 * perform the 'test' shell command - do fix on success
5179 */
5180tSCC zUw7_Byteorder_FixTest0[] =
eb559363 5181 "-f sys/byteorder.h";
b5e20633
BK
5182
5183#define UW7_BYTEORDER_FIX_TEST_CT 2
3af556f7 5184static tTestDesc aUw7_Byteorder_FixTests[] = {
b5e20633
BK
5185 { TT_TEST, zUw7_Byteorder_FixTest0, 0 /* unused */ },
5186 { TT_EGREP, zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
86765ca0
RL
5187
5188/*
b5e20633 5189 * Fix Command Arguments for Uw7_Byteorder_Fix
86765ca0 5190 */
3af556f7 5191static const char* apzUw7_Byteorder_FixPatch[] = {
b5e20633
BK
5192 "format",
5193 "",
eb559363 5194 "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
86765ca0
RL
5195 (char*)NULL };
5196
06bbab1b
BK
5197/* * * * * * * * * * * * * * * * * * * * * * * * * *
5198 *
5abc1f74 5199 * Description of Va_I960_Macro fix
06bbab1b
BK
5200 */
5201tSCC zVa_I960_MacroName[] =
3be1fb72
ZW
5202 "va_i960_macro";
5203
06bbab1b
BK
5204/*
5205 * File name selection pattern
5206 */
5207tSCC zVa_I960_MacroList[] =
c329beb0 5208 "|arch/i960/archI960.h|";
06bbab1b
BK
5209/*
5210 * Machine/OS name selection pattern
5211 */
5212#define apzVa_I960_MacroMachs (const char**)NULL
5213
5214/*
be02fa1a 5215 * content selection pattern - do fix if pattern found
06bbab1b
BK
5216 */
5217tSCC zVa_I960_MacroSelect0[] =
5218 "__(vsiz|vali|vpad|alignof__)";
5219
5220#define VA_I960_MACRO_TEST_CT 1
3af556f7 5221static tTestDesc aVa_I960_MacroTests[] = {
5abc1f74 5222 { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5223
5224/*
5225 * Fix Command Arguments for Va_I960_Macro
5226 */
3af556f7 5227static const char* apzVa_I960_MacroPatch[] = {
5d7d28c2
BK
5228 "format",
5229 "__vx%1",
06bbab1b
BK
5230 (char*)NULL };
5231
5232/* * * * * * * * * * * * * * * * * * * * * * * * * *
5233 *
5abc1f74 5234 * Description of Void_Null fix
06bbab1b
BK
5235 */
5236tSCC zVoid_NullName[] =
3be1fb72
ZW
5237 "void_null";
5238
06bbab1b
BK
5239/*
5240 * File name selection pattern
5241 */
5242tSCC zVoid_NullList[] =
c329beb0 5243 "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
06bbab1b
BK
5244/*
5245 * Machine/OS name selection pattern
5246 */
5247#define apzVoid_NullMachs (const char**)NULL
5248
5249/*
be02fa1a 5250 * content selection pattern - do fix if pattern found
06bbab1b
BK
5251 */
5252tSCC zVoid_NullSelect0[] =
5d7d28c2 5253 "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
06bbab1b
BK
5254
5255#define VOID_NULL_TEST_CT 1
3af556f7 5256static tTestDesc aVoid_NullTests[] = {
5abc1f74 5257 { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5258
5259/*
5260 * Fix Command Arguments for Void_Null
5261 */
3af556f7 5262static const char* apzVoid_NullPatch[] = {
5d7d28c2
BK
5263 "format",
5264 "#define NULL 0",
06bbab1b
BK
5265 (char*)NULL };
5266
5267/* * * * * * * * * * * * * * * * * * * * * * * * * *
5268 *
5abc1f74 5269 * Description of Vxworks_Gcc_Problem fix
06bbab1b
BK
5270 */
5271tSCC zVxworks_Gcc_ProblemName[] =
3be1fb72
ZW
5272 "vxworks_gcc_problem";
5273
06bbab1b
BK
5274/*
5275 * File name selection pattern
5276 */
5277tSCC zVxworks_Gcc_ProblemList[] =
c329beb0 5278 "|types/vxTypesBase.h|";
06bbab1b
BK
5279/*
5280 * Machine/OS name selection pattern
5281 */
5282#define apzVxworks_Gcc_ProblemMachs (const char**)NULL
5283
5284/*
be02fa1a 5285 * content selection pattern - do fix if pattern found
06bbab1b
BK
5286 */
5287tSCC zVxworks_Gcc_ProblemSelect0[] =
5288 "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
5289
5290#define VXWORKS_GCC_PROBLEM_TEST_CT 1
3af556f7 5291static tTestDesc aVxworks_Gcc_ProblemTests[] = {
5abc1f74 5292 { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5293
5294/*
5295 * Fix Command Arguments for Vxworks_Gcc_Problem
5296 */
3af556f7 5297static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
be02fa1a 5298 "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
c329beb0
BK
5299 "-e", "/[ \t]size_t/i\\\n\
5300#ifndef _GCC_SIZE_T\\\n\
5301#define _GCC_SIZE_T\n",
5302 "-e", "/[ \t]size_t/a\\\n\
5303#endif\n",
5304 "-e", "/[ \t]ptrdiff_t/i\\\n\
5305#ifndef _GCC_PTRDIFF_T\\\n\
5306#define _GCC_PTRDIFF_T\n",
5307 "-e", "/[ \t]ptrdiff_t/a\\\n\
5308#endif\n",
5309 "-e", "/[ \t]wchar_t/i\\\n\
5310#ifndef _GCC_WCHAR_T\\\n\
5311#define _GCC_WCHAR_T\n",
5312 "-e", "/[ \t]wchar_t/a\\\n\
5313#endif\n",
06bbab1b
BK
5314 (char*)NULL };
5315
5316/* * * * * * * * * * * * * * * * * * * * * * * * * *
5317 *
5abc1f74 5318 * Description of Vxworks_Needs_Vxtypes fix
06bbab1b
BK
5319 */
5320tSCC zVxworks_Needs_VxtypesName[] =
3be1fb72
ZW
5321 "vxworks_needs_vxtypes";
5322
06bbab1b
BK
5323/*
5324 * File name selection pattern
5325 */
5326tSCC zVxworks_Needs_VxtypesList[] =
c329beb0 5327 "|time.h|";
06bbab1b
BK
5328/*
5329 * Machine/OS name selection pattern
5330 */
5331#define apzVxworks_Needs_VxtypesMachs (const char**)NULL
5332
5333/*
be02fa1a 5334 * content selection pattern - do fix if pattern found
06bbab1b
BK
5335 */
5336tSCC zVxworks_Needs_VxtypesSelect0[] =
5d7d28c2 5337 "uint_t([ \t]+_clocks_per_sec)";
06bbab1b
BK
5338
5339#define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
3af556f7 5340static tTestDesc aVxworks_Needs_VxtypesTests[] = {
5abc1f74 5341 { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5342
5343/*
5344 * Fix Command Arguments for Vxworks_Needs_Vxtypes
5345 */
3af556f7 5346static const char* apzVxworks_Needs_VxtypesPatch[] = {
5d7d28c2
BK
5347 "format",
5348 "unsigned int%1",
06bbab1b
BK
5349 (char*)NULL };
5350
5351/* * * * * * * * * * * * * * * * * * * * * * * * * *
5352 *
5abc1f74 5353 * Description of Vxworks_Needs_Vxworks fix
06bbab1b
BK
5354 */
5355tSCC zVxworks_Needs_VxworksName[] =
3be1fb72
ZW
5356 "vxworks_needs_vxworks";
5357
06bbab1b
BK
5358/*
5359 * File name selection pattern
5360 */
5361tSCC zVxworks_Needs_VxworksList[] =
c329beb0 5362 "|sys/stat.h|";
06bbab1b
BK
5363/*
5364 * Machine/OS name selection pattern
5365 */
5366#define apzVxworks_Needs_VxworksMachs (const char**)NULL
5367
5368/*
be02fa1a 5369 * content selection pattern - do fix if pattern found
06bbab1b
BK
5370 */
5371tSCC zVxworks_Needs_VxworksSelect0[] =
5d7d28c2 5372 "#[ \t]define[ \t]+__INCstath";
06bbab1b
BK
5373
5374/*
be02fa1a 5375 * perform the 'test' shell command - do fix on success
06bbab1b
BK
5376 */
5377tSCC zVxworks_Needs_VxworksTest0[] =
48bd9529 5378 " -r types/vxTypesOld.h";
06bbab1b 5379tSCC zVxworks_Needs_VxworksTest1[] =
48bd9529 5380 " -n \"`egrep '#include' $file`\"";
06bbab1b 5381tSCC zVxworks_Needs_VxworksTest2[] =
48bd9529 5382 " -n \"`egrep ULONG $file`\"";
06bbab1b
BK
5383
5384#define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
3af556f7 5385static tTestDesc aVxworks_Needs_VxworksTests[] = {
5abc1f74
BK
5386 { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
5387 { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
5388 { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
5389 { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5390
5391/*
5392 * Fix Command Arguments for Vxworks_Needs_Vxworks
5393 */
3af556f7 5394static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
c329beb0
BK
5395 "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
5396#include <types/vxTypesOld.h>\n",
06bbab1b
BK
5397 (char*)NULL };
5398
5399/* * * * * * * * * * * * * * * * * * * * * * * * * *
5400 *
5abc1f74 5401 * Description of Vxworks_Time fix
06bbab1b
BK
5402 */
5403tSCC zVxworks_TimeName[] =
3be1fb72
ZW
5404 "vxworks_time";
5405
06bbab1b
BK
5406/*
5407 * File name selection pattern
5408 */
5409tSCC zVxworks_TimeList[] =
c329beb0 5410 "|time.h|";
06bbab1b
BK
5411/*
5412 * Machine/OS name selection pattern
5413 */
5414#define apzVxworks_TimeMachs (const char**)NULL
5415
5416/*
be02fa1a 5417 * content selection pattern - do fix if pattern found
06bbab1b
BK
5418 */
5419tSCC zVxworks_TimeSelect0[] =
5d7d28c2 5420 "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
06bbab1b
BK
5421
5422/*
be02fa1a 5423 * perform the 'test' shell command - do fix on success
06bbab1b
BK
5424 */
5425tSCC zVxworks_TimeTest0[] =
48bd9529 5426 " -r vxWorks.h";
06bbab1b
BK
5427
5428#define VXWORKS_TIME_TEST_CT 2
3af556f7 5429static tTestDesc aVxworks_TimeTests[] = {
5abc1f74
BK
5430 { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
5431 { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5432
5433/*
5434 * Fix Command Arguments for Vxworks_Time
5435 */
3af556f7 5436static const char* apzVxworks_TimePatch[] = {
5d7d28c2
BK
5437 "format",
5438 "#ifndef __gcc_VOIDFUNCPTR_defined\n\
5439#ifdef __cplusplus\n\
5440typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
5441#else\n\
5442typedef void (*__gcc_VOIDFUNCPTR) ();\n\
5443#endif\n\
5444#define __gcc_VOIDFUNCPTR_defined\n\
5445#endif\n\
5446#define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
06bbab1b
BK
5447 (char*)NULL };
5448
cace4f93
MM
5449/* * * * * * * * * * * * * * * * * * * * * * * * * *
5450 *
5451 * Description of Windiss_Math1 fix
5452 */
5453tSCC zWindiss_Math1Name[] =
5454 "windiss_math1";
5455
5456/*
5457 * File name selection pattern
5458 */
5459tSCC zWindiss_Math1List[] =
5460 "|math.h|";
5461/*
5462 * Machine/OS name selection pattern
5463 */
5464tSCC* apzWindiss_Math1Machs[] = {
5465 "*-*-windiss",
5466 (const char*)NULL };
5467#define WINDISS_MATH1_TEST_CT 0
5468#define aWindiss_Math1Tests (tTestDesc*)NULL
5469
5470/*
5471 * Fix Command Arguments for Windiss_Math1
5472 */
5473static const char* apzWindiss_Math1Patch[] = { "sed",
5474 "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
5475 (char*)NULL };
5476
5477/* * * * * * * * * * * * * * * * * * * * * * * * * *
5478 *
5479 * Description of Windiss_Math2 fix
5480 */
5481tSCC zWindiss_Math2Name[] =
5482 "windiss_math2";
5483
5484/*
5485 * File name selection pattern
5486 */
5487tSCC zWindiss_Math2List[] =
5488 "|math.h|";
5489/*
5490 * Machine/OS name selection pattern
5491 */
5492tSCC* apzWindiss_Math2Machs[] = {
5493 "*-*-windiss",
5494 (const char*)NULL };
5495#define WINDISS_MATH2_TEST_CT 0
5496#define aWindiss_Math2Tests (tTestDesc*)NULL
5497
5498/*
5499 * Fix Command Arguments for Windiss_Math2
5500 */
5501static const char* apzWindiss_Math2Patch[] = { "sed",
5502 "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
5503 (char*)NULL };
5504
5505/* * * * * * * * * * * * * * * * * * * * * * * * * *
5506 *
5507 * Description of Windiss_Valist fix
5508 */
5509tSCC zWindiss_ValistName[] =
5510 "windiss_valist";
5511
5512/*
5513 * File name selection pattern
5514 */
5515#define zWindiss_ValistList (char*)NULL
5516/*
5517 * Machine/OS name selection pattern
5518 */
5519tSCC* apzWindiss_ValistMachs[] = {
5520 "*-*-windiss",
5521 (const char*)NULL };
c297b764
MM
5522
5523/*
5524 * content selection pattern - do fix if pattern found
5525 */
5526tSCC zWindiss_ValistSelect0[] =
5527 "(#include.*)diab/va_list.h";
5528
5529#define WINDISS_VALIST_TEST_CT 1
5530static tTestDesc aWindiss_ValistTests[] = {
5531 { TT_EGREP, zWindiss_ValistSelect0, (regex_t*)NULL }, };
cace4f93
MM
5532
5533/*
5534 * Fix Command Arguments for Windiss_Valist
5535 */
5536static const char* apzWindiss_ValistPatch[] = { "sed",
5537 "-e", "s|diab/va_list.h|stdarg.h|",
5538 (char*)NULL };
5539
06bbab1b
BK
5540/* * * * * * * * * * * * * * * * * * * * * * * * * *
5541 *
5abc1f74 5542 * Description of X11_Class fix
06bbab1b
BK
5543 */
5544tSCC zX11_ClassName[] =
3be1fb72
ZW
5545 "x11_class";
5546
06bbab1b
BK
5547/*
5548 * File name selection pattern
5549 */
5550tSCC zX11_ClassList[] =
c329beb0 5551 "|X11/ShellP.h|";
06bbab1b
BK
5552/*
5553 * Machine/OS name selection pattern
5554 */
5555#define apzX11_ClassMachs (const char**)NULL
5556
c1fd153e
BK
5557/*
5558 * content selection pattern - do fix if pattern found
5559 */
5560tSCC zX11_ClassSelect0[] =
5561 "^([ \t]*char \\*)class;(.*)";
5562
06bbab1b 5563/*
be02fa1a 5564 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
5565 */
5566tSCC zX11_ClassBypass0[] =
5567 "__cplusplus";
5568
c1fd153e 5569#define X11_CLASS_TEST_CT 2
3af556f7 5570static tTestDesc aX11_ClassTests[] = {
c1fd153e
BK
5571 { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
5572 { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5573
5574/*
5575 * Fix Command Arguments for X11_Class
5576 */
3af556f7 5577static const char* apzX11_ClassPatch[] = {
c1fd153e
BK
5578 "format",
5579 "#ifdef __cplusplus\n\
5580%1c_class;%2\n\
5581#else\n\
5582%1class;%2\n\
5583#endif",
06bbab1b
BK
5584 (char*)NULL };
5585
5586/* * * * * * * * * * * * * * * * * * * * * * * * * *
5587 *
5abc1f74 5588 * Description of X11_Class_Usage fix
06bbab1b
BK
5589 */
5590tSCC zX11_Class_UsageName[] =
3be1fb72
ZW
5591 "x11_class_usage";
5592
06bbab1b
BK
5593/*
5594 * File name selection pattern
5595 */
5596tSCC zX11_Class_UsageList[] =
c329beb0 5597 "|Xm/BaseClassI.h|";
06bbab1b
BK
5598/*
5599 * Machine/OS name selection pattern
5600 */
5601#define apzX11_Class_UsageMachs (const char**)NULL
5602
5d7d28c2
BK
5603/*
5604 * content selection pattern - do fix if pattern found
5605 */
5606tSCC zX11_Class_UsageSelect0[] =
5607 " class\\)";
5608
06bbab1b 5609/*
be02fa1a 5610 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
5611 */
5612tSCC zX11_Class_UsageBypass0[] =
5613 "__cplusplus";
5614
5d7d28c2 5615#define X11_CLASS_USAGE_TEST_CT 2
3af556f7 5616static tTestDesc aX11_Class_UsageTests[] = {
5d7d28c2
BK
5617 { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
5618 { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5619
5620/*
5621 * Fix Command Arguments for X11_Class_Usage
5622 */
3af556f7 5623static const char* apzX11_Class_UsagePatch[] = {
5d7d28c2
BK
5624 "format",
5625 " c_class)",
06bbab1b
BK
5626 (char*)NULL };
5627
5628/* * * * * * * * * * * * * * * * * * * * * * * * * *
5629 *
5abc1f74 5630 * Description of X11_New fix
06bbab1b
BK
5631 */
5632tSCC zX11_NewName[] =
3be1fb72
ZW
5633 "x11_new";
5634
06bbab1b
BK
5635/*
5636 * File name selection pattern
5637 */
5638tSCC zX11_NewList[] =
c329beb0 5639 "|Xm/Traversal.h|";
06bbab1b
BK
5640/*
5641 * Machine/OS name selection pattern
5642 */
5643#define apzX11_NewMachs (const char**)NULL
5644
5645/*
be02fa1a 5646 * content bypass pattern - skip fix if pattern found
06bbab1b
BK
5647 */
5648tSCC zX11_NewBypass0[] =
5649 "__cplusplus";
5650
5651#define X11_NEW_TEST_CT 1
3af556f7 5652static tTestDesc aX11_NewTests[] = {
5abc1f74 5653 { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
06bbab1b
BK
5654
5655/*
5656 * Fix Command Arguments for X11_New
5657 */
3af556f7 5658static const char* apzX11_NewPatch[] = { "sed",
c329beb0
BK
5659 "-e", "/Widget\told, new;/i\\\n\
5660#ifdef __cplusplus\\\n\
5661\tWidget\told, c_new;\\\n\
5662#else\n",
5663 "-e", "/Widget\told, new;/a\\\n\
5664#endif\n",
be02fa1a 5665 "-e", "s/Widget new,/Widget c_new,/g",
06bbab1b
BK
5666 (char*)NULL };
5667
5668/* * * * * * * * * * * * * * * * * * * * * * * * * *
5669 *
5abc1f74 5670 * Description of X11_Sprintf fix
06bbab1b
BK
5671 */
5672tSCC zX11_SprintfName[] =
3be1fb72
ZW
5673 "x11_sprintf";
5674
06bbab1b
BK
5675/*
5676 * File name selection pattern
5677 */
5678tSCC zX11_SprintfList[] =
b51207a4 5679 "|X11/Xmu.h|X11/Xmu/Xmu.h|";
06bbab1b
BK
5680/*
5681 * Machine/OS name selection pattern
5682 */
5683#define apzX11_SprintfMachs (const char**)NULL
b51207a4
ZW
5684
5685/*
5686 * content selection pattern - do fix if pattern found
5687 */
5688tSCC zX11_SprintfSelect0[] =
5d7d28c2 5689 "^extern char \\*\tsprintf\\(\\);$";
b51207a4
ZW
5690
5691#define X11_SPRINTF_TEST_CT 1
3af556f7 5692static tTestDesc aX11_SprintfTests[] = {
b51207a4 5693 { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
06bbab1b
BK
5694
5695/*
5696 * Fix Command Arguments for X11_Sprintf
5697 */
3af556f7 5698static const char* apzX11_SprintfPatch[] = {
5d7d28c2
BK
5699 "format",
5700 "#ifndef __STDC__\n\
5701%0\n\
5702#endif /* !defined __STDC__ */",
06bbab1b
BK
5703 (char*)NULL };
5704
3be1fb72 5705
06bbab1b
BK
5706/* * * * * * * * * * * * * * * * * * * * * * * * * *
5707 *
5708 * List of all fixes
5709 */
3d78f2e9 5710#define REGEX_COUNT 153
86765ca0 5711#define MACH_LIST_SIZE_LIMIT 279
3d78f2e9 5712#define FIX_COUNT 146
5abc1f74 5713
7b78a14a
BK
5714/*
5715 * Enumerate the fixes
5716 */
5717typedef enum {
7b78a14a
BK
5718 AAB_DGUX_INT_VARARGS_FIXIDX,
5719 AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
5720 AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
5721 AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
5722 AAB_SUN_MEMCPY_FIXIDX,
eadc0202 5723 AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7b78a14a
BK
5724 AAB_SVR4_REPLACE_BYTEORDER_FIXIDX,
5725 AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
5726 AAB_ULTRIX_LIMITS_FIXIDX,
5727 AAB_ULTRIX_MEMORY_FIXIDX,
5728 AAB_ULTRIX_STRING_FIXIDX,
5729 AIX_PTHREAD_FIXIDX,
5730 AIX_SYSMACHINE_FIXIDX,
5731 AIX_SYSWAIT_FIXIDX,
5732 AIX_VOLATILE_FIXIDX,
5733 ALPHA___ASSERT_FIXIDX,
aaa4d130 5734 ALPHA_ASSERT_FIXIDX,
7b78a14a
BK
5735 ALPHA_GETOPT_FIXIDX,
5736 ALPHA_PARENS_FIXIDX,
5737 ALPHA_SBRK_FIXIDX,
5738 ARM_NORCROFT_HINT_FIXIDX,
5739 ARM_WCHAR_FIXIDX,
5740 AUX_ASM_FIXIDX,
5741 AVOID_BOOL_DEFINE_FIXIDX,
5742 AVOID_BOOL_TYPE_FIXIDX,
5743 AVOID_WCHAR_T_TYPE_FIXIDX,
5744 BAD_LVAL_FIXIDX,
5745 BAD_STRUCT_TERM_FIXIDX,
5746 BADQUOTE_FIXIDX,
5747 BROKEN_ASSERT_STDIO_FIXIDX,
5748 BROKEN_ASSERT_STDLIB_FIXIDX,
5749 BROKEN_CABS_FIXIDX,
5750 CTRL_QUOTES_DEF_FIXIDX,
5751 CTRL_QUOTES_USE_FIXIDX,
5752 CXX_UNREADY_FIXIDX,
5753 DEC_INTERN_ASM_FIXIDX,
5754 DJGPP_WCHAR_H_FIXIDX,
5755 ECD_CURSOR_FIXIDX,
5756 FIX_HEADER_BREAKAGE_FIXIDX,
5757 FREEBSD_GCC3_BREAKAGE_FIXIDX,
5758 GNU_TYPES_FIXIDX,
5759 HP_INLINE_FIXIDX,
5760 HP_SYSFILE_FIXIDX,
5ffd49b8 5761 HPUX10_CPP_POW_INLINE_FIXIDX,
eb559363 5762 HPUX11_CPP_POW_INLINE_FIXIDX,
7b78a14a 5763 HPUX11_FABSF_FIXIDX,
34b3b0f6 5764 HPUX11_SIZE_T_FIXIDX,
7b78a14a 5765 HPUX11_UINT32_C_FIXIDX,
b8d0bbf7 5766 HPUX11_VSNPRINTF_FIXIDX,
7b78a14a
BK
5767 HPUX8_BOGUS_INLINES_FIXIDX,
5768 HPUX_MAXINT_FIXIDX,
5769 HPUX_SYSTIME_FIXIDX,
5770 INT_ABORT_FREE_AND_EXIT_FIXIDX,
5771 IO_QUOTES_DEF_FIXIDX,
5772 IO_QUOTES_USE_FIXIDX,
5773 IP_MISSING_SEMI_FIXIDX,
5774 IRIX_ASM_APOSTROPHE_FIXIDX,
5775 IRIX_LIMITS_CONST_FIXIDX,
5776 IRIX_STDIO_VA_LIST_FIXIDX,
5777 ISC_FMOD_FIXIDX,
5778 ISC_OMITS_WITH_STDC_FIXIDX,
5779 KANDR_CONCAT_FIXIDX,
5780 LIBC1_IFDEFD_MEMX_FIXIDX,
5781 LIMITS_IFNDEFS_FIXIDX,
5782 LYNX_VOID_INT_FIXIDX,
5783 LYNXOS_FCNTL_PROTO_FIXIDX,
5784 M88K_BAD_HYPOT_OPT_FIXIDX,
5785 M88K_BAD_S_IF_FIXIDX,
5786 M88K_MULTI_INCL_FIXIDX,
5787 MACHINE_ANSI_H_VA_LIST_FIXIDX,
5788 MACHINE_NAME_FIXIDX,
5789 MATH_EXCEPTION_FIXIDX,
5790 MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
5791 MATH_HUGE_VAL_IFNDEF_FIXIDX,
5792 NESTED_AUTH_DES_FIXIDX,
5793 NESTED_MOTOROLA_FIXIDX,
5794 NESTED_SYS_LIMITS_FIXIDX,
5795 NEWS_OS_RECURSION_FIXIDX,
5796 NEXT_MATH_PREFIX_FIXIDX,
5797 NEXT_TEMPLATE_FIXIDX,
5798 NEXT_VOLITILE_FIXIDX,
5799 NEXT_WAIT_UNION_FIXIDX,
5800 NODEENT_SYNTAX_FIXIDX,
5801 OSF_NAMESPACE_A_FIXIDX,
5802 OSF_NAMESPACE_C_FIXIDX,
5803 PTHREAD_PAGE_SIZE_FIXIDX,
5804 READ_RET_TYPE_FIXIDX,
5805 RS6000_DOUBLE_FIXIDX,
5806 RS6000_FCHMOD_FIXIDX,
5807 RS6000_PARAM_FIXIDX,
5808 SCO_STATIC_FUNC_FIXIDX,
5809 SCO_UTIME_FIXIDX,
eb559363 5810 SOLARIS_MUTEX_INIT_FIXIDX,
fba39eaf 5811 SOLARIS_STDIO_TAG_FIXIDX,
d8af0868 5812 SOLARIS_WIDEC_FIXIDX,
7b78a14a
BK
5813 STATSSWTCH_FIXIDX,
5814 STDIO_STDARG_H_FIXIDX,
5815 STDIO_VA_LIST_FIXIDX,
5816 STRICT_ANSI_NOT_FIXIDX,
5817 STRICT_ANSI_NOT_CTD_FIXIDX,
5818 STRICT_ANSI_ONLY_FIXIDX,
5819 STRUCT_FILE_FIXIDX,
5820 STRUCT_SOCKADDR_FIXIDX,
5821 SUN_AUTH_PROTO_FIXIDX,
5822 SUN_BOGUS_IFDEF_FIXIDX,
5823 SUN_CATMACRO_FIXIDX,
5824 SUN_MALLOC_FIXIDX,
5825 SUN_RUSERS_SEMI_FIXIDX,
5826 SUN_SIGNAL_FIXIDX,
5827 SUNOS_MATHERR_DECL_FIXIDX,
5828 SUNOS_STRLEN_FIXIDX,
5829 SVR4__P_FIXIDX,
5830 SVR4_GETCWD_FIXIDX,
5831 SVR4_PROFIL_FIXIDX,
5832 SYSV68_STRING_FIXIDX,
5833 SYSZ_STDLIB_FOR_SUN_FIXIDX,
3d78f2e9 5834 THREAD_KEYWORD_FIXIDX,
7b78a14a 5835 TINFO_CPLUSPLUS_FIXIDX,
b8d0bbf7 5836 ULTRIX_ATEXIT_PARAM_FIXIDX,
7b78a14a
BK
5837 ULTRIX_ATOF_PARAM_FIXIDX,
5838 ULTRIX_CONST_FIXIDX,
5839 ULTRIX_CONST2_FIXIDX,
5840 ULTRIX_FIX_FIXPROTO_FIXIDX,
5841 ULTRIX_IFDEF_FIXIDX,
5842 ULTRIX_MATH_IFDEF_FIXIDX,
5843 ULTRIX_NESTED_IOCTL_FIXIDX,
5844 ULTRIX_NESTED_SVC_FIXIDX,
5845 ULTRIX_STAT_FIXIDX,
5846 ULTRIX_STATIC_FIXIDX,
5847 ULTRIX_STRINGS_FIXIDX,
5848 UNDEFINE_NULL_FIXIDX,
30102605 5849 UNICOSMK_RESTRICT_FIXIDX,
7b78a14a
BK
5850 UW7_BYTEORDER_FIX_FIXIDX,
5851 VA_I960_MACRO_FIXIDX,
5852 VOID_NULL_FIXIDX,
5853 VXWORKS_GCC_PROBLEM_FIXIDX,
5854 VXWORKS_NEEDS_VXTYPES_FIXIDX,
5855 VXWORKS_NEEDS_VXWORKS_FIXIDX,
5856 VXWORKS_TIME_FIXIDX,
cace4f93
MM
5857 WINDISS_MATH1_FIXIDX,
5858 WINDISS_MATH2_FIXIDX,
5859 WINDISS_VALIST_FIXIDX,
7b78a14a
BK
5860 X11_CLASS_FIXIDX,
5861 X11_CLASS_USAGE_FIXIDX,
5862 X11_NEW_FIXIDX,
5863 X11_SPRINTF_FIXIDX
5864} t_fixinc_idx;
5865
be02fa1a 5866tFixDesc fixDescList[ FIX_COUNT ] = {
5abc1f74 5867 { zAab_Dgux_Int_VarargsName, zAab_Dgux_Int_VarargsList,
f5b105ca 5868 apzAab_Dgux_Int_VarargsMachs,
5abc1f74 5869 AAB_DGUX_INT_VARARGS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5870 aAab_Dgux_Int_VarargsTests, apzAab_Dgux_Int_VarargsPatch, 0 },
5abc1f74 5871
d7eb5a45 5872 { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
f5b105ca 5873 apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
d7eb5a45 5874 AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5875 aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8aeb3b0e 5876
d7eb5a45 5877 { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
f5b105ca 5878 apzAab_Fd_Zero_Gnu_Types_HMachs,
d7eb5a45 5879 AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5880 aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8aeb3b0e 5881
d7eb5a45 5882 { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
f5b105ca 5883 apzAab_Fd_Zero_Selectbits_HMachs,
d7eb5a45 5884 AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5885 aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
8aeb3b0e 5886
b51207a4 5887 { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
f5b105ca 5888 apzAab_Sun_MemcpyMachs,
b51207a4 5889 AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5890 aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
b51207a4 5891
eadc0202
RH
5892 { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
5893 apzAab_Solaris_Sys_Varargs_HMachs,
5894 AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5895 aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
5896
86765ca0 5897 { zAab_Svr4_Replace_ByteorderName, zAab_Svr4_Replace_ByteorderList,
f5b105ca 5898 apzAab_Svr4_Replace_ByteorderMachs,
86765ca0 5899 AAB_SVR4_REPLACE_BYTEORDER_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5900 aAab_Svr4_Replace_ByteorderTests, apzAab_Svr4_Replace_ByteorderPatch, 0 },
86765ca0 5901
b51207a4 5902 { zAab_Ultrix_Ansi_CompatName, zAab_Ultrix_Ansi_CompatList,
f5b105ca 5903 apzAab_Ultrix_Ansi_CompatMachs,
b51207a4 5904 AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5905 aAab_Ultrix_Ansi_CompatTests, apzAab_Ultrix_Ansi_CompatPatch, 0 },
b51207a4 5906
bde8e564
BK
5907 { zAab_Ultrix_LimitsName, zAab_Ultrix_LimitsList,
5908 apzAab_Ultrix_LimitsMachs,
5909 AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5910 aAab_Ultrix_LimitsTests, apzAab_Ultrix_LimitsPatch, 0 },
bde8e564
BK
5911
5912 { zAab_Ultrix_MemoryName, zAab_Ultrix_MemoryList,
5913 apzAab_Ultrix_MemoryMachs,
5914 AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5915 aAab_Ultrix_MemoryTests, apzAab_Ultrix_MemoryPatch, 0 },
bde8e564
BK
5916
5917 { zAab_Ultrix_StringName, zAab_Ultrix_StringList,
5918 apzAab_Ultrix_StringMachs,
5919 AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
37082e6d 5920 aAab_Ultrix_StringTests, apzAab_Ultrix_StringPatch, 0 },
bde8e564 5921
2c82e043
GK
5922 { zAix_PthreadName, zAix_PthreadList,
5923 apzAix_PthreadMachs,
5924 AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5925 aAix_PthreadTests, apzAix_PthreadPatch, 0 },
2c82e043
GK
5926
5927 { zAix_SysmachineName, zAix_SysmachineList,
5928 apzAix_SysmachineMachs,
5929 AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5930 aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
2c82e043 5931
06bbab1b 5932 { zAix_SyswaitName, zAix_SyswaitList,
f5b105ca 5933 apzAix_SyswaitMachs,
88acf854 5934 AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5935 aAix_SyswaitTests, apzAix_SyswaitPatch, 0 },
06bbab1b
BK
5936
5937 { zAix_VolatileName, zAix_VolatileList,
f5b105ca 5938 apzAix_VolatileMachs,
99d05d99 5939 AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5940 aAix_VolatileTests, apzAix_VolatilePatch, 0 },
06bbab1b 5941
a88072eb
RO
5942 { zAlpha___AssertName, zAlpha___AssertList,
5943 apzAlpha___AssertMachs,
5944 ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5945 aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
5946
aaa4d130
RO
5947 { zAlpha_AssertName, zAlpha_AssertList,
5948 apzAlpha_AssertMachs,
5949 ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5950 aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
5951
06bbab1b 5952 { zAlpha_GetoptName, zAlpha_GetoptList,
f5b105ca 5953 apzAlpha_GetoptMachs,
99d05d99 5954 ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5955 aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
06bbab1b
BK
5956
5957 { zAlpha_ParensName, zAlpha_ParensList,
f5b105ca 5958 apzAlpha_ParensMachs,
99d05d99 5959 ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5960 aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
06bbab1b
BK
5961
5962 { zAlpha_SbrkName, zAlpha_SbrkList,
f5b105ca 5963 apzAlpha_SbrkMachs,
99d05d99 5964 ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5965 aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
06bbab1b
BK
5966
5967 { zArm_Norcroft_HintName, zArm_Norcroft_HintList,
f5b105ca 5968 apzArm_Norcroft_HintMachs,
cd64831f 5969 ARM_NORCROFT_HINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5970 aArm_Norcroft_HintTests, apzArm_Norcroft_HintPatch, 0 },
06bbab1b
BK
5971
5972 { zArm_WcharName, zArm_WcharList,
f5b105ca 5973 apzArm_WcharMachs,
a8228686 5974 ARM_WCHAR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5975 aArm_WcharTests, apzArm_WcharPatch, 0 },
06bbab1b
BK
5976
5977 { zAux_AsmName, zAux_AsmList,
f5b105ca 5978 apzAux_AsmMachs,
cd64831f 5979 AUX_ASM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5980 aAux_AsmTests, apzAux_AsmPatch, 0 },
06bbab1b 5981
cd64831f
BK
5982 { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
5983 apzAvoid_Bool_DefineMachs,
5984 AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5985 aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
cd64831f
BK
5986
5987 { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
5988 apzAvoid_Bool_TypeMachs,
5989 AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5990 aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
06bbab1b 5991
8b4c8a86
MM
5992 { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
5993 apzAvoid_Wchar_T_TypeMachs,
5994 AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 5995 aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
8b4c8a86 5996
79589c4d
BK
5997 { zBad_LvalName, zBad_LvalList,
5998 apzBad_LvalMachs,
5999 BAD_LVAL_TEST_CT, FD_MACH_ONLY,
37082e6d 6000 aBad_LvalTests, apzBad_LvalPatch, 0 },
79589c4d 6001
06bbab1b 6002 { zBad_Struct_TermName, zBad_Struct_TermList,
f5b105ca 6003 apzBad_Struct_TermMachs,
cd64831f 6004 BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6005 aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
06bbab1b
BK
6006
6007 { zBadquoteName, zBadquoteList,
f5b105ca 6008 apzBadquoteMachs,
cd64831f 6009 BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6010 aBadquoteTests, apzBadquotePatch, 0 },
06bbab1b 6011
06bbab1b 6012 { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
f5b105ca 6013 apzBroken_Assert_StdioMachs,
ba8fcfc3 6014 BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6015 aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
06bbab1b
BK
6016
6017 { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
f5b105ca 6018 apzBroken_Assert_StdlibMachs,
ba8fcfc3 6019 BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6020 aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
06bbab1b 6021
72b9c7fb 6022 { zBroken_CabsName, zBroken_CabsList,
f5b105ca 6023 apzBroken_CabsMachs,
cd64831f 6024 BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6025 aBroken_CabsTests, apzBroken_CabsPatch, 0 },
72b9c7fb 6026
79589c4d
BK
6027 { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
6028 apzCtrl_Quotes_DefMachs,
6029 CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6030 aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
79589c4d
BK
6031
6032 { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
6033 apzCtrl_Quotes_UseMachs,
6034 CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6035 aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
79589c4d
BK
6036
6037 { zCxx_UnreadyName, zCxx_UnreadyList,
6038 apzCxx_UnreadyMachs,
6039 CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6040 aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
79589c4d 6041
48bd9529 6042 { zDec_Intern_AsmName, zDec_Intern_AsmList,
f5b105ca 6043 apzDec_Intern_AsmMachs,
48bd9529 6044 DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
37082e6d 6045 aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
48bd9529 6046
6822468a
LB
6047 { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
6048 apzDjgpp_Wchar_HMachs,
6049 DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6050 aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
6051
06bbab1b 6052 { zEcd_CursorName, zEcd_CursorList,
f5b105ca 6053 apzEcd_CursorMachs,
cd64831f 6054 ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6055 aEcd_CursorTests, apzEcd_CursorPatch, 0 },
06bbab1b 6056
79589c4d
BK
6057 { zFix_Header_BreakageName, zFix_Header_BreakageList,
6058 apzFix_Header_BreakageMachs,
6059 FIX_HEADER_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6060 aFix_Header_BreakageTests, apzFix_Header_BreakagePatch, 0 },
79589c4d 6061
89647e8a
LR
6062 { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
6063 apzFreebsd_Gcc3_BreakageMachs,
6064 FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6065 aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
6066
7b78a14a
BK
6067 { zGnu_TypesName, zGnu_TypesList,
6068 apzGnu_TypesMachs,
6069 GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6070 aGnu_TypesTests, apzGnu_TypesPatch, 0 },
6071
06bbab1b 6072 { zHp_InlineName, zHp_InlineList,
f5b105ca 6073 apzHp_InlineMachs,
cd64831f 6074 HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6075 aHp_InlineTests, apzHp_InlinePatch, 0 },
06bbab1b
BK
6076
6077 { zHp_SysfileName, zHp_SysfileList,
f5b105ca 6078 apzHp_SysfileMachs,
cd64831f 6079 HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6080 aHp_SysfileTests, apzHp_SysfilePatch, 0 },
06bbab1b 6081
5ffd49b8
JDA
6082 { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
6083 apzHpux10_Cpp_Pow_InlineMachs,
6084 HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6085 aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
6086
eb559363
BK
6087 { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
6088 apzHpux11_Cpp_Pow_InlineMachs,
6089 HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6090 aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
6091
2dc693ee
BK
6092 { zHpux11_FabsfName, zHpux11_FabsfList,
6093 apzHpux11_FabsfMachs,
6094 HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6095 aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
2dc693ee 6096
34b3b0f6
JM
6097 { zHpux11_Size_TName, zHpux11_Size_TList,
6098 apzHpux11_Size_TMachs,
6099 HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6100 aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
6101
abf7cec7 6102 { zHpux11_Uint32_CName, zHpux11_Uint32_CList,
f5b105ca 6103 apzHpux11_Uint32_CMachs,
79589c4d 6104 HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6105 aHpux11_Uint32_CTests, apzHpux11_Uint32_CPatch, 0 },
abf7cec7 6106
b8d0bbf7
BK
6107 { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
6108 apzHpux11_VsnprintfMachs,
6109 HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6110 aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
6111
cd64831f
BK
6112 { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
6113 apzHpux8_Bogus_InlinesMachs,
6114 HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
37082e6d 6115 aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
cd64831f 6116
7b78a14a
BK
6117 { zHpux_MaxintName, zHpux_MaxintList,
6118 apzHpux_MaxintMachs,
6119 HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6120 aHpux_MaxintTests, apzHpux_MaxintPatch, 0 },
6121
6122 { zHpux_SystimeName, zHpux_SystimeList,
6123 apzHpux_SystimeMachs,
6124 HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6125 aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
6126
cb8d5168
BK
6127 { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
6128 apzInt_Abort_Free_And_ExitMachs,
6129 INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6130 aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
cb8d5168 6131
88acf854
BK
6132 { zIo_Quotes_DefName, zIo_Quotes_DefList,
6133 apzIo_Quotes_DefMachs,
6134 IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6135 aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
88acf854 6136
99d05d99
BK
6137 { zIo_Quotes_UseName, zIo_Quotes_UseList,
6138 apzIo_Quotes_UseMachs,
6139 IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6140 aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
88acf854 6141
06bbab1b 6142 { zIp_Missing_SemiName, zIp_Missing_SemiList,
f5b105ca 6143 apzIp_Missing_SemiMachs,
06bbab1b 6144 IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
37082e6d 6145 aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
06bbab1b 6146
79589c4d
BK
6147 { zIrix_Asm_ApostropheName, zIrix_Asm_ApostropheList,
6148 apzIrix_Asm_ApostropheMachs,
6149 IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6150 aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 },
79589c4d 6151
8d8d5752
JO
6152 { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
6153 apzIrix_Limits_ConstMachs,
6154 IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6155 aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
6156
7b78a14a
BK
6157 { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
6158 apzIrix_Stdio_Va_ListMachs,
6159 IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6160 aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
6161
06bbab1b 6162 { zIsc_FmodName, zIsc_FmodList,
f5b105ca 6163 apzIsc_FmodMachs,
79589c4d 6164 ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6165 aIsc_FmodTests, apzIsc_FmodPatch, 0 },
06bbab1b 6166
7b78a14a
BK
6167 { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
6168 apzIsc_Omits_With_StdcMachs,
6169 ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6170 aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
6171
06bbab1b 6172 { zKandr_ConcatName, zKandr_ConcatList,
f5b105ca 6173 apzKandr_ConcatMachs,
79589c4d 6174 KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6175 aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
06bbab1b 6176
62a37b6f
HPN
6177 { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
6178 apzLibc1_Ifdefd_MemxMachs,
6179 LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6180 aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
62a37b6f 6181
06bbab1b 6182 { zLimits_IfndefsName, zLimits_IfndefsList,
f5b105ca 6183 apzLimits_IfndefsMachs,
79589c4d 6184 LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6185 aLimits_IfndefsTests, apzLimits_IfndefsPatch, 0 },
06bbab1b
BK
6186
6187 { zLynx_Void_IntName, zLynx_Void_IntList,
f5b105ca 6188 apzLynx_Void_IntMachs,
79589c4d 6189 LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6190 aLynx_Void_IntTests, apzLynx_Void_IntPatch, 0 },
06bbab1b
BK
6191
6192 { zLynxos_Fcntl_ProtoName, zLynxos_Fcntl_ProtoList,
f5b105ca 6193 apzLynxos_Fcntl_ProtoMachs,
79589c4d 6194 LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6195 aLynxos_Fcntl_ProtoTests, apzLynxos_Fcntl_ProtoPatch, 0 },
06bbab1b
BK
6196
6197 { zM88k_Bad_Hypot_OptName, zM88k_Bad_Hypot_OptList,
f5b105ca 6198 apzM88k_Bad_Hypot_OptMachs,
79589c4d 6199 M88K_BAD_HYPOT_OPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6200 aM88k_Bad_Hypot_OptTests, apzM88k_Bad_Hypot_OptPatch, 0 },
06bbab1b
BK
6201
6202 { zM88k_Bad_S_IfName, zM88k_Bad_S_IfList,
f5b105ca 6203 apzM88k_Bad_S_IfMachs,
79589c4d 6204 M88K_BAD_S_IF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6205 aM88k_Bad_S_IfTests, apzM88k_Bad_S_IfPatch, 0 },
06bbab1b
BK
6206
6207 { zM88k_Multi_InclName, zM88k_Multi_InclList,
f5b105ca 6208 apzM88k_Multi_InclMachs,
da6d3adf 6209 M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6210 aM88k_Multi_InclTests, apzM88k_Multi_InclPatch, 0 },
06bbab1b 6211
3be1fb72 6212 { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
f5b105ca 6213 apzMachine_Ansi_H_Va_ListMachs,
a8228686 6214 MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6215 aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
3be1fb72 6216
06bbab1b 6217 { zMachine_NameName, zMachine_NameList,
f5b105ca 6218 apzMachine_NameMachs,
52c207e2 6219 MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6220 aMachine_NameTests, apzMachine_NamePatch, 0 },
06bbab1b
BK
6221
6222 { zMath_ExceptionName, zMath_ExceptionList,
f5b105ca 6223 apzMath_ExceptionMachs,
ba8fcfc3 6224 MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6225 aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
06bbab1b 6226
d7eb5a45 6227 { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
f5b105ca 6228 apzMath_Huge_Val_From_Dbl_MaxMachs,
d7eb5a45 6229 MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
37082e6d 6230 aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
d7eb5a45
ZW
6231
6232 { zMath_Huge_Val_IfndefName, zMath_Huge_Val_IfndefList,
f5b105ca 6233 apzMath_Huge_Val_IfndefMachs,
a8228686 6234 MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6235 aMath_Huge_Val_IfndefTests, apzMath_Huge_Val_IfndefPatch, 0 },
06bbab1b 6236
7b78a14a
BK
6237 { zNested_Auth_DesName, zNested_Auth_DesList,
6238 apzNested_Auth_DesMachs,
6239 NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6240 aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
6241
79589c4d
BK
6242 { zNested_MotorolaName, zNested_MotorolaList,
6243 apzNested_MotorolaMachs,
6244 NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
37082e6d 6245 aNested_MotorolaTests, apzNested_MotorolaPatch, 0 },
79589c4d
BK
6246
6247 { zNested_Sys_LimitsName, zNested_Sys_LimitsList,
6248 apzNested_Sys_LimitsMachs,
6249 NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
37082e6d 6250 aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 },
79589c4d 6251
06bbab1b 6252 { zNews_Os_RecursionName, zNews_Os_RecursionList,
f5b105ca 6253 apzNews_Os_RecursionMachs,
a8228686 6254 NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6255 aNews_Os_RecursionTests, apzNews_Os_RecursionPatch, 0 },
06bbab1b
BK
6256
6257 { zNext_Math_PrefixName, zNext_Math_PrefixList,
f5b105ca 6258 apzNext_Math_PrefixMachs,
a8228686 6259 NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6260 aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
06bbab1b
BK
6261
6262 { zNext_TemplateName, zNext_TemplateList,
f5b105ca 6263 apzNext_TemplateMachs,
a8228686 6264 NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6265 aNext_TemplateTests, apzNext_TemplatePatch, 0 },
06bbab1b
BK
6266
6267 { zNext_VolitileName, zNext_VolitileList,
f5b105ca 6268 apzNext_VolitileMachs,
a8228686 6269 NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6270 aNext_VolitileTests, apzNext_VolitilePatch, 0 },
06bbab1b
BK
6271
6272 { zNext_Wait_UnionName, zNext_Wait_UnionList,
f5b105ca 6273 apzNext_Wait_UnionMachs,
cb8d5168 6274 NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6275 aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
06bbab1b
BK
6276
6277 { zNodeent_SyntaxName, zNodeent_SyntaxList,
f5b105ca 6278 apzNodeent_SyntaxMachs,
cb8d5168 6279 NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6280 aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
06bbab1b
BK
6281
6282 { zOsf_Namespace_AName, zOsf_Namespace_AList,
f5b105ca 6283 apzOsf_Namespace_AMachs,
cb8d5168 6284 OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6285 aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
06bbab1b 6286
cb8d5168
BK
6287 { zOsf_Namespace_CName, zOsf_Namespace_CList,
6288 apzOsf_Namespace_CMachs,
6289 OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6290 aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
06bbab1b
BK
6291
6292 { zPthread_Page_SizeName, zPthread_Page_SizeList,
f5b105ca 6293 apzPthread_Page_SizeMachs,
cb8d5168 6294 PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6295 aPthread_Page_SizeTests, apzPthread_Page_SizePatch, 0 },
06bbab1b 6296
d71ef9d4 6297 { zRead_Ret_TypeName, zRead_Ret_TypeList,
f5b105ca 6298 apzRead_Ret_TypeMachs,
cb8d5168 6299 READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6300 aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
d71ef9d4 6301
06bbab1b 6302 { zRs6000_DoubleName, zRs6000_DoubleList,
f5b105ca 6303 apzRs6000_DoubleMachs,
cb8d5168 6304 RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6305 aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
06bbab1b
BK
6306
6307 { zRs6000_FchmodName, zRs6000_FchmodList,
f5b105ca 6308 apzRs6000_FchmodMachs,
cb8d5168 6309 RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6310 aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
06bbab1b
BK
6311
6312 { zRs6000_ParamName, zRs6000_ParamList,
f5b105ca 6313 apzRs6000_ParamMachs,
cb8d5168 6314 RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6315 aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
06bbab1b 6316
4c188026 6317 { zSco_Static_FuncName, zSco_Static_FuncList,
f5b105ca 6318 apzSco_Static_FuncMachs,
4c188026 6319 SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
37082e6d 6320 aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 },
4c188026
BK
6321
6322 { zSco_UtimeName, zSco_UtimeList,
f5b105ca 6323 apzSco_UtimeMachs,
cb8d5168 6324 SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6325 aSco_UtimeTests, apzSco_UtimePatch, 0 },
4c188026 6326
eb559363
BK
6327 { zSolaris_Mutex_InitName, zSolaris_Mutex_InitList,
6328 apzSolaris_Mutex_InitMachs,
6329 SOLARIS_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6330 aSolaris_Mutex_InitTests, apzSolaris_Mutex_InitPatch, 0 },
1f98d85e 6331
fba39eaf
RH
6332 { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
6333 apzSolaris_Stdio_TagMachs,
6334 SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
6335 aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
6336
d8af0868
RO
6337 { zSolaris_WidecName, zSolaris_WidecList,
6338 apzSolaris_WidecMachs,
6339 SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6340 aSolaris_WidecTests, apzSolaris_WidecPatch, 0 },
6341
06bbab1b 6342 { zStatsswtchName, zStatsswtchList,
f5b105ca 6343 apzStatsswtchMachs,
cb8d5168 6344 STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6345 aStatsswtchTests, apzStatsswtchPatch, 0 },
06bbab1b 6346
3be1fb72 6347 { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
f5b105ca 6348 apzStdio_Stdarg_HMachs,
ba8fcfc3 6349 STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6350 aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
3be1fb72 6351
06bbab1b 6352 { zStdio_Va_ListName, zStdio_Va_ListList,
f5b105ca 6353 apzStdio_Va_ListMachs,
3be1fb72 6354 STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
37082e6d 6355 aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
06bbab1b 6356
7b78a14a
BK
6357 { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
6358 apzStrict_Ansi_NotMachs,
6359 STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6360 aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
6361
6362 { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
6363 apzStrict_Ansi_Not_CtdMachs,
6364 STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6365 aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
6366
6367 { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
6368 apzStrict_Ansi_OnlyMachs,
6369 STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6370 aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
6371
79589c4d
BK
6372 { zStruct_FileName, zStruct_FileList,
6373 apzStruct_FileMachs,
6374 STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6375 aStruct_FileTests, apzStruct_FilePatch, 0 },
79589c4d
BK
6376
6377 { zStruct_SockaddrName, zStruct_SockaddrList,
6378 apzStruct_SockaddrMachs,
6379 STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6380 aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
79589c4d 6381
4c188026 6382 { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
f5b105ca 6383 apzSun_Auth_ProtoMachs,
cb8d5168 6384 SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6385 aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
4c188026 6386
06bbab1b 6387 { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
f5b105ca 6388 apzSun_Bogus_IfdefMachs,
cb8d5168 6389 SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6390 aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
06bbab1b 6391
06bbab1b 6392 { zSun_CatmacroName, zSun_CatmacroList,
f5b105ca 6393 apzSun_CatmacroMachs,
cb8d5168 6394 SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6395 aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
06bbab1b
BK
6396
6397 { zSun_MallocName, zSun_MallocList,
f5b105ca 6398 apzSun_MallocMachs,
06bbab1b 6399 SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
37082e6d 6400 aSun_MallocTests, apzSun_MallocPatch, 0 },
06bbab1b 6401
06bbab1b 6402 { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
f5b105ca 6403 apzSun_Rusers_SemiMachs,
06bbab1b 6404 SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
37082e6d 6405 aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
06bbab1b
BK
6406
6407 { zSun_SignalName, zSun_SignalList,
f5b105ca 6408 apzSun_SignalMachs,
cb8d5168 6409 SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6410 aSun_SignalTests, apzSun_SignalPatch, 0 },
06bbab1b 6411
06bbab1b 6412 { zSunos_Matherr_DeclName, zSunos_Matherr_DeclList,
f5b105ca 6413 apzSunos_Matherr_DeclMachs,
cb8d5168 6414 SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6415 aSunos_Matherr_DeclTests, apzSunos_Matherr_DeclPatch, 0 },
06bbab1b
BK
6416
6417 { zSunos_StrlenName, zSunos_StrlenList,
f5b105ca 6418 apzSunos_StrlenMachs,
cb8d5168 6419 SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6420 aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
06bbab1b 6421
cb8d5168
BK
6422 { zSvr4__PName, zSvr4__PList,
6423 apzSvr4__PMachs,
6424 SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6425 aSvr4__PTests, apzSvr4__PPatch, 0 },
cb8d5168 6426
4c188026 6427 { zSvr4_GetcwdName, zSvr4_GetcwdList,
f5b105ca 6428 apzSvr4_GetcwdMachs,
cb8d5168 6429 SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6430 aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
4c188026
BK
6431
6432 { zSvr4_ProfilName, zSvr4_ProfilList,
f5b105ca 6433 apzSvr4_ProfilMachs,
cb8d5168 6434 SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6435 aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
4c188026 6436
06bbab1b 6437 { zSysv68_StringName, zSysv68_StringList,
f5b105ca 6438 apzSysv68_StringMachs,
06bbab1b 6439 SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
37082e6d 6440 aSysv68_StringTests, apzSysv68_StringPatch, 0 },
06bbab1b
BK
6441
6442 { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
f5b105ca 6443 apzSysz_Stdlib_For_SunMachs,
cb8d5168 6444 SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6445 aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
06bbab1b 6446
3d78f2e9
RH
6447 { zThread_KeywordName, zThread_KeywordList,
6448 apzThread_KeywordMachs,
fd0a3915 6449 THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
3d78f2e9
RH
6450 aThread_KeywordTests, apzThread_KeywordPatch, 0 },
6451
06bbab1b 6452 { zTinfo_CplusplusName, zTinfo_CplusplusList,
f5b105ca 6453 apzTinfo_CplusplusMachs,
5d7d28c2 6454 TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6455 aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
06bbab1b 6456
b8d0bbf7
BK
6457 { zUltrix_Atexit_ParamName, zUltrix_Atexit_ParamList,
6458 apzUltrix_Atexit_ParamMachs,
6459 ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6460 aUltrix_Atexit_ParamTests, apzUltrix_Atexit_ParamPatch, 0 },
6461
06bbab1b 6462 { zUltrix_Atof_ParamName, zUltrix_Atof_ParamList,
f5b105ca 6463 apzUltrix_Atof_ParamMachs,
bde8e564 6464 ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6465 aUltrix_Atof_ParamTests, apzUltrix_Atof_ParamPatch, 0 },
06bbab1b
BK
6466
6467 { zUltrix_ConstName, zUltrix_ConstList,
f5b105ca 6468 apzUltrix_ConstMachs,
5d7d28c2 6469 ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6470 aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
06bbab1b 6471
5d7d28c2
BK
6472 { zUltrix_Const2Name, zUltrix_Const2List,
6473 apzUltrix_Const2Machs,
6474 ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6475 aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
5d7d28c2 6476
79589c4d
BK
6477 { zUltrix_Fix_FixprotoName, zUltrix_Fix_FixprotoList,
6478 apzUltrix_Fix_FixprotoMachs,
bde8e564 6479 ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6480 aUltrix_Fix_FixprotoTests, apzUltrix_Fix_FixprotoPatch, 0 },
79589c4d 6481
06bbab1b 6482 { zUltrix_IfdefName, zUltrix_IfdefList,
f5b105ca 6483 apzUltrix_IfdefMachs,
bde8e564 6484 ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6485 aUltrix_IfdefTests, apzUltrix_IfdefPatch, 0 },
06bbab1b 6486
bde8e564
BK
6487 { zUltrix_Math_IfdefName, zUltrix_Math_IfdefList,
6488 apzUltrix_Math_IfdefMachs,
c1fd153e 6489 ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6490 aUltrix_Math_IfdefTests, apzUltrix_Math_IfdefPatch, 0 },
bde8e564
BK
6491
6492 { zUltrix_Nested_IoctlName, zUltrix_Nested_IoctlList,
6493 apzUltrix_Nested_IoctlMachs,
6494 ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
37082e6d 6495 aUltrix_Nested_IoctlTests, apzUltrix_Nested_IoctlPatch, 0 },
bde8e564
BK
6496
6497 { zUltrix_Nested_SvcName, zUltrix_Nested_SvcList,
6498 apzUltrix_Nested_SvcMachs,
6499 ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
37082e6d 6500 aUltrix_Nested_SvcTests, apzUltrix_Nested_SvcPatch, 0 },
bde8e564
BK
6501
6502 { zUltrix_StatName, zUltrix_StatList,
6503 apzUltrix_StatMachs,
6504 ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
37082e6d 6505 aUltrix_StatTests, apzUltrix_StatPatch, 0 },
bde8e564 6506
06bbab1b 6507 { zUltrix_StaticName, zUltrix_StaticList,
f5b105ca 6508 apzUltrix_StaticMachs,
06bbab1b 6509 ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
37082e6d 6510 aUltrix_StaticTests, apzUltrix_StaticPatch, 0 },
06bbab1b 6511
bde8e564
BK
6512 { zUltrix_StringsName, zUltrix_StringsList,
6513 apzUltrix_StringsMachs,
6514 ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6515 aUltrix_StringsTests, apzUltrix_StringsPatch, 0 },
bde8e564 6516
06bbab1b 6517 { zUndefine_NullName, zUndefine_NullList,
f5b105ca 6518 apzUndefine_NullMachs,
99d05d99 6519 UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6520 aUndefine_NullTests, apzUndefine_NullPatch, 0 },
06bbab1b 6521
30102605
RH
6522 { zUnicosmk_RestrictName, zUnicosmk_RestrictList,
6523 apzUnicosmk_RestrictMachs,
6524 UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6525 aUnicosmk_RestrictTests, apzUnicosmk_RestrictPatch, 0 },
6526
b5e20633
BK
6527 { zUw7_Byteorder_FixName, zUw7_Byteorder_FixList,
6528 apzUw7_Byteorder_FixMachs,
6529 UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6530 aUw7_Byteorder_FixTests, apzUw7_Byteorder_FixPatch, 0 },
86765ca0 6531
06bbab1b 6532 { zVa_I960_MacroName, zVa_I960_MacroList,
f5b105ca 6533 apzVa_I960_MacroMachs,
5d7d28c2 6534 VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6535 aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
06bbab1b
BK
6536
6537 { zVoid_NullName, zVoid_NullList,
f5b105ca 6538 apzVoid_NullMachs,
5d7d28c2 6539 VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6540 aVoid_NullTests, apzVoid_NullPatch, 0 },
06bbab1b
BK
6541
6542 { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
f5b105ca 6543 apzVxworks_Gcc_ProblemMachs,
06bbab1b 6544 VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
37082e6d 6545 aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
06bbab1b
BK
6546
6547 { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
f5b105ca 6548 apzVxworks_Needs_VxtypesMachs,
5d7d28c2 6549 VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6550 aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
06bbab1b
BK
6551
6552 { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
f5b105ca 6553 apzVxworks_Needs_VxworksMachs,
06bbab1b 6554 VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
37082e6d 6555 aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
06bbab1b
BK
6556
6557 { zVxworks_TimeName, zVxworks_TimeList,
f5b105ca 6558 apzVxworks_TimeMachs,
5d7d28c2 6559 VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6560 aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
06bbab1b 6561
cace4f93
MM
6562 { zWindiss_Math1Name, zWindiss_Math1List,
6563 apzWindiss_Math1Machs,
6564 WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
6565 aWindiss_Math1Tests, apzWindiss_Math1Patch, 0 },
6566
6567 { zWindiss_Math2Name, zWindiss_Math2List,
6568 apzWindiss_Math2Machs,
6569 WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
6570 aWindiss_Math2Tests, apzWindiss_Math2Patch, 0 },
6571
6572 { zWindiss_ValistName, zWindiss_ValistList,
6573 apzWindiss_ValistMachs,
6574 WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
6575 aWindiss_ValistTests, apzWindiss_ValistPatch, 0 },
6576
06bbab1b 6577 { zX11_ClassName, zX11_ClassList,
f5b105ca 6578 apzX11_ClassMachs,
c1fd153e 6579 X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6580 aX11_ClassTests, apzX11_ClassPatch, 0 },
06bbab1b
BK
6581
6582 { zX11_Class_UsageName, zX11_Class_UsageList,
f5b105ca 6583 apzX11_Class_UsageMachs,
5d7d28c2 6584 X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6585 aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
06bbab1b
BK
6586
6587 { zX11_NewName, zX11_NewList,
f5b105ca 6588 apzX11_NewMachs,
06bbab1b 6589 X11_NEW_TEST_CT, FD_MACH_ONLY,
37082e6d 6590 aX11_NewTests, apzX11_NewPatch, 0 },
06bbab1b
BK
6591
6592 { zX11_SprintfName, zX11_SprintfList,
f5b105ca 6593 apzX11_SprintfMachs,
5d7d28c2 6594 X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
37082e6d 6595 aX11_SprintfTests, apzX11_SprintfPatch, 0 }
06bbab1b 6596};