OSDN Git Service

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