OSDN Git Service

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