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