OSDN Git Service

* inclhack.def (hpux_htonl): New fix.
[pf3gnuchains/gcc-fork.git] / fixincludes / 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  Monday March 14, 2005 at 09:43:34 PM UTC
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Mon Mar 14 21:43:34 UTC 2005
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 178 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_Syswait_2 fix
653  */
654 tSCC zAix_Syswait_2Name[] =
655      "aix_syswait_2";
656
657 /*
658  *  File name selection pattern
659  */
660 tSCC zAix_Syswait_2List[] =
661   "|sys/wait.h|";
662 /*
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_Syswait_2Machs (const char**)NULL
666
667 /*
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_Syswait_2Select0[] =
671        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
672
673 #define    AIX_SYSWAIT_2_TEST_CT  1
674 static tTestDesc aAix_Syswait_2Tests[] = {
675   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
676
677 /*
678  *  Fix Command Arguments for Aix_Syswait_2
679  */
680 static const char* apzAix_Syswait_2Patch[] = {
681     "format",
682     "? (int)%1",
683     (char*)NULL };
684
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
686  *
687  *  Description of Aix_Volatile fix
688  */
689 tSCC zAix_VolatileName[] =
690      "aix_volatile";
691
692 /*
693  *  File name selection pattern
694  */
695 tSCC zAix_VolatileList[] =
696   "|sys/signal.h|";
697 /*
698  *  Machine/OS name selection pattern
699  */
700 #define apzAix_VolatileMachs (const char**)NULL
701
702 /*
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAix_VolatileSelect0[] =
706        "typedef volatile int sig_atomic_t";
707
708 #define    AIX_VOLATILE_TEST_CT  1
709 static tTestDesc aAix_VolatileTests[] = {
710   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
711
712 /*
713  *  Fix Command Arguments for Aix_Volatile
714  */
715 static const char* apzAix_VolatilePatch[] = {
716     "format",
717     "typedef int sig_atomic_t",
718     (char*)NULL };
719
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
721  *
722  *  Description of Alpha___Assert fix
723  */
724 tSCC zAlpha___AssertName[] =
725      "alpha___assert";
726
727 /*
728  *  File name selection pattern
729  */
730 tSCC zAlpha___AssertList[] =
731   "|assert.h|";
732 /*
733  *  Machine/OS name selection pattern
734  */
735 #define apzAlpha___AssertMachs (const char**)NULL
736
737 /*
738  *  content selection pattern - do fix if pattern found
739  */
740 tSCC zAlpha___AssertSelect0[] =
741        "__assert\\(char \\*, char \\*, int\\)";
742
743 #define    ALPHA___ASSERT_TEST_CT  1
744 static tTestDesc aAlpha___AssertTests[] = {
745   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
746
747 /*
748  *  Fix Command Arguments for Alpha___Assert
749  */
750 static const char* apzAlpha___AssertPatch[] = {
751     "format",
752     "__assert(const char *, const char *, int)",
753     (char*)NULL };
754
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
756  *
757  *  Description of Alpha___Extern_Prefix fix
758  */
759 tSCC zAlpha___Extern_PrefixName[] =
760      "alpha___extern_prefix";
761
762 /*
763  *  File name selection pattern
764  */
765 #define zAlpha___Extern_PrefixList (char*)NULL
766 /*
767  *  Machine/OS name selection pattern
768  */
769 tSCC* apzAlpha___Extern_PrefixMachs[] = {
770         "alpha*-dec-osf*",
771         (const char*)NULL };
772
773 /*
774  *  content selection pattern - do fix if pattern found
775  */
776 tSCC zAlpha___Extern_PrefixSelect0[] =
777        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
778 (#[ \t]*pragma[ \t]*extern_prefix.*)";
779
780 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
781 static tTestDesc aAlpha___Extern_PrefixTests[] = {
782   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
783
784 /*
785  *  Fix Command Arguments for Alpha___Extern_Prefix
786  */
787 static const char* apzAlpha___Extern_PrefixPatch[] = {
788     "format",
789     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
790 %3",
791     (char*)NULL };
792
793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
794  *
795  *  Description of Alpha___Extern_Prefix_Standards fix
796  */
797 tSCC zAlpha___Extern_Prefix_StandardsName[] =
798      "alpha___extern_prefix_standards";
799
800 /*
801  *  File name selection pattern
802  */
803 tSCC zAlpha___Extern_Prefix_StandardsList[] =
804   "|standards.h|";
805 /*
806  *  Machine/OS name selection pattern
807  */
808 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
809         "alpha*-dec-osf*",
810         (const char*)NULL };
811
812 /*
813  *  content selection pattern - do fix if pattern found
814  */
815 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
816        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
817
818 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
819 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
820   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
821
822 /*
823  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
824  */
825 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
826     "format",
827     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
828     (char*)NULL };
829
830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
831  *
832  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
833  */
834 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
835      "alpha___extern_prefix_sys_stat";
836
837 /*
838  *  File name selection pattern
839  */
840 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
841   "|sys/stat.h|sys/mount.h|";
842 /*
843  *  Machine/OS name selection pattern
844  */
845 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
846         "alpha*-dec-osf5*",
847         (const char*)NULL };
848
849 /*
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
853        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
854
855 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
856 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
857   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
858
859 /*
860  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
861  */
862 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
863     "format",
864     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
865     (char*)NULL };
866
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
868  *
869  *  Description of Alpha_Assert fix
870  */
871 tSCC zAlpha_AssertName[] =
872      "alpha_assert";
873
874 /*
875  *  File name selection pattern
876  */
877 tSCC zAlpha_AssertList[] =
878   "|assert.h|";
879 /*
880  *  Machine/OS name selection pattern
881  */
882 #define apzAlpha_AssertMachs (const char**)NULL
883
884 /*
885  *  content selection pattern - do fix if pattern found
886  */
887 tSCC zAlpha_AssertSelect0[] =
888        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
889
890 #define    ALPHA_ASSERT_TEST_CT  1
891 static tTestDesc aAlpha_AssertTests[] = {
892   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
893
894 /*
895  *  Fix Command Arguments for Alpha_Assert
896  */
897 static const char* apzAlpha_AssertPatch[] = {
898     "format",
899     "%1(EX)",
900     (char*)NULL };
901
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
903  *
904  *  Description of Alpha_Bad_Lval fix
905  */
906 tSCC zAlpha_Bad_LvalName[] =
907      "alpha_bad_lval";
908
909 /*
910  *  File name selection pattern
911  */
912 #define zAlpha_Bad_LvalList (char*)NULL
913 /*
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Bad_LvalMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
919
920 /*
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Bad_LvalSelect0[] =
924        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
925
926 #define    ALPHA_BAD_LVAL_TEST_CT  1
927 static tTestDesc aAlpha_Bad_LvalTests[] = {
928   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
929
930 /*
931  *  Fix Command Arguments for Alpha_Bad_Lval
932  */
933 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
934     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
935     (char*)NULL };
936
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
938  *
939  *  Description of Alpha_Getopt fix
940  */
941 tSCC zAlpha_GetoptName[] =
942      "alpha_getopt";
943
944 /*
945  *  File name selection pattern
946  */
947 tSCC zAlpha_GetoptList[] =
948   "|stdio.h|stdlib.h|";
949 /*
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_GetoptMachs (const char**)NULL
953
954 /*
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_GetoptSelect0[] =
958        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
959
960 #define    ALPHA_GETOPT_TEST_CT  1
961 static tTestDesc aAlpha_GetoptTests[] = {
962   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
963
964 /*
965  *  Fix Command Arguments for Alpha_Getopt
966  */
967 static const char* apzAlpha_GetoptPatch[] = {
968     "format",
969     "getopt(int, char *const[], const char *)",
970     (char*)NULL };
971
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
973  *
974  *  Description of Alpha_Parens fix
975  */
976 tSCC zAlpha_ParensName[] =
977      "alpha_parens";
978
979 /*
980  *  File name selection pattern
981  */
982 tSCC zAlpha_ParensList[] =
983   "|sym.h|";
984 /*
985  *  Machine/OS name selection pattern
986  */
987 #define apzAlpha_ParensMachs (const char**)NULL
988
989 /*
990  *  content selection pattern - do fix if pattern found
991  */
992 tSCC zAlpha_ParensSelect0[] =
993        "#ifndef\\(__mips64\\)";
994
995 #define    ALPHA_PARENS_TEST_CT  1
996 static tTestDesc aAlpha_ParensTests[] = {
997   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
998
999 /*
1000  *  Fix Command Arguments for Alpha_Parens
1001  */
1002 static const char* apzAlpha_ParensPatch[] = {
1003     "format",
1004     "#ifndef __mips64",
1005     (char*)NULL };
1006
1007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1008  *
1009  *  Description of Alpha_Pthread fix
1010  */
1011 tSCC zAlpha_PthreadName[] =
1012      "alpha_pthread";
1013
1014 /*
1015  *  File name selection pattern
1016  */
1017 tSCC zAlpha_PthreadList[] =
1018   "|pthread.h|";
1019 /*
1020  *  Machine/OS name selection pattern
1021  */
1022 tSCC* apzAlpha_PthreadMachs[] = {
1023         "alpha*-dec-osf*",
1024         (const char*)NULL };
1025
1026 /*
1027  *  content selection pattern - do fix if pattern found
1028  */
1029 tSCC zAlpha_PthreadSelect0[] =
1030        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1031 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1032
1033 #define    ALPHA_PTHREAD_TEST_CT  1
1034 static tTestDesc aAlpha_PthreadTests[] = {
1035   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1036
1037 /*
1038  *  Fix Command Arguments for Alpha_Pthread
1039  */
1040 static const char* apzAlpha_PthreadPatch[] = {
1041     "format",
1042     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1043 %5",
1044     (char*)NULL };
1045
1046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1047  *
1048  *  Description of Alpha_Pthread_Gcc fix
1049  */
1050 tSCC zAlpha_Pthread_GccName[] =
1051      "alpha_pthread_gcc";
1052
1053 /*
1054  *  File name selection pattern
1055  */
1056 tSCC zAlpha_Pthread_GccList[] =
1057   "|pthread.h|";
1058 /*
1059  *  Machine/OS name selection pattern
1060  */
1061 tSCC* apzAlpha_Pthread_GccMachs[] = {
1062         "alpha*-dec-osf*",
1063         (const char*)NULL };
1064
1065 /*
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zAlpha_Pthread_GccSelect0[] =
1069        "#else\n\
1070 # error <pthread.h>: unrecognized compiler.";
1071
1072 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1073 static tTestDesc aAlpha_Pthread_GccTests[] = {
1074   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1075
1076 /*
1077  *  Fix Command Arguments for Alpha_Pthread_Gcc
1078  */
1079 static const char* apzAlpha_Pthread_GccPatch[] = {
1080     "format",
1081     "#elif defined (__GNUC__)\n\
1082 # define _PTHREAD_ENV_GCC\n\
1083 %0",
1084     (char*)NULL };
1085
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1087  *
1088  *  Description of Alpha_Pthread_Init fix
1089  */
1090 tSCC zAlpha_Pthread_InitName[] =
1091      "alpha_pthread_init";
1092
1093 /*
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_Pthread_InitList[] =
1097   "|pthread.h|";
1098 /*
1099  *  Machine/OS name selection pattern
1100  */
1101 tSCC* apzAlpha_Pthread_InitMachs[] = {
1102         "alpha*-dec-osf*",
1103         (const char*)NULL };
1104
1105 /*
1106  *  content selection pattern - do fix if pattern found
1107  */
1108 tSCC zAlpha_Pthread_InitSelect0[] =
1109        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1110
1111 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1112 static tTestDesc aAlpha_Pthread_InitTests[] = {
1113   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1114
1115 /*
1116  *  Fix Command Arguments for Alpha_Pthread_Init
1117  */
1118 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1119     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1120 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1121 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1122 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1123 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1124 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1125     (char*)NULL };
1126
1127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1128  *
1129  *  Description of Alpha_Sbrk fix
1130  */
1131 tSCC zAlpha_SbrkName[] =
1132      "alpha_sbrk";
1133
1134 /*
1135  *  File name selection pattern
1136  */
1137 tSCC zAlpha_SbrkList[] =
1138   "|unistd.h|";
1139 /*
1140  *  Machine/OS name selection pattern
1141  */
1142 #define apzAlpha_SbrkMachs (const char**)NULL
1143
1144 /*
1145  *  content selection pattern - do fix if pattern found
1146  */
1147 tSCC zAlpha_SbrkSelect0[] =
1148        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1149
1150 #define    ALPHA_SBRK_TEST_CT  1
1151 static tTestDesc aAlpha_SbrkTests[] = {
1152   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1153
1154 /*
1155  *  Fix Command Arguments for Alpha_Sbrk
1156  */
1157 static const char* apzAlpha_SbrkPatch[] = {
1158     "format",
1159     "void *sbrk(",
1160     (char*)NULL };
1161
1162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1163  *
1164  *  Description of Alpha_Wchar fix
1165  */
1166 tSCC zAlpha_WcharName[] =
1167      "alpha_wchar";
1168
1169 /*
1170  *  File name selection pattern
1171  */
1172 tSCC zAlpha_WcharList[] =
1173   "|wchar.h|";
1174 /*
1175  *  Machine/OS name selection pattern
1176  */
1177 tSCC* apzAlpha_WcharMachs[] = {
1178         "alpha*-dec-osf4*",
1179         (const char*)NULL };
1180
1181 /*
1182  *  content selection pattern - do fix if pattern found
1183  */
1184 tSCC zAlpha_WcharSelect0[] =
1185        "#define wcstok wcstok_r";
1186
1187 #define    ALPHA_WCHAR_TEST_CT  1
1188 static tTestDesc aAlpha_WcharTests[] = {
1189   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1190
1191 /*
1192  *  Fix Command Arguments for Alpha_Wchar
1193  */
1194 static const char* apzAlpha_WcharPatch[] = { "sed",
1195     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1196     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1197     (char*)NULL };
1198
1199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1200  *
1201  *  Description of Avoid_Bool_Define fix
1202  */
1203 tSCC zAvoid_Bool_DefineName[] =
1204      "avoid_bool_define";
1205
1206 /*
1207  *  File name selection pattern
1208  */
1209 tSCC zAvoid_Bool_DefineList[] =
1210   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1211 /*
1212  *  Machine/OS name selection pattern
1213  */
1214 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1215
1216 /*
1217  *  content selection pattern - do fix if pattern found
1218  */
1219 tSCC zAvoid_Bool_DefineSelect0[] =
1220        "#[ \t]*define[ \t]+bool[ \t]";
1221
1222 /*
1223  *  content bypass pattern - skip fix if pattern found
1224  */
1225 tSCC zAvoid_Bool_DefineBypass0[] =
1226        "__cplusplus";
1227
1228 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1229 static tTestDesc aAvoid_Bool_DefineTests[] = {
1230   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1231   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1232
1233 /*
1234  *  Fix Command Arguments for Avoid_Bool_Define
1235  */
1236 static const char* apzAvoid_Bool_DefinePatch[] = {
1237     "format",
1238     "#ifndef __cplusplus\n\
1239 %0\n\
1240 #endif",
1241     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1242     (char*)NULL };
1243
1244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1245  *
1246  *  Description of Avoid_Bool_Type fix
1247  */
1248 tSCC zAvoid_Bool_TypeName[] =
1249      "avoid_bool_type";
1250
1251 /*
1252  *  File name selection pattern
1253  */
1254 tSCC zAvoid_Bool_TypeList[] =
1255   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1256 /*
1257  *  Machine/OS name selection pattern
1258  */
1259 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1260
1261 /*
1262  *  content selection pattern - do fix if pattern found
1263  */
1264 tSCC zAvoid_Bool_TypeSelect0[] =
1265        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1266
1267 /*
1268  *  content bypass pattern - skip fix if pattern found
1269  */
1270 tSCC zAvoid_Bool_TypeBypass0[] =
1271        "__cplusplus";
1272
1273 #define    AVOID_BOOL_TYPE_TEST_CT  2
1274 static tTestDesc aAvoid_Bool_TypeTests[] = {
1275   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1276   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1277
1278 /*
1279  *  Fix Command Arguments for Avoid_Bool_Type
1280  */
1281 static const char* apzAvoid_Bool_TypePatch[] = {
1282     "format",
1283     "#ifndef __cplusplus\n\
1284 %0\n\
1285 #endif",
1286     (char*)NULL };
1287
1288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1289  *
1290  *  Description of Avoid_Wchar_T_Type fix
1291  */
1292 tSCC zAvoid_Wchar_T_TypeName[] =
1293      "avoid_wchar_t_type";
1294
1295 /*
1296  *  File name selection pattern
1297  */
1298 #define zAvoid_Wchar_T_TypeList (char*)NULL
1299 /*
1300  *  Machine/OS name selection pattern
1301  */
1302 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1303
1304 /*
1305  *  content selection pattern - do fix if pattern found
1306  */
1307 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1308        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1309
1310 /*
1311  *  content bypass pattern - skip fix if pattern found
1312  */
1313 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1314        "__cplusplus";
1315 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1316        "_LINUX_NLS_H";
1317 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1318        "XFree86: xc/lib/X11/Xlib\\.h";
1319
1320 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1321 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1322   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1323   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1324   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1325   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1326
1327 /*
1328  *  Fix Command Arguments for Avoid_Wchar_T_Type
1329  */
1330 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1331     "format",
1332     "#ifndef __cplusplus\n\
1333 %0\n\
1334 #endif",
1335     (char*)NULL };
1336
1337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1338  *
1339  *  Description of Bad_Struct_Term fix
1340  */
1341 tSCC zBad_Struct_TermName[] =
1342      "bad_struct_term";
1343
1344 /*
1345  *  File name selection pattern
1346  */
1347 tSCC zBad_Struct_TermList[] =
1348   "|curses.h|";
1349 /*
1350  *  Machine/OS name selection pattern
1351  */
1352 #define apzBad_Struct_TermMachs (const char**)NULL
1353
1354 /*
1355  *  content selection pattern - do fix if pattern found
1356  */
1357 tSCC zBad_Struct_TermSelect0[] =
1358        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1359
1360 #define    BAD_STRUCT_TERM_TEST_CT  1
1361 static tTestDesc aBad_Struct_TermTests[] = {
1362   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1363
1364 /*
1365  *  Fix Command Arguments for Bad_Struct_Term
1366  */
1367 static const char* apzBad_Struct_TermPatch[] = {
1368     "format",
1369     "struct term;",
1370     (char*)NULL };
1371
1372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1373  *
1374  *  Description of Badquote fix
1375  */
1376 tSCC zBadquoteName[] =
1377      "badquote";
1378
1379 /*
1380  *  File name selection pattern
1381  */
1382 tSCC zBadquoteList[] =
1383   "|sundev/vuid_event.h|";
1384 /*
1385  *  Machine/OS name selection pattern
1386  */
1387 #define apzBadquoteMachs (const char**)NULL
1388
1389 /*
1390  *  content selection pattern - do fix if pattern found
1391  */
1392 tSCC zBadquoteSelect0[] =
1393        "doesn't";
1394
1395 #define    BADQUOTE_TEST_CT  1
1396 static tTestDesc aBadquoteTests[] = {
1397   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1398
1399 /*
1400  *  Fix Command Arguments for Badquote
1401  */
1402 static const char* apzBadquotePatch[] = {
1403     "format",
1404     "does not",
1405     (char*)NULL };
1406
1407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1408  *
1409  *  Description of Broken_Assert_Stdio fix
1410  */
1411 tSCC zBroken_Assert_StdioName[] =
1412      "broken_assert_stdio";
1413
1414 /*
1415  *  File name selection pattern
1416  */
1417 tSCC zBroken_Assert_StdioList[] =
1418   "|assert.h|";
1419 /*
1420  *  Machine/OS name selection pattern
1421  */
1422 #define apzBroken_Assert_StdioMachs (const char**)NULL
1423
1424 /*
1425  *  content selection pattern - do fix if pattern found
1426  */
1427 tSCC zBroken_Assert_StdioSelect0[] =
1428        "stderr";
1429
1430 /*
1431  *  content bypass pattern - skip fix if pattern found
1432  */
1433 tSCC zBroken_Assert_StdioBypass0[] =
1434        "include.*stdio\\.h";
1435
1436 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1437 static tTestDesc aBroken_Assert_StdioTests[] = {
1438   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1439   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1440
1441 /*
1442  *  Fix Command Arguments for Broken_Assert_Stdio
1443  */
1444 static const char* apzBroken_Assert_StdioPatch[] = {
1445     "wrap",
1446     "#include <stdio.h>\n",
1447     (char*)NULL };
1448
1449 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1450  *
1451  *  Description of Broken_Assert_Stdlib fix
1452  */
1453 tSCC zBroken_Assert_StdlibName[] =
1454      "broken_assert_stdlib";
1455
1456 /*
1457  *  File name selection pattern
1458  */
1459 tSCC zBroken_Assert_StdlibList[] =
1460   "|assert.h|";
1461 /*
1462  *  Machine/OS name selection pattern
1463  */
1464 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1465
1466 /*
1467  *  content selection pattern - do fix if pattern found
1468  */
1469 tSCC zBroken_Assert_StdlibSelect0[] =
1470        "exit *\\(|abort *\\(";
1471
1472 /*
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zBroken_Assert_StdlibBypass0[] =
1476        "include.*stdlib\\.h";
1477
1478 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1479 static tTestDesc aBroken_Assert_StdlibTests[] = {
1480   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1481   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1482
1483 /*
1484  *  Fix Command Arguments for Broken_Assert_Stdlib
1485  */
1486 static const char* apzBroken_Assert_StdlibPatch[] = {
1487     "wrap",
1488     "#ifdef __cplusplus\n\
1489 #include <stdlib.h>\n\
1490 #endif\n",
1491     (char*)NULL };
1492
1493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1494  *
1495  *  Description of Broken_Cabs fix
1496  */
1497 tSCC zBroken_CabsName[] =
1498      "broken_cabs";
1499
1500 /*
1501  *  File name selection pattern
1502  */
1503 tSCC zBroken_CabsList[] =
1504   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1505 /*
1506  *  Machine/OS name selection pattern
1507  */
1508 #define apzBroken_CabsMachs (const char**)NULL
1509
1510 /*
1511  *  content selection pattern - do fix if pattern found
1512  */
1513 tSCC zBroken_CabsSelect0[] =
1514        "^extern[ \\t]+double[ \\t]+cabs";
1515
1516 #define    BROKEN_CABS_TEST_CT  1
1517 static tTestDesc aBroken_CabsTests[] = {
1518   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1519
1520 /*
1521  *  Fix Command Arguments for Broken_Cabs
1522  */
1523 static const char* apzBroken_CabsPatch[] = {
1524     "format",
1525     "",
1526     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1527     (char*)NULL };
1528
1529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1530  *
1531  *  Description of Bsd_Stdio_Attrs_Conflict fix
1532  */
1533 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1534      "bsd_stdio_attrs_conflict";
1535
1536 /*
1537  *  File name selection pattern
1538  */
1539 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1540   "|stdio.h|";
1541 /*
1542  *  Machine/OS name selection pattern
1543  */
1544 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1545         "*-*-*bsd*",
1546         "*-*-*darwin*",
1547         (const char*)NULL };
1548
1549 /*
1550  *  content selection pattern - do fix if pattern found
1551  */
1552 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1553        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1554
1555 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1556 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1557   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1558
1559 /*
1560  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1561  */
1562 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1563     "format",
1564     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1565 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1566 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1567     (char*)NULL };
1568
1569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1570  *
1571  *  Description of Ctrl_Quotes_Def fix
1572  */
1573 tSCC zCtrl_Quotes_DefName[] =
1574      "ctrl_quotes_def";
1575
1576 /*
1577  *  File name selection pattern
1578  */
1579 #define zCtrl_Quotes_DefList (char*)NULL
1580 /*
1581  *  Machine/OS name selection pattern
1582  */
1583 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1584
1585 /*
1586  *  content selection pattern - do fix if pattern found
1587  */
1588 tSCC zCtrl_Quotes_DefSelect0[] =
1589        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1590
1591 #define    CTRL_QUOTES_DEF_TEST_CT  1
1592 static tTestDesc aCtrl_Quotes_DefTests[] = {
1593   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1594
1595 /*
1596  *  Fix Command Arguments for Ctrl_Quotes_Def
1597  */
1598 static const char* apzCtrl_Quotes_DefPatch[] = {
1599     "char_macro_def",
1600     "CTRL",
1601     (char*)NULL };
1602
1603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1604  *
1605  *  Description of Ctrl_Quotes_Use fix
1606  */
1607 tSCC zCtrl_Quotes_UseName[] =
1608      "ctrl_quotes_use";
1609
1610 /*
1611  *  File name selection pattern
1612  */
1613 #define zCtrl_Quotes_UseList (char*)NULL
1614 /*
1615  *  Machine/OS name selection pattern
1616  */
1617 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1618
1619 /*
1620  *  content selection pattern - do fix if pattern found
1621  */
1622 tSCC zCtrl_Quotes_UseSelect0[] =
1623        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1624
1625 #define    CTRL_QUOTES_USE_TEST_CT  1
1626 static tTestDesc aCtrl_Quotes_UseTests[] = {
1627   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1628
1629 /*
1630  *  Fix Command Arguments for Ctrl_Quotes_Use
1631  */
1632 static const char* apzCtrl_Quotes_UsePatch[] = {
1633     "char_macro_use",
1634     "CTRL",
1635     (char*)NULL };
1636
1637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1638  *
1639  *  Description of Cxx_Unready fix
1640  */
1641 tSCC zCxx_UnreadyName[] =
1642      "cxx_unready";
1643
1644 /*
1645  *  File name selection pattern
1646  */
1647 tSCC zCxx_UnreadyList[] =
1648   "|sys/mman.h|rpc/types.h|";
1649 /*
1650  *  Machine/OS name selection pattern
1651  */
1652 #define apzCxx_UnreadyMachs (const char**)NULL
1653
1654 /*
1655  *  content selection pattern - do fix if pattern found
1656  */
1657 tSCC zCxx_UnreadySelect0[] =
1658        "[^#]+malloc.*;";
1659
1660 /*
1661  *  content bypass pattern - skip fix if pattern found
1662  */
1663 tSCC zCxx_UnreadyBypass0[] =
1664        "\"C\"|__BEGIN_DECLS";
1665
1666 #define    CXX_UNREADY_TEST_CT  2
1667 static tTestDesc aCxx_UnreadyTests[] = {
1668   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1669   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1670
1671 /*
1672  *  Fix Command Arguments for Cxx_Unready
1673  */
1674 static const char* apzCxx_UnreadyPatch[] = {
1675     "wrap",
1676     "#ifdef __cplusplus\n\
1677 extern \"C\" {\n\
1678 #endif\n",
1679     "#ifdef __cplusplus\n\
1680 }\n\
1681 #endif\n",
1682     (char*)NULL };
1683
1684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1685  *
1686  *  Description of Darwin_Gcc4_Breakage fix
1687  */
1688 tSCC zDarwin_Gcc4_BreakageName[] =
1689      "darwin_gcc4_breakage";
1690
1691 /*
1692  *  File name selection pattern
1693  */
1694 tSCC zDarwin_Gcc4_BreakageList[] =
1695   "|AvailabilityMacros.h|";
1696 /*
1697  *  Machine/OS name selection pattern
1698  */
1699 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1700         "*-*-darwin*",
1701         (const char*)NULL };
1702
1703 /*
1704  *  content selection pattern - do fix if pattern found
1705  */
1706 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1707        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1708
1709 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1710 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1711   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1712
1713 /*
1714  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1715  */
1716 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1717     "format",
1718     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1719     (char*)NULL };
1720
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1722  *
1723  *  Description of Darwin_Private_Extern fix
1724  */
1725 tSCC zDarwin_Private_ExternName[] =
1726      "darwin_private_extern";
1727
1728 /*
1729  *  File name selection pattern
1730  */
1731 tSCC zDarwin_Private_ExternList[] =
1732   "|mach-o/dyld.h|";
1733 /*
1734  *  Machine/OS name selection pattern
1735  */
1736 tSCC* apzDarwin_Private_ExternMachs[] = {
1737         "*-*-darwin*",
1738         (const char*)NULL };
1739
1740 /*
1741  *  content selection pattern - do fix if pattern found
1742  */
1743 tSCC zDarwin_Private_ExternSelect0[] =
1744        "__private_extern__ [a-z_]+ _dyld_";
1745
1746 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1747 static tTestDesc aDarwin_Private_ExternTests[] = {
1748   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1749
1750 /*
1751  *  Fix Command Arguments for Darwin_Private_Extern
1752  */
1753 static const char* apzDarwin_Private_ExternPatch[] = {
1754     "format",
1755     "extern",
1756     "__private_extern__",
1757     (char*)NULL };
1758
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1760  *
1761  *  Description of Dec_Intern_Asm fix
1762  */
1763 tSCC zDec_Intern_AsmName[] =
1764      "dec_intern_asm";
1765
1766 /*
1767  *  File name selection pattern
1768  */
1769 tSCC zDec_Intern_AsmList[] =
1770   "|c_asm.h|";
1771 /*
1772  *  Machine/OS name selection pattern
1773  */
1774 #define apzDec_Intern_AsmMachs (const char**)NULL
1775 #define DEC_INTERN_ASM_TEST_CT  0
1776 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1777
1778 /*
1779  *  Fix Command Arguments for Dec_Intern_Asm
1780  */
1781 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1782     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1783 #ifdef __DECC\n",
1784     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1785 #endif\n",
1786     (char*)NULL };
1787
1788 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1789  *
1790  *  Description of Djgpp_Wchar_H fix
1791  */
1792 tSCC zDjgpp_Wchar_HName[] =
1793      "djgpp_wchar_h";
1794
1795 /*
1796  *  File name selection pattern
1797  */
1798 #define zDjgpp_Wchar_HList (char*)NULL
1799 /*
1800  *  Machine/OS name selection pattern
1801  */
1802 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1803
1804 /*
1805  *  content selection pattern - do fix if pattern found
1806  */
1807 tSCC zDjgpp_Wchar_HSelect0[] =
1808        "__DJ_wint_t";
1809
1810 /*
1811  *  content bypass pattern - skip fix if pattern found
1812  */
1813 tSCC zDjgpp_Wchar_HBypass0[] =
1814        "sys/djtypes.h";
1815
1816 #define    DJGPP_WCHAR_H_TEST_CT  2
1817 static tTestDesc aDjgpp_Wchar_HTests[] = {
1818   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1819   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1820
1821 /*
1822  *  Fix Command Arguments for Djgpp_Wchar_H
1823  */
1824 static const char* apzDjgpp_Wchar_HPatch[] = {
1825     "format",
1826     "%0\n\
1827 #include <sys/djtypes.h>",
1828     "#include <stddef.h>",
1829     (char*)NULL };
1830
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1832  *
1833  *  Description of Ecd_Cursor fix
1834  */
1835 tSCC zEcd_CursorName[] =
1836      "ecd_cursor";
1837
1838 /*
1839  *  File name selection pattern
1840  */
1841 tSCC zEcd_CursorList[] =
1842   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1843 /*
1844  *  Machine/OS name selection pattern
1845  */
1846 #define apzEcd_CursorMachs (const char**)NULL
1847
1848 /*
1849  *  content selection pattern - do fix if pattern found
1850  */
1851 tSCC zEcd_CursorSelect0[] =
1852        "ecd\\.cursor";
1853
1854 #define    ECD_CURSOR_TEST_CT  1
1855 static tTestDesc aEcd_CursorTests[] = {
1856   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1857
1858 /*
1859  *  Fix Command Arguments for Ecd_Cursor
1860  */
1861 static const char* apzEcd_CursorPatch[] = {
1862     "format",
1863     "ecd_cursor",
1864     (char*)NULL };
1865
1866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1867  *
1868  *  Description of Exception_Structure fix
1869  */
1870 tSCC zException_StructureName[] =
1871      "exception_structure";
1872
1873 /*
1874  *  File name selection pattern
1875  */
1876 tSCC zException_StructureList[] =
1877   "|math.h|";
1878 /*
1879  *  Machine/OS name selection pattern
1880  */
1881 #define apzException_StructureMachs (const char**)NULL
1882
1883 /*
1884  *  content selection pattern - do fix if pattern found
1885  */
1886 tSCC zException_StructureSelect0[] =
1887        "matherr";
1888
1889 /*
1890  *  content bypass pattern - skip fix if pattern found
1891  */
1892 tSCC zException_StructureBypass0[] =
1893        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
1894
1895 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1896 static tTestDesc aException_StructureTests[] = {
1897   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1898   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1899
1900 /*
1901  *  Fix Command Arguments for Exception_Structure
1902  */
1903 static const char* apzException_StructurePatch[] = {
1904     "wrap",
1905     "struct exception;\n",
1906     (char*)NULL };
1907
1908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1909  *
1910  *  Description of Freebsd_Gcc3_Breakage fix
1911  */
1912 tSCC zFreebsd_Gcc3_BreakageName[] =
1913      "freebsd_gcc3_breakage";
1914
1915 /*
1916  *  File name selection pattern
1917  */
1918 tSCC zFreebsd_Gcc3_BreakageList[] =
1919   "|sys/cdefs.h|";
1920 /*
1921  *  Machine/OS name selection pattern
1922  */
1923 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1924         "*-*-freebsd*",
1925         (const char*)NULL };
1926
1927 /*
1928  *  content selection pattern - do fix if pattern found
1929  */
1930 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1931        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1932
1933 /*
1934  *  content bypass pattern - skip fix if pattern found
1935  */
1936 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1937        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1938
1939 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1940 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1941   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1942   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1943
1944 /*
1945  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1946  */
1947 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1948     "format",
1949     "%0 || __GNUC__ >= 3",
1950     (char*)NULL };
1951
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1953  *
1954  *  Description of Freebsd_Gcc4_Breakage fix
1955  */
1956 tSCC zFreebsd_Gcc4_BreakageName[] =
1957      "freebsd_gcc4_breakage";
1958
1959 /*
1960  *  File name selection pattern
1961  */
1962 tSCC zFreebsd_Gcc4_BreakageList[] =
1963   "|sys/cdefs.h|";
1964 /*
1965  *  Machine/OS name selection pattern
1966  */
1967 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
1968         "*-*-freebsd*",
1969         (const char*)NULL };
1970
1971 /*
1972  *  content selection pattern - do fix if pattern found
1973  */
1974 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
1975        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
1976
1977 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
1978 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
1979   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1980
1981 /*
1982  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
1983  */
1984 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
1985     "format",
1986     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
1987     (char*)NULL };
1988
1989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1990  *
1991  *  Description of Gnu_Types fix
1992  */
1993 tSCC zGnu_TypesName[] =
1994      "gnu_types";
1995
1996 /*
1997  *  File name selection pattern
1998  */
1999 tSCC zGnu_TypesList[] =
2000   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2001 /*
2002  *  Machine/OS name selection pattern
2003  */
2004 tSCC* apzGnu_TypesMachs[] = {
2005         "*-*-solaris2.1[0-9]*",
2006         (const char*)NULL };
2007
2008 /*
2009  *  content selection pattern - do fix if pattern found
2010  */
2011 tSCC zGnu_TypesSelect0[] =
2012        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2013
2014 /*
2015  *  content bypass pattern - skip fix if pattern found
2016  */
2017 tSCC zGnu_TypesBypass0[] =
2018        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2019
2020 #define    GNU_TYPES_TEST_CT  2
2021 static tTestDesc aGnu_TypesTests[] = {
2022   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2023   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2024
2025 /*
2026  *  Fix Command Arguments for Gnu_Types
2027  */
2028 static const char* apzGnu_TypesPatch[] = {
2029     "gnu_type",
2030     (char*)NULL };
2031
2032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2033  *
2034  *  Description of Hp_Inline fix
2035  */
2036 tSCC zHp_InlineName[] =
2037      "hp_inline";
2038
2039 /*
2040  *  File name selection pattern
2041  */
2042 tSCC zHp_InlineList[] =
2043   "|sys/spinlock.h|machine/machparam.h|";
2044 /*
2045  *  Machine/OS name selection pattern
2046  */
2047 #define apzHp_InlineMachs (const char**)NULL
2048
2049 /*
2050  *  content selection pattern - do fix if pattern found
2051  */
2052 tSCC zHp_InlineSelect0[] =
2053        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2054
2055 #define    HP_INLINE_TEST_CT  1
2056 static tTestDesc aHp_InlineTests[] = {
2057   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2058
2059 /*
2060  *  Fix Command Arguments for Hp_Inline
2061  */
2062 static const char* apzHp_InlinePatch[] = {
2063     "format",
2064     "%1<machine/%2.h>",
2065     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2066     (char*)NULL };
2067
2068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2069  *
2070  *  Description of Hp_Sysfile fix
2071  */
2072 tSCC zHp_SysfileName[] =
2073      "hp_sysfile";
2074
2075 /*
2076  *  File name selection pattern
2077  */
2078 tSCC zHp_SysfileList[] =
2079   "|sys/file.h|";
2080 /*
2081  *  Machine/OS name selection pattern
2082  */
2083 #define apzHp_SysfileMachs (const char**)NULL
2084
2085 /*
2086  *  content selection pattern - do fix if pattern found
2087  */
2088 tSCC zHp_SysfileSelect0[] =
2089        "HPUX_SOURCE";
2090
2091 #define    HP_SYSFILE_TEST_CT  1
2092 static tTestDesc aHp_SysfileTests[] = {
2093   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2094
2095 /*
2096  *  Fix Command Arguments for Hp_Sysfile
2097  */
2098 static const char* apzHp_SysfilePatch[] = {
2099     "format",
2100     "(struct file *, ...)",
2101     "\\(\\.\\.\\.\\)",
2102     (char*)NULL };
2103
2104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2105  *
2106  *  Description of Hpux10_Cpp_Pow_Inline fix
2107  */
2108 tSCC zHpux10_Cpp_Pow_InlineName[] =
2109      "hpux10_cpp_pow_inline";
2110
2111 /*
2112  *  File name selection pattern
2113  */
2114 tSCC zHpux10_Cpp_Pow_InlineList[] =
2115   "|fixinc-test-limits.h|math.h|";
2116 /*
2117  *  Machine/OS name selection pattern
2118  */
2119 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2120
2121 /*
2122  *  content selection pattern - do fix if pattern found
2123  */
2124 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2125        "^# +ifdef +__cplusplus\n\
2126  +\\}\n\
2127  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2128 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2129  +\\}\n\
2130  +extern +\"C\" +\\{\n\
2131 #else\n\
2132 # +endif";
2133
2134 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2135 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2136   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2137
2138 /*
2139  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2140  */
2141 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2142     "format",
2143     "",
2144     (char*)NULL };
2145
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2147  *
2148  *  Description of Hpux11_Cpp_Pow_Inline fix
2149  */
2150 tSCC zHpux11_Cpp_Pow_InlineName[] =
2151      "hpux11_cpp_pow_inline";
2152
2153 /*
2154  *  File name selection pattern
2155  */
2156 tSCC zHpux11_Cpp_Pow_InlineList[] =
2157   "|math.h|";
2158 /*
2159  *  Machine/OS name selection pattern
2160  */
2161 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2162
2163 /*
2164  *  content selection pattern - do fix if pattern found
2165  */
2166 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2167        " +inline double pow\\(double d,int expon\\) \\{\n\
2168  +return pow\\(d, \\(double\\)expon\\);\n\
2169  +\\}\n";
2170
2171 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2172 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2173   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2174
2175 /*
2176  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2177  */
2178 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2179     "format",
2180     "",
2181     (char*)NULL };
2182
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2184  *
2185  *  Description of Hpux10_Ctype_Declarations1 fix
2186  */
2187 tSCC zHpux10_Ctype_Declarations1Name[] =
2188      "hpux10_ctype_declarations1";
2189
2190 /*
2191  *  File name selection pattern
2192  */
2193 tSCC zHpux10_Ctype_Declarations1List[] =
2194   "|ctype.h|";
2195 /*
2196  *  Machine/OS name selection pattern
2197  */
2198 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2199
2200 /*
2201  *  content selection pattern - do fix if pattern found
2202  */
2203 tSCC zHpux10_Ctype_Declarations1Select0[] =
2204        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2205
2206 /*
2207  *  content bypass pattern - skip fix if pattern found
2208  */
2209 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2210        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2211
2212 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2213 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2214   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2215   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2216
2217 /*
2218  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2219  */
2220 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2221     "format",
2222     "#ifdef _PROTOTYPES\n\
2223 extern int __tolower(int);\n\
2224 extern int __toupper(int);\n\
2225 #else /* NOT _PROTOTYPES */\n\
2226 extern int __tolower();\n\
2227 extern int __toupper();\n\
2228 #endif /* _PROTOTYPES */\n\n\
2229 %0\n",
2230     (char*)NULL };
2231
2232 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2233  *
2234  *  Description of Hpux10_Ctype_Declarations2 fix
2235  */
2236 tSCC zHpux10_Ctype_Declarations2Name[] =
2237      "hpux10_ctype_declarations2";
2238
2239 /*
2240  *  File name selection pattern
2241  */
2242 tSCC zHpux10_Ctype_Declarations2List[] =
2243   "|ctype.h|";
2244 /*
2245  *  Machine/OS name selection pattern
2246  */
2247 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2248
2249 /*
2250  *  content selection pattern - do fix if pattern found
2251  */
2252 tSCC zHpux10_Ctype_Declarations2Select0[] =
2253        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2254
2255 /*
2256  *  content bypass pattern - skip fix if pattern found
2257  */
2258 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2259        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2260
2261 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2262 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2263   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2264   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2265
2266 /*
2267  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2268  */
2269 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2270     "format",
2271     "%0\n\n\
2272 #ifdef _PROTOTYPES\n\
2273      extern int _isalnum(int);\n\
2274      extern int _isalpha(int);\n\
2275      extern int _iscntrl(int);\n\
2276      extern int _isdigit(int);\n\
2277      extern int _isgraph(int);\n\
2278      extern int _islower(int);\n\
2279      extern int _isprint(int);\n\
2280      extern int _ispunct(int);\n\
2281      extern int _isspace(int);\n\
2282      extern int _isupper(int);\n\
2283      extern int _isxdigit(int);\n\
2284 #  else /* not _PROTOTYPES */\n\
2285      extern int _isalnum();\n\
2286      extern int _isalpha();\n\
2287      extern int _iscntrl();\n\
2288      extern int _isdigit();\n\
2289      extern int _isgraph();\n\
2290      extern int _islower();\n\
2291      extern int _isprint();\n\
2292      extern int _ispunct();\n\
2293      extern int _isspace();\n\
2294      extern int _isupper();\n\
2295      extern int _isxdigit();\n\
2296 #endif /* _PROTOTYPES */\n",
2297     (char*)NULL };
2298
2299 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2300  *
2301  *  Description of Hpux10_Stdio_Declarations fix
2302  */
2303 tSCC zHpux10_Stdio_DeclarationsName[] =
2304      "hpux10_stdio_declarations";
2305
2306 /*
2307  *  File name selection pattern
2308  */
2309 tSCC zHpux10_Stdio_DeclarationsList[] =
2310   "|stdio.h|";
2311 /*
2312  *  Machine/OS name selection pattern
2313  */
2314 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2315
2316 /*
2317  *  content selection pattern - do fix if pattern found
2318  */
2319 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2320        "^#[ \t]*define _iob[ \t]*__iob";
2321
2322 /*
2323  *  content bypass pattern - skip fix if pattern found
2324  */
2325 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2326        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2327
2328 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2329 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2330   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2331   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2332
2333 /*
2334  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2335  */
2336 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2337     "format",
2338     "%0\n\n\
2339 #  if defined(__STDC__) || defined(__cplusplus)\n\
2340      extern int snprintf(char *, size_t, const char *, ...);\n\
2341      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2342 #  else /* not __STDC__) || __cplusplus */\n\
2343      extern int snprintf();\n\
2344      extern int vsnprintf();\n\
2345 #  endif /* __STDC__) || __cplusplus */\n",
2346     (char*)NULL };
2347
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2349  *
2350  *  Description of Hpux11_Abs fix
2351  */
2352 tSCC zHpux11_AbsName[] =
2353      "hpux11_abs";
2354
2355 /*
2356  *  File name selection pattern
2357  */
2358 tSCC zHpux11_AbsList[] =
2359   "|stdlib.h|";
2360 /*
2361  *  Machine/OS name selection pattern
2362  */
2363 tSCC* apzHpux11_AbsMachs[] = {
2364         "ia64-hp-hpux11*",
2365         (const char*)NULL };
2366
2367 /*
2368  *  content selection pattern - do fix if pattern found
2369  */
2370 tSCC zHpux11_AbsSelect0[] =
2371        "ifndef _MATH_INCLUDED";
2372
2373 #define    HPUX11_ABS_TEST_CT  1
2374 static tTestDesc aHpux11_AbsTests[] = {
2375   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2376
2377 /*
2378  *  Fix Command Arguments for Hpux11_Abs
2379  */
2380 static const char* apzHpux11_AbsPatch[] = {
2381     "format",
2382     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2383     (char*)NULL };
2384
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2386  *
2387  *  Description of Hpux11_Fabsf fix
2388  */
2389 tSCC zHpux11_FabsfName[] =
2390      "hpux11_fabsf";
2391
2392 /*
2393  *  File name selection pattern
2394  */
2395 tSCC zHpux11_FabsfList[] =
2396   "|math.h|";
2397 /*
2398  *  Machine/OS name selection pattern
2399  */
2400 #define apzHpux11_FabsfMachs (const char**)NULL
2401
2402 /*
2403  *  content selection pattern - do fix if pattern found
2404  */
2405 tSCC zHpux11_FabsfSelect0[] =
2406        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2407
2408 /*
2409  *  content bypass pattern - skip fix if pattern found
2410  */
2411 tSCC zHpux11_FabsfBypass0[] =
2412        "__cplusplus";
2413
2414 #define    HPUX11_FABSF_TEST_CT  2
2415 static tTestDesc aHpux11_FabsfTests[] = {
2416   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2417   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2418
2419 /*
2420  *  Fix Command Arguments for Hpux11_Fabsf
2421  */
2422 static const char* apzHpux11_FabsfPatch[] = {
2423     "format",
2424     "#ifndef __cplusplus\n\
2425 %0\n\
2426 #endif",
2427     (char*)NULL };
2428
2429 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2430  *
2431  *  Description of Hpux11_Size_T fix
2432  */
2433 tSCC zHpux11_Size_TName[] =
2434      "hpux11_size_t";
2435
2436 /*
2437  *  File name selection pattern
2438  */
2439 #define zHpux11_Size_TList (char*)NULL
2440 /*
2441  *  Machine/OS name selection pattern
2442  */
2443 tSCC* apzHpux11_Size_TMachs[] = {
2444         "*-hp-hpux11*",
2445         (const char*)NULL };
2446
2447 /*
2448  *  content selection pattern - do fix if pattern found
2449  */
2450 tSCC zHpux11_Size_TSelect0[] =
2451        "__size_t";
2452
2453 #define    HPUX11_SIZE_T_TEST_CT  1
2454 static tTestDesc aHpux11_Size_TTests[] = {
2455   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2456
2457 /*
2458  *  Fix Command Arguments for Hpux11_Size_T
2459  */
2460 static const char* apzHpux11_Size_TPatch[] = {
2461     "format",
2462     "_hpux_size_t",
2463     (char*)NULL };
2464
2465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2466  *
2467  *  Description of Hpux11_Snprintf fix
2468  */
2469 tSCC zHpux11_SnprintfName[] =
2470      "hpux11_snprintf";
2471
2472 /*
2473  *  File name selection pattern
2474  */
2475 tSCC zHpux11_SnprintfList[] =
2476   "|stdio.h|";
2477 /*
2478  *  Machine/OS name selection pattern
2479  */
2480 #define apzHpux11_SnprintfMachs (const char**)NULL
2481
2482 /*
2483  *  content selection pattern - do fix if pattern found
2484  */
2485 tSCC zHpux11_SnprintfSelect0[] =
2486        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2487
2488 #define    HPUX11_SNPRINTF_TEST_CT  1
2489 static tTestDesc aHpux11_SnprintfTests[] = {
2490   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2491
2492 /*
2493  *  Fix Command Arguments for Hpux11_Snprintf
2494  */
2495 static const char* apzHpux11_SnprintfPatch[] = {
2496     "format",
2497     "%1 const %3",
2498     (char*)NULL };
2499
2500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2501  *
2502  *  Description of Hpux11_Uint32_C fix
2503  */
2504 tSCC zHpux11_Uint32_CName[] =
2505      "hpux11_uint32_c";
2506
2507 /*
2508  *  File name selection pattern
2509  */
2510 tSCC zHpux11_Uint32_CList[] =
2511   "|inttypes.h|";
2512 /*
2513  *  Machine/OS name selection pattern
2514  */
2515 #define apzHpux11_Uint32_CMachs (const char**)NULL
2516
2517 /*
2518  *  content selection pattern - do fix if pattern found
2519  */
2520 tSCC zHpux11_Uint32_CSelect0[] =
2521        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2522
2523 #define    HPUX11_UINT32_C_TEST_CT  1
2524 static tTestDesc aHpux11_Uint32_CTests[] = {
2525   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2526
2527 /*
2528  *  Fix Command Arguments for Hpux11_Uint32_C
2529  */
2530 static const char* apzHpux11_Uint32_CPatch[] = {
2531     "format",
2532     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2533     (char*)NULL };
2534
2535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2536  *
2537  *  Description of Hpux11_Vsnprintf fix
2538  */
2539 tSCC zHpux11_VsnprintfName[] =
2540      "hpux11_vsnprintf";
2541
2542 /*
2543  *  File name selection pattern
2544  */
2545 tSCC zHpux11_VsnprintfList[] =
2546   "|stdio.h|";
2547 /*
2548  *  Machine/OS name selection pattern
2549  */
2550 #define apzHpux11_VsnprintfMachs (const char**)NULL
2551
2552 /*
2553  *  content selection pattern - do fix if pattern found
2554  */
2555 tSCC zHpux11_VsnprintfSelect0[] =
2556        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2557
2558 #define    HPUX11_VSNPRINTF_TEST_CT  1
2559 static tTestDesc aHpux11_VsnprintfTests[] = {
2560   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2561
2562 /*
2563  *  Fix Command Arguments for Hpux11_Vsnprintf
2564  */
2565 static const char* apzHpux11_VsnprintfPatch[] = {
2566     "format",
2567     "%1 __va_list);",
2568     (char*)NULL };
2569
2570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2571  *
2572  *  Description of Hpux8_Bogus_Inlines fix
2573  */
2574 tSCC zHpux8_Bogus_InlinesName[] =
2575      "hpux8_bogus_inlines";
2576
2577 /*
2578  *  File name selection pattern
2579  */
2580 tSCC zHpux8_Bogus_InlinesList[] =
2581   "|math.h|";
2582 /*
2583  *  Machine/OS name selection pattern
2584  */
2585 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2586
2587 /*
2588  *  content selection pattern - do fix if pattern found
2589  */
2590 tSCC zHpux8_Bogus_InlinesSelect0[] =
2591        "inline";
2592
2593 /*
2594  *  content bypass pattern - skip fix if pattern found
2595  */
2596 tSCC zHpux8_Bogus_InlinesBypass0[] =
2597        "__GNUG__";
2598
2599 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2600 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2601   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2602   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2603
2604 /*
2605  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2606  */
2607 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2608     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2609     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2610     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2611     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2612     (char*)NULL };
2613
2614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2615  *
2616  *  Description of Hpux_Ctype_Macros fix
2617  */
2618 tSCC zHpux_Ctype_MacrosName[] =
2619      "hpux_ctype_macros";
2620
2621 /*
2622  *  File name selection pattern
2623  */
2624 tSCC zHpux_Ctype_MacrosList[] =
2625   "|ctype.h|";
2626 /*
2627  *  Machine/OS name selection pattern
2628  */
2629 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2630
2631 /*
2632  *  content selection pattern - do fix if pattern found
2633  */
2634 tSCC zHpux_Ctype_MacrosSelect0[] =
2635        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2636
2637 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2638 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2639   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2640
2641 /*
2642  *  Fix Command Arguments for Hpux_Ctype_Macros
2643  */
2644 static const char* apzHpux_Ctype_MacrosPatch[] = {
2645     "format",
2646     "%1(int)%3",
2647     (char*)NULL };
2648
2649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2650  *
2651  *  Description of Hpux_Htonl fix
2652  */
2653 tSCC zHpux_HtonlName[] =
2654      "hpux_htonl";
2655
2656 /*
2657  *  File name selection pattern
2658  */
2659 tSCC zHpux_HtonlList[] =
2660   "|netinet/in.h|";
2661 /*
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzHpux_HtonlMachs (const char**)NULL
2665
2666 /*
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zHpux_HtonlSelect0[] =
2670        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2671 (/\\*\n\
2672  \\* Macros for number representation conversion\\.\n\
2673  \\*/\n\
2674 #ifndef ntohl)";
2675
2676 #define    HPUX_HTONL_TEST_CT  1
2677 static tTestDesc aHpux_HtonlTests[] = {
2678   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2679
2680 /*
2681  *  Fix Command Arguments for Hpux_Htonl
2682  */
2683 static const char* apzHpux_HtonlPatch[] = {
2684     "format",
2685     "#if 1\n\
2686 %1",
2687     (char*)NULL };
2688
2689 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2690  *
2691  *  Description of Hpux_Long_Double fix
2692  */
2693 tSCC zHpux_Long_DoubleName[] =
2694      "hpux_long_double";
2695
2696 /*
2697  *  File name selection pattern
2698  */
2699 tSCC zHpux_Long_DoubleList[] =
2700   "|stdlib.h|";
2701 /*
2702  *  Machine/OS name selection pattern
2703  */
2704 #define apzHpux_Long_DoubleMachs (const char**)NULL
2705
2706 /*
2707  *  content selection pattern - do fix if pattern found
2708  */
2709 tSCC zHpux_Long_DoubleSelect0[] =
2710        "extern[ \t]long_double[ \t]strtold";
2711
2712 /*
2713  *  content bypass pattern - skip fix if pattern found
2714  */
2715 tSCC zHpux_Long_DoubleBypass0[] =
2716        "long_double_t";
2717
2718 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2719 static tTestDesc aHpux_Long_DoubleTests[] = {
2720   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2721   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2722
2723 /*
2724  *  Fix Command Arguments for Hpux_Long_Double
2725  */
2726 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2727     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2728     "-e", "s/long_double/long double/g",
2729     (char*)NULL };
2730
2731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2732  *
2733  *  Description of Hpux_Systime fix
2734  */
2735 tSCC zHpux_SystimeName[] =
2736      "hpux_systime";
2737
2738 /*
2739  *  File name selection pattern
2740  */
2741 tSCC zHpux_SystimeList[] =
2742   "|sys/time.h|";
2743 /*
2744  *  Machine/OS name selection pattern
2745  */
2746 #define apzHpux_SystimeMachs (const char**)NULL
2747
2748 /*
2749  *  content selection pattern - do fix if pattern found
2750  */
2751 tSCC zHpux_SystimeSelect0[] =
2752        "^extern struct sigevent;";
2753
2754 #define    HPUX_SYSTIME_TEST_CT  1
2755 static tTestDesc aHpux_SystimeTests[] = {
2756   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2757
2758 /*
2759  *  Fix Command Arguments for Hpux_Systime
2760  */
2761 static const char* apzHpux_SystimePatch[] = {
2762     "format",
2763     "struct sigevent;",
2764     (char*)NULL };
2765
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2767  *
2768  *  Description of Int_Abort_Free_And_Exit fix
2769  */
2770 tSCC zInt_Abort_Free_And_ExitName[] =
2771      "int_abort_free_and_exit";
2772
2773 /*
2774  *  File name selection pattern
2775  */
2776 tSCC zInt_Abort_Free_And_ExitList[] =
2777   "|stdlib.h|";
2778 /*
2779  *  Machine/OS name selection pattern
2780  */
2781 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2782
2783 /*
2784  *  content selection pattern - do fix if pattern found
2785  */
2786 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2787        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2788
2789 /*
2790  *  content bypass pattern - skip fix if pattern found
2791  */
2792 tSCC zInt_Abort_Free_And_ExitBypass0[] =
2793        "_CLASSIC_ANSI_TYPES";
2794
2795 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
2796 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2797   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
2798   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2799
2800 /*
2801  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2802  */
2803 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2804     "format",
2805     "void\t%1(",
2806     (char*)NULL };
2807
2808 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2809  *
2810  *  Description of Io_Quotes_Def fix
2811  */
2812 tSCC zIo_Quotes_DefName[] =
2813      "io_quotes_def";
2814
2815 /*
2816  *  File name selection pattern
2817  */
2818 #define zIo_Quotes_DefList (char*)NULL
2819 /*
2820  *  Machine/OS name selection pattern
2821  */
2822 #define apzIo_Quotes_DefMachs (const char**)NULL
2823
2824 /*
2825  *  content selection pattern - do fix if pattern found
2826  */
2827 tSCC zIo_Quotes_DefSelect0[] =
2828        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2829
2830 #define    IO_QUOTES_DEF_TEST_CT  1
2831 static tTestDesc aIo_Quotes_DefTests[] = {
2832   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2833
2834 /*
2835  *  Fix Command Arguments for Io_Quotes_Def
2836  */
2837 static const char* apzIo_Quotes_DefPatch[] = {
2838     "char_macro_def",
2839     "IO",
2840     (char*)NULL };
2841
2842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2843  *
2844  *  Description of Io_Quotes_Use fix
2845  */
2846 tSCC zIo_Quotes_UseName[] =
2847      "io_quotes_use";
2848
2849 /*
2850  *  File name selection pattern
2851  */
2852 #define zIo_Quotes_UseList (char*)NULL
2853 /*
2854  *  Machine/OS name selection pattern
2855  */
2856 #define apzIo_Quotes_UseMachs (const char**)NULL
2857
2858 /*
2859  *  content selection pattern - do fix if pattern found
2860  */
2861 tSCC zIo_Quotes_UseSelect0[] =
2862        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2863
2864 #define    IO_QUOTES_USE_TEST_CT  1
2865 static tTestDesc aIo_Quotes_UseTests[] = {
2866   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2867
2868 /*
2869  *  Fix Command Arguments for Io_Quotes_Use
2870  */
2871 static const char* apzIo_Quotes_UsePatch[] = {
2872     "char_macro_use",
2873     "IO",
2874     (char*)NULL };
2875
2876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2877  *
2878  *  Description of Ip_Missing_Semi fix
2879  */
2880 tSCC zIp_Missing_SemiName[] =
2881      "ip_missing_semi";
2882
2883 /*
2884  *  File name selection pattern
2885  */
2886 tSCC zIp_Missing_SemiList[] =
2887   "|netinet/ip.h|";
2888 /*
2889  *  Machine/OS name selection pattern
2890  */
2891 #define apzIp_Missing_SemiMachs (const char**)NULL
2892
2893 /*
2894  *  content selection pattern - do fix if pattern found
2895  */
2896 tSCC zIp_Missing_SemiSelect0[] =
2897        "}$";
2898
2899 #define    IP_MISSING_SEMI_TEST_CT  1
2900 static tTestDesc aIp_Missing_SemiTests[] = {
2901   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2902
2903 /*
2904  *  Fix Command Arguments for Ip_Missing_Semi
2905  */
2906 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2907     "-e", "/^struct/,/^};/s/}$/};/",
2908     (char*)NULL };
2909
2910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2911  *
2912  *  Description of Irix___Restrict fix
2913  */
2914 tSCC zIrix___RestrictName[] =
2915      "irix___restrict";
2916
2917 /*
2918  *  File name selection pattern
2919  */
2920 tSCC zIrix___RestrictList[] =
2921   "|internal/sgimacros.h|";
2922 /*
2923  *  Machine/OS name selection pattern
2924  */
2925 tSCC* apzIrix___RestrictMachs[] = {
2926         "mips-sgi-irix6.5",
2927         (const char*)NULL };
2928
2929 /*
2930  *  content selection pattern - do fix if pattern found
2931  */
2932 tSCC zIrix___RestrictSelect0[] =
2933        "(#ifdef __c99\n\
2934 )(#[ \t]*define __restrict restrict)";
2935
2936 #define    IRIX___RESTRICT_TEST_CT  1
2937 static tTestDesc aIrix___RestrictTests[] = {
2938   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2939
2940 /*
2941  *  Fix Command Arguments for Irix___Restrict
2942  */
2943 static const char* apzIrix___RestrictPatch[] = {
2944     "format",
2945     "%1#  ifndef __cplusplus\n\
2946 %2\n\
2947 #  endif",
2948     (char*)NULL };
2949
2950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2951  *
2952  *  Description of Irix___Generic1 fix
2953  */
2954 tSCC zIrix___Generic1Name[] =
2955      "irix___generic1";
2956
2957 /*
2958  *  File name selection pattern
2959  */
2960 tSCC zIrix___Generic1List[] =
2961   "|internal/math_core.h|";
2962 /*
2963  *  Machine/OS name selection pattern
2964  */
2965 tSCC* apzIrix___Generic1Machs[] = {
2966         "mips-sgi-irix6.5",
2967         (const char*)NULL };
2968
2969 /*
2970  *  content selection pattern - do fix if pattern found
2971  */
2972 tSCC zIrix___Generic1Select0[] =
2973        "#define ([a-z]+)\\(x\\) *__generic.*";
2974
2975 #define    IRIX___GENERIC1_TEST_CT  1
2976 static tTestDesc aIrix___Generic1Tests[] = {
2977   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
2978
2979 /*
2980  *  Fix Command Arguments for Irix___Generic1
2981  */
2982 static const char* apzIrix___Generic1Patch[] = {
2983     "format",
2984     "extern int %1(double);\n\
2985 extern int %1f(float);\n\
2986 extern int %1l(long double);\n\
2987 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
2988                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
2989                : _%1l(x))\n",
2990     (char*)NULL };
2991
2992 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2993  *
2994  *  Description of Irix___Generic2 fix
2995  */
2996 tSCC zIrix___Generic2Name[] =
2997      "irix___generic2";
2998
2999 /*
3000  *  File name selection pattern
3001  */
3002 tSCC zIrix___Generic2List[] =
3003   "|internal/math_core.h|";
3004 /*
3005  *  Machine/OS name selection pattern
3006  */
3007 tSCC* apzIrix___Generic2Machs[] = {
3008         "mips-sgi-irix6.5",
3009         (const char*)NULL };
3010
3011 /*
3012  *  content selection pattern - do fix if pattern found
3013  */
3014 tSCC zIrix___Generic2Select0[] =
3015        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3016
3017 #define    IRIX___GENERIC2_TEST_CT  1
3018 static tTestDesc aIrix___Generic2Tests[] = {
3019   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3020
3021 /*
3022  *  Fix Command Arguments for Irix___Generic2
3023  */
3024 static const char* apzIrix___Generic2Patch[] = {
3025     "format",
3026     "#define %1(x,y) \\\n\
3027   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3028    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3029    : _%1l(x,y))\n",
3030     (char*)NULL };
3031
3032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3033  *
3034  *  Description of Irix_Asm_Apostrophe fix
3035  */
3036 tSCC zIrix_Asm_ApostropheName[] =
3037      "irix_asm_apostrophe";
3038
3039 /*
3040  *  File name selection pattern
3041  */
3042 tSCC zIrix_Asm_ApostropheList[] =
3043   "|sys/asm.h|";
3044 /*
3045  *  Machine/OS name selection pattern
3046  */
3047 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3048
3049 /*
3050  *  content selection pattern - do fix if pattern found
3051  */
3052 tSCC zIrix_Asm_ApostropheSelect0[] =
3053        "^[ \t]*#.*[Ww]e're";
3054
3055 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3056 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3057   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3058
3059 /*
3060  *  Fix Command Arguments for Irix_Asm_Apostrophe
3061  */
3062 static const char* apzIrix_Asm_ApostrophePatch[] = {
3063     "format",
3064     "%1 are",
3065     "^([ \t]*#.*[Ww]e)'re",
3066     (char*)NULL };
3067
3068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3069  *
3070  *  Description of Irix_Limits_Const fix
3071  */
3072 tSCC zIrix_Limits_ConstName[] =
3073      "irix_limits_const";
3074
3075 /*
3076  *  File name selection pattern
3077  */
3078 tSCC zIrix_Limits_ConstList[] =
3079   "|fixinc-test-limits.h|limits.h|";
3080 /*
3081  *  Machine/OS name selection pattern
3082  */
3083 #define apzIrix_Limits_ConstMachs (const char**)NULL
3084
3085 /*
3086  *  content selection pattern - do fix if pattern found
3087  */
3088 tSCC zIrix_Limits_ConstSelect0[] =
3089        "^extern const ";
3090
3091 #define    IRIX_LIMITS_CONST_TEST_CT  1
3092 static tTestDesc aIrix_Limits_ConstTests[] = {
3093   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3094
3095 /*
3096  *  Fix Command Arguments for Irix_Limits_Const
3097  */
3098 static const char* apzIrix_Limits_ConstPatch[] = {
3099     "format",
3100     "extern __const ",
3101     (char*)NULL };
3102
3103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3104  *
3105  *  Description of Irix_Socklen_T fix
3106  */
3107 tSCC zIrix_Socklen_TName[] =
3108      "irix_socklen_t";
3109
3110 /*
3111  *  File name selection pattern
3112  */
3113 tSCC zIrix_Socklen_TList[] =
3114   "|sys/socket.h|";
3115 /*
3116  *  Machine/OS name selection pattern
3117  */
3118 tSCC* apzIrix_Socklen_TMachs[] = {
3119         "mips-sgi-irix6.5",
3120         (const char*)NULL };
3121
3122 /*
3123  *  content selection pattern - do fix if pattern found
3124  */
3125 tSCC zIrix_Socklen_TSelect0[] =
3126        "(#define _SOCKLEN_T\n\
3127 )(typedef u_int32_t socklen_t;)";
3128
3129 #define    IRIX_SOCKLEN_T_TEST_CT  1
3130 static tTestDesc aIrix_Socklen_TTests[] = {
3131   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3132
3133 /*
3134  *  Fix Command Arguments for Irix_Socklen_T
3135  */
3136 static const char* apzIrix_Socklen_TPatch[] = {
3137     "format",
3138     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3139 typedef int socklen_t;\n\
3140 #else\n\
3141 %2\n\
3142 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3143     (char*)NULL };
3144
3145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3146  *
3147  *  Description of Irix_Stdio_Va_List fix
3148  */
3149 tSCC zIrix_Stdio_Va_ListName[] =
3150      "irix_stdio_va_list";
3151
3152 /*
3153  *  File name selection pattern
3154  */
3155 tSCC zIrix_Stdio_Va_ListList[] =
3156   "|stdio.h|internal/stdio_core.h|";
3157 /*
3158  *  Machine/OS name selection pattern
3159  */
3160 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3161
3162 /*
3163  *  content selection pattern - do fix if pattern found
3164  */
3165 tSCC zIrix_Stdio_Va_ListSelect0[] =
3166        "/\\* va_list \\*/ char \\*";
3167
3168 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3169 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3170   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3171
3172 /*
3173  *  Fix Command Arguments for Irix_Stdio_Va_List
3174  */
3175 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3176     "format",
3177     "__gnuc_va_list",
3178     (char*)NULL };
3179
3180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3181  *
3182  *  Description of Irix_Wcsftime fix
3183  */
3184 tSCC zIrix_WcsftimeName[] =
3185      "irix_wcsftime";
3186
3187 /*
3188  *  File name selection pattern
3189  */
3190 tSCC zIrix_WcsftimeList[] =
3191   "|internal/wchar_core.h|";
3192 /*
3193  *  Machine/OS name selection pattern
3194  */
3195 tSCC* apzIrix_WcsftimeMachs[] = {
3196         "mips-sgi-irix6.5",
3197         (const char*)NULL };
3198
3199 /*
3200  *  content selection pattern - do fix if pattern found
3201  */
3202 tSCC zIrix_WcsftimeSelect0[] =
3203        "#if _NO_XOPEN5\n\
3204 (extern size_t[ \t]+wcsftime.*const char *.*)";
3205
3206 #define    IRIX_WCSFTIME_TEST_CT  1
3207 static tTestDesc aIrix_WcsftimeTests[] = {
3208   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3209
3210 /*
3211  *  Fix Command Arguments for Irix_Wcsftime
3212  */
3213 static const char* apzIrix_WcsftimePatch[] = {
3214     "format",
3215     "#if _NO_XOPEN5 && !defined(__c99)\n\
3216 %1",
3217     (char*)NULL };
3218
3219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3220  *
3221  *  Description of Isc_Fmod fix
3222  */
3223 tSCC zIsc_FmodName[] =
3224      "isc_fmod";
3225
3226 /*
3227  *  File name selection pattern
3228  */
3229 tSCC zIsc_FmodList[] =
3230   "|math.h|";
3231 /*
3232  *  Machine/OS name selection pattern
3233  */
3234 #define apzIsc_FmodMachs (const char**)NULL
3235
3236 /*
3237  *  content selection pattern - do fix if pattern found
3238  */
3239 tSCC zIsc_FmodSelect0[] =
3240        "fmod\\(double\\)";
3241
3242 #define    ISC_FMOD_TEST_CT  1
3243 static tTestDesc aIsc_FmodTests[] = {
3244   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3245
3246 /*
3247  *  Fix Command Arguments for Isc_Fmod
3248  */
3249 static const char* apzIsc_FmodPatch[] = {
3250     "format",
3251     "fmod(double, double)",
3252     (char*)NULL };
3253
3254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3255  *
3256  *  Description of Isc_Omits_With_Stdc fix
3257  */
3258 tSCC zIsc_Omits_With_StdcName[] =
3259      "isc_omits_with_stdc";
3260
3261 /*
3262  *  File name selection pattern
3263  */
3264 tSCC zIsc_Omits_With_StdcList[] =
3265   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3266 /*
3267  *  Machine/OS name selection pattern
3268  */
3269 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3270
3271 /*
3272  *  content selection pattern - do fix if pattern found
3273  */
3274 tSCC zIsc_Omits_With_StdcSelect0[] =
3275        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3276
3277 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3278 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3279   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3280
3281 /*
3282  *  Fix Command Arguments for Isc_Omits_With_Stdc
3283  */
3284 static const char* apzIsc_Omits_With_StdcPatch[] = {
3285     "format",
3286     "!defined(_POSIX_SOURCE)",
3287     (char*)NULL };
3288
3289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3290  *
3291  *  Description of Kandr_Concat fix
3292  */
3293 tSCC zKandr_ConcatName[] =
3294      "kandr_concat";
3295
3296 /*
3297  *  File name selection pattern
3298  */
3299 tSCC zKandr_ConcatList[] =
3300   "|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|";
3301 /*
3302  *  Machine/OS name selection pattern
3303  */
3304 #define apzKandr_ConcatMachs (const char**)NULL
3305
3306 /*
3307  *  content selection pattern - do fix if pattern found
3308  */
3309 tSCC zKandr_ConcatSelect0[] =
3310        "/\\*\\*/";
3311
3312 #define    KANDR_CONCAT_TEST_CT  1
3313 static tTestDesc aKandr_ConcatTests[] = {
3314   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3315
3316 /*
3317  *  Fix Command Arguments for Kandr_Concat
3318  */
3319 static const char* apzKandr_ConcatPatch[] = {
3320     "format",
3321     "##",
3322     (char*)NULL };
3323
3324 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3325  *
3326  *  Description of Libc1_G_Va_List fix
3327  */
3328 tSCC zLibc1_G_Va_ListName[] =
3329      "libc1_G_va_list";
3330
3331 /*
3332  *  File name selection pattern
3333  */
3334 tSCC zLibc1_G_Va_ListList[] =
3335   "|_G_config.h|";
3336 /*
3337  *  Machine/OS name selection pattern
3338  */
3339 tSCC* apzLibc1_G_Va_ListMachs[] = {
3340         "*-*-linux*libc1",
3341         (const char*)NULL };
3342
3343 /*
3344  *  content selection pattern - do fix if pattern found
3345  */
3346 tSCC zLibc1_G_Va_ListSelect0[] =
3347        "typedef void \\* _G_va_list;";
3348
3349 #define    LIBC1_G_VA_LIST_TEST_CT  1
3350 static tTestDesc aLibc1_G_Va_ListTests[] = {
3351   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3352
3353 /*
3354  *  Fix Command Arguments for Libc1_G_Va_List
3355  */
3356 static const char* apzLibc1_G_Va_ListPatch[] = {
3357     "format",
3358     "typedef __builtin_va_list _G_va_list;",
3359     (char*)NULL };
3360
3361 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3362  *
3363  *  Description of Libc1_Ifdefd_Memx fix
3364  */
3365 tSCC zLibc1_Ifdefd_MemxName[] =
3366      "libc1_ifdefd_memx";
3367
3368 /*
3369  *  File name selection pattern
3370  */
3371 tSCC zLibc1_Ifdefd_MemxList[] =
3372   "|testing.h|string.h|";
3373 /*
3374  *  Machine/OS name selection pattern
3375  */
3376 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3377
3378 /*
3379  *  content selection pattern - do fix if pattern found
3380  */
3381 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3382        "' is a built-in function for gcc 2\\.x\\. \\*/";
3383
3384 /*
3385  *  content bypass pattern - skip fix if pattern found
3386  */
3387 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3388        "__cplusplus";
3389
3390 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3391 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3392   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3393   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3394
3395 /*
3396  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3397  */
3398 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3399     "format",
3400     "%1",
3401     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3402 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3403 (/\\* .* \\*/\n\
3404 extern [a-z_]+ mem.*(\n\
3405 [^#].*)*;)\n\
3406 #endif",
3407     (char*)NULL };
3408
3409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3410  *
3411  *  Description of Linux_Ia64_Ucontext fix
3412  */
3413 tSCC zLinux_Ia64_UcontextName[] =
3414      "linux_ia64_ucontext";
3415
3416 /*
3417  *  File name selection pattern
3418  */
3419 tSCC zLinux_Ia64_UcontextList[] =
3420   "|sys/ucontext.h|";
3421 /*
3422  *  Machine/OS name selection pattern
3423  */
3424 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3425         "ia64-*-linux*",
3426         (const char*)NULL };
3427
3428 /*
3429  *  content selection pattern - do fix if pattern found
3430  */
3431 tSCC zLinux_Ia64_UcontextSelect0[] =
3432        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3433
3434 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3435 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3436   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3437
3438 /*
3439  *  Fix Command Arguments for Linux_Ia64_Ucontext
3440  */
3441 static const char* apzLinux_Ia64_UcontextPatch[] = {
3442     "format",
3443     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3444     (char*)NULL };
3445
3446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3447  *
3448  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3449  */
3450 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3451      "lynxos_no_warning_in_sys_time_h";
3452
3453 /*
3454  *  File name selection pattern
3455  */
3456 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3457   "|sys/time.h|";
3458 /*
3459  *  Machine/OS name selection pattern
3460  */
3461 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3462
3463 /*
3464  *  content selection pattern - do fix if pattern found
3465  */
3466 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3467        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3468
3469 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3470 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3471   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3472
3473 /*
3474  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3475  */
3476 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3477     "format",
3478     "",
3479     (char*)NULL };
3480
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3482  *
3483  *  Description of Lynxos_Missing_Putenv fix
3484  */
3485 tSCC zLynxos_Missing_PutenvName[] =
3486      "lynxos_missing_putenv";
3487
3488 /*
3489  *  File name selection pattern
3490  */
3491 tSCC zLynxos_Missing_PutenvList[] =
3492   "|stdlib.h|";
3493 /*
3494  *  Machine/OS name selection pattern
3495  */
3496 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3497         "*-*-lynxos*",
3498         (const char*)NULL };
3499
3500 /*
3501  *  content selection pattern - do fix if pattern found
3502  */
3503 tSCC zLynxos_Missing_PutenvSelect0[] =
3504        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3505
3506 /*
3507  *  content bypass pattern - skip fix if pattern found
3508  */
3509 tSCC zLynxos_Missing_PutenvBypass0[] =
3510        "putenv[ \\t]*\\(";
3511
3512 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3513 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3514   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3515   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3516
3517 /*
3518  *  Fix Command Arguments for Lynxos_Missing_Putenv
3519  */
3520 static const char* apzLynxos_Missing_PutenvPatch[] = {
3521     "format",
3522     "%0\n\
3523 extern int putenv\t\t\t\t_AP((char *));",
3524     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3525     (char*)NULL };
3526
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *
3529  *  Description of Machine_Ansi_H_Va_List fix
3530  */
3531 tSCC zMachine_Ansi_H_Va_ListName[] =
3532      "machine_ansi_h_va_list";
3533
3534 /*
3535  *  File name selection pattern
3536  */
3537 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3538 /*
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3542
3543 /*
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3547        "define[ \t]+_BSD_VA_LIST_[ \t]";
3548
3549 /*
3550  *  content bypass pattern - skip fix if pattern found
3551  */
3552 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3553        "__builtin_va_list";
3554
3555 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3556 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3557   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3558   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3559
3560 /*
3561  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3562  */
3563 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3564     "format",
3565     "%1__builtin_va_list",
3566     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3567     (char*)NULL };
3568
3569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3570  *
3571  *  Description of Machine_Name fix
3572  */
3573 tSCC zMachine_NameName[] =
3574      "machine_name";
3575
3576 /*
3577  *  File name selection pattern
3578  */
3579 #define zMachine_NameList (char*)NULL
3580 /*
3581  *  Machine/OS name selection pattern
3582  */
3583 #define apzMachine_NameMachs (const char**)NULL
3584
3585 /*
3586  *  perform the C function call test
3587  */
3588 tSCC zMachine_NameFTst0[] = "machine_name";
3589
3590 #define    MACHINE_NAME_TEST_CT  1
3591 static tTestDesc aMachine_NameTests[] = {
3592   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3593
3594 /*
3595  *  Fix Command Arguments for Machine_Name
3596  */
3597 static const char* apzMachine_NamePatch[] = {
3598     "machine_name",
3599     (char*)NULL };
3600
3601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3602  *
3603  *  Description of Math_Exception fix
3604  */
3605 tSCC zMath_ExceptionName[] =
3606      "math_exception";
3607
3608 /*
3609  *  File name selection pattern
3610  */
3611 tSCC zMath_ExceptionList[] =
3612   "|math.h|";
3613 /*
3614  *  Machine/OS name selection pattern
3615  */
3616 #define apzMath_ExceptionMachs (const char**)NULL
3617
3618 /*
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zMath_ExceptionSelect0[] =
3622        "struct exception";
3623
3624 /*
3625  *  content bypass pattern - skip fix if pattern found
3626  */
3627 tSCC zMath_ExceptionBypass0[] =
3628        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3629
3630 #define    MATH_EXCEPTION_TEST_CT  2
3631 static tTestDesc aMath_ExceptionTests[] = {
3632   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3633   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3634
3635 /*
3636  *  Fix Command Arguments for Math_Exception
3637  */
3638 static const char* apzMath_ExceptionPatch[] = {
3639     "wrap",
3640     "#ifdef __cplusplus\n\
3641 #define exception __math_exception\n\
3642 #endif\n",
3643     "#ifdef __cplusplus\n\
3644 #undef exception\n\
3645 #endif\n",
3646     (char*)NULL };
3647
3648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3649  *
3650  *  Description of Math_Huge_Val_From_Dbl_Max fix
3651  */
3652 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3653      "math_huge_val_from_dbl_max";
3654
3655 /*
3656  *  File name selection pattern
3657  */
3658 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3659   "|math.h|";
3660 /*
3661  *  Machine/OS name selection pattern
3662  */
3663 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3664
3665 /*
3666  *  content selection pattern - do fix if pattern found
3667  */
3668 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3669        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3670
3671 /*
3672  *  content bypass pattern - skip fix if pattern found
3673  */
3674 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3675        "define[ \t]+DBL_MAX";
3676
3677 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3678 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3679   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3680   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3681
3682 /*
3683  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3684  */
3685 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3686     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3687 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3688 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3689 \telse cat\n\
3690 \tfi",
3691     (char*)NULL };
3692
3693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3694  *
3695  *  Description of Nested_Auth_Des fix
3696  */
3697 tSCC zNested_Auth_DesName[] =
3698      "nested_auth_des";
3699
3700 /*
3701  *  File name selection pattern
3702  */
3703 tSCC zNested_Auth_DesList[] =
3704   "|rpc/rpc.h|";
3705 /*
3706  *  Machine/OS name selection pattern
3707  */
3708 #define apzNested_Auth_DesMachs (const char**)NULL
3709
3710 /*
3711  *  content selection pattern - do fix if pattern found
3712  */
3713 tSCC zNested_Auth_DesSelect0[] =
3714        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3715
3716 #define    NESTED_AUTH_DES_TEST_CT  1
3717 static tTestDesc aNested_Auth_DesTests[] = {
3718   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3719
3720 /*
3721  *  Fix Command Arguments for Nested_Auth_Des
3722  */
3723 static const char* apzNested_Auth_DesPatch[] = {
3724     "format",
3725     "%1*/ /*",
3726     (char*)NULL };
3727
3728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3729  *
3730  *  Description of Nested_Motorola fix
3731  */
3732 tSCC zNested_MotorolaName[] =
3733      "nested_motorola";
3734
3735 /*
3736  *  File name selection pattern
3737  */
3738 tSCC zNested_MotorolaList[] =
3739   "|sys/limits.h|limits.h|";
3740 /*
3741  *  Machine/OS name selection pattern
3742  */
3743 tSCC* apzNested_MotorolaMachs[] = {
3744         "m68k-motorola-sysv*",
3745         (const char*)NULL };
3746
3747 /*
3748  *  content selection pattern - do fix if pattern found
3749  */
3750 tSCC zNested_MotorolaSelect0[] =
3751        "max # bytes atomic in write|error value returned by Math lib";
3752
3753 #define    NESTED_MOTOROLA_TEST_CT  1
3754 static tTestDesc aNested_MotorolaTests[] = {
3755   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3756
3757 /*
3758  *  Fix Command Arguments for Nested_Motorola
3759  */
3760 static const char* apzNested_MotorolaPatch[] = { "sed",
3761     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3762     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3763     (char*)NULL };
3764
3765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3766  *
3767  *  Description of Nested_Sys_Limits fix
3768  */
3769 tSCC zNested_Sys_LimitsName[] =
3770      "nested_sys_limits";
3771
3772 /*
3773  *  File name selection pattern
3774  */
3775 tSCC zNested_Sys_LimitsList[] =
3776   "|sys/limits.h|";
3777 /*
3778  *  Machine/OS name selection pattern
3779  */
3780 #define apzNested_Sys_LimitsMachs (const char**)NULL
3781
3782 /*
3783  *  content selection pattern - do fix if pattern found
3784  */
3785 tSCC zNested_Sys_LimitsSelect0[] =
3786        "CHILD_MAX";
3787
3788 #define    NESTED_SYS_LIMITS_TEST_CT  1
3789 static tTestDesc aNested_Sys_LimitsTests[] = {
3790   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3791
3792 /*
3793  *  Fix Command Arguments for Nested_Sys_Limits
3794  */
3795 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3796     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3797     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3798     (char*)NULL };
3799
3800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3801  *
3802  *  Description of Netbsd_Extra_Semicolon fix
3803  */
3804 tSCC zNetbsd_Extra_SemicolonName[] =
3805      "netbsd_extra_semicolon";
3806
3807 /*
3808  *  File name selection pattern
3809  */
3810 tSCC zNetbsd_Extra_SemicolonList[] =
3811   "|sys/cdefs.h|";
3812 /*
3813  *  Machine/OS name selection pattern
3814  */
3815 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3816         "*-*-netbsd*",
3817         (const char*)NULL };
3818
3819 /*
3820  *  content selection pattern - do fix if pattern found
3821  */
3822 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3823        "#define[ \t]*__END_DECLS[ \t]*};";
3824
3825 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3826 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3827   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3828
3829 /*
3830  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3831  */
3832 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3833     "format",
3834     "#define __END_DECLS }",
3835     (char*)NULL };
3836
3837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3838  *
3839  *  Description of Next_Math_Prefix fix
3840  */
3841 tSCC zNext_Math_PrefixName[] =
3842      "next_math_prefix";
3843
3844 /*
3845  *  File name selection pattern
3846  */
3847 tSCC zNext_Math_PrefixList[] =
3848   "|ansi/math.h|";
3849 /*
3850  *  Machine/OS name selection pattern
3851  */
3852 #define apzNext_Math_PrefixMachs (const char**)NULL
3853
3854 /*
3855  *  content selection pattern - do fix if pattern found
3856  */
3857 tSCC zNext_Math_PrefixSelect0[] =
3858        "^extern[ \t]+double[ \t]+__const__[ \t]";
3859
3860 #define    NEXT_MATH_PREFIX_TEST_CT  1
3861 static tTestDesc aNext_Math_PrefixTests[] = {
3862   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3863
3864 /*
3865  *  Fix Command Arguments for Next_Math_Prefix
3866  */
3867 static const char* apzNext_Math_PrefixPatch[] = {
3868     "format",
3869     "extern double %1(",
3870     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3871     (char*)NULL };
3872
3873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3874  *
3875  *  Description of Next_Template fix
3876  */
3877 tSCC zNext_TemplateName[] =
3878      "next_template";
3879
3880 /*
3881  *  File name selection pattern
3882  */
3883 tSCC zNext_TemplateList[] =
3884   "|bsd/libc.h|";
3885 /*
3886  *  Machine/OS name selection pattern
3887  */
3888 #define apzNext_TemplateMachs (const char**)NULL
3889
3890 /*
3891  *  content selection pattern - do fix if pattern found
3892  */
3893 tSCC zNext_TemplateSelect0[] =
3894        "[ \t]template\\)";
3895
3896 #define    NEXT_TEMPLATE_TEST_CT  1
3897 static tTestDesc aNext_TemplateTests[] = {
3898   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3899
3900 /*
3901  *  Fix Command Arguments for Next_Template
3902  */
3903 static const char* apzNext_TemplatePatch[] = {
3904     "format",
3905     "(%1)",
3906     "\\(([^)]*)[ \t]template\\)",
3907     (char*)NULL };
3908
3909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3910  *
3911  *  Description of Next_Volitile fix
3912  */
3913 tSCC zNext_VolitileName[] =
3914      "next_volitile";
3915
3916 /*
3917  *  File name selection pattern
3918  */
3919 tSCC zNext_VolitileList[] =
3920   "|ansi/stdlib.h|";
3921 /*
3922  *  Machine/OS name selection pattern
3923  */
3924 #define apzNext_VolitileMachs (const char**)NULL
3925
3926 /*
3927  *  content selection pattern - do fix if pattern found
3928  */
3929 tSCC zNext_VolitileSelect0[] =
3930        "^extern[ \t]+volatile[ \t]+void[ \t]";
3931
3932 #define    NEXT_VOLITILE_TEST_CT  1
3933 static tTestDesc aNext_VolitileTests[] = {
3934   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3935
3936 /*
3937  *  Fix Command Arguments for Next_Volitile
3938  */
3939 static const char* apzNext_VolitilePatch[] = {
3940     "format",
3941     "extern void %1(",
3942     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3943     (char*)NULL };
3944
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3946  *
3947  *  Description of Next_Wait_Union fix
3948  */
3949 tSCC zNext_Wait_UnionName[] =
3950      "next_wait_union";
3951
3952 /*
3953  *  File name selection pattern
3954  */
3955 tSCC zNext_Wait_UnionList[] =
3956   "|sys/wait.h|";
3957 /*
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzNext_Wait_UnionMachs (const char**)NULL
3961
3962 /*
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zNext_Wait_UnionSelect0[] =
3966        "wait\\(union wait";
3967
3968 #define    NEXT_WAIT_UNION_TEST_CT  1
3969 static tTestDesc aNext_Wait_UnionTests[] = {
3970   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3971
3972 /*
3973  *  Fix Command Arguments for Next_Wait_Union
3974  */
3975 static const char* apzNext_Wait_UnionPatch[] = {
3976     "format",
3977     "wait(void",
3978     (char*)NULL };
3979
3980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3981  *
3982  *  Description of Nodeent_Syntax fix
3983  */
3984 tSCC zNodeent_SyntaxName[] =
3985      "nodeent_syntax";
3986
3987 /*
3988  *  File name selection pattern
3989  */
3990 tSCC zNodeent_SyntaxList[] =
3991   "|netdnet/dnetdb.h|";
3992 /*
3993  *  Machine/OS name selection pattern
3994  */
3995 #define apzNodeent_SyntaxMachs (const char**)NULL
3996
3997 /*
3998  *  content selection pattern - do fix if pattern found
3999  */
4000 tSCC zNodeent_SyntaxSelect0[] =
4001        "char[ \t]*\\*na_addr[ \t]*$";
4002
4003 #define    NODEENT_SYNTAX_TEST_CT  1
4004 static tTestDesc aNodeent_SyntaxTests[] = {
4005   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4006
4007 /*
4008  *  Fix Command Arguments for Nodeent_Syntax
4009  */
4010 static const char* apzNodeent_SyntaxPatch[] = {
4011     "format",
4012     "%0;",
4013     (char*)NULL };
4014
4015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4016  *
4017  *  Description of Obstack_Lvalue_Cast fix
4018  */
4019 tSCC zObstack_Lvalue_CastName[] =
4020      "obstack_lvalue_cast";
4021
4022 /*
4023  *  File name selection pattern
4024  */
4025 tSCC zObstack_Lvalue_CastList[] =
4026   "|obstack.h|";
4027 /*
4028  *  Machine/OS name selection pattern
4029  */
4030 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4031
4032 /*
4033  *  content selection pattern - do fix if pattern found
4034  */
4035 tSCC zObstack_Lvalue_CastSelect0[] =
4036        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4037
4038 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4039 static tTestDesc aObstack_Lvalue_CastTests[] = {
4040   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4041
4042 /*
4043  *  Fix Command Arguments for Obstack_Lvalue_Cast
4044  */
4045 static const char* apzObstack_Lvalue_CastPatch[] = {
4046     "format",
4047     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4048     (char*)NULL };
4049
4050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4051  *
4052  *  Description of Osf_Namespace_A fix
4053  */
4054 tSCC zOsf_Namespace_AName[] =
4055      "osf_namespace_a";
4056
4057 /*
4058  *  File name selection pattern
4059  */
4060 tSCC zOsf_Namespace_AList[] =
4061   "|reg_types.h|sys/lc_core.h|";
4062 /*
4063  *  Machine/OS name selection pattern
4064  */
4065 #define apzOsf_Namespace_AMachs (const char**)NULL
4066
4067 /*
4068  *  perform the 'test' shell command - do fix on success
4069  */
4070 tSCC zOsf_Namespace_ATest0[] =
4071        " -r reg_types.h";
4072 tSCC zOsf_Namespace_ATest1[] =
4073        " -r sys/lc_core.h";
4074 tSCC zOsf_Namespace_ATest2[] =
4075        " -n \"`grep '} regex_t;' reg_types.h`\"";
4076 tSCC zOsf_Namespace_ATest3[] =
4077        " -z \"`grep __regex_t regex.h`\"";
4078
4079 #define    OSF_NAMESPACE_A_TEST_CT  4
4080 static tTestDesc aOsf_Namespace_ATests[] = {
4081   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4082   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4083   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4084   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4085
4086 /*
4087  *  Fix Command Arguments for Osf_Namespace_A
4088  */
4089 static const char* apzOsf_Namespace_APatch[] = {
4090     "format",
4091     "__%0",
4092     "reg(ex|off|match)_t",
4093     (char*)NULL };
4094
4095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4096  *
4097  *  Description of Osf_Namespace_C fix
4098  */
4099 tSCC zOsf_Namespace_CName[] =
4100      "osf_namespace_c";
4101
4102 /*
4103  *  File name selection pattern
4104  */
4105 tSCC zOsf_Namespace_CList[] =
4106   "|regex.h|";
4107 /*
4108  *  Machine/OS name selection pattern
4109  */
4110 #define apzOsf_Namespace_CMachs (const char**)NULL
4111
4112 /*
4113  *  content selection pattern - do fix if pattern found
4114  */
4115 tSCC zOsf_Namespace_CSelect0[] =
4116        "#include <reg_types.h>.*";
4117
4118 /*
4119  *  perform the 'test' shell command - do fix on success
4120  */
4121 tSCC zOsf_Namespace_CTest0[] =
4122        " -r reg_types.h";
4123 tSCC zOsf_Namespace_CTest1[] =
4124        " -r sys/lc_core.h";
4125 tSCC zOsf_Namespace_CTest2[] =
4126        " -n \"`grep '} regex_t;' reg_types.h`\"";
4127 tSCC zOsf_Namespace_CTest3[] =
4128        " -z \"`grep __regex_t regex.h`\"";
4129
4130 #define    OSF_NAMESPACE_C_TEST_CT  5
4131 static tTestDesc aOsf_Namespace_CTests[] = {
4132   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4133   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4134   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4135   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4136   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4137
4138 /*
4139  *  Fix Command Arguments for Osf_Namespace_C
4140  */
4141 static const char* apzOsf_Namespace_CPatch[] = {
4142     "format",
4143     "%0\n\
4144 typedef __regex_t\tregex_t;\n\
4145 typedef __regoff_t\tregoff_t;\n\
4146 typedef __regmatch_t\tregmatch_t;",
4147     (char*)NULL };
4148
4149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4150  *
4151  *  Description of Pthread_Page_Size fix
4152  */
4153 tSCC zPthread_Page_SizeName[] =
4154      "pthread_page_size";
4155
4156 /*
4157  *  File name selection pattern
4158  */
4159 tSCC zPthread_Page_SizeList[] =
4160   "|pthread.h|";
4161 /*
4162  *  Machine/OS name selection pattern
4163  */
4164 #define apzPthread_Page_SizeMachs (const char**)NULL
4165
4166 /*
4167  *  content selection pattern - do fix if pattern found
4168  */
4169 tSCC zPthread_Page_SizeSelect0[] =
4170        "^int __page_size";
4171
4172 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4173 static tTestDesc aPthread_Page_SizeTests[] = {
4174   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4175
4176 /*
4177  *  Fix Command Arguments for Pthread_Page_Size
4178  */
4179 static const char* apzPthread_Page_SizePatch[] = {
4180     "format",
4181     "extern %0",
4182     (char*)NULL };
4183
4184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4185  *
4186  *  Description of Read_Ret_Type fix
4187  */
4188 tSCC zRead_Ret_TypeName[] =
4189      "read_ret_type";
4190
4191 /*
4192  *  File name selection pattern
4193  */
4194 tSCC zRead_Ret_TypeList[] =
4195   "|stdio.h|";
4196 /*
4197  *  Machine/OS name selection pattern
4198  */
4199 #define apzRead_Ret_TypeMachs (const char**)NULL
4200
4201 /*
4202  *  content selection pattern - do fix if pattern found
4203  */
4204 tSCC zRead_Ret_TypeSelect0[] =
4205        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4206
4207 #define    READ_RET_TYPE_TEST_CT  1
4208 static tTestDesc aRead_Ret_TypeTests[] = {
4209   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4210
4211 /*
4212  *  Fix Command Arguments for Read_Ret_Type
4213  */
4214 static const char* apzRead_Ret_TypePatch[] = {
4215     "format",
4216     "extern unsigned int fread(), fwrite();\n\
4217 %1%2",
4218     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4219     (char*)NULL };
4220
4221 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4222  *
4223  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4224  */
4225 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4226      "rpc_xdr_lvalue_cast_a";
4227
4228 /*
4229  *  File name selection pattern
4230  */
4231 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4232   "|rpc/xdr.h|";
4233 /*
4234  *  Machine/OS name selection pattern
4235  */
4236 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4237
4238 /*
4239  *  content selection pattern - do fix if pattern found
4240  */
4241 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4242        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4243 .*__extension__.*";
4244
4245 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4246 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4247   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4248
4249 /*
4250  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4251  */
4252 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4253     "format",
4254     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4255     (char*)NULL };
4256
4257 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4258  *
4259  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4260  */
4261 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4262      "rpc_xdr_lvalue_cast_b";
4263
4264 /*
4265  *  File name selection pattern
4266  */
4267 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4268   "|rpc/xdr.h|";
4269 /*
4270  *  Machine/OS name selection pattern
4271  */
4272 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4273
4274 /*
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4278        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4279 .*__extension__.*";
4280
4281 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4282 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4283   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4284
4285 /*
4286  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4287  */
4288 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4289     "format",
4290     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4291     (char*)NULL };
4292
4293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4294  *
4295  *  Description of Rs6000_Double fix
4296  */
4297 tSCC zRs6000_DoubleName[] =
4298      "rs6000_double";
4299
4300 /*
4301  *  File name selection pattern
4302  */
4303 tSCC zRs6000_DoubleList[] =
4304   "|math.h|";
4305 /*
4306  *  Machine/OS name selection pattern
4307  */
4308 #define apzRs6000_DoubleMachs (const char**)NULL
4309
4310 /*
4311  *  content selection pattern - do fix if pattern found
4312  */
4313 tSCC zRs6000_DoubleSelect0[] =
4314        "[^a-zA-Z_]class\\(";
4315
4316 #define    RS6000_DOUBLE_TEST_CT  1
4317 static tTestDesc aRs6000_DoubleTests[] = {
4318   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4319
4320 /*
4321  *  Fix Command Arguments for Rs6000_Double
4322  */
4323 static const char* apzRs6000_DoublePatch[] = {
4324     "format",
4325     "#ifndef __cplusplus\n\
4326 %0\n\
4327 #endif",
4328     "^.*[^a-zA-Z_]class\\(.*",
4329     (char*)NULL };
4330
4331 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4332  *
4333  *  Description of Rs6000_Fchmod fix
4334  */
4335 tSCC zRs6000_FchmodName[] =
4336      "rs6000_fchmod";
4337
4338 /*
4339  *  File name selection pattern
4340  */
4341 tSCC zRs6000_FchmodList[] =
4342   "|sys/stat.h|";
4343 /*
4344  *  Machine/OS name selection pattern
4345  */
4346 #define apzRs6000_FchmodMachs (const char**)NULL
4347
4348 /*
4349  *  content selection pattern - do fix if pattern found
4350  */
4351 tSCC zRs6000_FchmodSelect0[] =
4352        "fchmod\\(char \\*";
4353
4354 #define    RS6000_FCHMOD_TEST_CT  1
4355 static tTestDesc aRs6000_FchmodTests[] = {
4356   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4357
4358 /*
4359  *  Fix Command Arguments for Rs6000_Fchmod
4360  */
4361 static const char* apzRs6000_FchmodPatch[] = {
4362     "format",
4363     "fchmod(int",
4364     (char*)NULL };
4365
4366 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4367  *
4368  *  Description of Rs6000_Param fix
4369  */
4370 tSCC zRs6000_ParamName[] =
4371      "rs6000_param";
4372
4373 /*
4374  *  File name selection pattern
4375  */
4376 tSCC zRs6000_ParamList[] =
4377   "|stdio.h|unistd.h|";
4378 /*
4379  *  Machine/OS name selection pattern
4380  */
4381 #define apzRs6000_ParamMachs (const char**)NULL
4382
4383 /*
4384  *  content selection pattern - do fix if pattern found
4385  */
4386 tSCC zRs6000_ParamSelect0[] =
4387        "rename\\(const char \\*old, const char \\*new\\)";
4388
4389 #define    RS6000_PARAM_TEST_CT  1
4390 static tTestDesc aRs6000_ParamTests[] = {
4391   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4392
4393 /*
4394  *  Fix Command Arguments for Rs6000_Param
4395  */
4396 static const char* apzRs6000_ParamPatch[] = {
4397     "format",
4398     "rename(const char *_old, const char *_new)",
4399     (char*)NULL };
4400
4401 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4402  *
4403  *  Description of Sco_Math fix
4404  */
4405 tSCC zSco_MathName[] =
4406      "sco_math";
4407
4408 /*
4409  *  File name selection pattern
4410  */
4411 tSCC zSco_MathList[] =
4412   "|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|";
4413 /*
4414  *  Machine/OS name selection pattern
4415  */
4416 #define apzSco_MathMachs (const char**)NULL
4417
4418 /*
4419  *  content selection pattern - do fix if pattern found
4420  */
4421 tSCC zSco_MathSelect0[] =
4422        "inline double abs";
4423
4424 /*
4425  *  content bypass pattern - skip fix if pattern found
4426  */
4427 tSCC zSco_MathBypass0[] =
4428        "__GNUG__";
4429
4430 #define    SCO_MATH_TEST_CT  2
4431 static tTestDesc aSco_MathTests[] = {
4432   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4433   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4434
4435 /*
4436  *  Fix Command Arguments for Sco_Math
4437  */
4438 static const char* apzSco_MathPatch[] = { "sed",
4439     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4440 #ifndef __GNUC__\n",
4441     "-e", "/.*__builtin_generic/a\\\n\
4442 #else\\\n\
4443 #define __fp_class(a) \\\\\\\n\
4444   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4445    __fpclassifyl(a), \\\\\\\n\
4446     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4447       __fpclassifyf(a),__fpclassify(a)))\\\n\
4448 #endif",
4449     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4450 #ifndef __GNUC__\n",
4451     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4452 #endif /* ! __GNUC__ */",
4453     (char*)NULL };
4454
4455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4456  *
4457  *  Description of Sco_Regset fix
4458  */
4459 tSCC zSco_RegsetName[] =
4460      "sco_regset";
4461
4462 /*
4463  *  File name selection pattern
4464  */
4465 tSCC zSco_RegsetList[] =
4466   "|sys/regset.h|";
4467 /*
4468  *  Machine/OS name selection pattern
4469  */
4470 tSCC* apzSco_RegsetMachs[] = {
4471         "*-*-sco3.2v5*",
4472         (const char*)NULL };
4473
4474 /*
4475  *  content selection pattern - do fix if pattern found
4476  */
4477 tSCC zSco_RegsetSelect0[] =
4478        "(struct[ \t]+.*)fpstate";
4479
4480 #define    SCO_REGSET_TEST_CT  1
4481 static tTestDesc aSco_RegsetTests[] = {
4482   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4483
4484 /*
4485  *  Fix Command Arguments for Sco_Regset
4486  */
4487 static const char* apzSco_RegsetPatch[] = {
4488     "format",
4489     "%1rsfpstate",
4490     (char*)NULL };
4491
4492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4493  *
4494  *  Description of Sco_Static_Func fix
4495  */
4496 tSCC zSco_Static_FuncName[] =
4497      "sco_static_func";
4498
4499 /*
4500  *  File name selection pattern
4501  */
4502 tSCC zSco_Static_FuncList[] =
4503   "|sys/stat.h|";
4504 /*
4505  *  Machine/OS name selection pattern
4506  */
4507 tSCC* apzSco_Static_FuncMachs[] = {
4508         "i?86-*-sco3.2*",
4509         (const char*)NULL };
4510
4511 /*
4512  *  content selection pattern - do fix if pattern found
4513  */
4514 tSCC zSco_Static_FuncSelect0[] =
4515        "^static int";
4516
4517 #define    SCO_STATIC_FUNC_TEST_CT  1
4518 static tTestDesc aSco_Static_FuncTests[] = {
4519   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4520
4521 /*
4522  *  Fix Command Arguments for Sco_Static_Func
4523  */
4524 static const char* apzSco_Static_FuncPatch[] = { "sed",
4525     "-e", "/^static int/i\\\n\
4526 #if __cplusplus\\\n\
4527 extern \"C\" {\\\n\
4528 #endif /* __cplusplus */",
4529     "-e", "/^}$/a\\\n\
4530 #if __cplusplus\\\n\
4531  }\\\n\
4532 #endif /* __cplusplus */",
4533     (char*)NULL };
4534
4535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4536  *
4537  *  Description of Sco_Utime fix
4538  */
4539 tSCC zSco_UtimeName[] =
4540      "sco_utime";
4541
4542 /*
4543  *  File name selection pattern
4544  */
4545 tSCC zSco_UtimeList[] =
4546   "|sys/times.h|";
4547 /*
4548  *  Machine/OS name selection pattern
4549  */
4550 tSCC* apzSco_UtimeMachs[] = {
4551         "i?86-*-sco3.2v4*",
4552         (const char*)NULL };
4553
4554 /*
4555  *  content selection pattern - do fix if pattern found
4556  */
4557 tSCC zSco_UtimeSelect0[] =
4558        "\\(const char \\*, struct utimbuf \\*\\);";
4559
4560 #define    SCO_UTIME_TEST_CT  1
4561 static tTestDesc aSco_UtimeTests[] = {
4562   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4563
4564 /*
4565  *  Fix Command Arguments for Sco_Utime
4566  */
4567 static const char* apzSco_UtimePatch[] = {
4568     "format",
4569     "(const char *, const struct utimbuf *);",
4570     (char*)NULL };
4571
4572 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4573  *
4574  *  Description of Solaris_Mutex_Init_1 fix
4575  */
4576 tSCC zSolaris_Mutex_Init_1Name[] =
4577      "solaris_mutex_init_1";
4578
4579 /*
4580  *  File name selection pattern
4581  */
4582 tSCC zSolaris_Mutex_Init_1List[] =
4583   "|pthread.h|";
4584 /*
4585  *  Machine/OS name selection pattern
4586  */
4587 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
4588
4589 /*
4590  *  content selection pattern - do fix if pattern found
4591  */
4592 tSCC zSolaris_Mutex_Init_1Select0[] =
4593        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
4594
4595 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
4596 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
4597   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
4598
4599 /*
4600  *  Fix Command Arguments for Solaris_Mutex_Init_1
4601  */
4602 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
4603     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
4604 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
4605     (char*)NULL };
4606
4607 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4608  *
4609  *  Description of Solaris_Mutex_Init_2 fix
4610  */
4611 tSCC zSolaris_Mutex_Init_2Name[] =
4612      "solaris_mutex_init_2";
4613
4614 /*
4615  *  File name selection pattern
4616  */
4617 tSCC zSolaris_Mutex_Init_2List[] =
4618   "|pthread.h|";
4619 /*
4620  *  Machine/OS name selection pattern
4621  */
4622 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
4623
4624 /*
4625  *  content selection pattern - do fix if pattern found
4626  */
4627 tSCC zSolaris_Mutex_Init_2Select0[] =
4628        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4629
4630 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
4631 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
4632   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
4633
4634 /*
4635  *  Fix Command Arguments for Solaris_Mutex_Init_2
4636  */
4637 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4638     "format",
4639     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4640 %0\n\
4641 #else\n\
4642 %1, {0}}%3\n\
4643 #endif",
4644     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4645     (char*)NULL };
4646
4647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4648  *
4649  *  Description of Solaris_Socket fix
4650  */
4651 tSCC zSolaris_SocketName[] =
4652      "solaris_socket";
4653
4654 /*
4655  *  File name selection pattern
4656  */
4657 tSCC zSolaris_SocketList[] =
4658   "|sys/socket.h|";
4659 /*
4660  *  Machine/OS name selection pattern
4661  */
4662 #define apzSolaris_SocketMachs (const char**)NULL
4663
4664 /*
4665  *  content selection pattern - do fix if pattern found
4666  */
4667 tSCC zSolaris_SocketSelect0[] =
4668        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4669
4670 #define    SOLARIS_SOCKET_TEST_CT  1
4671 static tTestDesc aSolaris_SocketTests[] = {
4672   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
4673
4674 /*
4675  *  Fix Command Arguments for Solaris_Socket
4676  */
4677 static const char* apzSolaris_SocketPatch[] = {
4678     "format",
4679     "extern int %1(int, %2void *, int, int);",
4680     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4681     (char*)NULL };
4682
4683 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4684  *
4685  *  Description of Solaris_Stdio_Tag fix
4686  */
4687 tSCC zSolaris_Stdio_TagName[] =
4688      "solaris_stdio_tag";
4689
4690 /*
4691  *  File name selection pattern
4692  */
4693 tSCC zSolaris_Stdio_TagList[] =
4694   "|stdio_tag.h|";
4695 /*
4696  *  Machine/OS name selection pattern
4697  */
4698 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4699
4700 /*
4701  *  content selection pattern - do fix if pattern found
4702  */
4703 tSCC zSolaris_Stdio_TagSelect0[] =
4704        "__cplusplus < 54321L";
4705
4706 /*
4707  *  content bypass pattern - skip fix if pattern found
4708  */
4709 tSCC zSolaris_Stdio_TagBypass0[] =
4710        "__GNUC__";
4711
4712 #define    SOLARIS_STDIO_TAG_TEST_CT  2
4713 static tTestDesc aSolaris_Stdio_TagTests[] = {
4714   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
4715   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4716
4717 /*
4718  *  Fix Command Arguments for Solaris_Stdio_Tag
4719  */
4720 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4721     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4722     (char*)NULL };
4723
4724 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4725  *
4726  *  Description of Solaris_Unistd fix
4727  */
4728 tSCC zSolaris_UnistdName[] =
4729      "solaris_unistd";
4730
4731 /*
4732  *  File name selection pattern
4733  */
4734 tSCC zSolaris_UnistdList[] =
4735   "|unistd.h|";
4736 /*
4737  *  Machine/OS name selection pattern
4738  */
4739 #define apzSolaris_UnistdMachs (const char**)NULL
4740
4741 /*
4742  *  content selection pattern - do fix if pattern found
4743  */
4744 tSCC zSolaris_UnistdSelect0[] =
4745        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4746
4747 /*
4748  *  content bypass pattern - skip fix if pattern found
4749  */
4750 tSCC zSolaris_UnistdBypass0[] =
4751        "getpagesize";
4752
4753 #define    SOLARIS_UNISTD_TEST_CT  2
4754 static tTestDesc aSolaris_UnistdTests[] = {
4755   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
4756   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4757
4758 /*
4759  *  Fix Command Arguments for Solaris_Unistd
4760  */
4761 static const char* apzSolaris_UnistdPatch[] = {
4762     "format",
4763     "extern int getpagesize();\n\
4764 %0",
4765     "^extern (pid_t|int) getpgid\\(.*\\);",
4766     (char*)NULL };
4767
4768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4769  *
4770  *  Description of Solaris_Widec fix
4771  */
4772 tSCC zSolaris_WidecName[] =
4773      "solaris_widec";
4774
4775 /*
4776  *  File name selection pattern
4777  */
4778 tSCC zSolaris_WidecList[] =
4779   "|widec.h|";
4780 /*
4781  *  Machine/OS name selection pattern
4782  */
4783 tSCC* apzSolaris_WidecMachs[] = {
4784         "*-*-solaris2.[0-5]",
4785         "*-*-solaris2.[0-5].*",
4786         (const char*)NULL };
4787
4788 /*
4789  *  content selection pattern - do fix if pattern found
4790  */
4791 tSCC zSolaris_WidecSelect0[] =
4792        "#include <euc.h>";
4793
4794 /*
4795  *  content bypass pattern - skip fix if pattern found
4796  */
4797 tSCC zSolaris_WidecBypass0[] =
4798        "include.*wchar\\.h";
4799
4800 #define    SOLARIS_WIDEC_TEST_CT  2
4801 static tTestDesc aSolaris_WidecTests[] = {
4802   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
4803   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
4804
4805 /*
4806  *  Fix Command Arguments for Solaris_Widec
4807  */
4808 static const char* apzSolaris_WidecPatch[] = {
4809     "format",
4810     "%0\n\
4811 #include <wchar.h>",
4812     (char*)NULL };
4813
4814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4815  *
4816  *  Description of Statsswtch fix
4817  */
4818 tSCC zStatsswtchName[] =
4819      "statsswtch";
4820
4821 /*
4822  *  File name selection pattern
4823  */
4824 tSCC zStatsswtchList[] =
4825   "|rpcsvc/rstat.h|";
4826 /*
4827  *  Machine/OS name selection pattern
4828  */
4829 #define apzStatsswtchMachs (const char**)NULL
4830
4831 /*
4832  *  content selection pattern - do fix if pattern found
4833  */
4834 tSCC zStatsswtchSelect0[] =
4835        "boottime$";
4836
4837 #define    STATSSWTCH_TEST_CT  1
4838 static tTestDesc aStatsswtchTests[] = {
4839   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
4840
4841 /*
4842  *  Fix Command Arguments for Statsswtch
4843  */
4844 static const char* apzStatsswtchPatch[] = {
4845     "format",
4846     "boottime;",
4847     (char*)NULL };
4848
4849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4850  *
4851  *  Description of Stdio_Stdarg_H fix
4852  */
4853 tSCC zStdio_Stdarg_HName[] =
4854      "stdio_stdarg_h";
4855
4856 /*
4857  *  File name selection pattern
4858  */
4859 tSCC zStdio_Stdarg_HList[] =
4860   "|stdio.h|";
4861 /*
4862  *  Machine/OS name selection pattern
4863  */
4864 tSCC* apzStdio_Stdarg_HMachs[] = {
4865         "*-*-solaris2.1[0-9]",
4866         (const char*)NULL };
4867
4868 /*
4869  *  content bypass pattern - skip fix if pattern found
4870  */
4871 tSCC zStdio_Stdarg_HBypass0[] =
4872        "include.*(stdarg.h|machine/ansi.h)";
4873
4874 #define    STDIO_STDARG_H_TEST_CT  1
4875 static tTestDesc aStdio_Stdarg_HTests[] = {
4876   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4877
4878 /*
4879  *  Fix Command Arguments for Stdio_Stdarg_H
4880  */
4881 static const char* apzStdio_Stdarg_HPatch[] = {
4882     "wrap",
4883     "#define __need___va_list\n\
4884 #include <stdarg.h>\n",
4885     (char*)NULL };
4886
4887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4888  *
4889  *  Description of Stdio_Va_List fix
4890  */
4891 tSCC zStdio_Va_ListName[] =
4892      "stdio_va_list";
4893
4894 /*
4895  *  File name selection pattern
4896  */
4897 tSCC zStdio_Va_ListList[] =
4898   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
4899 /*
4900  *  Machine/OS name selection pattern
4901  */
4902 tSCC* apzStdio_Va_ListMachs[] = {
4903         "*-*-solaris2.1[0-9]",
4904         (const char*)NULL };
4905
4906 /*
4907  *  content bypass pattern - skip fix if pattern found
4908  */
4909 tSCC zStdio_Va_ListBypass0[] =
4910        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4911
4912 #define    STDIO_VA_LIST_TEST_CT  1
4913 static tTestDesc aStdio_Va_ListTests[] = {
4914   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
4915
4916 /*
4917  *  Fix Command Arguments for Stdio_Va_List
4918  */
4919 static const char* apzStdio_Va_ListPatch[] = { "sed",
4920     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4921 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4922 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4923 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4924 s@ va_list@ __not_va_list__@\n\
4925 s@\\*va_list@*__not_va_list__@\n\
4926 s@ __va_list)@ __gnuc_va_list)@\n\
4927 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4928 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4929 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4930 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
4931 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4932 s@VA_LIST@DUMMY_VA_LIST@\n\
4933 s@_Va_LIST@_VA_LIST@",
4934     (char*)NULL };
4935
4936 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4937  *
4938  *  Description of Stdio_Va_List_Clients fix
4939  */
4940 tSCC zStdio_Va_List_ClientsName[] =
4941      "stdio_va_list_clients";
4942
4943 /*
4944  *  File name selection pattern
4945  */
4946 tSCC zStdio_Va_List_ClientsList[] =
4947   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
4948 /*
4949  *  Machine/OS name selection pattern
4950  */
4951 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
4952
4953 /*
4954  *  content bypass pattern - skip fix if pattern found
4955  */
4956 tSCC zStdio_Va_List_ClientsBypass0[] =
4957        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4958 tSCC zStdio_Va_List_ClientsBypass1[] =
4959        "include <stdarg\\.h>|#ifdef va_start";
4960
4961 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
4962 static tTestDesc aStdio_Va_List_ClientsTests[] = {
4963   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
4964   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
4965
4966 /*
4967  *  Fix Command Arguments for Stdio_Va_List_Clients
4968  */
4969 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
4970     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4971 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4972 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4973 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4974 s@ va_list@ __not_va_list__@\n\
4975 s@\\*va_list@*__not_va_list__@\n\
4976 s@ __va_list)@ __gnuc_va_list)@\n\
4977 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4978 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4979 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4980 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
4981 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4982 s@VA_LIST@DUMMY_VA_LIST@\n\
4983 s@_Va_LIST@_VA_LIST@",
4984     (char*)NULL };
4985
4986 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4987  *
4988  *  Description of Strict_Ansi_Not fix
4989  */
4990 tSCC zStrict_Ansi_NotName[] =
4991      "strict_ansi_not";
4992
4993 /*
4994  *  File name selection pattern
4995  */
4996 #define zStrict_Ansi_NotList (char*)NULL
4997 /*
4998  *  Machine/OS name selection pattern
4999  */
5000 #define apzStrict_Ansi_NotMachs (const char**)NULL
5001
5002 /*
5003  *  content selection pattern - do fix if pattern found
5004  */
5005 tSCC zStrict_Ansi_NotSelect0[] =
5006        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5007
5008 /*
5009  *  content bypass pattern - skip fix if pattern found
5010  */
5011 tSCC zStrict_Ansi_NotBypass0[] =
5012        "GNU and MIPS C compilers define __STDC__ differently";
5013 tSCC zStrict_Ansi_NotBypass1[] =
5014        "__SCO_VERSION__.*__STDC__ != 1";
5015
5016 /*
5017  *  perform the C function call test
5018  */
5019 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5020
5021 #define    STRICT_ANSI_NOT_TEST_CT  4
5022 static tTestDesc aStrict_Ansi_NotTests[] = {
5023   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5024   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5025   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5026   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5027
5028 /*
5029  *  Fix Command Arguments for Strict_Ansi_Not
5030  */
5031 static const char* apzStrict_Ansi_NotPatch[] = {
5032     "format",
5033     "%1 !defined(__STRICT_ANSI__)",
5034     (char*)NULL };
5035
5036 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5037  *
5038  *  Description of Strict_Ansi_Not_Ctd fix
5039  */
5040 tSCC zStrict_Ansi_Not_CtdName[] =
5041      "strict_ansi_not_ctd";
5042
5043 /*
5044  *  File name selection pattern
5045  */
5046 tSCC zStrict_Ansi_Not_CtdList[] =
5047   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5048 /*
5049  *  Machine/OS name selection pattern
5050  */
5051 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5052
5053 /*
5054  *  content selection pattern - do fix if pattern found
5055  */
5056 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5057        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5058
5059 /*
5060  *  perform the C function call test
5061  */
5062 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5063
5064 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5065 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5066   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5067   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5068
5069 /*
5070  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5071  */
5072 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5073     "format",
5074     "%1 !defined(__STRICT_ANSI__)",
5075     (char*)NULL };
5076
5077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5078  *
5079  *  Description of Strict_Ansi_Only fix
5080  */
5081 tSCC zStrict_Ansi_OnlyName[] =
5082      "strict_ansi_only";
5083
5084 /*
5085  *  File name selection pattern
5086  */
5087 #define zStrict_Ansi_OnlyList (char*)NULL
5088 /*
5089  *  Machine/OS name selection pattern
5090  */
5091 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5092
5093 /*
5094  *  content selection pattern - do fix if pattern found
5095  */
5096 tSCC zStrict_Ansi_OnlySelect0[] =
5097        "^([ \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)";
5098
5099 /*
5100  *  perform the C function call test
5101  */
5102 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5103
5104 #define    STRICT_ANSI_ONLY_TEST_CT  2
5105 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5106   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5107   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5108
5109 /*
5110  *  Fix Command Arguments for Strict_Ansi_Only
5111  */
5112 static const char* apzStrict_Ansi_OnlyPatch[] = {
5113     "format",
5114     "%1 defined(__STRICT_ANSI__)",
5115     (char*)NULL };
5116
5117 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5118  *
5119  *  Description of Struct_File fix
5120  */
5121 tSCC zStruct_FileName[] =
5122      "struct_file";
5123
5124 /*
5125  *  File name selection pattern
5126  */
5127 tSCC zStruct_FileList[] =
5128   "|rpc/xdr.h|";
5129 /*
5130  *  Machine/OS name selection pattern
5131  */
5132 #define apzStruct_FileMachs (const char**)NULL
5133
5134 /*
5135  *  content selection pattern - do fix if pattern found
5136  */
5137 tSCC zStruct_FileSelect0[] =
5138        "^.*xdrstdio_create.*struct __file_s";
5139
5140 #define    STRUCT_FILE_TEST_CT  1
5141 static tTestDesc aStruct_FileTests[] = {
5142   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5143
5144 /*
5145  *  Fix Command Arguments for Struct_File
5146  */
5147 static const char* apzStruct_FilePatch[] = {
5148     "format",
5149     "struct __file_s;\n\
5150 %0",
5151     (char*)NULL };
5152
5153 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5154  *
5155  *  Description of Struct_Sockaddr fix
5156  */
5157 tSCC zStruct_SockaddrName[] =
5158      "struct_sockaddr";
5159
5160 /*
5161  *  File name selection pattern
5162  */
5163 tSCC zStruct_SockaddrList[] =
5164   "|rpc/auth.h|";
5165 /*
5166  *  Machine/OS name selection pattern
5167  */
5168 #define apzStruct_SockaddrMachs (const char**)NULL
5169
5170 /*
5171  *  content selection pattern - do fix if pattern found
5172  */
5173 tSCC zStruct_SockaddrSelect0[] =
5174        "^.*authdes_create.*struct sockaddr[^_]";
5175
5176 /*
5177  *  content bypass pattern - skip fix if pattern found
5178  */
5179 tSCC zStruct_SockaddrBypass0[] =
5180        "<sys/socket.h>";
5181 tSCC zStruct_SockaddrBypass1[] =
5182        "struct sockaddr;\n";
5183
5184 #define    STRUCT_SOCKADDR_TEST_CT  3
5185 static tTestDesc aStruct_SockaddrTests[] = {
5186   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5187   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5188   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5189
5190 /*
5191  *  Fix Command Arguments for Struct_Sockaddr
5192  */
5193 static const char* apzStruct_SockaddrPatch[] = {
5194     "format",
5195     "struct sockaddr;\n\
5196 %0",
5197     (char*)NULL };
5198
5199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5200  *
5201  *  Description of Sun_Auth_Proto fix
5202  */
5203 tSCC zSun_Auth_ProtoName[] =
5204      "sun_auth_proto";
5205
5206 /*
5207  *  File name selection pattern
5208  */
5209 tSCC zSun_Auth_ProtoList[] =
5210   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5211 /*
5212  *  Machine/OS name selection pattern
5213  */
5214 #define apzSun_Auth_ProtoMachs (const char**)NULL
5215
5216 /*
5217  *  content selection pattern - do fix if pattern found
5218  */
5219 tSCC zSun_Auth_ProtoSelect0[] =
5220        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5221
5222 /*
5223  *  content bypass pattern - skip fix if pattern found
5224  */
5225 tSCC zSun_Auth_ProtoBypass0[] =
5226        "__cplusplus";
5227
5228 #define    SUN_AUTH_PROTO_TEST_CT  2
5229 static tTestDesc aSun_Auth_ProtoTests[] = {
5230   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
5231   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5232
5233 /*
5234  *  Fix Command Arguments for Sun_Auth_Proto
5235  */
5236 static const char* apzSun_Auth_ProtoPatch[] = {
5237     "format",
5238     "#ifdef __cplusplus\n\
5239 %1(...);%2\n\
5240 #else\n\
5241 %1();%2\n\
5242 #endif",
5243     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5244     (char*)NULL };
5245
5246 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5247  *
5248  *  Description of Sun_Bogus_Ifdef fix
5249  */
5250 tSCC zSun_Bogus_IfdefName[] =
5251      "sun_bogus_ifdef";
5252
5253 /*
5254  *  File name selection pattern
5255  */
5256 tSCC zSun_Bogus_IfdefList[] =
5257   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5258 /*
5259  *  Machine/OS name selection pattern
5260  */
5261 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5262
5263 /*
5264  *  content selection pattern - do fix if pattern found
5265  */
5266 tSCC zSun_Bogus_IfdefSelect0[] =
5267        "#ifdef(.*\\|\\|.*)";
5268
5269 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5270 static tTestDesc aSun_Bogus_IfdefTests[] = {
5271   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5272
5273 /*
5274  *  Fix Command Arguments for Sun_Bogus_Ifdef
5275  */
5276 static const char* apzSun_Bogus_IfdefPatch[] = {
5277     "format",
5278     "#if%1",
5279     (char*)NULL };
5280
5281 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5282  *
5283  *  Description of Sun_Catmacro fix
5284  */
5285 tSCC zSun_CatmacroName[] =
5286      "sun_catmacro";
5287
5288 /*
5289  *  File name selection pattern
5290  */
5291 tSCC zSun_CatmacroList[] =
5292   "|pixrect/memvar.h|";
5293 /*
5294  *  Machine/OS name selection pattern
5295  */
5296 #define apzSun_CatmacroMachs (const char**)NULL
5297
5298 /*
5299  *  content selection pattern - do fix if pattern found
5300  */
5301 tSCC zSun_CatmacroSelect0[] =
5302        "^#define[ \t]+CAT\\(a,b\\).*";
5303
5304 #define    SUN_CATMACRO_TEST_CT  1
5305 static tTestDesc aSun_CatmacroTests[] = {
5306   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
5307
5308 /*
5309  *  Fix Command Arguments for Sun_Catmacro
5310  */
5311 static const char* apzSun_CatmacroPatch[] = {
5312     "format",
5313     "#ifdef __STDC__\n\
5314 #  define CAT(a,b) a##b\n\
5315 #else\n\
5316 %0\n\
5317 #endif",
5318     (char*)NULL };
5319
5320 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5321  *
5322  *  Description of Sun_Malloc fix
5323  */
5324 tSCC zSun_MallocName[] =
5325      "sun_malloc";
5326
5327 /*
5328  *  File name selection pattern
5329  */
5330 tSCC zSun_MallocList[] =
5331   "|malloc.h|";
5332 /*
5333  *  Machine/OS name selection pattern
5334  */
5335 #define apzSun_MallocMachs (const char**)NULL
5336
5337 /*
5338  *  content bypass pattern - skip fix if pattern found
5339  */
5340 tSCC zSun_MallocBypass0[] =
5341        "_CLASSIC_ANSI_TYPES";
5342
5343 #define    SUN_MALLOC_TEST_CT  1
5344 static tTestDesc aSun_MallocTests[] = {
5345   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
5346
5347 /*
5348  *  Fix Command Arguments for Sun_Malloc
5349  */
5350 static const char* apzSun_MallocPatch[] = { "sed",
5351     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
5352     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
5353     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
5354     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
5355     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
5356     (char*)NULL };
5357
5358 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5359  *
5360  *  Description of Sun_Rusers_Semi fix
5361  */
5362 tSCC zSun_Rusers_SemiName[] =
5363      "sun_rusers_semi";
5364
5365 /*
5366  *  File name selection pattern
5367  */
5368 tSCC zSun_Rusers_SemiList[] =
5369   "|rpcsvc/rusers.h|";
5370 /*
5371  *  Machine/OS name selection pattern
5372  */
5373 #define apzSun_Rusers_SemiMachs (const char**)NULL
5374
5375 /*
5376  *  content selection pattern - do fix if pattern found
5377  */
5378 tSCC zSun_Rusers_SemiSelect0[] =
5379        "_cnt$";
5380
5381 #define    SUN_RUSERS_SEMI_TEST_CT  1
5382 static tTestDesc aSun_Rusers_SemiTests[] = {
5383   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
5384
5385 /*
5386  *  Fix Command Arguments for Sun_Rusers_Semi
5387  */
5388 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
5389     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
5390     (char*)NULL };
5391
5392 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5393  *
5394  *  Description of Sun_Signal fix
5395  */
5396 tSCC zSun_SignalName[] =
5397      "sun_signal";
5398
5399 /*
5400  *  File name selection pattern
5401  */
5402 tSCC zSun_SignalList[] =
5403   "|sys/signal.h|signal.h|";
5404 /*
5405  *  Machine/OS name selection pattern
5406  */
5407 #define apzSun_SignalMachs (const char**)NULL
5408
5409 /*
5410  *  content selection pattern - do fix if pattern found
5411  */
5412 tSCC zSun_SignalSelect0[] =
5413        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
5414
5415 #define    SUN_SIGNAL_TEST_CT  1
5416 static tTestDesc aSun_SignalTests[] = {
5417   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
5418
5419 /*
5420  *  Fix Command Arguments for Sun_Signal
5421  */
5422 static const char* apzSun_SignalPatch[] = {
5423     "format",
5424     "#ifdef __cplusplus\n\
5425 void\t(*signal(...))(...);\n\
5426 #else\n\
5427 %0\n\
5428 #endif",
5429     (char*)NULL };
5430
5431 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5432  *
5433  *  Description of Sunos_Strlen fix
5434  */
5435 tSCC zSunos_StrlenName[] =
5436      "sunos_strlen";
5437
5438 /*
5439  *  File name selection pattern
5440  */
5441 tSCC zSunos_StrlenList[] =
5442   "|strings.h|";
5443 /*
5444  *  Machine/OS name selection pattern
5445  */
5446 #define apzSunos_StrlenMachs (const char**)NULL
5447
5448 /*
5449  *  content selection pattern - do fix if pattern found
5450  */
5451 tSCC zSunos_StrlenSelect0[] =
5452        "int[ \t]*strlen\\(\\);(.*)";
5453
5454 #define    SUNOS_STRLEN_TEST_CT  1
5455 static tTestDesc aSunos_StrlenTests[] = {
5456   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
5457
5458 /*
5459  *  Fix Command Arguments for Sunos_Strlen
5460  */
5461 static const char* apzSunos_StrlenPatch[] = {
5462     "format",
5463     "__SIZE_TYPE__ strlen();%1",
5464     (char*)NULL };
5465
5466 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5467  *
5468  *  Description of Svr4_Disable_Opt fix
5469  */
5470 tSCC zSvr4_Disable_OptName[] =
5471      "svr4_disable_opt";
5472
5473 /*
5474  *  File name selection pattern
5475  */
5476 tSCC zSvr4_Disable_OptList[] =
5477   "|string.h|";
5478 /*
5479  *  Machine/OS name selection pattern
5480  */
5481 #define apzSvr4_Disable_OptMachs (const char**)NULL
5482
5483 /*
5484  *  content selection pattern - do fix if pattern found
5485  */
5486 tSCC zSvr4_Disable_OptSelect0[] =
5487        "#define.*__std_hdr_";
5488
5489 #define    SVR4_DISABLE_OPT_TEST_CT  1
5490 static tTestDesc aSvr4_Disable_OptTests[] = {
5491   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5492
5493 /*
5494  *  Fix Command Arguments for Svr4_Disable_Opt
5495  */
5496 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5497     "-e", "/#define.*__std_hdr_/d",
5498     (char*)NULL };
5499
5500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5501  *
5502  *  Description of Svr4_Getcwd fix
5503  */
5504 tSCC zSvr4_GetcwdName[] =
5505      "svr4_getcwd";
5506
5507 /*
5508  *  File name selection pattern
5509  */
5510 tSCC zSvr4_GetcwdList[] =
5511   "|stdlib.h|unistd.h|prototypes.h|";
5512 /*
5513  *  Machine/OS name selection pattern
5514  */
5515 #define apzSvr4_GetcwdMachs (const char**)NULL
5516
5517 /*
5518  *  content selection pattern - do fix if pattern found
5519  */
5520 tSCC zSvr4_GetcwdSelect0[] =
5521        "getcwd\\(char \\*, int\\)";
5522
5523 #define    SVR4_GETCWD_TEST_CT  1
5524 static tTestDesc aSvr4_GetcwdTests[] = {
5525   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5526
5527 /*
5528  *  Fix Command Arguments for Svr4_Getcwd
5529  */
5530 static const char* apzSvr4_GetcwdPatch[] = {
5531     "format",
5532     "getcwd(char *, size_t)",
5533     (char*)NULL };
5534
5535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5536  *
5537  *  Description of Svr4_Krnl fix
5538  */
5539 tSCC zSvr4_KrnlName[] =
5540      "svr4_krnl";
5541
5542 /*
5543  *  File name selection pattern
5544  */
5545 tSCC zSvr4_KrnlList[] =
5546   "|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|";
5547 /*
5548  *  Machine/OS name selection pattern
5549  */
5550 tSCC* apzSvr4_KrnlMachs[] = {
5551         "*-*-sysv4*",
5552         "i?86-sequent-ptx*",
5553         (const char*)NULL };
5554
5555 /*
5556  *  content bypass pattern - skip fix if pattern found
5557  */
5558 tSCC zSvr4_KrnlBypass0[] =
5559        "_KERNEL";
5560
5561 #define    SVR4_KRNL_TEST_CT  1
5562 static tTestDesc aSvr4_KrnlTests[] = {
5563   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
5564
5565 /*
5566  *  Fix Command Arguments for Svr4_Krnl
5567  */
5568 static const char* apzSvr4_KrnlPatch[] = {
5569     "wrap",
5570     "#ifdef _KERNEL\n",
5571     "#endif /* _KERNEL */\n",
5572     (char*)NULL };
5573
5574 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5575  *
5576  *  Description of Svr4_Profil fix
5577  */
5578 tSCC zSvr4_ProfilName[] =
5579      "svr4_profil";
5580
5581 /*
5582  *  File name selection pattern
5583  */
5584 tSCC zSvr4_ProfilList[] =
5585   "|stdlib.h|unistd.h|";
5586 /*
5587  *  Machine/OS name selection pattern
5588  */
5589 #define apzSvr4_ProfilMachs (const char**)NULL
5590
5591 /*
5592  *  content selection pattern - do fix if pattern found
5593  */
5594 tSCC zSvr4_ProfilSelect0[] =
5595        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
5596
5597 /*
5598  *  content bypass pattern - skip fix if pattern found
5599  */
5600 tSCC zSvr4_ProfilBypass0[] =
5601        "Silicon Graphics";
5602
5603 #define    SVR4_PROFIL_TEST_CT  2
5604 static tTestDesc aSvr4_ProfilTests[] = {
5605   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
5606   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
5607
5608 /*
5609  *  Fix Command Arguments for Svr4_Profil
5610  */
5611 static const char* apzSvr4_ProfilPatch[] = {
5612     "format",
5613     "profil(unsigned short *, size_t, int, unsigned int)",
5614     (char*)NULL };
5615
5616 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5617  *
5618  *  Description of Svr4_Sighandler_Type fix
5619  */
5620 tSCC zSvr4_Sighandler_TypeName[] =
5621      "svr4_sighandler_type";
5622
5623 /*
5624  *  File name selection pattern
5625  */
5626 tSCC zSvr4_Sighandler_TypeList[] =
5627   "|sys/signal.h|";
5628 /*
5629  *  Machine/OS name selection pattern
5630  */
5631 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
5632
5633 /*
5634  *  content selection pattern - do fix if pattern found
5635  */
5636 tSCC zSvr4_Sighandler_TypeSelect0[] =
5637        "void *\\(\\*\\)\\(\\)";
5638
5639 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
5640 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
5641   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
5642
5643 /*
5644  *  Fix Command Arguments for Svr4_Sighandler_Type
5645  */
5646 static const char* apzSvr4_Sighandler_TypePatch[] = {
5647     "format",
5648     "void (*)(int)",
5649     (char*)NULL };
5650
5651 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5652  *
5653  *  Description of Svr4_Undeclared_Getrnge fix
5654  */
5655 tSCC zSvr4_Undeclared_GetrngeName[] =
5656      "svr4_undeclared_getrnge";
5657
5658 /*
5659  *  File name selection pattern
5660  */
5661 tSCC zSvr4_Undeclared_GetrngeList[] =
5662   "|regexp.h|";
5663 /*
5664  *  Machine/OS name selection pattern
5665  */
5666 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
5667
5668 /*
5669  *  content selection pattern - do fix if pattern found
5670  */
5671 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
5672        "getrnge";
5673
5674 /*
5675  *  content bypass pattern - skip fix if pattern found
5676  */
5677 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
5678        "static void getrnge";
5679
5680 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
5681 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
5682   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
5683   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
5684
5685 /*
5686  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
5687  */
5688 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
5689     "format",
5690     "%0\n\
5691 static int getrnge ();",
5692     "^static int[ \t]+size;",
5693     (char*)NULL };
5694
5695 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5696  *
5697  *  Description of Sysv68_String fix
5698  */
5699 tSCC zSysv68_StringName[] =
5700      "sysv68_string";
5701
5702 /*
5703  *  File name selection pattern
5704  */
5705 tSCC zSysv68_StringList[] =
5706   "|testing.h|string.h|";
5707 /*
5708  *  Machine/OS name selection pattern
5709  */
5710 #define apzSysv68_StringMachs (const char**)NULL
5711
5712 /*
5713  *  content bypass pattern - skip fix if pattern found
5714  */
5715 tSCC zSysv68_StringBypass0[] =
5716        "_CLASSIC_ANSI_TYPES";
5717
5718 #define    SYSV68_STRING_TEST_CT  1
5719 static tTestDesc aSysv68_StringTests[] = {
5720   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
5721
5722 /*
5723  *  Fix Command Arguments for Sysv68_String
5724  */
5725 static const char* apzSysv68_StringPatch[] = { "sed",
5726     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
5727     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
5728     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
5729     "-e", "/^extern char$/N",
5730     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
5731     "-e", "/^extern int$/N",
5732     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
5733     "-e", "/^\tstrncmp(),$/N",
5734     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
5735 extern unsigned int\\\n\
5736 \\2/",
5737     (char*)NULL };
5738
5739 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5740  *
5741  *  Description of Sysz_Stdlib_For_Sun fix
5742  */
5743 tSCC zSysz_Stdlib_For_SunName[] =
5744      "sysz_stdlib_for_sun";
5745
5746 /*
5747  *  File name selection pattern
5748  */
5749 tSCC zSysz_Stdlib_For_SunList[] =
5750   "|stdlib.h|";
5751 /*
5752  *  Machine/OS name selection pattern
5753  */
5754 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
5755
5756 /*
5757  *  content selection pattern - do fix if pattern found
5758  */
5759 tSCC zSysz_Stdlib_For_SunSelect0[] =
5760        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
5761
5762 /*
5763  *  content bypass pattern - skip fix if pattern found
5764  */
5765 tSCC zSysz_Stdlib_For_SunBypass0[] =
5766        "_CLASSIC_ANSI_TYPES";
5767
5768 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
5769 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5770   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
5771   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5772
5773 /*
5774  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
5775  */
5776 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5777     "format",
5778     "void *\t%1(",
5779     (char*)NULL };
5780
5781 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5782  *
5783  *  Description of Thread_Keyword fix
5784  */
5785 tSCC zThread_KeywordName[] =
5786      "thread_keyword";
5787
5788 /*
5789  *  File name selection pattern
5790  */
5791 tSCC zThread_KeywordList[] =
5792   "|pthread.h|bits/sigthread.h|";
5793 /*
5794  *  Machine/OS name selection pattern
5795  */
5796 #define apzThread_KeywordMachs (const char**)NULL
5797
5798 /*
5799  *  content selection pattern - do fix if pattern found
5800  */
5801 tSCC zThread_KeywordSelect0[] =
5802        "([* ])__thread([,)])";
5803
5804 #define    THREAD_KEYWORD_TEST_CT  1
5805 static tTestDesc aThread_KeywordTests[] = {
5806   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
5807
5808 /*
5809  *  Fix Command Arguments for Thread_Keyword
5810  */
5811 static const char* apzThread_KeywordPatch[] = {
5812     "format",
5813     "%1__thr%2",
5814     (char*)NULL };
5815
5816 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5817  *
5818  *  Description of Tinfo_Cplusplus fix
5819  */
5820 tSCC zTinfo_CplusplusName[] =
5821      "tinfo_cplusplus";
5822
5823 /*
5824  *  File name selection pattern
5825  */
5826 tSCC zTinfo_CplusplusList[] =
5827   "|tinfo.h|";
5828 /*
5829  *  Machine/OS name selection pattern
5830  */
5831 #define apzTinfo_CplusplusMachs (const char**)NULL
5832
5833 /*
5834  *  content selection pattern - do fix if pattern found
5835  */
5836 tSCC zTinfo_CplusplusSelect0[] =
5837        "[ \t]_cplusplus";
5838
5839 #define    TINFO_CPLUSPLUS_TEST_CT  1
5840 static tTestDesc aTinfo_CplusplusTests[] = {
5841   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5842
5843 /*
5844  *  Fix Command Arguments for Tinfo_Cplusplus
5845  */
5846 static const char* apzTinfo_CplusplusPatch[] = {
5847     "format",
5848     " __cplusplus",
5849     (char*)NULL };
5850
5851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5852  *
5853  *  Description of Ultrix_Atexit_Param fix
5854  */
5855 tSCC zUltrix_Atexit_ParamName[] =
5856      "ultrix_atexit_param";
5857
5858 /*
5859  *  File name selection pattern
5860  */
5861 tSCC zUltrix_Atexit_ParamList[] =
5862   "|stdlib.h|";
5863 /*
5864  *  Machine/OS name selection pattern
5865  */
5866 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5867
5868 /*
5869  *  content selection pattern - do fix if pattern found
5870  */
5871 tSCC zUltrix_Atexit_ParamSelect0[] =
5872        "atexit\\(.*\\(\\)";
5873
5874 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
5875 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5876   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5877
5878 /*
5879  *  Fix Command Arguments for Ultrix_Atexit_Param
5880  */
5881 static const char* apzUltrix_Atexit_ParamPatch[] = {
5882     "format",
5883     "atexit( void (*__func)( void )",
5884     (char*)NULL };
5885
5886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5887  *
5888  *  Description of Ultrix_Atof_Param fix
5889  */
5890 tSCC zUltrix_Atof_ParamName[] =
5891      "ultrix_atof_param";
5892
5893 /*
5894  *  File name selection pattern
5895  */
5896 tSCC zUltrix_Atof_ParamList[] =
5897   "|math.h|";
5898 /*
5899  *  Machine/OS name selection pattern
5900  */
5901 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5902
5903 /*
5904  *  content selection pattern - do fix if pattern found
5905  */
5906 tSCC zUltrix_Atof_ParamSelect0[] =
5907        "atof\\([ \t]*char";
5908
5909 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
5910 static tTestDesc aUltrix_Atof_ParamTests[] = {
5911   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5912
5913 /*
5914  *  Fix Command Arguments for Ultrix_Atof_Param
5915  */
5916 static const char* apzUltrix_Atof_ParamPatch[] = {
5917     "format",
5918     "atof(const char",
5919     (char*)NULL };
5920
5921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5922  *
5923  *  Description of Ultrix_Const fix
5924  */
5925 tSCC zUltrix_ConstName[] =
5926      "ultrix_const";
5927
5928 /*
5929  *  File name selection pattern
5930  */
5931 tSCC zUltrix_ConstList[] =
5932   "|stdio.h|";
5933 /*
5934  *  Machine/OS name selection pattern
5935  */
5936 #define apzUltrix_ConstMachs (const char**)NULL
5937
5938 /*
5939  *  content selection pattern - do fix if pattern found
5940  */
5941 tSCC zUltrix_ConstSelect0[] =
5942        "perror\\( char \\*";
5943
5944 #define    ULTRIX_CONST_TEST_CT  1
5945 static tTestDesc aUltrix_ConstTests[] = {
5946   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
5947
5948 /*
5949  *  Fix Command Arguments for Ultrix_Const
5950  */
5951 static const char* apzUltrix_ConstPatch[] = {
5952     "format",
5953     "%1 const %3 *__",
5954     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5955     (char*)NULL };
5956
5957 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5958  *
5959  *  Description of Ultrix_Const2 fix
5960  */
5961 tSCC zUltrix_Const2Name[] =
5962      "ultrix_const2";
5963
5964 /*
5965  *  File name selection pattern
5966  */
5967 tSCC zUltrix_Const2List[] =
5968   "|stdio.h|";
5969 /*
5970  *  Machine/OS name selection pattern
5971  */
5972 #define apzUltrix_Const2Machs (const char**)NULL
5973
5974 /*
5975  *  content selection pattern - do fix if pattern found
5976  */
5977 tSCC zUltrix_Const2Select0[] =
5978        "\\*fopen\\( char \\*";
5979
5980 #define    ULTRIX_CONST2_TEST_CT  1
5981 static tTestDesc aUltrix_Const2Tests[] = {
5982   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
5983
5984 /*
5985  *  Fix Command Arguments for Ultrix_Const2
5986  */
5987 static const char* apzUltrix_Const2Patch[] = {
5988     "format",
5989     "%1( const char *%3, const char *",
5990     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
5991     (char*)NULL };
5992
5993 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5994  *
5995  *  Description of Ultrix_Const3 fix
5996  */
5997 tSCC zUltrix_Const3Name[] =
5998      "ultrix_const3";
5999
6000 /*
6001  *  File name selection pattern
6002  */
6003 tSCC zUltrix_Const3List[] =
6004   "|stdio.h|";
6005 /*
6006  *  Machine/OS name selection pattern
6007  */
6008 #define apzUltrix_Const3Machs (const char**)NULL
6009
6010 /*
6011  *  content selection pattern - do fix if pattern found
6012  */
6013 tSCC zUltrix_Const3Select0[] =
6014        "fdopen\\( .*, char \\*";
6015
6016 #define    ULTRIX_CONST3_TEST_CT  1
6017 static tTestDesc aUltrix_Const3Tests[] = {
6018   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6019
6020 /*
6021  *  Fix Command Arguments for Ultrix_Const3
6022  */
6023 static const char* apzUltrix_Const3Patch[] = {
6024     "format",
6025     "%1 const %3 *__",
6026     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6027     (char*)NULL };
6028
6029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6030  *
6031  *  Description of Ultrix_Fix_Fixproto fix
6032  */
6033 tSCC zUltrix_Fix_FixprotoName[] =
6034      "ultrix_fix_fixproto";
6035
6036 /*
6037  *  File name selection pattern
6038  */
6039 tSCC zUltrix_Fix_FixprotoList[] =
6040   "|sys/utsname.h|";
6041 /*
6042  *  Machine/OS name selection pattern
6043  */
6044 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6045
6046 /*
6047  *  content selection pattern - do fix if pattern found
6048  */
6049 tSCC zUltrix_Fix_FixprotoSelect0[] =
6050        "ULTRIX";
6051
6052 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6053 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6054   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6055
6056 /*
6057  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6058  */
6059 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6060     "format",
6061     "struct utsname;\n\
6062 %0",
6063     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6064     (char*)NULL };
6065
6066 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6067  *
6068  *  Description of Ultrix_Ifdef fix
6069  */
6070 tSCC zUltrix_IfdefName[] =
6071      "ultrix_ifdef";
6072
6073 /*
6074  *  File name selection pattern
6075  */
6076 tSCC zUltrix_IfdefList[] =
6077   "|sys/file.h|";
6078 /*
6079  *  Machine/OS name selection pattern
6080  */
6081 #define apzUltrix_IfdefMachs (const char**)NULL
6082
6083 /*
6084  *  content selection pattern - do fix if pattern found
6085  */
6086 tSCC zUltrix_IfdefSelect0[] =
6087        "^#ifdef KERNEL[ \t]+&&";
6088
6089 #define    ULTRIX_IFDEF_TEST_CT  1
6090 static tTestDesc aUltrix_IfdefTests[] = {
6091   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6092
6093 /*
6094  *  Fix Command Arguments for Ultrix_Ifdef
6095  */
6096 static const char* apzUltrix_IfdefPatch[] = {
6097     "format",
6098     "#if defined(KERNEL) &&",
6099     (char*)NULL };
6100
6101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6102  *
6103  *  Description of Ultrix_Locale fix
6104  */
6105 tSCC zUltrix_LocaleName[] =
6106      "ultrix_locale";
6107
6108 /*
6109  *  File name selection pattern
6110  */
6111 tSCC zUltrix_LocaleList[] =
6112   "|locale.h|";
6113 /*
6114  *  Machine/OS name selection pattern
6115  */
6116 #define apzUltrix_LocaleMachs (const char**)NULL
6117
6118 /*
6119  *  content selection pattern - do fix if pattern found
6120  */
6121 tSCC zUltrix_LocaleSelect0[] =
6122        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6123
6124 #define    ULTRIX_LOCALE_TEST_CT  1
6125 static tTestDesc aUltrix_LocaleTests[] = {
6126   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6127
6128 /*
6129  *  Fix Command Arguments for Ultrix_Locale
6130  */
6131 static const char* apzUltrix_LocalePatch[] = {
6132     "wrap",
6133     (char*)NULL };
6134
6135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6136  *
6137  *  Description of Ultrix_Math_Ifdef fix
6138  */
6139 tSCC zUltrix_Math_IfdefName[] =
6140      "ultrix_math_ifdef";
6141
6142 /*
6143  *  File name selection pattern
6144  */
6145 tSCC zUltrix_Math_IfdefList[] =
6146   "|sys/limits.h|float.h|math.h|";
6147 /*
6148  *  Machine/OS name selection pattern
6149  */
6150 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6151
6152 /*
6153  *  content selection pattern - do fix if pattern found
6154  */
6155 tSCC zUltrix_Math_IfdefSelect0[] =
6156        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6157
6158 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6159 static tTestDesc aUltrix_Math_IfdefTests[] = {
6160   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6161
6162 /*
6163  *  Fix Command Arguments for Ultrix_Math_Ifdef
6164  */
6165 static const char* apzUltrix_Math_IfdefPatch[] = {
6166     "format",
6167     "%1",
6168     (char*)NULL };
6169
6170 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6171  *
6172  *  Description of Ultrix_Nested_Ioctl fix
6173  */
6174 tSCC zUltrix_Nested_IoctlName[] =
6175      "ultrix_nested_ioctl";
6176
6177 /*
6178  *  File name selection pattern
6179  */
6180 tSCC zUltrix_Nested_IoctlList[] =
6181   "|sys/ioctl.h|";
6182 /*
6183  *  Machine/OS name selection pattern
6184  */
6185 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6186
6187 /*
6188  *  content selection pattern - do fix if pattern found
6189  */
6190 tSCC zUltrix_Nested_IoctlSelect0[] =
6191        "^/\\* #define SIOCSCREEN";
6192
6193 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6194 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6195   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6196
6197 /*
6198  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6199  */
6200 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6201     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6202     (char*)NULL };
6203
6204 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6205  *
6206  *  Description of Ultrix_Nested_Svc fix
6207  */
6208 tSCC zUltrix_Nested_SvcName[] =
6209      "ultrix_nested_svc";
6210
6211 /*
6212  *  File name selection pattern
6213  */
6214 tSCC zUltrix_Nested_SvcList[] =
6215   "|rpc/svc.h|";
6216 /*
6217  *  Machine/OS name selection pattern
6218  */
6219 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6220
6221 /*
6222  *  content selection pattern - do fix if pattern found
6223  */
6224 tSCC zUltrix_Nested_SvcSelect0[] =
6225        "^ \\*[ \t]*int protocol;  */\\*";
6226
6227 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6228 static tTestDesc aUltrix_Nested_SvcTests[] = {
6229   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6230
6231 /*
6232  *  Fix Command Arguments for Ultrix_Nested_Svc
6233  */
6234 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6235     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6236     (char*)NULL };
6237
6238 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6239  *
6240  *  Description of Ultrix_Stat fix
6241  */
6242 tSCC zUltrix_StatName[] =
6243      "ultrix_stat";
6244
6245 /*
6246  *  File name selection pattern
6247  */
6248 tSCC zUltrix_StatList[] =
6249   "|sys/stat.h|";
6250 /*
6251  *  Machine/OS name selection pattern
6252  */
6253 #define apzUltrix_StatMachs (const char**)NULL
6254
6255 /*
6256  *  content selection pattern - do fix if pattern found
6257  */
6258 tSCC zUltrix_StatSelect0[] =
6259        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6260
6261 #define    ULTRIX_STAT_TEST_CT  1
6262 static tTestDesc aUltrix_StatTests[] = {
6263   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6264
6265 /*
6266  *  Fix Command Arguments for Ultrix_Stat
6267  */
6268 static const char* apzUltrix_StatPatch[] = { "sed",
6269     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6270 \\\n\
6271 /* macro to test for symbolic link */\\\n\
6272 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6273     "-e", "/^[ \t]*fstat(),$/a\\\n\
6274 \tlstat(),\n",
6275     (char*)NULL };
6276
6277 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6278  *
6279  *  Description of Ultrix_Static fix
6280  */
6281 tSCC zUltrix_StaticName[] =
6282      "ultrix_static";
6283
6284 /*
6285  *  File name selection pattern
6286  */
6287 tSCC zUltrix_StaticList[] =
6288   "|machine/cpu.h|";
6289 /*
6290  *  Machine/OS name selection pattern
6291  */
6292 #define apzUltrix_StaticMachs (const char**)NULL
6293
6294 /*
6295  *  content selection pattern - do fix if pattern found
6296  */
6297 tSCC zUltrix_StaticSelect0[] =
6298        "#include \"r[34]_cpu";
6299
6300 #define    ULTRIX_STATIC_TEST_CT  1
6301 static tTestDesc aUltrix_StaticTests[] = {
6302   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
6303
6304 /*
6305  *  Fix Command Arguments for Ultrix_Static
6306  */
6307 static const char* apzUltrix_StaticPatch[] = { "sed",
6308     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
6309     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
6310     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
6311     (char*)NULL };
6312
6313 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6314  *
6315  *  Description of Ultrix_Stdlib fix
6316  */
6317 tSCC zUltrix_StdlibName[] =
6318      "ultrix_stdlib";
6319
6320 /*
6321  *  File name selection pattern
6322  */
6323 tSCC zUltrix_StdlibList[] =
6324   "|stdlib.h|";
6325 /*
6326  *  Machine/OS name selection pattern
6327  */
6328 #define apzUltrix_StdlibMachs (const char**)NULL
6329
6330 /*
6331  *  content selection pattern - do fix if pattern found
6332  */
6333 tSCC zUltrix_StdlibSelect0[] =
6334        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
6335
6336 #define    ULTRIX_STDLIB_TEST_CT  1
6337 static tTestDesc aUltrix_StdlibTests[] = {
6338   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
6339
6340 /*
6341  *  Fix Command Arguments for Ultrix_Stdlib
6342  */
6343 static const char* apzUltrix_StdlibPatch[] = { "sed",
6344     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
6345 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
6346 void\t\tunsetenv( const char *__name );\\\n\
6347 int\t\tputenv( char *__s );\n",
6348     "-e", "/^char.*getenv();.*$/a\\\n\
6349 int\tsetenv();\\\n\
6350 void\tunsetenv();\\\n\
6351 int\tputenv();\n",
6352     (char*)NULL };
6353
6354 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6355  *
6356  *  Description of Ultrix_Strings fix
6357  */
6358 tSCC zUltrix_StringsName[] =
6359      "ultrix_strings";
6360
6361 /*
6362  *  File name selection pattern
6363  */
6364 tSCC zUltrix_StringsList[] =
6365   "|strings.h|";
6366 /*
6367  *  Machine/OS name selection pattern
6368  */
6369 #define apzUltrix_StringsMachs (const char**)NULL
6370
6371 /*
6372  *  content selection pattern - do fix if pattern found
6373  */
6374 tSCC zUltrix_StringsSelect0[] =
6375        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6376
6377 #define    ULTRIX_STRINGS_TEST_CT  1
6378 static tTestDesc aUltrix_StringsTests[] = {
6379   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
6380
6381 /*
6382  *  Fix Command Arguments for Ultrix_Strings
6383  */
6384 static const char* apzUltrix_StringsPatch[] = {
6385     "wrap",
6386     (char*)NULL };
6387
6388 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6389  *
6390  *  Description of Ultrix_Strings2 fix
6391  */
6392 tSCC zUltrix_Strings2Name[] =
6393      "ultrix_strings2";
6394
6395 /*
6396  *  File name selection pattern
6397  */
6398 tSCC zUltrix_Strings2List[] =
6399   "|strings.h|";
6400 /*
6401  *  Machine/OS name selection pattern
6402  */
6403 #define apzUltrix_Strings2Machs (const char**)NULL
6404
6405 /*
6406  *  content selection pattern - do fix if pattern found
6407  */
6408 tSCC zUltrix_Strings2Select0[] =
6409        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6410
6411 #define    ULTRIX_STRINGS2_TEST_CT  1
6412 static tTestDesc aUltrix_Strings2Tests[] = {
6413   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
6414
6415 /*
6416  *  Fix Command Arguments for Ultrix_Strings2
6417  */
6418 static const char* apzUltrix_Strings2Patch[] = { "sed",
6419     "-e", "/^.*strncmp( const .* );.*/a\\\n\
6420 \\\n\
6421 extern int\\\n\
6422 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
6423 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
6424     "-e", "/^.*strncmp();.*/a\\\n\
6425 extern int\\\n\
6426 \tstrcasecmp(),\\\n\
6427 \tstrncasecmp();\n",
6428     (char*)NULL };
6429
6430 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6431  *
6432  *  Description of Ultrix_Sys_Time fix
6433  */
6434 tSCC zUltrix_Sys_TimeName[] =
6435      "ultrix_sys_time";
6436
6437 /*
6438  *  File name selection pattern
6439  */
6440 tSCC zUltrix_Sys_TimeList[] =
6441   "|sys/time.h|";
6442 /*
6443  *  Machine/OS name selection pattern
6444  */
6445 #define apzUltrix_Sys_TimeMachs (const char**)NULL
6446
6447 /*
6448  *  content selection pattern - do fix if pattern found
6449  */
6450 tSCC zUltrix_Sys_TimeSelect0[] =
6451        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
6452
6453 #define    ULTRIX_SYS_TIME_TEST_CT  1
6454 static tTestDesc aUltrix_Sys_TimeTests[] = {
6455   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
6456
6457 /*
6458  *  Fix Command Arguments for Ultrix_Sys_Time
6459  */
6460 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
6461     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
6462 \\\n\
6463 extern int adjtime(struct timeval *, struct timeval *);\\\n\
6464 extern int getitimer(int, struct itimerval *);\\\n\
6465 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
6466 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
6467 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
6468 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
6469 extern int stime(const time_t *);\\\n\
6470 extern int utimes(const char *, const struct timeval[2]);\\\n\
6471 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
6472     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
6473 extern\tint adjtime();\\\n\
6474 extern\tint getitimer();\\\n\
6475 extern\tint setitimer();\\\n\
6476 extern\tint gettimeofday();\\\n\
6477 extern\tint settimeofday();\\\n\
6478 extern\tvoid profil();\\\n\
6479 extern\tint stime();\\\n\
6480 extern\tint utimes();\\\n\
6481 extern\tint select();\n",
6482     (char*)NULL };
6483
6484 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6485  *
6486  *  Description of Ultrix_Unistd fix
6487  */
6488 tSCC zUltrix_UnistdName[] =
6489      "ultrix_unistd";
6490
6491 /*
6492  *  File name selection pattern
6493  */
6494 tSCC zUltrix_UnistdList[] =
6495   "|unistd.h|";
6496 /*
6497  *  Machine/OS name selection pattern
6498  */
6499 #define apzUltrix_UnistdMachs (const char**)NULL
6500
6501 /*
6502  *  content selection pattern - do fix if pattern found
6503  */
6504 tSCC zUltrix_UnistdSelect0[] =
6505        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
6506
6507 #define    ULTRIX_UNISTD_TEST_CT  1
6508 static tTestDesc aUltrix_UnistdTests[] = {
6509   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
6510
6511 /*
6512  *  Fix Command Arguments for Ultrix_Unistd
6513  */
6514 static const char* apzUltrix_UnistdPatch[] = { "sed",
6515     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
6516 \tgetpagesize(),\n",
6517     "-e", "/^[ \t]*fork(),.*$/a\\\n\
6518 \tvfork(),\n",
6519     (char*)NULL };
6520
6521 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6522  *
6523  *  Description of Unicosmk_Restrict fix
6524  */
6525 tSCC zUnicosmk_RestrictName[] =
6526      "unicosmk_restrict";
6527
6528 /*
6529  *  File name selection pattern
6530  */
6531 tSCC zUnicosmk_RestrictList[] =
6532   "|stdio.h|stdlib.h|wchar.h|";
6533 /*
6534  *  Machine/OS name selection pattern
6535  */
6536 tSCC* apzUnicosmk_RestrictMachs[] = {
6537         "*-*-unicosmk*",
6538         (const char*)NULL };
6539
6540 /*
6541  *  content selection pattern - do fix if pattern found
6542  */
6543 tSCC zUnicosmk_RestrictSelect0[] =
6544        "(\\*[ \t]*)restrict([ \t]+)";
6545
6546 #define    UNICOSMK_RESTRICT_TEST_CT  1
6547 static tTestDesc aUnicosmk_RestrictTests[] = {
6548   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
6549
6550 /*
6551  *  Fix Command Arguments for Unicosmk_Restrict
6552  */
6553 static const char* apzUnicosmk_RestrictPatch[] = {
6554     "format",
6555     "%1__restrict__%2",
6556     (char*)NULL };
6557
6558 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6559  *
6560  *  Description of Uw7_Byteorder_Fix fix
6561  */
6562 tSCC zUw7_Byteorder_FixName[] =
6563      "uw7_byteorder_fix";
6564
6565 /*
6566  *  File name selection pattern
6567  */
6568 tSCC zUw7_Byteorder_FixList[] =
6569   "|arpa/inet.h|";
6570 /*
6571  *  Machine/OS name selection pattern
6572  */
6573 tSCC* apzUw7_Byteorder_FixMachs[] = {
6574         "*-*-sysv4*",
6575         "i?86-*-sysv5*",
6576         "i?86-*-udk*",
6577         "i?86-*-solaris2.[0-4]",
6578         "powerpcle-*-solaris2.[0-4]",
6579         "sparc-*-solaris2.[0-4]",
6580         (const char*)NULL };
6581
6582 /*
6583  *  content selection pattern - do fix if pattern found
6584  */
6585 tSCC zUw7_Byteorder_FixSelect0[] =
6586        "in_port_t";
6587
6588 /*
6589  *  perform the 'test' shell command - do fix on success
6590  */
6591 tSCC zUw7_Byteorder_FixTest0[] =
6592        "-f sys/byteorder.h";
6593
6594 #define    UW7_BYTEORDER_FIX_TEST_CT  2
6595 static tTestDesc aUw7_Byteorder_FixTests[] = {
6596   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
6597   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
6598
6599 /*
6600  *  Fix Command Arguments for Uw7_Byteorder_Fix
6601  */
6602 static const char* apzUw7_Byteorder_FixPatch[] = {
6603     "format",
6604     "",
6605     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
6606     (char*)NULL };
6607
6608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6609  *
6610  *  Description of Va_I960_Macro fix
6611  */
6612 tSCC zVa_I960_MacroName[] =
6613      "va_i960_macro";
6614
6615 /*
6616  *  File name selection pattern
6617  */
6618 tSCC zVa_I960_MacroList[] =
6619   "|arch/i960/archI960.h|";
6620 /*
6621  *  Machine/OS name selection pattern
6622  */
6623 #define apzVa_I960_MacroMachs (const char**)NULL
6624
6625 /*
6626  *  content selection pattern - do fix if pattern found
6627  */
6628 tSCC zVa_I960_MacroSelect0[] =
6629        "__(vsiz|vali|vpad|alignof__)";
6630
6631 #define    VA_I960_MACRO_TEST_CT  1
6632 static tTestDesc aVa_I960_MacroTests[] = {
6633   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
6634
6635 /*
6636  *  Fix Command Arguments for Va_I960_Macro
6637  */
6638 static const char* apzVa_I960_MacroPatch[] = {
6639     "format",
6640     "__vx%1",
6641     (char*)NULL };
6642
6643 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6644  *
6645  *  Description of Void_Null fix
6646  */
6647 tSCC zVoid_NullName[] =
6648      "void_null";
6649
6650 /*
6651  *  File name selection pattern
6652  */
6653 tSCC zVoid_NullList[] =
6654   "|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|";
6655 /*
6656  *  Machine/OS name selection pattern
6657  */
6658 #define apzVoid_NullMachs (const char**)NULL
6659
6660 /*
6661  *  content selection pattern - do fix if pattern found
6662  */
6663 tSCC zVoid_NullSelect0[] =
6664        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
6665
6666 /*
6667  *  content bypass pattern - skip fix if pattern found
6668  */
6669 tSCC zVoid_NullBypass0[] =
6670        "__cplusplus";
6671
6672 #define    VOID_NULL_TEST_CT  2
6673 static tTestDesc aVoid_NullTests[] = {
6674   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
6675   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
6676
6677 /*
6678  *  Fix Command Arguments for Void_Null
6679  */
6680 static const char* apzVoid_NullPatch[] = {
6681     "format",
6682     "#define NULL 0",
6683     (char*)NULL };
6684
6685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6686  *
6687  *  Description of Vxworks_Gcc_Problem fix
6688  */
6689 tSCC zVxworks_Gcc_ProblemName[] =
6690      "vxworks_gcc_problem";
6691
6692 /*
6693  *  File name selection pattern
6694  */
6695 tSCC zVxworks_Gcc_ProblemList[] =
6696   "|types/vxTypesBase.h|";
6697 /*
6698  *  Machine/OS name selection pattern
6699  */
6700 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
6701
6702 /*
6703  *  content selection pattern - do fix if pattern found
6704  */
6705 tSCC zVxworks_Gcc_ProblemSelect0[] =
6706        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
6707
6708 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
6709 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
6710   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
6711
6712 /*
6713  *  Fix Command Arguments for Vxworks_Gcc_Problem
6714  */
6715 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
6716     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
6717     "-e", "/[ \t]size_t/i\\\n\
6718 #ifndef _GCC_SIZE_T\\\n\
6719 #define _GCC_SIZE_T\n",
6720     "-e", "/[ \t]size_t/a\\\n\
6721 #endif\n",
6722     "-e", "/[ \t]ptrdiff_t/i\\\n\
6723 #ifndef _GCC_PTRDIFF_T\\\n\
6724 #define _GCC_PTRDIFF_T\n",
6725     "-e", "/[ \t]ptrdiff_t/a\\\n\
6726 #endif\n",
6727     "-e", "/[ \t]wchar_t/i\\\n\
6728 #ifndef _GCC_WCHAR_T\\\n\
6729 #define _GCC_WCHAR_T\n",
6730     "-e", "/[ \t]wchar_t/a\\\n\
6731 #endif\n",
6732     (char*)NULL };
6733
6734 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6735  *
6736  *  Description of Vxworks_Needs_Vxtypes fix
6737  */
6738 tSCC zVxworks_Needs_VxtypesName[] =
6739      "vxworks_needs_vxtypes";
6740
6741 /*
6742  *  File name selection pattern
6743  */
6744 tSCC zVxworks_Needs_VxtypesList[] =
6745   "|time.h|";
6746 /*
6747  *  Machine/OS name selection pattern
6748  */
6749 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
6750
6751 /*
6752  *  content selection pattern - do fix if pattern found
6753  */
6754 tSCC zVxworks_Needs_VxtypesSelect0[] =
6755        "uint_t([ \t]+_clocks_per_sec)";
6756
6757 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
6758 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
6759   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
6760
6761 /*
6762  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
6763  */
6764 static const char* apzVxworks_Needs_VxtypesPatch[] = {
6765     "format",
6766     "unsigned int%1",
6767     (char*)NULL };
6768
6769 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6770  *
6771  *  Description of Vxworks_Needs_Vxworks fix
6772  */
6773 tSCC zVxworks_Needs_VxworksName[] =
6774      "vxworks_needs_vxworks";
6775
6776 /*
6777  *  File name selection pattern
6778  */
6779 tSCC zVxworks_Needs_VxworksList[] =
6780   "|sys/stat.h|";
6781 /*
6782  *  Machine/OS name selection pattern
6783  */
6784 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
6785
6786 /*
6787  *  content selection pattern - do fix if pattern found
6788  */
6789 tSCC zVxworks_Needs_VxworksSelect0[] =
6790        "#[ \t]define[ \t]+__INCstath";
6791
6792 /*
6793  *  perform the 'test' shell command - do fix on success
6794  */
6795 tSCC zVxworks_Needs_VxworksTest0[] =
6796        " -r types/vxTypesOld.h";
6797 tSCC zVxworks_Needs_VxworksTest1[] =
6798        " -n \"`egrep '#include' $file`\"";
6799 tSCC zVxworks_Needs_VxworksTest2[] =
6800        " -n \"`egrep ULONG $file`\"";
6801
6802 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
6803 static tTestDesc aVxworks_Needs_VxworksTests[] = {
6804   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
6805   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
6806   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
6807   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
6808
6809 /*
6810  *  Fix Command Arguments for Vxworks_Needs_Vxworks
6811  */
6812 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
6813     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
6814 #include <types/vxTypesOld.h>\n",
6815     (char*)NULL };
6816
6817 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6818  *
6819  *  Description of Vxworks_Time fix
6820  */
6821 tSCC zVxworks_TimeName[] =
6822      "vxworks_time";
6823
6824 /*
6825  *  File name selection pattern
6826  */
6827 tSCC zVxworks_TimeList[] =
6828   "|time.h|";
6829 /*
6830  *  Machine/OS name selection pattern
6831  */
6832 #define apzVxworks_TimeMachs (const char**)NULL
6833
6834 /*
6835  *  content selection pattern - do fix if pattern found
6836  */
6837 tSCC zVxworks_TimeSelect0[] =
6838        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
6839
6840 /*
6841  *  perform the 'test' shell command - do fix on success
6842  */
6843 tSCC zVxworks_TimeTest0[] =
6844        " -r vxWorks.h";
6845
6846 #define    VXWORKS_TIME_TEST_CT  2
6847 static tTestDesc aVxworks_TimeTests[] = {
6848   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
6849   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
6850
6851 /*
6852  *  Fix Command Arguments for Vxworks_Time
6853  */
6854 static const char* apzVxworks_TimePatch[] = {
6855     "format",
6856     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
6857 #ifdef __cplusplus\n\
6858 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
6859 #else\n\
6860 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
6861 #endif\n\
6862 #define __gcc_VOIDFUNCPTR_defined\n\
6863 #endif\n\
6864 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
6865     (char*)NULL };
6866
6867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6868  *
6869  *  Description of Windiss_Math1 fix
6870  */
6871 tSCC zWindiss_Math1Name[] =
6872      "windiss_math1";
6873
6874 /*
6875  *  File name selection pattern
6876  */
6877 tSCC zWindiss_Math1List[] =
6878   "|math.h|";
6879 /*
6880  *  Machine/OS name selection pattern
6881  */
6882 tSCC* apzWindiss_Math1Machs[] = {
6883         "*-*-windiss",
6884         (const char*)NULL };
6885 #define WINDISS_MATH1_TEST_CT  0
6886 #define aWindiss_Math1Tests   (tTestDesc*)NULL
6887
6888 /*
6889  *  Fix Command Arguments for Windiss_Math1
6890  */
6891 static const char* apzWindiss_Math1Patch[] = { "sed",
6892     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
6893     (char*)NULL };
6894
6895 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6896  *
6897  *  Description of Windiss_Math2 fix
6898  */
6899 tSCC zWindiss_Math2Name[] =
6900      "windiss_math2";
6901
6902 /*
6903  *  File name selection pattern
6904  */
6905 tSCC zWindiss_Math2List[] =
6906   "|math.h|";
6907 /*
6908  *  Machine/OS name selection pattern
6909  */
6910 tSCC* apzWindiss_Math2Machs[] = {
6911         "*-*-windiss",
6912         (const char*)NULL };
6913 #define WINDISS_MATH2_TEST_CT  0
6914 #define aWindiss_Math2Tests   (tTestDesc*)NULL
6915
6916 /*
6917  *  Fix Command Arguments for Windiss_Math2
6918  */
6919 static const char* apzWindiss_Math2Patch[] = { "sed",
6920     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
6921     (char*)NULL };
6922
6923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6924  *
6925  *  Description of Windiss_Valist fix
6926  */
6927 tSCC zWindiss_ValistName[] =
6928      "windiss_valist";
6929
6930 /*
6931  *  File name selection pattern
6932  */
6933 #define zWindiss_ValistList (char*)NULL
6934 /*
6935  *  Machine/OS name selection pattern
6936  */
6937 tSCC* apzWindiss_ValistMachs[] = {
6938         "*-*-windiss",
6939         (const char*)NULL };
6940
6941 /*
6942  *  content selection pattern - do fix if pattern found
6943  */
6944 tSCC zWindiss_ValistSelect0[] =
6945        "(#include.*)diab/va_list.h";
6946
6947 #define    WINDISS_VALIST_TEST_CT  1
6948 static tTestDesc aWindiss_ValistTests[] = {
6949   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
6950
6951 /*
6952  *  Fix Command Arguments for Windiss_Valist
6953  */
6954 static const char* apzWindiss_ValistPatch[] = { "sed",
6955     "-e", "s|diab/va_list.h|stdarg.h|",
6956     (char*)NULL };
6957
6958 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6959  *
6960  *  Description of X11_Class fix
6961  */
6962 tSCC zX11_ClassName[] =
6963      "x11_class";
6964
6965 /*
6966  *  File name selection pattern
6967  */
6968 tSCC zX11_ClassList[] =
6969   "|X11/ShellP.h|";
6970 /*
6971  *  Machine/OS name selection pattern
6972  */
6973 #define apzX11_ClassMachs (const char**)NULL
6974
6975 /*
6976  *  content selection pattern - do fix if pattern found
6977  */
6978 tSCC zX11_ClassSelect0[] =
6979        "^([ \t]*char \\*)class;(.*)";
6980
6981 /*
6982  *  content bypass pattern - skip fix if pattern found
6983  */
6984 tSCC zX11_ClassBypass0[] =
6985        "__cplusplus";
6986
6987 #define    X11_CLASS_TEST_CT  2
6988 static tTestDesc aX11_ClassTests[] = {
6989   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
6990   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
6991
6992 /*
6993  *  Fix Command Arguments for X11_Class
6994  */
6995 static const char* apzX11_ClassPatch[] = {
6996     "format",
6997     "#ifdef __cplusplus\n\
6998 %1c_class;%2\n\
6999 #else\n\
7000 %1class;%2\n\
7001 #endif",
7002     (char*)NULL };
7003
7004 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7005  *
7006  *  Description of X11_Class_Usage fix
7007  */
7008 tSCC zX11_Class_UsageName[] =
7009      "x11_class_usage";
7010
7011 /*
7012  *  File name selection pattern
7013  */
7014 tSCC zX11_Class_UsageList[] =
7015   "|Xm/BaseClassI.h|";
7016 /*
7017  *  Machine/OS name selection pattern
7018  */
7019 #define apzX11_Class_UsageMachs (const char**)NULL
7020
7021 /*
7022  *  content selection pattern - do fix if pattern found
7023  */
7024 tSCC zX11_Class_UsageSelect0[] =
7025        " class\\)";
7026
7027 /*
7028  *  content bypass pattern - skip fix if pattern found
7029  */
7030 tSCC zX11_Class_UsageBypass0[] =
7031        "__cplusplus";
7032
7033 #define    X11_CLASS_USAGE_TEST_CT  2
7034 static tTestDesc aX11_Class_UsageTests[] = {
7035   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7036   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7037
7038 /*
7039  *  Fix Command Arguments for X11_Class_Usage
7040  */
7041 static const char* apzX11_Class_UsagePatch[] = {
7042     "format",
7043     " c_class)",
7044     (char*)NULL };
7045
7046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7047  *
7048  *  Description of X11_New fix
7049  */
7050 tSCC zX11_NewName[] =
7051      "x11_new";
7052
7053 /*
7054  *  File name selection pattern
7055  */
7056 tSCC zX11_NewList[] =
7057   "|Xm/Traversal.h|";
7058 /*
7059  *  Machine/OS name selection pattern
7060  */
7061 #define apzX11_NewMachs (const char**)NULL
7062
7063 /*
7064  *  content bypass pattern - skip fix if pattern found
7065  */
7066 tSCC zX11_NewBypass0[] =
7067        "__cplusplus";
7068
7069 #define    X11_NEW_TEST_CT  1
7070 static tTestDesc aX11_NewTests[] = {
7071   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7072
7073 /*
7074  *  Fix Command Arguments for X11_New
7075  */
7076 static const char* apzX11_NewPatch[] = { "sed",
7077     "-e", "/Widget\told, new;/i\\\n\
7078 #ifdef __cplusplus\\\n\
7079 \tWidget\told, c_new;\\\n\
7080 #else\n",
7081     "-e", "/Widget\told, new;/a\\\n\
7082 #endif\n",
7083     "-e", "s/Widget new,/Widget c_new,/g",
7084     (char*)NULL };
7085
7086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7087  *
7088  *  Description of X11_Sprintf fix
7089  */
7090 tSCC zX11_SprintfName[] =
7091      "x11_sprintf";
7092
7093 /*
7094  *  File name selection pattern
7095  */
7096 tSCC zX11_SprintfList[] =
7097   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7098 /*
7099  *  Machine/OS name selection pattern
7100  */
7101 #define apzX11_SprintfMachs (const char**)NULL
7102
7103 /*
7104  *  content selection pattern - do fix if pattern found
7105  */
7106 tSCC zX11_SprintfSelect0[] =
7107        "^extern char \\*\tsprintf\\(\\);$";
7108
7109 #define    X11_SPRINTF_TEST_CT  1
7110 static tTestDesc aX11_SprintfTests[] = {
7111   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7112
7113 /*
7114  *  Fix Command Arguments for X11_Sprintf
7115  */
7116 static const char* apzX11_SprintfPatch[] = {
7117     "format",
7118     "#ifndef __STDC__\n\
7119 %0\n\
7120 #endif /* !defined __STDC__ */",
7121     (char*)NULL };
7122
7123
7124 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7125  *
7126  *  List of all fixes
7127  */
7128 #define REGEX_COUNT          208
7129 #define MACH_LIST_SIZE_LIMIT 261
7130 #define FIX_COUNT            178
7131
7132 /*
7133  *  Enumerate the fixes
7134  */
7135 typedef enum {
7136     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7137     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7138     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7139     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7140     AAB_SUN_MEMCPY_FIXIDX,
7141     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7142     AAB_ULTRIX_LIMITS_FIXIDX,
7143     AAB_ULTRIX_MEMORY_FIXIDX,
7144     AAB_ULTRIX_STRING_FIXIDX,
7145     AIX_PTHREAD_FIXIDX,
7146     AIX_SYSMACHINE_FIXIDX,
7147     AIX_SYSWAIT_FIXIDX,
7148     AIX_SYSWAIT_2_FIXIDX,
7149     AIX_VOLATILE_FIXIDX,
7150     ALPHA___ASSERT_FIXIDX,
7151     ALPHA___EXTERN_PREFIX_FIXIDX,
7152     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7153     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7154     ALPHA_ASSERT_FIXIDX,
7155     ALPHA_BAD_LVAL_FIXIDX,
7156     ALPHA_GETOPT_FIXIDX,
7157     ALPHA_PARENS_FIXIDX,
7158     ALPHA_PTHREAD_FIXIDX,
7159     ALPHA_PTHREAD_GCC_FIXIDX,
7160     ALPHA_PTHREAD_INIT_FIXIDX,
7161     ALPHA_SBRK_FIXIDX,
7162     ALPHA_WCHAR_FIXIDX,
7163     AVOID_BOOL_DEFINE_FIXIDX,
7164     AVOID_BOOL_TYPE_FIXIDX,
7165     AVOID_WCHAR_T_TYPE_FIXIDX,
7166     BAD_STRUCT_TERM_FIXIDX,
7167     BADQUOTE_FIXIDX,
7168     BROKEN_ASSERT_STDIO_FIXIDX,
7169     BROKEN_ASSERT_STDLIB_FIXIDX,
7170     BROKEN_CABS_FIXIDX,
7171     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7172     CTRL_QUOTES_DEF_FIXIDX,
7173     CTRL_QUOTES_USE_FIXIDX,
7174     CXX_UNREADY_FIXIDX,
7175     DARWIN_GCC4_BREAKAGE_FIXIDX,
7176     DARWIN_PRIVATE_EXTERN_FIXIDX,
7177     DEC_INTERN_ASM_FIXIDX,
7178     DJGPP_WCHAR_H_FIXIDX,
7179     ECD_CURSOR_FIXIDX,
7180     EXCEPTION_STRUCTURE_FIXIDX,
7181     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7182     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7183     GNU_TYPES_FIXIDX,
7184     HP_INLINE_FIXIDX,
7185     HP_SYSFILE_FIXIDX,
7186     HPUX10_CPP_POW_INLINE_FIXIDX,
7187     HPUX11_CPP_POW_INLINE_FIXIDX,
7188     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7189     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7190     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7191     HPUX11_ABS_FIXIDX,
7192     HPUX11_FABSF_FIXIDX,
7193     HPUX11_SIZE_T_FIXIDX,
7194     HPUX11_SNPRINTF_FIXIDX,
7195     HPUX11_UINT32_C_FIXIDX,
7196     HPUX11_VSNPRINTF_FIXIDX,
7197     HPUX8_BOGUS_INLINES_FIXIDX,
7198     HPUX_CTYPE_MACROS_FIXIDX,
7199     HPUX_HTONL_FIXIDX,
7200     HPUX_LONG_DOUBLE_FIXIDX,
7201     HPUX_SYSTIME_FIXIDX,
7202     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7203     IO_QUOTES_DEF_FIXIDX,
7204     IO_QUOTES_USE_FIXIDX,
7205     IP_MISSING_SEMI_FIXIDX,
7206     IRIX___RESTRICT_FIXIDX,
7207     IRIX___GENERIC1_FIXIDX,
7208     IRIX___GENERIC2_FIXIDX,
7209     IRIX_ASM_APOSTROPHE_FIXIDX,
7210     IRIX_LIMITS_CONST_FIXIDX,
7211     IRIX_SOCKLEN_T_FIXIDX,
7212     IRIX_STDIO_VA_LIST_FIXIDX,
7213     IRIX_WCSFTIME_FIXIDX,
7214     ISC_FMOD_FIXIDX,
7215     ISC_OMITS_WITH_STDC_FIXIDX,
7216     KANDR_CONCAT_FIXIDX,
7217     LIBC1_G_VA_LIST_FIXIDX,
7218     LIBC1_IFDEFD_MEMX_FIXIDX,
7219     LINUX_IA64_UCONTEXT_FIXIDX,
7220     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7221     LYNXOS_MISSING_PUTENV_FIXIDX,
7222     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7223     MACHINE_NAME_FIXIDX,
7224     MATH_EXCEPTION_FIXIDX,
7225     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7226     NESTED_AUTH_DES_FIXIDX,
7227     NESTED_MOTOROLA_FIXIDX,
7228     NESTED_SYS_LIMITS_FIXIDX,
7229     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7230     NEXT_MATH_PREFIX_FIXIDX,
7231     NEXT_TEMPLATE_FIXIDX,
7232     NEXT_VOLITILE_FIXIDX,
7233     NEXT_WAIT_UNION_FIXIDX,
7234     NODEENT_SYNTAX_FIXIDX,
7235     OBSTACK_LVALUE_CAST_FIXIDX,
7236     OSF_NAMESPACE_A_FIXIDX,
7237     OSF_NAMESPACE_C_FIXIDX,
7238     PTHREAD_PAGE_SIZE_FIXIDX,
7239     READ_RET_TYPE_FIXIDX,
7240     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7241     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7242     RS6000_DOUBLE_FIXIDX,
7243     RS6000_FCHMOD_FIXIDX,
7244     RS6000_PARAM_FIXIDX,
7245     SCO_MATH_FIXIDX,
7246     SCO_REGSET_FIXIDX,
7247     SCO_STATIC_FUNC_FIXIDX,
7248     SCO_UTIME_FIXIDX,
7249     SOLARIS_MUTEX_INIT_1_FIXIDX,
7250     SOLARIS_MUTEX_INIT_2_FIXIDX,
7251     SOLARIS_SOCKET_FIXIDX,
7252     SOLARIS_STDIO_TAG_FIXIDX,
7253     SOLARIS_UNISTD_FIXIDX,
7254     SOLARIS_WIDEC_FIXIDX,
7255     STATSSWTCH_FIXIDX,
7256     STDIO_STDARG_H_FIXIDX,
7257     STDIO_VA_LIST_FIXIDX,
7258     STDIO_VA_LIST_CLIENTS_FIXIDX,
7259     STRICT_ANSI_NOT_FIXIDX,
7260     STRICT_ANSI_NOT_CTD_FIXIDX,
7261     STRICT_ANSI_ONLY_FIXIDX,
7262     STRUCT_FILE_FIXIDX,
7263     STRUCT_SOCKADDR_FIXIDX,
7264     SUN_AUTH_PROTO_FIXIDX,
7265     SUN_BOGUS_IFDEF_FIXIDX,
7266     SUN_CATMACRO_FIXIDX,
7267     SUN_MALLOC_FIXIDX,
7268     SUN_RUSERS_SEMI_FIXIDX,
7269     SUN_SIGNAL_FIXIDX,
7270     SUNOS_STRLEN_FIXIDX,
7271     SVR4_DISABLE_OPT_FIXIDX,
7272     SVR4_GETCWD_FIXIDX,
7273     SVR4_KRNL_FIXIDX,
7274     SVR4_PROFIL_FIXIDX,
7275     SVR4_SIGHANDLER_TYPE_FIXIDX,
7276     SVR4_UNDECLARED_GETRNGE_FIXIDX,
7277     SYSV68_STRING_FIXIDX,
7278     SYSZ_STDLIB_FOR_SUN_FIXIDX,
7279     THREAD_KEYWORD_FIXIDX,
7280     TINFO_CPLUSPLUS_FIXIDX,
7281     ULTRIX_ATEXIT_PARAM_FIXIDX,
7282     ULTRIX_ATOF_PARAM_FIXIDX,
7283     ULTRIX_CONST_FIXIDX,
7284     ULTRIX_CONST2_FIXIDX,
7285     ULTRIX_CONST3_FIXIDX,
7286     ULTRIX_FIX_FIXPROTO_FIXIDX,
7287     ULTRIX_IFDEF_FIXIDX,
7288     ULTRIX_LOCALE_FIXIDX,
7289     ULTRIX_MATH_IFDEF_FIXIDX,
7290     ULTRIX_NESTED_IOCTL_FIXIDX,
7291     ULTRIX_NESTED_SVC_FIXIDX,
7292     ULTRIX_STAT_FIXIDX,
7293     ULTRIX_STATIC_FIXIDX,
7294     ULTRIX_STDLIB_FIXIDX,
7295     ULTRIX_STRINGS_FIXIDX,
7296     ULTRIX_STRINGS2_FIXIDX,
7297     ULTRIX_SYS_TIME_FIXIDX,
7298     ULTRIX_UNISTD_FIXIDX,
7299     UNICOSMK_RESTRICT_FIXIDX,
7300     UW7_BYTEORDER_FIX_FIXIDX,
7301     VA_I960_MACRO_FIXIDX,
7302     VOID_NULL_FIXIDX,
7303     VXWORKS_GCC_PROBLEM_FIXIDX,
7304     VXWORKS_NEEDS_VXTYPES_FIXIDX,
7305     VXWORKS_NEEDS_VXWORKS_FIXIDX,
7306     VXWORKS_TIME_FIXIDX,
7307     WINDISS_MATH1_FIXIDX,
7308     WINDISS_MATH2_FIXIDX,
7309     WINDISS_VALIST_FIXIDX,
7310     X11_CLASS_FIXIDX,
7311     X11_CLASS_USAGE_FIXIDX,
7312     X11_NEW_FIXIDX,
7313     X11_SPRINTF_FIXIDX
7314 } t_fixinc_idx;
7315
7316 tFixDesc fixDescList[ FIX_COUNT ] = {
7317   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
7318      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
7319      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7320      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
7321
7322   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
7323      apzAab_Fd_Zero_Gnu_Types_HMachs,
7324      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7325      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
7326
7327   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
7328      apzAab_Fd_Zero_Selectbits_HMachs,
7329      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7330      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
7331
7332   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
7333      apzAab_Solaris_Sys_Varargs_HMachs,
7334      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7335      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
7336
7337   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
7338      apzAab_Sun_MemcpyMachs,
7339      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7340      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
7341
7342   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
7343      apzAab_Ultrix_Ansi_CompatMachs,
7344      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7345      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
7346
7347   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
7348      apzAab_Ultrix_LimitsMachs,
7349      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7350      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
7351
7352   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
7353      apzAab_Ultrix_MemoryMachs,
7354      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7355      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
7356
7357   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
7358      apzAab_Ultrix_StringMachs,
7359      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7360      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
7361
7362   {  zAix_PthreadName,    zAix_PthreadList,
7363      apzAix_PthreadMachs,
7364      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7365      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
7366
7367   {  zAix_SysmachineName,    zAix_SysmachineList,
7368      apzAix_SysmachineMachs,
7369      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7370      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
7371
7372   {  zAix_SyswaitName,    zAix_SyswaitList,
7373      apzAix_SyswaitMachs,
7374      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7375      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
7376
7377   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
7378      apzAix_Syswait_2Machs,
7379      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7380      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
7381
7382   {  zAix_VolatileName,    zAix_VolatileList,
7383      apzAix_VolatileMachs,
7384      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7385      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
7386
7387   {  zAlpha___AssertName,    zAlpha___AssertList,
7388      apzAlpha___AssertMachs,
7389      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7390      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
7391
7392   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
7393      apzAlpha___Extern_PrefixMachs,
7394      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7395      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
7396
7397   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
7398      apzAlpha___Extern_Prefix_StandardsMachs,
7399      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7400      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
7401
7402   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
7403      apzAlpha___Extern_Prefix_Sys_StatMachs,
7404      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7405      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
7406
7407   {  zAlpha_AssertName,    zAlpha_AssertList,
7408      apzAlpha_AssertMachs,
7409      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7410      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
7411
7412   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
7413      apzAlpha_Bad_LvalMachs,
7414      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
7415      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
7416
7417   {  zAlpha_GetoptName,    zAlpha_GetoptList,
7418      apzAlpha_GetoptMachs,
7419      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7420      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
7421
7422   {  zAlpha_ParensName,    zAlpha_ParensList,
7423      apzAlpha_ParensMachs,
7424      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7425      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
7426
7427   {  zAlpha_PthreadName,    zAlpha_PthreadList,
7428      apzAlpha_PthreadMachs,
7429      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7430      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
7431
7432   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
7433      apzAlpha_Pthread_GccMachs,
7434      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7435      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
7436
7437   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
7438      apzAlpha_Pthread_InitMachs,
7439      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
7440      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
7441
7442   {  zAlpha_SbrkName,    zAlpha_SbrkList,
7443      apzAlpha_SbrkMachs,
7444      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7445      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
7446
7447   {  zAlpha_WcharName,    zAlpha_WcharList,
7448      apzAlpha_WcharMachs,
7449      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
7450      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
7451
7452   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
7453      apzAvoid_Bool_DefineMachs,
7454      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7455      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
7456
7457   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
7458      apzAvoid_Bool_TypeMachs,
7459      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7460      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
7461
7462   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
7463      apzAvoid_Wchar_T_TypeMachs,
7464      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7465      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
7466
7467   {  zBad_Struct_TermName,    zBad_Struct_TermList,
7468      apzBad_Struct_TermMachs,
7469      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7470      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
7471
7472   {  zBadquoteName,    zBadquoteList,
7473      apzBadquoteMachs,
7474      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7475      aBadquoteTests,   apzBadquotePatch, 0 },
7476
7477   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
7478      apzBroken_Assert_StdioMachs,
7479      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7480      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
7481
7482   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
7483      apzBroken_Assert_StdlibMachs,
7484      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7485      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
7486
7487   {  zBroken_CabsName,    zBroken_CabsList,
7488      apzBroken_CabsMachs,
7489      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7490      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
7491
7492   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
7493      apzBsd_Stdio_Attrs_ConflictMachs,
7494      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7495      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
7496
7497   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
7498      apzCtrl_Quotes_DefMachs,
7499      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7500      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
7501
7502   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
7503      apzCtrl_Quotes_UseMachs,
7504      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7505      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
7506
7507   {  zCxx_UnreadyName,    zCxx_UnreadyList,
7508      apzCxx_UnreadyMachs,
7509      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7510      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
7511
7512   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
7513      apzDarwin_Gcc4_BreakageMachs,
7514      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7515      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
7516
7517   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
7518      apzDarwin_Private_ExternMachs,
7519      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7520      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
7521
7522   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
7523      apzDec_Intern_AsmMachs,
7524      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
7525      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
7526
7527   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
7528      apzDjgpp_Wchar_HMachs,
7529      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7530      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
7531
7532   {  zEcd_CursorName,    zEcd_CursorList,
7533      apzEcd_CursorMachs,
7534      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7535      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
7536
7537   {  zException_StructureName,    zException_StructureList,
7538      apzException_StructureMachs,
7539      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7540      aException_StructureTests,   apzException_StructurePatch, 0 },
7541
7542   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
7543      apzFreebsd_Gcc3_BreakageMachs,
7544      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7545      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
7546
7547   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
7548      apzFreebsd_Gcc4_BreakageMachs,
7549      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7550      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
7551
7552   {  zGnu_TypesName,    zGnu_TypesList,
7553      apzGnu_TypesMachs,
7554      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
7555      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
7556
7557   {  zHp_InlineName,    zHp_InlineList,
7558      apzHp_InlineMachs,
7559      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7560      aHp_InlineTests,   apzHp_InlinePatch, 0 },
7561
7562   {  zHp_SysfileName,    zHp_SysfileList,
7563      apzHp_SysfileMachs,
7564      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7565      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
7566
7567   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
7568      apzHpux10_Cpp_Pow_InlineMachs,
7569      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7570      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
7571
7572   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
7573      apzHpux11_Cpp_Pow_InlineMachs,
7574      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7575      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
7576
7577   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
7578      apzHpux10_Ctype_Declarations1Machs,
7579      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7580      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
7581
7582   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
7583      apzHpux10_Ctype_Declarations2Machs,
7584      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7585      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
7586
7587   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
7588      apzHpux10_Stdio_DeclarationsMachs,
7589      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7590      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
7591
7592   {  zHpux11_AbsName,    zHpux11_AbsList,
7593      apzHpux11_AbsMachs,
7594      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7595      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
7596
7597   {  zHpux11_FabsfName,    zHpux11_FabsfList,
7598      apzHpux11_FabsfMachs,
7599      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7600      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
7601
7602   {  zHpux11_Size_TName,    zHpux11_Size_TList,
7603      apzHpux11_Size_TMachs,
7604      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7605      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
7606
7607   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
7608      apzHpux11_SnprintfMachs,
7609      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7610      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
7611
7612   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
7613      apzHpux11_Uint32_CMachs,
7614      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7615      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
7616
7617   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
7618      apzHpux11_VsnprintfMachs,
7619      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7620      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
7621
7622   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
7623      apzHpux8_Bogus_InlinesMachs,
7624      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
7625      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
7626
7627   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
7628      apzHpux_Ctype_MacrosMachs,
7629      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7630      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
7631
7632   {  zHpux_HtonlName,    zHpux_HtonlList,
7633      apzHpux_HtonlMachs,
7634      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7635      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
7636
7637   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
7638      apzHpux_Long_DoubleMachs,
7639      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
7640      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
7641
7642   {  zHpux_SystimeName,    zHpux_SystimeList,
7643      apzHpux_SystimeMachs,
7644      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7645      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
7646
7647   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
7648      apzInt_Abort_Free_And_ExitMachs,
7649      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7650      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
7651
7652   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
7653      apzIo_Quotes_DefMachs,
7654      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7655      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
7656
7657   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
7658      apzIo_Quotes_UseMachs,
7659      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7660      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
7661
7662   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
7663      apzIp_Missing_SemiMachs,
7664      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
7665      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
7666
7667   {  zIrix___RestrictName,    zIrix___RestrictList,
7668      apzIrix___RestrictMachs,
7669      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7670      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
7671
7672   {  zIrix___Generic1Name,    zIrix___Generic1List,
7673      apzIrix___Generic1Machs,
7674      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7675      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
7676
7677   {  zIrix___Generic2Name,    zIrix___Generic2List,
7678      apzIrix___Generic2Machs,
7679      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7680      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
7681
7682   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
7683      apzIrix_Asm_ApostropheMachs,
7684      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7685      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
7686
7687   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
7688      apzIrix_Limits_ConstMachs,
7689      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7690      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
7691
7692   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
7693      apzIrix_Socklen_TMachs,
7694      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7695      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
7696
7697   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
7698      apzIrix_Stdio_Va_ListMachs,
7699      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7700      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
7701
7702   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
7703      apzIrix_WcsftimeMachs,
7704      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7705      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
7706
7707   {  zIsc_FmodName,    zIsc_FmodList,
7708      apzIsc_FmodMachs,
7709      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7710      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
7711
7712   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
7713      apzIsc_Omits_With_StdcMachs,
7714      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7715      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
7716
7717   {  zKandr_ConcatName,    zKandr_ConcatList,
7718      apzKandr_ConcatMachs,
7719      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7720      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
7721
7722   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
7723      apzLibc1_G_Va_ListMachs,
7724      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7725      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
7726
7727   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
7728      apzLibc1_Ifdefd_MemxMachs,
7729      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7730      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
7731
7732   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
7733      apzLinux_Ia64_UcontextMachs,
7734      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7735      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
7736
7737   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
7738      apzLynxos_No_Warning_In_Sys_Time_HMachs,
7739      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7740      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
7741
7742   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
7743      apzLynxos_Missing_PutenvMachs,
7744      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7745      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
7746
7747   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
7748      apzMachine_Ansi_H_Va_ListMachs,
7749      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7750      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
7751
7752   {  zMachine_NameName,    zMachine_NameList,
7753      apzMachine_NameMachs,
7754      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7755      aMachine_NameTests,   apzMachine_NamePatch, 0 },
7756
7757   {  zMath_ExceptionName,    zMath_ExceptionList,
7758      apzMath_ExceptionMachs,
7759      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7760      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
7761
7762   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
7763      apzMath_Huge_Val_From_Dbl_MaxMachs,
7764      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
7765      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
7766
7767   {  zNested_Auth_DesName,    zNested_Auth_DesList,
7768      apzNested_Auth_DesMachs,
7769      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7770      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
7771
7772   {  zNested_MotorolaName,    zNested_MotorolaList,
7773      apzNested_MotorolaMachs,
7774      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
7775      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
7776
7777   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
7778      apzNested_Sys_LimitsMachs,
7779      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
7780      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
7781
7782   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
7783      apzNetbsd_Extra_SemicolonMachs,
7784      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7785      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
7786
7787   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
7788      apzNext_Math_PrefixMachs,
7789      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7790      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
7791
7792   {  zNext_TemplateName,    zNext_TemplateList,
7793      apzNext_TemplateMachs,
7794      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7795      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
7796
7797   {  zNext_VolitileName,    zNext_VolitileList,
7798      apzNext_VolitileMachs,
7799      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7800      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
7801
7802   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
7803      apzNext_Wait_UnionMachs,
7804      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7805      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
7806
7807   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
7808      apzNodeent_SyntaxMachs,
7809      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7810      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
7811
7812   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
7813      apzObstack_Lvalue_CastMachs,
7814      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7815      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
7816
7817   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
7818      apzOsf_Namespace_AMachs,
7819      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7820      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
7821
7822   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
7823      apzOsf_Namespace_CMachs,
7824      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7825      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
7826
7827   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
7828      apzPthread_Page_SizeMachs,
7829      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7830      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
7831
7832   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
7833      apzRead_Ret_TypeMachs,
7834      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7835      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
7836
7837   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
7838      apzRpc_Xdr_Lvalue_Cast_AMachs,
7839      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7840      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
7841
7842   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
7843      apzRpc_Xdr_Lvalue_Cast_BMachs,
7844      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7845      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
7846
7847   {  zRs6000_DoubleName,    zRs6000_DoubleList,
7848      apzRs6000_DoubleMachs,
7849      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7850      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
7851
7852   {  zRs6000_FchmodName,    zRs6000_FchmodList,
7853      apzRs6000_FchmodMachs,
7854      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7855      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
7856
7857   {  zRs6000_ParamName,    zRs6000_ParamList,
7858      apzRs6000_ParamMachs,
7859      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7860      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
7861
7862   {  zSco_MathName,    zSco_MathList,
7863      apzSco_MathMachs,
7864      SCO_MATH_TEST_CT, FD_MACH_ONLY,
7865      aSco_MathTests,   apzSco_MathPatch, 0 },
7866
7867   {  zSco_RegsetName,    zSco_RegsetList,
7868      apzSco_RegsetMachs,
7869      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7870      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
7871
7872   {  zSco_Static_FuncName,    zSco_Static_FuncList,
7873      apzSco_Static_FuncMachs,
7874      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
7875      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
7876
7877   {  zSco_UtimeName,    zSco_UtimeList,
7878      apzSco_UtimeMachs,
7879      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7880      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
7881
7882   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
7883      apzSolaris_Mutex_Init_1Machs,
7884      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
7885      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
7886
7887   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
7888      apzSolaris_Mutex_Init_2Machs,
7889      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7890      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
7891
7892   {  zSolaris_SocketName,    zSolaris_SocketList,
7893      apzSolaris_SocketMachs,
7894      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7895      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
7896
7897   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
7898      apzSolaris_Stdio_TagMachs,
7899      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
7900      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
7901
7902   {  zSolaris_UnistdName,    zSolaris_UnistdList,
7903      apzSolaris_UnistdMachs,
7904      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7905      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
7906
7907   {  zSolaris_WidecName,    zSolaris_WidecList,
7908      apzSolaris_WidecMachs,
7909      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7910      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
7911
7912   {  zStatsswtchName,    zStatsswtchList,
7913      apzStatsswtchMachs,
7914      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7915      aStatsswtchTests,   apzStatsswtchPatch, 0 },
7916
7917   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
7918      apzStdio_Stdarg_HMachs,
7919      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
7920      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
7921
7922   {  zStdio_Va_ListName,    zStdio_Va_ListList,
7923      apzStdio_Va_ListMachs,
7924      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
7925      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
7926
7927   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
7928      apzStdio_Va_List_ClientsMachs,
7929      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
7930      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
7931
7932   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
7933      apzStrict_Ansi_NotMachs,
7934      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7935      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
7936
7937   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
7938      apzStrict_Ansi_Not_CtdMachs,
7939      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7940      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
7941
7942   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
7943      apzStrict_Ansi_OnlyMachs,
7944      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7945      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
7946
7947   {  zStruct_FileName,    zStruct_FileList,
7948      apzStruct_FileMachs,
7949      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7950      aStruct_FileTests,   apzStruct_FilePatch, 0 },
7951
7952   {  zStruct_SockaddrName,    zStruct_SockaddrList,
7953      apzStruct_SockaddrMachs,
7954      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7955      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
7956
7957   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
7958      apzSun_Auth_ProtoMachs,
7959      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7960      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
7961
7962   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
7963      apzSun_Bogus_IfdefMachs,
7964      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7965      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
7966
7967   {  zSun_CatmacroName,    zSun_CatmacroList,
7968      apzSun_CatmacroMachs,
7969      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7970      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
7971
7972   {  zSun_MallocName,    zSun_MallocList,
7973      apzSun_MallocMachs,
7974      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
7975      aSun_MallocTests,   apzSun_MallocPatch, 0 },
7976
7977   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
7978      apzSun_Rusers_SemiMachs,
7979      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
7980      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
7981
7982   {  zSun_SignalName,    zSun_SignalList,
7983      apzSun_SignalMachs,
7984      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7985      aSun_SignalTests,   apzSun_SignalPatch, 0 },
7986
7987   {  zSunos_StrlenName,    zSunos_StrlenList,
7988      apzSunos_StrlenMachs,
7989      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7990      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
7991
7992   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
7993      apzSvr4_Disable_OptMachs,
7994      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
7995      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
7996
7997   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
7998      apzSvr4_GetcwdMachs,
7999      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8000      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8001
8002   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8003      apzSvr4_KrnlMachs,
8004      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8005      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8006
8007   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8008      apzSvr4_ProfilMachs,
8009      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8010      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8011
8012   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8013      apzSvr4_Sighandler_TypeMachs,
8014      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8015      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8016
8017   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8018      apzSvr4_Undeclared_GetrngeMachs,
8019      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8020      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8021
8022   {  zSysv68_StringName,    zSysv68_StringList,
8023      apzSysv68_StringMachs,
8024      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8025      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8026
8027   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8028      apzSysz_Stdlib_For_SunMachs,
8029      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8030      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8031
8032   {  zThread_KeywordName,    zThread_KeywordList,
8033      apzThread_KeywordMachs,
8034      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8035      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8036
8037   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8038      apzTinfo_CplusplusMachs,
8039      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8040      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8041
8042   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8043      apzUltrix_Atexit_ParamMachs,
8044      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8045      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8046
8047   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8048      apzUltrix_Atof_ParamMachs,
8049      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8050      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8051
8052   {  zUltrix_ConstName,    zUltrix_ConstList,
8053      apzUltrix_ConstMachs,
8054      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8055      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8056
8057   {  zUltrix_Const2Name,    zUltrix_Const2List,
8058      apzUltrix_Const2Machs,
8059      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8060      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8061
8062   {  zUltrix_Const3Name,    zUltrix_Const3List,
8063      apzUltrix_Const3Machs,
8064      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8065      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8066
8067   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8068      apzUltrix_Fix_FixprotoMachs,
8069      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8070      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8071
8072   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8073      apzUltrix_IfdefMachs,
8074      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8075      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8076
8077   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8078      apzUltrix_LocaleMachs,
8079      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8080      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8081
8082   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8083      apzUltrix_Math_IfdefMachs,
8084      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8085      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8086
8087   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8088      apzUltrix_Nested_IoctlMachs,
8089      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8090      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8091
8092   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8093      apzUltrix_Nested_SvcMachs,
8094      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8095      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8096
8097   {  zUltrix_StatName,    zUltrix_StatList,
8098      apzUltrix_StatMachs,
8099      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8100      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8101
8102   {  zUltrix_StaticName,    zUltrix_StaticList,
8103      apzUltrix_StaticMachs,
8104      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8105      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8106
8107   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8108      apzUltrix_StdlibMachs,
8109      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8110      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8111
8112   {  zUltrix_StringsName,    zUltrix_StringsList,
8113      apzUltrix_StringsMachs,
8114      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8115      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8116
8117   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8118      apzUltrix_Strings2Machs,
8119      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8120      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8121
8122   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8123      apzUltrix_Sys_TimeMachs,
8124      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8125      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8126
8127   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8128      apzUltrix_UnistdMachs,
8129      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8130      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8131
8132   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8133      apzUnicosmk_RestrictMachs,
8134      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8135      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8136
8137   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8138      apzUw7_Byteorder_FixMachs,
8139      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8140      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8141
8142   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8143      apzVa_I960_MacroMachs,
8144      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8145      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8146
8147   {  zVoid_NullName,    zVoid_NullList,
8148      apzVoid_NullMachs,
8149      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8150      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8151
8152   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8153      apzVxworks_Gcc_ProblemMachs,
8154      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8155      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8156
8157   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8158      apzVxworks_Needs_VxtypesMachs,
8159      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8160      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8161
8162   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8163      apzVxworks_Needs_VxworksMachs,
8164      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8165      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8166
8167   {  zVxworks_TimeName,    zVxworks_TimeList,
8168      apzVxworks_TimeMachs,
8169      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8170      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8171
8172   {  zWindiss_Math1Name,    zWindiss_Math1List,
8173      apzWindiss_Math1Machs,
8174      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8175      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8176
8177   {  zWindiss_Math2Name,    zWindiss_Math2List,
8178      apzWindiss_Math2Machs,
8179      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8180      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8181
8182   {  zWindiss_ValistName,    zWindiss_ValistList,
8183      apzWindiss_ValistMachs,
8184      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8185      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8186
8187   {  zX11_ClassName,    zX11_ClassList,
8188      apzX11_ClassMachs,
8189      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8190      aX11_ClassTests,   apzX11_ClassPatch, 0 },
8191
8192   {  zX11_Class_UsageName,    zX11_Class_UsageList,
8193      apzX11_Class_UsageMachs,
8194      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8195      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
8196
8197   {  zX11_NewName,    zX11_NewList,
8198      apzX11_NewMachs,
8199      X11_NEW_TEST_CT, FD_MACH_ONLY,
8200      aX11_NewTests,   apzX11_NewPatch, 0 },
8201
8202   {  zX11_SprintfName,    zX11_SprintfList,
8203      apzX11_SprintfMachs,
8204      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8205      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }
8206 };