OSDN Git Service

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