OSDN Git Service

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