OSDN Git Service

2004-11-05 Paolo Bonzini <bonzini@gnu.org>
[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:26:49 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:26:49 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 181 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|";
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 Stdio_Va_List_Clients fix
4958  */
4959 tSCC zStdio_Va_List_ClientsName[] =
4960      "stdio_va_list_clients";
4961
4962 /*
4963  *  File name selection pattern
4964  */
4965 tSCC zStdio_Va_List_ClientsList[] =
4966   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
4967 /*
4968  *  Machine/OS name selection pattern
4969  */
4970 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
4971
4972 /*
4973  *  content bypass pattern - skip fix if pattern found
4974  */
4975 tSCC zStdio_Va_List_ClientsBypass0[] =
4976        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4977 tSCC zStdio_Va_List_ClientsBypass1[] =
4978        "include <stdarg\\.h>|#ifdef va_start";
4979
4980 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
4981 static tTestDesc aStdio_Va_List_ClientsTests[] = {
4982   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
4983   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
4984
4985 /*
4986  *  Fix Command Arguments for Stdio_Va_List_Clients
4987  */
4988 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
4989     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4990 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4991 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4992 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4993 s@ va_list@ __not_va_list__@\n\
4994 s@\\*va_list@*__not_va_list__@\n\
4995 s@ __va_list)@ __gnuc_va_list)@\n\
4996 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4997 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4998 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4999 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5000 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5001 s@VA_LIST@DUMMY_VA_LIST@\n\
5002 s@_Va_LIST@_VA_LIST@",
5003     (char*)NULL };
5004
5005 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5006  *
5007  *  Description of Strict_Ansi_Not fix
5008  */
5009 tSCC zStrict_Ansi_NotName[] =
5010      "strict_ansi_not";
5011
5012 /*
5013  *  File name selection pattern
5014  */
5015 #define zStrict_Ansi_NotList (char*)NULL
5016 /*
5017  *  Machine/OS name selection pattern
5018  */
5019 #define apzStrict_Ansi_NotMachs (const char**)NULL
5020
5021 /*
5022  *  content selection pattern - do fix if pattern found
5023  */
5024 tSCC zStrict_Ansi_NotSelect0[] =
5025        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5026
5027 /*
5028  *  content bypass pattern - skip fix if pattern found
5029  */
5030 tSCC zStrict_Ansi_NotBypass0[] =
5031        "GNU and MIPS C compilers define __STDC__ differently";
5032 tSCC zStrict_Ansi_NotBypass1[] =
5033        "__SCO_VERSION__.*__STDC__ != 1";
5034
5035 /*
5036  *  perform the C function call test
5037  */
5038 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5039
5040 #define    STRICT_ANSI_NOT_TEST_CT  4
5041 static tTestDesc aStrict_Ansi_NotTests[] = {
5042   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5043   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5044   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5045   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5046
5047 /*
5048  *  Fix Command Arguments for Strict_Ansi_Not
5049  */
5050 static const char* apzStrict_Ansi_NotPatch[] = {
5051     "format",
5052     "%1 !defined(__STRICT_ANSI__)",
5053     (char*)NULL };
5054
5055 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5056  *
5057  *  Description of Strict_Ansi_Not_Ctd fix
5058  */
5059 tSCC zStrict_Ansi_Not_CtdName[] =
5060      "strict_ansi_not_ctd";
5061
5062 /*
5063  *  File name selection pattern
5064  */
5065 tSCC zStrict_Ansi_Not_CtdList[] =
5066   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5067 /*
5068  *  Machine/OS name selection pattern
5069  */
5070 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5071
5072 /*
5073  *  content selection pattern - do fix if pattern found
5074  */
5075 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5076        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5077
5078 /*
5079  *  perform the C function call test
5080  */
5081 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5082
5083 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5084 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5085   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5086   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5087
5088 /*
5089  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5090  */
5091 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5092     "format",
5093     "%1 !defined(__STRICT_ANSI__)",
5094     (char*)NULL };
5095
5096 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5097  *
5098  *  Description of Strict_Ansi_Only fix
5099  */
5100 tSCC zStrict_Ansi_OnlyName[] =
5101      "strict_ansi_only";
5102
5103 /*
5104  *  File name selection pattern
5105  */
5106 #define zStrict_Ansi_OnlyList (char*)NULL
5107 /*
5108  *  Machine/OS name selection pattern
5109  */
5110 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5111
5112 /*
5113  *  content selection pattern - do fix if pattern found
5114  */
5115 tSCC zStrict_Ansi_OnlySelect0[] =
5116        "^([ \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)";
5117
5118 /*
5119  *  perform the C function call test
5120  */
5121 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5122
5123 #define    STRICT_ANSI_ONLY_TEST_CT  2
5124 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5125   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5126   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5127
5128 /*
5129  *  Fix Command Arguments for Strict_Ansi_Only
5130  */
5131 static const char* apzStrict_Ansi_OnlyPatch[] = {
5132     "format",
5133     "%1 defined(__STRICT_ANSI__)",
5134     (char*)NULL };
5135
5136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5137  *
5138  *  Description of Struct_File fix
5139  */
5140 tSCC zStruct_FileName[] =
5141      "struct_file";
5142
5143 /*
5144  *  File name selection pattern
5145  */
5146 tSCC zStruct_FileList[] =
5147   "|rpc/xdr.h|";
5148 /*
5149  *  Machine/OS name selection pattern
5150  */
5151 #define apzStruct_FileMachs (const char**)NULL
5152
5153 /*
5154  *  content selection pattern - do fix if pattern found
5155  */
5156 tSCC zStruct_FileSelect0[] =
5157        "^.*xdrstdio_create.*struct __file_s";
5158
5159 #define    STRUCT_FILE_TEST_CT  1
5160 static tTestDesc aStruct_FileTests[] = {
5161   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5162
5163 /*
5164  *  Fix Command Arguments for Struct_File
5165  */
5166 static const char* apzStruct_FilePatch[] = {
5167     "format",
5168     "struct __file_s;\n\
5169 %0",
5170     (char*)NULL };
5171
5172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5173  *
5174  *  Description of Struct_Sockaddr fix
5175  */
5176 tSCC zStruct_SockaddrName[] =
5177      "struct_sockaddr";
5178
5179 /*
5180  *  File name selection pattern
5181  */
5182 tSCC zStruct_SockaddrList[] =
5183   "|rpc/auth.h|";
5184 /*
5185  *  Machine/OS name selection pattern
5186  */
5187 #define apzStruct_SockaddrMachs (const char**)NULL
5188
5189 /*
5190  *  content selection pattern - do fix if pattern found
5191  */
5192 tSCC zStruct_SockaddrSelect0[] =
5193        "^.*authdes_create.*struct sockaddr[^_]";
5194
5195 /*
5196  *  content bypass pattern - skip fix if pattern found
5197  */
5198 tSCC zStruct_SockaddrBypass0[] =
5199        "<sys/socket.h>";
5200 tSCC zStruct_SockaddrBypass1[] =
5201        "struct sockaddr;\n";
5202
5203 #define    STRUCT_SOCKADDR_TEST_CT  3
5204 static tTestDesc aStruct_SockaddrTests[] = {
5205   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5206   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5207   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5208
5209 /*
5210  *  Fix Command Arguments for Struct_Sockaddr
5211  */
5212 static const char* apzStruct_SockaddrPatch[] = {
5213     "format",
5214     "struct sockaddr;\n\
5215 %0",
5216     (char*)NULL };
5217
5218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5219  *
5220  *  Description of Sun_Auth_Proto fix
5221  */
5222 tSCC zSun_Auth_ProtoName[] =
5223      "sun_auth_proto";
5224
5225 /*
5226  *  File name selection pattern
5227  */
5228 tSCC zSun_Auth_ProtoList[] =
5229   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5230 /*
5231  *  Machine/OS name selection pattern
5232  */
5233 #define apzSun_Auth_ProtoMachs (const char**)NULL
5234
5235 /*
5236  *  content selection pattern - do fix if pattern found
5237  */
5238 tSCC zSun_Auth_ProtoSelect0[] =
5239        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5240
5241 #define    SUN_AUTH_PROTO_TEST_CT  1
5242 static tTestDesc aSun_Auth_ProtoTests[] = {
5243   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5244
5245 /*
5246  *  Fix Command Arguments for Sun_Auth_Proto
5247  */
5248 static const char* apzSun_Auth_ProtoPatch[] = {
5249     "format",
5250     "#ifdef __cplusplus\n\
5251 %1(...);%2\n\
5252 #else\n\
5253 %1();%2\n\
5254 #endif",
5255     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5256     (char*)NULL };
5257
5258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5259  *
5260  *  Description of Sun_Bogus_Ifdef fix
5261  */
5262 tSCC zSun_Bogus_IfdefName[] =
5263      "sun_bogus_ifdef";
5264
5265 /*
5266  *  File name selection pattern
5267  */
5268 tSCC zSun_Bogus_IfdefList[] =
5269   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5270 /*
5271  *  Machine/OS name selection pattern
5272  */
5273 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5274
5275 /*
5276  *  content selection pattern - do fix if pattern found
5277  */
5278 tSCC zSun_Bogus_IfdefSelect0[] =
5279        "#ifdef(.*\\|\\|.*)";
5280
5281 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5282 static tTestDesc aSun_Bogus_IfdefTests[] = {
5283   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5284
5285 /*
5286  *  Fix Command Arguments for Sun_Bogus_Ifdef
5287  */
5288 static const char* apzSun_Bogus_IfdefPatch[] = {
5289     "format",
5290     "#if%1",
5291     (char*)NULL };
5292
5293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5294  *
5295  *  Description of Sun_Catmacro fix
5296  */
5297 tSCC zSun_CatmacroName[] =
5298      "sun_catmacro";
5299
5300 /*
5301  *  File name selection pattern
5302  */
5303 tSCC zSun_CatmacroList[] =
5304   "|pixrect/memvar.h|";
5305 /*
5306  *  Machine/OS name selection pattern
5307  */
5308 #define apzSun_CatmacroMachs (const char**)NULL
5309
5310 /*
5311  *  content selection pattern - do fix if pattern found
5312  */
5313 tSCC zSun_CatmacroSelect0[] =
5314        "^#define[ \t]+CAT\\(a,b\\).*";
5315
5316 #define    SUN_CATMACRO_TEST_CT  1
5317 static tTestDesc aSun_CatmacroTests[] = {
5318   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
5319
5320 /*
5321  *  Fix Command Arguments for Sun_Catmacro
5322  */
5323 static const char* apzSun_CatmacroPatch[] = {
5324     "format",
5325     "#ifdef __STDC__\n\
5326 #  define CAT(a,b) a##b\n\
5327 #else\n\
5328 %0\n\
5329 #endif",
5330     (char*)NULL };
5331
5332 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5333  *
5334  *  Description of Sun_Malloc fix
5335  */
5336 tSCC zSun_MallocName[] =
5337      "sun_malloc";
5338
5339 /*
5340  *  File name selection pattern
5341  */
5342 tSCC zSun_MallocList[] =
5343   "|malloc.h|";
5344 /*
5345  *  Machine/OS name selection pattern
5346  */
5347 #define apzSun_MallocMachs (const char**)NULL
5348 #define SUN_MALLOC_TEST_CT  0
5349 #define aSun_MallocTests   (tTestDesc*)NULL
5350
5351 /*
5352  *  Fix Command Arguments for Sun_Malloc
5353  */
5354 static const char* apzSun_MallocPatch[] = { "sed",
5355     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
5356     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
5357     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
5358     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
5359     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
5360     (char*)NULL };
5361
5362 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5363  *
5364  *  Description of Sun_Rusers_Semi fix
5365  */
5366 tSCC zSun_Rusers_SemiName[] =
5367      "sun_rusers_semi";
5368
5369 /*
5370  *  File name selection pattern
5371  */
5372 tSCC zSun_Rusers_SemiList[] =
5373   "|rpcsvc/rusers.h|";
5374 /*
5375  *  Machine/OS name selection pattern
5376  */
5377 #define apzSun_Rusers_SemiMachs (const char**)NULL
5378
5379 /*
5380  *  content selection pattern - do fix if pattern found
5381  */
5382 tSCC zSun_Rusers_SemiSelect0[] =
5383        "_cnt$";
5384
5385 #define    SUN_RUSERS_SEMI_TEST_CT  1
5386 static tTestDesc aSun_Rusers_SemiTests[] = {
5387   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
5388
5389 /*
5390  *  Fix Command Arguments for Sun_Rusers_Semi
5391  */
5392 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
5393     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
5394     (char*)NULL };
5395
5396 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5397  *
5398  *  Description of Sun_Signal fix
5399  */
5400 tSCC zSun_SignalName[] =
5401      "sun_signal";
5402
5403 /*
5404  *  File name selection pattern
5405  */
5406 tSCC zSun_SignalList[] =
5407   "|sys/signal.h|signal.h|";
5408 /*
5409  *  Machine/OS name selection pattern
5410  */
5411 #define apzSun_SignalMachs (const char**)NULL
5412
5413 /*
5414  *  content selection pattern - do fix if pattern found
5415  */
5416 tSCC zSun_SignalSelect0[] =
5417        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
5418
5419 #define    SUN_SIGNAL_TEST_CT  1
5420 static tTestDesc aSun_SignalTests[] = {
5421   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
5422
5423 /*
5424  *  Fix Command Arguments for Sun_Signal
5425  */
5426 static const char* apzSun_SignalPatch[] = {
5427     "format",
5428     "#ifdef __cplusplus\n\
5429 void\t(*signal(...))(...);\n\
5430 #else\n\
5431 %0\n\
5432 #endif",
5433     (char*)NULL };
5434
5435 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5436  *
5437  *  Description of Sunos_Strlen fix
5438  */
5439 tSCC zSunos_StrlenName[] =
5440      "sunos_strlen";
5441
5442 /*
5443  *  File name selection pattern
5444  */
5445 tSCC zSunos_StrlenList[] =
5446   "|strings.h|";
5447 /*
5448  *  Machine/OS name selection pattern
5449  */
5450 #define apzSunos_StrlenMachs (const char**)NULL
5451
5452 /*
5453  *  content selection pattern - do fix if pattern found
5454  */
5455 tSCC zSunos_StrlenSelect0[] =
5456        "int[ \t]*strlen\\(\\);(.*)";
5457
5458 #define    SUNOS_STRLEN_TEST_CT  1
5459 static tTestDesc aSunos_StrlenTests[] = {
5460   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
5461
5462 /*
5463  *  Fix Command Arguments for Sunos_Strlen
5464  */
5465 static const char* apzSunos_StrlenPatch[] = {
5466     "format",
5467     "__SIZE_TYPE__ strlen();%1",
5468     (char*)NULL };
5469
5470 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5471  *
5472  *  Description of Svr4__P fix
5473  */
5474 tSCC zSvr4__PName[] =
5475      "svr4__p";
5476
5477 /*
5478  *  File name selection pattern
5479  */
5480 tSCC zSvr4__PList[] =
5481   "|math.h|floatingpoint.h|";
5482 /*
5483  *  Machine/OS name selection pattern
5484  */
5485 #define apzSvr4__PMachs (const char**)NULL
5486
5487 /*
5488  *  content selection pattern - do fix if pattern found
5489  */
5490 tSCC zSvr4__PSelect0[] =
5491        "^#define[ \t]+__P.*";
5492
5493 #define    SVR4__P_TEST_CT  1
5494 static tTestDesc aSvr4__PTests[] = {
5495   { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
5496
5497 /*
5498  *  Fix Command Arguments for Svr4__P
5499  */
5500 static const char* apzSvr4__PPatch[] = {
5501     "format",
5502     "#ifndef __P\n\
5503 %0\n\
5504 #endif",
5505     (char*)NULL };
5506
5507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5508  *
5509  *  Description of Svr4_Disable_Opt fix
5510  */
5511 tSCC zSvr4_Disable_OptName[] =
5512      "svr4_disable_opt";
5513
5514 /*
5515  *  File name selection pattern
5516  */
5517 tSCC zSvr4_Disable_OptList[] =
5518   "|string.h|";
5519 /*
5520  *  Machine/OS name selection pattern
5521  */
5522 #define apzSvr4_Disable_OptMachs (const char**)NULL
5523
5524 /*
5525  *  content selection pattern - do fix if pattern found
5526  */
5527 tSCC zSvr4_Disable_OptSelect0[] =
5528        "#define.*__std_hdr_";
5529
5530 #define    SVR4_DISABLE_OPT_TEST_CT  1
5531 static tTestDesc aSvr4_Disable_OptTests[] = {
5532   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5533
5534 /*
5535  *  Fix Command Arguments for Svr4_Disable_Opt
5536  */
5537 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5538     "-e", "/#define.*__std_hdr_/d",
5539     (char*)NULL };
5540
5541 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5542  *
5543  *  Description of Svr4_Getcwd fix
5544  */
5545 tSCC zSvr4_GetcwdName[] =
5546      "svr4_getcwd";
5547
5548 /*
5549  *  File name selection pattern
5550  */
5551 tSCC zSvr4_GetcwdList[] =
5552   "|stdlib.h|unistd.h|prototypes.h|";
5553 /*
5554  *  Machine/OS name selection pattern
5555  */
5556 #define apzSvr4_GetcwdMachs (const char**)NULL
5557
5558 /*
5559  *  content selection pattern - do fix if pattern found
5560  */
5561 tSCC zSvr4_GetcwdSelect0[] =
5562        "getcwd\\(char \\*, int\\)";
5563
5564 #define    SVR4_GETCWD_TEST_CT  1
5565 static tTestDesc aSvr4_GetcwdTests[] = {
5566   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5567
5568 /*
5569  *  Fix Command Arguments for Svr4_Getcwd
5570  */
5571 static const char* apzSvr4_GetcwdPatch[] = {
5572     "format",
5573     "getcwd(char *, size_t)",
5574     (char*)NULL };
5575
5576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5577  *
5578  *  Description of Svr4_Krnl fix
5579  */
5580 tSCC zSvr4_KrnlName[] =
5581      "svr4_krnl";
5582
5583 /*
5584  *  File name selection pattern
5585  */
5586 tSCC zSvr4_KrnlList[] =
5587   "|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|";
5588 /*
5589  *  Machine/OS name selection pattern
5590  */
5591 tSCC* apzSvr4_KrnlMachs[] = {
5592         "*-*-sysv4*",
5593         "i?86-sequent-ptx*",
5594         (const char*)NULL };
5595
5596 /*
5597  *  content bypass pattern - skip fix if pattern found
5598  */
5599 tSCC zSvr4_KrnlBypass0[] =
5600        "_KERNEL";
5601
5602 #define    SVR4_KRNL_TEST_CT  1
5603 static tTestDesc aSvr4_KrnlTests[] = {
5604   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
5605
5606 /*
5607  *  Fix Command Arguments for Svr4_Krnl
5608  */
5609 static const char* apzSvr4_KrnlPatch[] = {
5610     "wrap",
5611     "#ifdef _KERNEL\n",
5612     "#endif /* _KERNEL */\n",
5613     (char*)NULL };
5614
5615 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5616  *
5617  *  Description of Svr4_Profil fix
5618  */
5619 tSCC zSvr4_ProfilName[] =
5620      "svr4_profil";
5621
5622 /*
5623  *  File name selection pattern
5624  */
5625 tSCC zSvr4_ProfilList[] =
5626   "|stdlib.h|unistd.h|";
5627 /*
5628  *  Machine/OS name selection pattern
5629  */
5630 #define apzSvr4_ProfilMachs (const char**)NULL
5631
5632 /*
5633  *  content selection pattern - do fix if pattern found
5634  */
5635 tSCC zSvr4_ProfilSelect0[] =
5636        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
5637
5638 /*
5639  *  content bypass pattern - skip fix if pattern found
5640  */
5641 tSCC zSvr4_ProfilBypass0[] =
5642        "Silicon Graphics";
5643
5644 #define    SVR4_PROFIL_TEST_CT  2
5645 static tTestDesc aSvr4_ProfilTests[] = {
5646   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
5647   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
5648
5649 /*
5650  *  Fix Command Arguments for Svr4_Profil
5651  */
5652 static const char* apzSvr4_ProfilPatch[] = {
5653     "format",
5654     "profil(unsigned short *, size_t, int, unsigned int)",
5655     (char*)NULL };
5656
5657 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5658  *
5659  *  Description of Svr4_Sighandler_Type fix
5660  */
5661 tSCC zSvr4_Sighandler_TypeName[] =
5662      "svr4_sighandler_type";
5663
5664 /*
5665  *  File name selection pattern
5666  */
5667 tSCC zSvr4_Sighandler_TypeList[] =
5668   "|sys/signal.h|";
5669 /*
5670  *  Machine/OS name selection pattern
5671  */
5672 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
5673
5674 /*
5675  *  content selection pattern - do fix if pattern found
5676  */
5677 tSCC zSvr4_Sighandler_TypeSelect0[] =
5678        "void *\\(\\*\\)\\(\\)";
5679
5680 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
5681 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
5682   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
5683
5684 /*
5685  *  Fix Command Arguments for Svr4_Sighandler_Type
5686  */
5687 static const char* apzSvr4_Sighandler_TypePatch[] = {
5688     "format",
5689     "void (*)(int)",
5690     (char*)NULL };
5691
5692 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5693  *
5694  *  Description of Svr4_Undeclared_Getrnge fix
5695  */
5696 tSCC zSvr4_Undeclared_GetrngeName[] =
5697      "svr4_undeclared_getrnge";
5698
5699 /*
5700  *  File name selection pattern
5701  */
5702 tSCC zSvr4_Undeclared_GetrngeList[] =
5703   "|regexp.h|";
5704 /*
5705  *  Machine/OS name selection pattern
5706  */
5707 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
5708
5709 /*
5710  *  content selection pattern - do fix if pattern found
5711  */
5712 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
5713        "getrnge";
5714
5715 /*
5716  *  content bypass pattern - skip fix if pattern found
5717  */
5718 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
5719        "static void getrnge";
5720
5721 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
5722 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
5723   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
5724   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
5725
5726 /*
5727  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
5728  */
5729 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
5730     "format",
5731     "%0\n\
5732 static int getrnge ();",
5733     "^static int[ \t]+size;",
5734     (char*)NULL };
5735
5736 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5737  *
5738  *  Description of Sysv68_String fix
5739  */
5740 tSCC zSysv68_StringName[] =
5741      "sysv68_string";
5742
5743 /*
5744  *  File name selection pattern
5745  */
5746 tSCC zSysv68_StringList[] =
5747   "|testing.h|string.h|";
5748 /*
5749  *  Machine/OS name selection pattern
5750  */
5751 #define apzSysv68_StringMachs (const char**)NULL
5752 #define SYSV68_STRING_TEST_CT  0
5753 #define aSysv68_StringTests   (tTestDesc*)NULL
5754
5755 /*
5756  *  Fix Command Arguments for Sysv68_String
5757  */
5758 static const char* apzSysv68_StringPatch[] = { "sed",
5759     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
5760     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
5761     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
5762     "-e", "/^extern char$/N",
5763     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
5764     "-e", "/^extern int$/N",
5765     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
5766     "-e", "/^\tstrncmp(),$/N",
5767     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
5768 extern unsigned int\\\n\
5769 \\2/",
5770     (char*)NULL };
5771
5772 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5773  *
5774  *  Description of Sysz_Stdlib_For_Sun fix
5775  */
5776 tSCC zSysz_Stdlib_For_SunName[] =
5777      "sysz_stdlib_for_sun";
5778
5779 /*
5780  *  File name selection pattern
5781  */
5782 tSCC zSysz_Stdlib_For_SunList[] =
5783   "|stdlib.h|";
5784 /*
5785  *  Machine/OS name selection pattern
5786  */
5787 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
5788
5789 /*
5790  *  content selection pattern - do fix if pattern found
5791  */
5792 tSCC zSysz_Stdlib_For_SunSelect0[] =
5793        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
5794
5795 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
5796 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5797   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5798
5799 /*
5800  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
5801  */
5802 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5803     "format",
5804     "void *\t%1(",
5805     (char*)NULL };
5806
5807 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5808  *
5809  *  Description of Thread_Keyword fix
5810  */
5811 tSCC zThread_KeywordName[] =
5812      "thread_keyword";
5813
5814 /*
5815  *  File name selection pattern
5816  */
5817 tSCC zThread_KeywordList[] =
5818   "|pthread.h|bits/sigthread.h|";
5819 /*
5820  *  Machine/OS name selection pattern
5821  */
5822 #define apzThread_KeywordMachs (const char**)NULL
5823
5824 /*
5825  *  content selection pattern - do fix if pattern found
5826  */
5827 tSCC zThread_KeywordSelect0[] =
5828        "([* ])__thread([,)])";
5829
5830 #define    THREAD_KEYWORD_TEST_CT  1
5831 static tTestDesc aThread_KeywordTests[] = {
5832   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
5833
5834 /*
5835  *  Fix Command Arguments for Thread_Keyword
5836  */
5837 static const char* apzThread_KeywordPatch[] = {
5838     "format",
5839     "%1__thr%2",
5840     (char*)NULL };
5841
5842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5843  *
5844  *  Description of Tinfo_Cplusplus fix
5845  */
5846 tSCC zTinfo_CplusplusName[] =
5847      "tinfo_cplusplus";
5848
5849 /*
5850  *  File name selection pattern
5851  */
5852 tSCC zTinfo_CplusplusList[] =
5853   "|tinfo.h|";
5854 /*
5855  *  Machine/OS name selection pattern
5856  */
5857 #define apzTinfo_CplusplusMachs (const char**)NULL
5858
5859 /*
5860  *  content selection pattern - do fix if pattern found
5861  */
5862 tSCC zTinfo_CplusplusSelect0[] =
5863        "[ \t]_cplusplus";
5864
5865 #define    TINFO_CPLUSPLUS_TEST_CT  1
5866 static tTestDesc aTinfo_CplusplusTests[] = {
5867   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5868
5869 /*
5870  *  Fix Command Arguments for Tinfo_Cplusplus
5871  */
5872 static const char* apzTinfo_CplusplusPatch[] = {
5873     "format",
5874     " __cplusplus",
5875     (char*)NULL };
5876
5877 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5878  *
5879  *  Description of Ultrix_Atexit_Param fix
5880  */
5881 tSCC zUltrix_Atexit_ParamName[] =
5882      "ultrix_atexit_param";
5883
5884 /*
5885  *  File name selection pattern
5886  */
5887 tSCC zUltrix_Atexit_ParamList[] =
5888   "|stdlib.h|";
5889 /*
5890  *  Machine/OS name selection pattern
5891  */
5892 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5893
5894 /*
5895  *  content selection pattern - do fix if pattern found
5896  */
5897 tSCC zUltrix_Atexit_ParamSelect0[] =
5898        "atexit\\(.*\\(\\)";
5899
5900 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
5901 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5902   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5903
5904 /*
5905  *  Fix Command Arguments for Ultrix_Atexit_Param
5906  */
5907 static const char* apzUltrix_Atexit_ParamPatch[] = {
5908     "format",
5909     "atexit( void (*__func)( void )",
5910     (char*)NULL };
5911
5912 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5913  *
5914  *  Description of Ultrix_Atof_Param fix
5915  */
5916 tSCC zUltrix_Atof_ParamName[] =
5917      "ultrix_atof_param";
5918
5919 /*
5920  *  File name selection pattern
5921  */
5922 tSCC zUltrix_Atof_ParamList[] =
5923   "|math.h|";
5924 /*
5925  *  Machine/OS name selection pattern
5926  */
5927 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5928
5929 /*
5930  *  content selection pattern - do fix if pattern found
5931  */
5932 tSCC zUltrix_Atof_ParamSelect0[] =
5933        "atof\\([ \t]*char";
5934
5935 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
5936 static tTestDesc aUltrix_Atof_ParamTests[] = {
5937   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5938
5939 /*
5940  *  Fix Command Arguments for Ultrix_Atof_Param
5941  */
5942 static const char* apzUltrix_Atof_ParamPatch[] = {
5943     "format",
5944     "atof(const char",
5945     (char*)NULL };
5946
5947 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5948  *
5949  *  Description of Ultrix_Const fix
5950  */
5951 tSCC zUltrix_ConstName[] =
5952      "ultrix_const";
5953
5954 /*
5955  *  File name selection pattern
5956  */
5957 tSCC zUltrix_ConstList[] =
5958   "|stdio.h|";
5959 /*
5960  *  Machine/OS name selection pattern
5961  */
5962 #define apzUltrix_ConstMachs (const char**)NULL
5963
5964 /*
5965  *  content selection pattern - do fix if pattern found
5966  */
5967 tSCC zUltrix_ConstSelect0[] =
5968        "perror\\( char \\*";
5969
5970 #define    ULTRIX_CONST_TEST_CT  1
5971 static tTestDesc aUltrix_ConstTests[] = {
5972   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
5973
5974 /*
5975  *  Fix Command Arguments for Ultrix_Const
5976  */
5977 static const char* apzUltrix_ConstPatch[] = {
5978     "format",
5979     "%1 const %3 *__",
5980     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5981     (char*)NULL };
5982
5983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5984  *
5985  *  Description of Ultrix_Const2 fix
5986  */
5987 tSCC zUltrix_Const2Name[] =
5988      "ultrix_const2";
5989
5990 /*
5991  *  File name selection pattern
5992  */
5993 tSCC zUltrix_Const2List[] =
5994   "|stdio.h|";
5995 /*
5996  *  Machine/OS name selection pattern
5997  */
5998 #define apzUltrix_Const2Machs (const char**)NULL
5999
6000 /*
6001  *  content selection pattern - do fix if pattern found
6002  */
6003 tSCC zUltrix_Const2Select0[] =
6004        "\\*fopen\\( char \\*";
6005
6006 #define    ULTRIX_CONST2_TEST_CT  1
6007 static tTestDesc aUltrix_Const2Tests[] = {
6008   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6009
6010 /*
6011  *  Fix Command Arguments for Ultrix_Const2
6012  */
6013 static const char* apzUltrix_Const2Patch[] = {
6014     "format",
6015     "%1( const char *%3, const char *",
6016     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6017     (char*)NULL };
6018
6019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6020  *
6021  *  Description of Ultrix_Const3 fix
6022  */
6023 tSCC zUltrix_Const3Name[] =
6024      "ultrix_const3";
6025
6026 /*
6027  *  File name selection pattern
6028  */
6029 tSCC zUltrix_Const3List[] =
6030   "|stdio.h|";
6031 /*
6032  *  Machine/OS name selection pattern
6033  */
6034 #define apzUltrix_Const3Machs (const char**)NULL
6035
6036 /*
6037  *  content selection pattern - do fix if pattern found
6038  */
6039 tSCC zUltrix_Const3Select0[] =
6040        "fdopen\\( .*, char \\*";
6041
6042 #define    ULTRIX_CONST3_TEST_CT  1
6043 static tTestDesc aUltrix_Const3Tests[] = {
6044   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6045
6046 /*
6047  *  Fix Command Arguments for Ultrix_Const3
6048  */
6049 static const char* apzUltrix_Const3Patch[] = {
6050     "format",
6051     "%1 const %3 *__",
6052     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6053     (char*)NULL };
6054
6055 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6056  *
6057  *  Description of Ultrix_Fix_Fixproto fix
6058  */
6059 tSCC zUltrix_Fix_FixprotoName[] =
6060      "ultrix_fix_fixproto";
6061
6062 /*
6063  *  File name selection pattern
6064  */
6065 tSCC zUltrix_Fix_FixprotoList[] =
6066   "|sys/utsname.h|";
6067 /*
6068  *  Machine/OS name selection pattern
6069  */
6070 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6071
6072 /*
6073  *  content selection pattern - do fix if pattern found
6074  */
6075 tSCC zUltrix_Fix_FixprotoSelect0[] =
6076        "ULTRIX";
6077
6078 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6079 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6080   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6081
6082 /*
6083  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6084  */
6085 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6086     "format",
6087     "struct utsname;\n\
6088 %0",
6089     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6090     (char*)NULL };
6091
6092 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6093  *
6094  *  Description of Ultrix_Ifdef fix
6095  */
6096 tSCC zUltrix_IfdefName[] =
6097      "ultrix_ifdef";
6098
6099 /*
6100  *  File name selection pattern
6101  */
6102 tSCC zUltrix_IfdefList[] =
6103   "|sys/file.h|";
6104 /*
6105  *  Machine/OS name selection pattern
6106  */
6107 #define apzUltrix_IfdefMachs (const char**)NULL
6108
6109 /*
6110  *  content selection pattern - do fix if pattern found
6111  */
6112 tSCC zUltrix_IfdefSelect0[] =
6113        "^#ifdef KERNEL[ \t]+&&";
6114
6115 #define    ULTRIX_IFDEF_TEST_CT  1
6116 static tTestDesc aUltrix_IfdefTests[] = {
6117   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6118
6119 /*
6120  *  Fix Command Arguments for Ultrix_Ifdef
6121  */
6122 static const char* apzUltrix_IfdefPatch[] = {
6123     "format",
6124     "#if defined(KERNEL) &&",
6125     (char*)NULL };
6126
6127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6128  *
6129  *  Description of Ultrix_Locale fix
6130  */
6131 tSCC zUltrix_LocaleName[] =
6132      "ultrix_locale";
6133
6134 /*
6135  *  File name selection pattern
6136  */
6137 tSCC zUltrix_LocaleList[] =
6138   "|locale.h|";
6139 /*
6140  *  Machine/OS name selection pattern
6141  */
6142 #define apzUltrix_LocaleMachs (const char**)NULL
6143
6144 /*
6145  *  content selection pattern - do fix if pattern found
6146  */
6147 tSCC zUltrix_LocaleSelect0[] =
6148        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6149
6150 #define    ULTRIX_LOCALE_TEST_CT  1
6151 static tTestDesc aUltrix_LocaleTests[] = {
6152   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6153
6154 /*
6155  *  Fix Command Arguments for Ultrix_Locale
6156  */
6157 static const char* apzUltrix_LocalePatch[] = {
6158     "wrap",
6159     (char*)NULL };
6160
6161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6162  *
6163  *  Description of Ultrix_Math_Ifdef fix
6164  */
6165 tSCC zUltrix_Math_IfdefName[] =
6166      "ultrix_math_ifdef";
6167
6168 /*
6169  *  File name selection pattern
6170  */
6171 tSCC zUltrix_Math_IfdefList[] =
6172   "|sys/limits.h|float.h|math.h|";
6173 /*
6174  *  Machine/OS name selection pattern
6175  */
6176 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6177
6178 /*
6179  *  content selection pattern - do fix if pattern found
6180  */
6181 tSCC zUltrix_Math_IfdefSelect0[] =
6182        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6183
6184 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6185 static tTestDesc aUltrix_Math_IfdefTests[] = {
6186   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6187
6188 /*
6189  *  Fix Command Arguments for Ultrix_Math_Ifdef
6190  */
6191 static const char* apzUltrix_Math_IfdefPatch[] = {
6192     "format",
6193     "%1",
6194     (char*)NULL };
6195
6196 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6197  *
6198  *  Description of Ultrix_Nested_Ioctl fix
6199  */
6200 tSCC zUltrix_Nested_IoctlName[] =
6201      "ultrix_nested_ioctl";
6202
6203 /*
6204  *  File name selection pattern
6205  */
6206 tSCC zUltrix_Nested_IoctlList[] =
6207   "|sys/ioctl.h|";
6208 /*
6209  *  Machine/OS name selection pattern
6210  */
6211 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6212
6213 /*
6214  *  content selection pattern - do fix if pattern found
6215  */
6216 tSCC zUltrix_Nested_IoctlSelect0[] =
6217        "^/\\* #define SIOCSCREEN";
6218
6219 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6220 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6221   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6222
6223 /*
6224  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6225  */
6226 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6227     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6228     (char*)NULL };
6229
6230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6231  *
6232  *  Description of Ultrix_Nested_Svc fix
6233  */
6234 tSCC zUltrix_Nested_SvcName[] =
6235      "ultrix_nested_svc";
6236
6237 /*
6238  *  File name selection pattern
6239  */
6240 tSCC zUltrix_Nested_SvcList[] =
6241   "|rpc/svc.h|";
6242 /*
6243  *  Machine/OS name selection pattern
6244  */
6245 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6246
6247 /*
6248  *  content selection pattern - do fix if pattern found
6249  */
6250 tSCC zUltrix_Nested_SvcSelect0[] =
6251        "^ \\*[ \t]*int protocol;  */\\*";
6252
6253 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6254 static tTestDesc aUltrix_Nested_SvcTests[] = {
6255   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6256
6257 /*
6258  *  Fix Command Arguments for Ultrix_Nested_Svc
6259  */
6260 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6261     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6262     (char*)NULL };
6263
6264 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6265  *
6266  *  Description of Ultrix_Stat fix
6267  */
6268 tSCC zUltrix_StatName[] =
6269      "ultrix_stat";
6270
6271 /*
6272  *  File name selection pattern
6273  */
6274 tSCC zUltrix_StatList[] =
6275   "|sys/stat.h|";
6276 /*
6277  *  Machine/OS name selection pattern
6278  */
6279 #define apzUltrix_StatMachs (const char**)NULL
6280
6281 /*
6282  *  content selection pattern - do fix if pattern found
6283  */
6284 tSCC zUltrix_StatSelect0[] =
6285        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6286
6287 #define    ULTRIX_STAT_TEST_CT  1
6288 static tTestDesc aUltrix_StatTests[] = {
6289   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6290
6291 /*
6292  *  Fix Command Arguments for Ultrix_Stat
6293  */
6294 static const char* apzUltrix_StatPatch[] = { "sed",
6295     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6296 \\\n\
6297 /* macro to test for symbolic link */\\\n\
6298 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6299     "-e", "/^[ \t]*fstat(),$/a\\\n\
6300 \tlstat(),\n",
6301     (char*)NULL };
6302
6303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6304  *
6305  *  Description of Ultrix_Static fix
6306  */
6307 tSCC zUltrix_StaticName[] =
6308      "ultrix_static";
6309
6310 /*
6311  *  File name selection pattern
6312  */
6313 tSCC zUltrix_StaticList[] =
6314   "|machine/cpu.h|";
6315 /*
6316  *  Machine/OS name selection pattern
6317  */
6318 #define apzUltrix_StaticMachs (const char**)NULL
6319
6320 /*
6321  *  content selection pattern - do fix if pattern found
6322  */
6323 tSCC zUltrix_StaticSelect0[] =
6324        "#include \"r[34]_cpu";
6325
6326 #define    ULTRIX_STATIC_TEST_CT  1
6327 static tTestDesc aUltrix_StaticTests[] = {
6328   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
6329
6330 /*
6331  *  Fix Command Arguments for Ultrix_Static
6332  */
6333 static const char* apzUltrix_StaticPatch[] = { "sed",
6334     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
6335     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
6336     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
6337     (char*)NULL };
6338
6339 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6340  *
6341  *  Description of Ultrix_Stdlib fix
6342  */
6343 tSCC zUltrix_StdlibName[] =
6344      "ultrix_stdlib";
6345
6346 /*
6347  *  File name selection pattern
6348  */
6349 tSCC zUltrix_StdlibList[] =
6350   "|stdlib.h|";
6351 /*
6352  *  Machine/OS name selection pattern
6353  */
6354 #define apzUltrix_StdlibMachs (const char**)NULL
6355
6356 /*
6357  *  content selection pattern - do fix if pattern found
6358  */
6359 tSCC zUltrix_StdlibSelect0[] =
6360        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
6361
6362 #define    ULTRIX_STDLIB_TEST_CT  1
6363 static tTestDesc aUltrix_StdlibTests[] = {
6364   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
6365
6366 /*
6367  *  Fix Command Arguments for Ultrix_Stdlib
6368  */
6369 static const char* apzUltrix_StdlibPatch[] = { "sed",
6370     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
6371 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
6372 void\t\tunsetenv( const char *__name );\\\n\
6373 int\t\tputenv( char *__s );\n",
6374     "-e", "/^char.*getenv();.*$/a\\\n\
6375 int\tsetenv();\\\n\
6376 void\tunsetenv();\\\n\
6377 int\tputenv();\n",
6378     (char*)NULL };
6379
6380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6381  *
6382  *  Description of Ultrix_Strings fix
6383  */
6384 tSCC zUltrix_StringsName[] =
6385      "ultrix_strings";
6386
6387 /*
6388  *  File name selection pattern
6389  */
6390 tSCC zUltrix_StringsList[] =
6391   "|strings.h|";
6392 /*
6393  *  Machine/OS name selection pattern
6394  */
6395 #define apzUltrix_StringsMachs (const char**)NULL
6396
6397 /*
6398  *  content selection pattern - do fix if pattern found
6399  */
6400 tSCC zUltrix_StringsSelect0[] =
6401        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6402
6403 #define    ULTRIX_STRINGS_TEST_CT  1
6404 static tTestDesc aUltrix_StringsTests[] = {
6405   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
6406
6407 /*
6408  *  Fix Command Arguments for Ultrix_Strings
6409  */
6410 static const char* apzUltrix_StringsPatch[] = {
6411     "wrap",
6412     (char*)NULL };
6413
6414 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6415  *
6416  *  Description of Ultrix_Strings2 fix
6417  */
6418 tSCC zUltrix_Strings2Name[] =
6419      "ultrix_strings2";
6420
6421 /*
6422  *  File name selection pattern
6423  */
6424 tSCC zUltrix_Strings2List[] =
6425   "|strings.h|";
6426 /*
6427  *  Machine/OS name selection pattern
6428  */
6429 #define apzUltrix_Strings2Machs (const char**)NULL
6430
6431 /*
6432  *  content selection pattern - do fix if pattern found
6433  */
6434 tSCC zUltrix_Strings2Select0[] =
6435        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6436
6437 #define    ULTRIX_STRINGS2_TEST_CT  1
6438 static tTestDesc aUltrix_Strings2Tests[] = {
6439   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
6440
6441 /*
6442  *  Fix Command Arguments for Ultrix_Strings2
6443  */
6444 static const char* apzUltrix_Strings2Patch[] = { "sed",
6445     "-e", "/^.*strncmp( const .* );.*/a\\\n\
6446 \\\n\
6447 extern int\\\n\
6448 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
6449 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
6450     "-e", "/^.*strncmp();.*/a\\\n\
6451 extern int\\\n\
6452 \tstrcasecmp(),\\\n\
6453 \tstrncasecmp();\n",
6454     (char*)NULL };
6455
6456 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6457  *
6458  *  Description of Ultrix_Sys_Time fix
6459  */
6460 tSCC zUltrix_Sys_TimeName[] =
6461      "ultrix_sys_time";
6462
6463 /*
6464  *  File name selection pattern
6465  */
6466 tSCC zUltrix_Sys_TimeList[] =
6467   "|sys/time.h|";
6468 /*
6469  *  Machine/OS name selection pattern
6470  */
6471 #define apzUltrix_Sys_TimeMachs (const char**)NULL
6472
6473 /*
6474  *  content selection pattern - do fix if pattern found
6475  */
6476 tSCC zUltrix_Sys_TimeSelect0[] =
6477        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
6478
6479 #define    ULTRIX_SYS_TIME_TEST_CT  1
6480 static tTestDesc aUltrix_Sys_TimeTests[] = {
6481   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
6482
6483 /*
6484  *  Fix Command Arguments for Ultrix_Sys_Time
6485  */
6486 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
6487     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
6488 \\\n\
6489 extern int adjtime(struct timeval *, struct timeval *);\\\n\
6490 extern int getitimer(int, struct itimerval *);\\\n\
6491 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
6492 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
6493 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
6494 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
6495 extern int stime(const time_t *);\\\n\
6496 extern int utimes(const char *, const struct timeval[2]);\\\n\
6497 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
6498     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
6499 extern\tint adjtime();\\\n\
6500 extern\tint getitimer();\\\n\
6501 extern\tint setitimer();\\\n\
6502 extern\tint gettimeofday();\\\n\
6503 extern\tint settimeofday();\\\n\
6504 extern\tvoid profil();\\\n\
6505 extern\tint stime();\\\n\
6506 extern\tint utimes();\\\n\
6507 extern\tint select();\n",
6508     (char*)NULL };
6509
6510 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6511  *
6512  *  Description of Ultrix_Unistd fix
6513  */
6514 tSCC zUltrix_UnistdName[] =
6515      "ultrix_unistd";
6516
6517 /*
6518  *  File name selection pattern
6519  */
6520 tSCC zUltrix_UnistdList[] =
6521   "|unistd.h|";
6522 /*
6523  *  Machine/OS name selection pattern
6524  */
6525 #define apzUltrix_UnistdMachs (const char**)NULL
6526
6527 /*
6528  *  content selection pattern - do fix if pattern found
6529  */
6530 tSCC zUltrix_UnistdSelect0[] =
6531        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
6532
6533 #define    ULTRIX_UNISTD_TEST_CT  1
6534 static tTestDesc aUltrix_UnistdTests[] = {
6535   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
6536
6537 /*
6538  *  Fix Command Arguments for Ultrix_Unistd
6539  */
6540 static const char* apzUltrix_UnistdPatch[] = { "sed",
6541     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
6542 \tgetpagesize(),\n",
6543     "-e", "/^[ \t]*fork(),.*$/a\\\n\
6544 \tvfork(),\n",
6545     (char*)NULL };
6546
6547 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6548  *
6549  *  Description of Undefine_Null fix
6550  */
6551 tSCC zUndefine_NullName[] =
6552      "undefine_null";
6553
6554 /*
6555  *  File name selection pattern
6556  */
6557 #define zUndefine_NullList (char*)NULL
6558 /*
6559  *  Machine/OS name selection pattern
6560  */
6561 #define apzUndefine_NullMachs (const char**)NULL
6562
6563 /*
6564  *  content selection pattern - do fix if pattern found
6565  */
6566 tSCC zUndefine_NullSelect0[] =
6567        "^#[ \t]*define[ \t]+NULL[ \t]";
6568
6569 /*
6570  *  content bypass pattern - skip fix if pattern found
6571  */
6572 tSCC zUndefine_NullBypass0[] =
6573        "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
6574
6575 #define    UNDEFINE_NULL_TEST_CT  2
6576 static tTestDesc aUndefine_NullTests[] = {
6577   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
6578   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
6579
6580 /*
6581  *  Fix Command Arguments for Undefine_Null
6582  */
6583 static const char* apzUndefine_NullPatch[] = {
6584     "format",
6585     "#ifndef NULL\n\
6586 #define NULL%1\n\
6587 #endif\n",
6588     "^#[ \t]*define[ \t]+NULL([^\r\n\
6589 ]+)[\r]*\n",
6590     (char*)NULL };
6591
6592 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6593  *
6594  *  Description of Unicosmk_Restrict fix
6595  */
6596 tSCC zUnicosmk_RestrictName[] =
6597      "unicosmk_restrict";
6598
6599 /*
6600  *  File name selection pattern
6601  */
6602 tSCC zUnicosmk_RestrictList[] =
6603   "|stdio.h|stdlib.h|wchar.h|";
6604 /*
6605  *  Machine/OS name selection pattern
6606  */
6607 tSCC* apzUnicosmk_RestrictMachs[] = {
6608         "*-*-unicosmk*",
6609         (const char*)NULL };
6610
6611 /*
6612  *  content selection pattern - do fix if pattern found
6613  */
6614 tSCC zUnicosmk_RestrictSelect0[] =
6615        "(\\*[ \t]*)restrict([ \t]+)";
6616
6617 #define    UNICOSMK_RESTRICT_TEST_CT  1
6618 static tTestDesc aUnicosmk_RestrictTests[] = {
6619   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
6620
6621 /*
6622  *  Fix Command Arguments for Unicosmk_Restrict
6623  */
6624 static const char* apzUnicosmk_RestrictPatch[] = {
6625     "format",
6626     "%1__restrict__%2",
6627     (char*)NULL };
6628
6629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6630  *
6631  *  Description of Uw7_Byteorder_Fix fix
6632  */
6633 tSCC zUw7_Byteorder_FixName[] =
6634      "uw7_byteorder_fix";
6635
6636 /*
6637  *  File name selection pattern
6638  */
6639 tSCC zUw7_Byteorder_FixList[] =
6640   "|arpa/inet.h|";
6641 /*
6642  *  Machine/OS name selection pattern
6643  */
6644 tSCC* apzUw7_Byteorder_FixMachs[] = {
6645         "*-*-sysv4*",
6646         "i?86-*-sysv5*",
6647         "i?86-*-udk*",
6648         "i?86-*-solaris2.[0-4]",
6649         "powerpcle-*-solaris2.[0-4]",
6650         "sparc-*-solaris2.[0-4]",
6651         (const char*)NULL };
6652
6653 /*
6654  *  content selection pattern - do fix if pattern found
6655  */
6656 tSCC zUw7_Byteorder_FixSelect0[] =
6657        "in_port_t";
6658
6659 /*
6660  *  perform the 'test' shell command - do fix on success
6661  */
6662 tSCC zUw7_Byteorder_FixTest0[] =
6663        "-f sys/byteorder.h";
6664
6665 #define    UW7_BYTEORDER_FIX_TEST_CT  2
6666 static tTestDesc aUw7_Byteorder_FixTests[] = {
6667   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
6668   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
6669
6670 /*
6671  *  Fix Command Arguments for Uw7_Byteorder_Fix
6672  */
6673 static const char* apzUw7_Byteorder_FixPatch[] = {
6674     "format",
6675     "",
6676     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
6677     (char*)NULL };
6678
6679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6680  *
6681  *  Description of Va_I960_Macro fix
6682  */
6683 tSCC zVa_I960_MacroName[] =
6684      "va_i960_macro";
6685
6686 /*
6687  *  File name selection pattern
6688  */
6689 tSCC zVa_I960_MacroList[] =
6690   "|arch/i960/archI960.h|";
6691 /*
6692  *  Machine/OS name selection pattern
6693  */
6694 #define apzVa_I960_MacroMachs (const char**)NULL
6695
6696 /*
6697  *  content selection pattern - do fix if pattern found
6698  */
6699 tSCC zVa_I960_MacroSelect0[] =
6700        "__(vsiz|vali|vpad|alignof__)";
6701
6702 #define    VA_I960_MACRO_TEST_CT  1
6703 static tTestDesc aVa_I960_MacroTests[] = {
6704   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
6705
6706 /*
6707  *  Fix Command Arguments for Va_I960_Macro
6708  */
6709 static const char* apzVa_I960_MacroPatch[] = {
6710     "format",
6711     "__vx%1",
6712     (char*)NULL };
6713
6714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6715  *
6716  *  Description of Void_Null fix
6717  */
6718 tSCC zVoid_NullName[] =
6719      "void_null";
6720
6721 /*
6722  *  File name selection pattern
6723  */
6724 tSCC zVoid_NullList[] =
6725   "|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|";
6726 /*
6727  *  Machine/OS name selection pattern
6728  */
6729 #define apzVoid_NullMachs (const char**)NULL
6730
6731 /*
6732  *  content selection pattern - do fix if pattern found
6733  */
6734 tSCC zVoid_NullSelect0[] =
6735        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
6736
6737 /*
6738  *  content bypass pattern - skip fix if pattern found
6739  */
6740 tSCC zVoid_NullBypass0[] =
6741        "__cplusplus";
6742
6743 #define    VOID_NULL_TEST_CT  2
6744 static tTestDesc aVoid_NullTests[] = {
6745   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
6746   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
6747
6748 /*
6749  *  Fix Command Arguments for Void_Null
6750  */
6751 static const char* apzVoid_NullPatch[] = {
6752     "format",
6753     "#define NULL 0",
6754     (char*)NULL };
6755
6756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6757  *
6758  *  Description of Vxworks_Gcc_Problem fix
6759  */
6760 tSCC zVxworks_Gcc_ProblemName[] =
6761      "vxworks_gcc_problem";
6762
6763 /*
6764  *  File name selection pattern
6765  */
6766 tSCC zVxworks_Gcc_ProblemList[] =
6767   "|types/vxTypesBase.h|";
6768 /*
6769  *  Machine/OS name selection pattern
6770  */
6771 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
6772
6773 /*
6774  *  content selection pattern - do fix if pattern found
6775  */
6776 tSCC zVxworks_Gcc_ProblemSelect0[] =
6777        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
6778
6779 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
6780 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
6781   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
6782
6783 /*
6784  *  Fix Command Arguments for Vxworks_Gcc_Problem
6785  */
6786 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
6787     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
6788     "-e", "/[ \t]size_t/i\\\n\
6789 #ifndef _GCC_SIZE_T\\\n\
6790 #define _GCC_SIZE_T\n",
6791     "-e", "/[ \t]size_t/a\\\n\
6792 #endif\n",
6793     "-e", "/[ \t]ptrdiff_t/i\\\n\
6794 #ifndef _GCC_PTRDIFF_T\\\n\
6795 #define _GCC_PTRDIFF_T\n",
6796     "-e", "/[ \t]ptrdiff_t/a\\\n\
6797 #endif\n",
6798     "-e", "/[ \t]wchar_t/i\\\n\
6799 #ifndef _GCC_WCHAR_T\\\n\
6800 #define _GCC_WCHAR_T\n",
6801     "-e", "/[ \t]wchar_t/a\\\n\
6802 #endif\n",
6803     (char*)NULL };
6804
6805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6806  *
6807  *  Description of Vxworks_Needs_Vxtypes fix
6808  */
6809 tSCC zVxworks_Needs_VxtypesName[] =
6810      "vxworks_needs_vxtypes";
6811
6812 /*
6813  *  File name selection pattern
6814  */
6815 tSCC zVxworks_Needs_VxtypesList[] =
6816   "|time.h|";
6817 /*
6818  *  Machine/OS name selection pattern
6819  */
6820 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
6821
6822 /*
6823  *  content selection pattern - do fix if pattern found
6824  */
6825 tSCC zVxworks_Needs_VxtypesSelect0[] =
6826        "uint_t([ \t]+_clocks_per_sec)";
6827
6828 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
6829 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
6830   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
6831
6832 /*
6833  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
6834  */
6835 static const char* apzVxworks_Needs_VxtypesPatch[] = {
6836     "format",
6837     "unsigned int%1",
6838     (char*)NULL };
6839
6840 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6841  *
6842  *  Description of Vxworks_Needs_Vxworks fix
6843  */
6844 tSCC zVxworks_Needs_VxworksName[] =
6845      "vxworks_needs_vxworks";
6846
6847 /*
6848  *  File name selection pattern
6849  */
6850 tSCC zVxworks_Needs_VxworksList[] =
6851   "|sys/stat.h|";
6852 /*
6853  *  Machine/OS name selection pattern
6854  */
6855 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
6856
6857 /*
6858  *  content selection pattern - do fix if pattern found
6859  */
6860 tSCC zVxworks_Needs_VxworksSelect0[] =
6861        "#[ \t]define[ \t]+__INCstath";
6862
6863 /*
6864  *  perform the 'test' shell command - do fix on success
6865  */
6866 tSCC zVxworks_Needs_VxworksTest0[] =
6867        " -r types/vxTypesOld.h";
6868 tSCC zVxworks_Needs_VxworksTest1[] =
6869        " -n \"`egrep '#include' $file`\"";
6870 tSCC zVxworks_Needs_VxworksTest2[] =
6871        " -n \"`egrep ULONG $file`\"";
6872
6873 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
6874 static tTestDesc aVxworks_Needs_VxworksTests[] = {
6875   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
6876   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
6877   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
6878   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
6879
6880 /*
6881  *  Fix Command Arguments for Vxworks_Needs_Vxworks
6882  */
6883 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
6884     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
6885 #include <types/vxTypesOld.h>\n",
6886     (char*)NULL };
6887
6888 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6889  *
6890  *  Description of Vxworks_Time fix
6891  */
6892 tSCC zVxworks_TimeName[] =
6893      "vxworks_time";
6894
6895 /*
6896  *  File name selection pattern
6897  */
6898 tSCC zVxworks_TimeList[] =
6899   "|time.h|";
6900 /*
6901  *  Machine/OS name selection pattern
6902  */
6903 #define apzVxworks_TimeMachs (const char**)NULL
6904
6905 /*
6906  *  content selection pattern - do fix if pattern found
6907  */
6908 tSCC zVxworks_TimeSelect0[] =
6909        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
6910
6911 /*
6912  *  perform the 'test' shell command - do fix on success
6913  */
6914 tSCC zVxworks_TimeTest0[] =
6915        " -r vxWorks.h";
6916
6917 #define    VXWORKS_TIME_TEST_CT  2
6918 static tTestDesc aVxworks_TimeTests[] = {
6919   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
6920   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
6921
6922 /*
6923  *  Fix Command Arguments for Vxworks_Time
6924  */
6925 static const char* apzVxworks_TimePatch[] = {
6926     "format",
6927     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
6928 #ifdef __cplusplus\n\
6929 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
6930 #else\n\
6931 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
6932 #endif\n\
6933 #define __gcc_VOIDFUNCPTR_defined\n\
6934 #endif\n\
6935 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
6936     (char*)NULL };
6937
6938 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6939  *
6940  *  Description of Windiss_Math1 fix
6941  */
6942 tSCC zWindiss_Math1Name[] =
6943      "windiss_math1";
6944
6945 /*
6946  *  File name selection pattern
6947  */
6948 tSCC zWindiss_Math1List[] =
6949   "|math.h|";
6950 /*
6951  *  Machine/OS name selection pattern
6952  */
6953 tSCC* apzWindiss_Math1Machs[] = {
6954         "*-*-windiss",
6955         (const char*)NULL };
6956 #define WINDISS_MATH1_TEST_CT  0
6957 #define aWindiss_Math1Tests   (tTestDesc*)NULL
6958
6959 /*
6960  *  Fix Command Arguments for Windiss_Math1
6961  */
6962 static const char* apzWindiss_Math1Patch[] = { "sed",
6963     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
6964     (char*)NULL };
6965
6966 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6967  *
6968  *  Description of Windiss_Math2 fix
6969  */
6970 tSCC zWindiss_Math2Name[] =
6971      "windiss_math2";
6972
6973 /*
6974  *  File name selection pattern
6975  */
6976 tSCC zWindiss_Math2List[] =
6977   "|math.h|";
6978 /*
6979  *  Machine/OS name selection pattern
6980  */
6981 tSCC* apzWindiss_Math2Machs[] = {
6982         "*-*-windiss",
6983         (const char*)NULL };
6984 #define WINDISS_MATH2_TEST_CT  0
6985 #define aWindiss_Math2Tests   (tTestDesc*)NULL
6986
6987 /*
6988  *  Fix Command Arguments for Windiss_Math2
6989  */
6990 static const char* apzWindiss_Math2Patch[] = { "sed",
6991     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
6992     (char*)NULL };
6993
6994 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6995  *
6996  *  Description of Windiss_Valist fix
6997  */
6998 tSCC zWindiss_ValistName[] =
6999      "windiss_valist";
7000
7001 /*
7002  *  File name selection pattern
7003  */
7004 #define zWindiss_ValistList (char*)NULL
7005 /*
7006  *  Machine/OS name selection pattern
7007  */
7008 tSCC* apzWindiss_ValistMachs[] = {
7009         "*-*-windiss",
7010         (const char*)NULL };
7011
7012 /*
7013  *  content selection pattern - do fix if pattern found
7014  */
7015 tSCC zWindiss_ValistSelect0[] =
7016        "(#include.*)diab/va_list.h";
7017
7018 #define    WINDISS_VALIST_TEST_CT  1
7019 static tTestDesc aWindiss_ValistTests[] = {
7020   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
7021
7022 /*
7023  *  Fix Command Arguments for Windiss_Valist
7024  */
7025 static const char* apzWindiss_ValistPatch[] = { "sed",
7026     "-e", "s|diab/va_list.h|stdarg.h|",
7027     (char*)NULL };
7028
7029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7030  *
7031  *  Description of X11_Class fix
7032  */
7033 tSCC zX11_ClassName[] =
7034      "x11_class";
7035
7036 /*
7037  *  File name selection pattern
7038  */
7039 tSCC zX11_ClassList[] =
7040   "|X11/ShellP.h|";
7041 /*
7042  *  Machine/OS name selection pattern
7043  */
7044 #define apzX11_ClassMachs (const char**)NULL
7045
7046 /*
7047  *  content selection pattern - do fix if pattern found
7048  */
7049 tSCC zX11_ClassSelect0[] =
7050        "^([ \t]*char \\*)class;(.*)";
7051
7052 /*
7053  *  content bypass pattern - skip fix if pattern found
7054  */
7055 tSCC zX11_ClassBypass0[] =
7056        "__cplusplus";
7057
7058 #define    X11_CLASS_TEST_CT  2
7059 static tTestDesc aX11_ClassTests[] = {
7060   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7061   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7062
7063 /*
7064  *  Fix Command Arguments for X11_Class
7065  */
7066 static const char* apzX11_ClassPatch[] = {
7067     "format",
7068     "#ifdef __cplusplus\n\
7069 %1c_class;%2\n\
7070 #else\n\
7071 %1class;%2\n\
7072 #endif",
7073     (char*)NULL };
7074
7075 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7076  *
7077  *  Description of X11_Class_Usage fix
7078  */
7079 tSCC zX11_Class_UsageName[] =
7080      "x11_class_usage";
7081
7082 /*
7083  *  File name selection pattern
7084  */
7085 tSCC zX11_Class_UsageList[] =
7086   "|Xm/BaseClassI.h|";
7087 /*
7088  *  Machine/OS name selection pattern
7089  */
7090 #define apzX11_Class_UsageMachs (const char**)NULL
7091
7092 /*
7093  *  content selection pattern - do fix if pattern found
7094  */
7095 tSCC zX11_Class_UsageSelect0[] =
7096        " class\\)";
7097
7098 /*
7099  *  content bypass pattern - skip fix if pattern found
7100  */
7101 tSCC zX11_Class_UsageBypass0[] =
7102        "__cplusplus";
7103
7104 #define    X11_CLASS_USAGE_TEST_CT  2
7105 static tTestDesc aX11_Class_UsageTests[] = {
7106   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7107   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7108
7109 /*
7110  *  Fix Command Arguments for X11_Class_Usage
7111  */
7112 static const char* apzX11_Class_UsagePatch[] = {
7113     "format",
7114     " c_class)",
7115     (char*)NULL };
7116
7117 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7118  *
7119  *  Description of X11_New fix
7120  */
7121 tSCC zX11_NewName[] =
7122      "x11_new";
7123
7124 /*
7125  *  File name selection pattern
7126  */
7127 tSCC zX11_NewList[] =
7128   "|Xm/Traversal.h|";
7129 /*
7130  *  Machine/OS name selection pattern
7131  */
7132 #define apzX11_NewMachs (const char**)NULL
7133
7134 /*
7135  *  content bypass pattern - skip fix if pattern found
7136  */
7137 tSCC zX11_NewBypass0[] =
7138        "__cplusplus";
7139
7140 #define    X11_NEW_TEST_CT  1
7141 static tTestDesc aX11_NewTests[] = {
7142   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7143
7144 /*
7145  *  Fix Command Arguments for X11_New
7146  */
7147 static const char* apzX11_NewPatch[] = { "sed",
7148     "-e", "/Widget\told, new;/i\\\n\
7149 #ifdef __cplusplus\\\n\
7150 \tWidget\told, c_new;\\\n\
7151 #else\n",
7152     "-e", "/Widget\told, new;/a\\\n\
7153 #endif\n",
7154     "-e", "s/Widget new,/Widget c_new,/g",
7155     (char*)NULL };
7156
7157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7158  *
7159  *  Description of X11_Sprintf fix
7160  */
7161 tSCC zX11_SprintfName[] =
7162      "x11_sprintf";
7163
7164 /*
7165  *  File name selection pattern
7166  */
7167 tSCC zX11_SprintfList[] =
7168   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7169 /*
7170  *  Machine/OS name selection pattern
7171  */
7172 #define apzX11_SprintfMachs (const char**)NULL
7173
7174 /*
7175  *  content selection pattern - do fix if pattern found
7176  */
7177 tSCC zX11_SprintfSelect0[] =
7178        "^extern char \\*\tsprintf\\(\\);$";
7179
7180 #define    X11_SPRINTF_TEST_CT  1
7181 static tTestDesc aX11_SprintfTests[] = {
7182   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7183
7184 /*
7185  *  Fix Command Arguments for X11_Sprintf
7186  */
7187 static const char* apzX11_SprintfPatch[] = {
7188     "format",
7189     "#ifndef __STDC__\n\
7190 %0\n\
7191 #endif /* !defined __STDC__ */",
7192     (char*)NULL };
7193
7194
7195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7196  *
7197  *  List of all fixes
7198  */
7199 #define REGEX_COUNT          206
7200 #define MACH_LIST_SIZE_LIMIT 261
7201 #define FIX_COUNT            181
7202
7203 /*
7204  *  Enumerate the fixes
7205  */
7206 typedef enum {
7207     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7208     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7209     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7210     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7211     AAB_SUN_MEMCPY_FIXIDX,
7212     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7213     AAB_ULTRIX_LIMITS_FIXIDX,
7214     AAB_ULTRIX_MEMORY_FIXIDX,
7215     AAB_ULTRIX_STRING_FIXIDX,
7216     AIX_PTHREAD_FIXIDX,
7217     AIX_SYSMACHINE_FIXIDX,
7218     AIX_SYSWAIT_FIXIDX,
7219     AIX_SYSWAIT_2_FIXIDX,
7220     AIX_VOLATILE_FIXIDX,
7221     ALPHA___ASSERT_FIXIDX,
7222     ALPHA___EXTERN_PREFIX_FIXIDX,
7223     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7224     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7225     ALPHA_ASSERT_FIXIDX,
7226     ALPHA_BAD_LVAL_FIXIDX,
7227     ALPHA_GETOPT_FIXIDX,
7228     ALPHA_PARENS_FIXIDX,
7229     ALPHA_PTHREAD_FIXIDX,
7230     ALPHA_PTHREAD_GCC_FIXIDX,
7231     ALPHA_SBRK_FIXIDX,
7232     ALPHA_WCHAR_FIXIDX,
7233     AVOID_BOOL_DEFINE_FIXIDX,
7234     AVOID_BOOL_TYPE_FIXIDX,
7235     AVOID_WCHAR_T_TYPE_FIXIDX,
7236     BAD_STRUCT_TERM_FIXIDX,
7237     BADQUOTE_FIXIDX,
7238     BROKEN_ASSERT_STDIO_FIXIDX,
7239     BROKEN_ASSERT_STDLIB_FIXIDX,
7240     BROKEN_CABS_FIXIDX,
7241     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7242     CTRL_QUOTES_DEF_FIXIDX,
7243     CTRL_QUOTES_USE_FIXIDX,
7244     CXX_UNREADY_FIXIDX,
7245     DARWIN_GCC4_BREAKAGE_FIXIDX,
7246     DARWIN_PRIVATE_EXTERN_FIXIDX,
7247     DEC_INTERN_ASM_FIXIDX,
7248     DJGPP_WCHAR_H_FIXIDX,
7249     ECD_CURSOR_FIXIDX,
7250     EXCEPTION_STRUCTURE_FIXIDX,
7251     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7252     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7253     GNU_TYPES_FIXIDX,
7254     HP_INLINE_FIXIDX,
7255     HP_SYSFILE_FIXIDX,
7256     HPUX10_CPP_POW_INLINE_FIXIDX,
7257     HPUX11_CPP_POW_INLINE_FIXIDX,
7258     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7259     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7260     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7261     HPUX11_ABS_FIXIDX,
7262     HPUX11_FABSF_FIXIDX,
7263     HPUX11_SIZE_T_FIXIDX,
7264     HPUX11_SNPRINTF_FIXIDX,
7265     HPUX11_UINT32_C_FIXIDX,
7266     HPUX11_VSNPRINTF_FIXIDX,
7267     HPUX8_BOGUS_INLINES_FIXIDX,
7268     HPUX_CTYPE_MACROS_FIXIDX,
7269     HPUX_LONG_DOUBLE_FIXIDX,
7270     HPUX_MAXINT_FIXIDX,
7271     HPUX_SYSTIME_FIXIDX,
7272     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7273     IO_QUOTES_DEF_FIXIDX,
7274     IO_QUOTES_USE_FIXIDX,
7275     IP_MISSING_SEMI_FIXIDX,
7276     IRIX___RESTRICT_FIXIDX,
7277     IRIX___GENERIC1_FIXIDX,
7278     IRIX___GENERIC2_FIXIDX,
7279     IRIX_ASM_APOSTROPHE_FIXIDX,
7280     IRIX_LIMITS_CONST_FIXIDX,
7281     IRIX_SOCKLEN_T_FIXIDX,
7282     IRIX_STDIO_VA_LIST_FIXIDX,
7283     IRIX_WCSFTIME_FIXIDX,
7284     ISC_FMOD_FIXIDX,
7285     ISC_OMITS_WITH_STDC_FIXIDX,
7286     KANDR_CONCAT_FIXIDX,
7287     LIBC1_G_VA_LIST_FIXIDX,
7288     LIBC1_IFDEFD_MEMX_FIXIDX,
7289     LIMITS_IFNDEFS_FIXIDX,
7290     LINUX_IA64_UCONTEXT_FIXIDX,
7291     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7292     LYNXOS_MISSING_PUTENV_FIXIDX,
7293     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7294     MACHINE_NAME_FIXIDX,
7295     MATH_EXCEPTION_FIXIDX,
7296     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7297     MATH_HUGE_VAL_IFNDEF_FIXIDX,
7298     NESTED_AUTH_DES_FIXIDX,
7299     NESTED_MOTOROLA_FIXIDX,
7300     NESTED_SYS_LIMITS_FIXIDX,
7301     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7302     NEXT_MATH_PREFIX_FIXIDX,
7303     NEXT_TEMPLATE_FIXIDX,
7304     NEXT_VOLITILE_FIXIDX,
7305     NEXT_WAIT_UNION_FIXIDX,
7306     NODEENT_SYNTAX_FIXIDX,
7307     OBSTACK_LVALUE_CAST_FIXIDX,
7308     OSF_NAMESPACE_A_FIXIDX,
7309     OSF_NAMESPACE_C_FIXIDX,
7310     PTHREAD_PAGE_SIZE_FIXIDX,
7311     READ_RET_TYPE_FIXIDX,
7312     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7313     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7314     RS6000_DOUBLE_FIXIDX,
7315     RS6000_FCHMOD_FIXIDX,
7316     RS6000_PARAM_FIXIDX,
7317     SCO_MATH_FIXIDX,
7318     SCO_REGSET_FIXIDX,
7319     SCO_STATIC_FUNC_FIXIDX,
7320     SCO_UTIME_FIXIDX,
7321     SOLARIS_MUTEX_INIT_1_FIXIDX,
7322     SOLARIS_MUTEX_INIT_2_FIXIDX,
7323     SOLARIS_SOCKET_FIXIDX,
7324     SOLARIS_STDIO_TAG_FIXIDX,
7325     SOLARIS_UNISTD_FIXIDX,
7326     SOLARIS_WIDEC_FIXIDX,
7327     STATSSWTCH_FIXIDX,
7328     STDIO_STDARG_H_FIXIDX,
7329     STDIO_VA_LIST_FIXIDX,
7330     STDIO_VA_LIST_CLIENTS_FIXIDX,
7331     STRICT_ANSI_NOT_FIXIDX,
7332     STRICT_ANSI_NOT_CTD_FIXIDX,
7333     STRICT_ANSI_ONLY_FIXIDX,
7334     STRUCT_FILE_FIXIDX,
7335     STRUCT_SOCKADDR_FIXIDX,
7336     SUN_AUTH_PROTO_FIXIDX,
7337     SUN_BOGUS_IFDEF_FIXIDX,
7338     SUN_CATMACRO_FIXIDX,
7339     SUN_MALLOC_FIXIDX,
7340     SUN_RUSERS_SEMI_FIXIDX,
7341     SUN_SIGNAL_FIXIDX,
7342     SUNOS_STRLEN_FIXIDX,
7343     SVR4__P_FIXIDX,
7344     SVR4_DISABLE_OPT_FIXIDX,
7345     SVR4_GETCWD_FIXIDX,
7346     SVR4_KRNL_FIXIDX,
7347     SVR4_PROFIL_FIXIDX,
7348     SVR4_SIGHANDLER_TYPE_FIXIDX,
7349     SVR4_UNDECLARED_GETRNGE_FIXIDX,
7350     SYSV68_STRING_FIXIDX,
7351     SYSZ_STDLIB_FOR_SUN_FIXIDX,
7352     THREAD_KEYWORD_FIXIDX,
7353     TINFO_CPLUSPLUS_FIXIDX,
7354     ULTRIX_ATEXIT_PARAM_FIXIDX,
7355     ULTRIX_ATOF_PARAM_FIXIDX,
7356     ULTRIX_CONST_FIXIDX,
7357     ULTRIX_CONST2_FIXIDX,
7358     ULTRIX_CONST3_FIXIDX,
7359     ULTRIX_FIX_FIXPROTO_FIXIDX,
7360     ULTRIX_IFDEF_FIXIDX,
7361     ULTRIX_LOCALE_FIXIDX,
7362     ULTRIX_MATH_IFDEF_FIXIDX,
7363     ULTRIX_NESTED_IOCTL_FIXIDX,
7364     ULTRIX_NESTED_SVC_FIXIDX,
7365     ULTRIX_STAT_FIXIDX,
7366     ULTRIX_STATIC_FIXIDX,
7367     ULTRIX_STDLIB_FIXIDX,
7368     ULTRIX_STRINGS_FIXIDX,
7369     ULTRIX_STRINGS2_FIXIDX,
7370     ULTRIX_SYS_TIME_FIXIDX,
7371     ULTRIX_UNISTD_FIXIDX,
7372     UNDEFINE_NULL_FIXIDX,
7373     UNICOSMK_RESTRICT_FIXIDX,
7374     UW7_BYTEORDER_FIX_FIXIDX,
7375     VA_I960_MACRO_FIXIDX,
7376     VOID_NULL_FIXIDX,
7377     VXWORKS_GCC_PROBLEM_FIXIDX,
7378     VXWORKS_NEEDS_VXTYPES_FIXIDX,
7379     VXWORKS_NEEDS_VXWORKS_FIXIDX,
7380     VXWORKS_TIME_FIXIDX,
7381     WINDISS_MATH1_FIXIDX,
7382     WINDISS_MATH2_FIXIDX,
7383     WINDISS_VALIST_FIXIDX,
7384     X11_CLASS_FIXIDX,
7385     X11_CLASS_USAGE_FIXIDX,
7386     X11_NEW_FIXIDX,
7387     X11_SPRINTF_FIXIDX
7388 } t_fixinc_idx;
7389
7390 tFixDesc fixDescList[ FIX_COUNT ] = {
7391   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
7392      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
7393      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7394      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
7395
7396   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
7397      apzAab_Fd_Zero_Gnu_Types_HMachs,
7398      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7399      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
7400
7401   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
7402      apzAab_Fd_Zero_Selectbits_HMachs,
7403      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7404      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
7405
7406   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
7407      apzAab_Solaris_Sys_Varargs_HMachs,
7408      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7409      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
7410
7411   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
7412      apzAab_Sun_MemcpyMachs,
7413      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7414      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
7415
7416   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
7417      apzAab_Ultrix_Ansi_CompatMachs,
7418      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7419      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
7420
7421   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
7422      apzAab_Ultrix_LimitsMachs,
7423      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7424      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
7425
7426   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
7427      apzAab_Ultrix_MemoryMachs,
7428      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7429      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
7430
7431   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
7432      apzAab_Ultrix_StringMachs,
7433      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7434      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
7435
7436   {  zAix_PthreadName,    zAix_PthreadList,
7437      apzAix_PthreadMachs,
7438      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7439      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
7440
7441   {  zAix_SysmachineName,    zAix_SysmachineList,
7442      apzAix_SysmachineMachs,
7443      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7444      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
7445
7446   {  zAix_SyswaitName,    zAix_SyswaitList,
7447      apzAix_SyswaitMachs,
7448      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7449      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
7450
7451   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
7452      apzAix_Syswait_2Machs,
7453      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7454      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
7455
7456   {  zAix_VolatileName,    zAix_VolatileList,
7457      apzAix_VolatileMachs,
7458      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7459      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
7460
7461   {  zAlpha___AssertName,    zAlpha___AssertList,
7462      apzAlpha___AssertMachs,
7463      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7464      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
7465
7466   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
7467      apzAlpha___Extern_PrefixMachs,
7468      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7469      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
7470
7471   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
7472      apzAlpha___Extern_Prefix_StandardsMachs,
7473      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7474      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
7475
7476   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
7477      apzAlpha___Extern_Prefix_Sys_StatMachs,
7478      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7479      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
7480
7481   {  zAlpha_AssertName,    zAlpha_AssertList,
7482      apzAlpha_AssertMachs,
7483      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7484      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
7485
7486   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
7487      apzAlpha_Bad_LvalMachs,
7488      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
7489      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
7490
7491   {  zAlpha_GetoptName,    zAlpha_GetoptList,
7492      apzAlpha_GetoptMachs,
7493      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7494      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
7495
7496   {  zAlpha_ParensName,    zAlpha_ParensList,
7497      apzAlpha_ParensMachs,
7498      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7499      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
7500
7501   {  zAlpha_PthreadName,    zAlpha_PthreadList,
7502      apzAlpha_PthreadMachs,
7503      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7504      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
7505
7506   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
7507      apzAlpha_Pthread_GccMachs,
7508      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7509      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
7510
7511   {  zAlpha_SbrkName,    zAlpha_SbrkList,
7512      apzAlpha_SbrkMachs,
7513      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7514      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
7515
7516   {  zAlpha_WcharName,    zAlpha_WcharList,
7517      apzAlpha_WcharMachs,
7518      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
7519      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
7520
7521   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
7522      apzAvoid_Bool_DefineMachs,
7523      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7524      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
7525
7526   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
7527      apzAvoid_Bool_TypeMachs,
7528      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7529      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
7530
7531   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
7532      apzAvoid_Wchar_T_TypeMachs,
7533      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7534      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
7535
7536   {  zBad_Struct_TermName,    zBad_Struct_TermList,
7537      apzBad_Struct_TermMachs,
7538      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7539      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
7540
7541   {  zBadquoteName,    zBadquoteList,
7542      apzBadquoteMachs,
7543      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7544      aBadquoteTests,   apzBadquotePatch, 0 },
7545
7546   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
7547      apzBroken_Assert_StdioMachs,
7548      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7549      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
7550
7551   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
7552      apzBroken_Assert_StdlibMachs,
7553      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7554      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
7555
7556   {  zBroken_CabsName,    zBroken_CabsList,
7557      apzBroken_CabsMachs,
7558      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7559      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
7560
7561   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
7562      apzBsd_Stdio_Attrs_ConflictMachs,
7563      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7564      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
7565
7566   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
7567      apzCtrl_Quotes_DefMachs,
7568      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7569      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
7570
7571   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
7572      apzCtrl_Quotes_UseMachs,
7573      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7574      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
7575
7576   {  zCxx_UnreadyName,    zCxx_UnreadyList,
7577      apzCxx_UnreadyMachs,
7578      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7579      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
7580
7581   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
7582      apzDarwin_Gcc4_BreakageMachs,
7583      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7584      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
7585
7586   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
7587      apzDarwin_Private_ExternMachs,
7588      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7589      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
7590
7591   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
7592      apzDec_Intern_AsmMachs,
7593      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
7594      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
7595
7596   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
7597      apzDjgpp_Wchar_HMachs,
7598      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7599      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
7600
7601   {  zEcd_CursorName,    zEcd_CursorList,
7602      apzEcd_CursorMachs,
7603      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7604      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
7605
7606   {  zException_StructureName,    zException_StructureList,
7607      apzException_StructureMachs,
7608      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7609      aException_StructureTests,   apzException_StructurePatch, 0 },
7610
7611   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
7612      apzFreebsd_Gcc3_BreakageMachs,
7613      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7614      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
7615
7616   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
7617      apzFreebsd_Gcc4_BreakageMachs,
7618      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7619      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
7620
7621   {  zGnu_TypesName,    zGnu_TypesList,
7622      apzGnu_TypesMachs,
7623      GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7624      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
7625
7626   {  zHp_InlineName,    zHp_InlineList,
7627      apzHp_InlineMachs,
7628      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7629      aHp_InlineTests,   apzHp_InlinePatch, 0 },
7630
7631   {  zHp_SysfileName,    zHp_SysfileList,
7632      apzHp_SysfileMachs,
7633      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7634      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
7635
7636   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
7637      apzHpux10_Cpp_Pow_InlineMachs,
7638      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7639      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
7640
7641   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
7642      apzHpux11_Cpp_Pow_InlineMachs,
7643      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7644      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
7645
7646   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
7647      apzHpux10_Ctype_Declarations1Machs,
7648      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7649      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
7650
7651   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
7652      apzHpux10_Ctype_Declarations2Machs,
7653      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7654      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
7655
7656   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
7657      apzHpux10_Stdio_DeclarationsMachs,
7658      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7659      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
7660
7661   {  zHpux11_AbsName,    zHpux11_AbsList,
7662      apzHpux11_AbsMachs,
7663      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7664      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
7665
7666   {  zHpux11_FabsfName,    zHpux11_FabsfList,
7667      apzHpux11_FabsfMachs,
7668      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7669      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
7670
7671   {  zHpux11_Size_TName,    zHpux11_Size_TList,
7672      apzHpux11_Size_TMachs,
7673      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7674      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
7675
7676   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
7677      apzHpux11_SnprintfMachs,
7678      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7679      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
7680
7681   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
7682      apzHpux11_Uint32_CMachs,
7683      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7684      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
7685
7686   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
7687      apzHpux11_VsnprintfMachs,
7688      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7689      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
7690
7691   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
7692      apzHpux8_Bogus_InlinesMachs,
7693      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
7694      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
7695
7696   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
7697      apzHpux_Ctype_MacrosMachs,
7698      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7699      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
7700
7701   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
7702      apzHpux_Long_DoubleMachs,
7703      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
7704      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
7705
7706   {  zHpux_MaxintName,    zHpux_MaxintList,
7707      apzHpux_MaxintMachs,
7708      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7709      aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
7710
7711   {  zHpux_SystimeName,    zHpux_SystimeList,
7712      apzHpux_SystimeMachs,
7713      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7714      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
7715
7716   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
7717      apzInt_Abort_Free_And_ExitMachs,
7718      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7719      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
7720
7721   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
7722      apzIo_Quotes_DefMachs,
7723      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7724      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
7725
7726   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
7727      apzIo_Quotes_UseMachs,
7728      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7729      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
7730
7731   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
7732      apzIp_Missing_SemiMachs,
7733      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
7734      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
7735
7736   {  zIrix___RestrictName,    zIrix___RestrictList,
7737      apzIrix___RestrictMachs,
7738      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7739      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
7740
7741   {  zIrix___Generic1Name,    zIrix___Generic1List,
7742      apzIrix___Generic1Machs,
7743      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7744      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
7745
7746   {  zIrix___Generic2Name,    zIrix___Generic2List,
7747      apzIrix___Generic2Machs,
7748      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7749      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
7750
7751   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
7752      apzIrix_Asm_ApostropheMachs,
7753      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7754      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
7755
7756   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
7757      apzIrix_Limits_ConstMachs,
7758      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7759      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
7760
7761   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
7762      apzIrix_Socklen_TMachs,
7763      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7764      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
7765
7766   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
7767      apzIrix_Stdio_Va_ListMachs,
7768      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7769      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
7770
7771   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
7772      apzIrix_WcsftimeMachs,
7773      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7774      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
7775
7776   {  zIsc_FmodName,    zIsc_FmodList,
7777      apzIsc_FmodMachs,
7778      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7779      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
7780
7781   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
7782      apzIsc_Omits_With_StdcMachs,
7783      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7784      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
7785
7786   {  zKandr_ConcatName,    zKandr_ConcatList,
7787      apzKandr_ConcatMachs,
7788      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7789      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
7790
7791   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
7792      apzLibc1_G_Va_ListMachs,
7793      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7794      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
7795
7796   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
7797      apzLibc1_Ifdefd_MemxMachs,
7798      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7799      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
7800
7801   {  zLimits_IfndefsName,    zLimits_IfndefsList,
7802      apzLimits_IfndefsMachs,
7803      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7804      aLimits_IfndefsTests,   apzLimits_IfndefsPatch, 0 },
7805
7806   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
7807      apzLinux_Ia64_UcontextMachs,
7808      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7809      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
7810
7811   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
7812      apzLynxos_No_Warning_In_Sys_Time_HMachs,
7813      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7814      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
7815
7816   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
7817      apzLynxos_Missing_PutenvMachs,
7818      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7819      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
7820
7821   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
7822      apzMachine_Ansi_H_Va_ListMachs,
7823      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7824      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
7825
7826   {  zMachine_NameName,    zMachine_NameList,
7827      apzMachine_NameMachs,
7828      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7829      aMachine_NameTests,   apzMachine_NamePatch, 0 },
7830
7831   {  zMath_ExceptionName,    zMath_ExceptionList,
7832      apzMath_ExceptionMachs,
7833      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7834      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
7835
7836   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
7837      apzMath_Huge_Val_From_Dbl_MaxMachs,
7838      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
7839      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
7840
7841   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
7842      apzMath_Huge_Val_IfndefMachs,
7843      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7844      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
7845
7846   {  zNested_Auth_DesName,    zNested_Auth_DesList,
7847      apzNested_Auth_DesMachs,
7848      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7849      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
7850
7851   {  zNested_MotorolaName,    zNested_MotorolaList,
7852      apzNested_MotorolaMachs,
7853      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
7854      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
7855
7856   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
7857      apzNested_Sys_LimitsMachs,
7858      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
7859      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
7860
7861   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
7862      apzNetbsd_Extra_SemicolonMachs,
7863      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7864      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
7865
7866   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
7867      apzNext_Math_PrefixMachs,
7868      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7869      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
7870
7871   {  zNext_TemplateName,    zNext_TemplateList,
7872      apzNext_TemplateMachs,
7873      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7874      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
7875
7876   {  zNext_VolitileName,    zNext_VolitileList,
7877      apzNext_VolitileMachs,
7878      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7879      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
7880
7881   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
7882      apzNext_Wait_UnionMachs,
7883      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7884      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
7885
7886   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
7887      apzNodeent_SyntaxMachs,
7888      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7889      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
7890
7891   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
7892      apzObstack_Lvalue_CastMachs,
7893      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7894      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
7895
7896   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
7897      apzOsf_Namespace_AMachs,
7898      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7899      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
7900
7901   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
7902      apzOsf_Namespace_CMachs,
7903      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7904      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
7905
7906   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
7907      apzPthread_Page_SizeMachs,
7908      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7909      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
7910
7911   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
7912      apzRead_Ret_TypeMachs,
7913      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7914      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
7915
7916   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
7917      apzRpc_Xdr_Lvalue_Cast_AMachs,
7918      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7919      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
7920
7921   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
7922      apzRpc_Xdr_Lvalue_Cast_BMachs,
7923      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7924      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
7925
7926   {  zRs6000_DoubleName,    zRs6000_DoubleList,
7927      apzRs6000_DoubleMachs,
7928      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7929      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
7930
7931   {  zRs6000_FchmodName,    zRs6000_FchmodList,
7932      apzRs6000_FchmodMachs,
7933      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7934      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
7935
7936   {  zRs6000_ParamName,    zRs6000_ParamList,
7937      apzRs6000_ParamMachs,
7938      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7939      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
7940
7941   {  zSco_MathName,    zSco_MathList,
7942      apzSco_MathMachs,
7943      SCO_MATH_TEST_CT, FD_MACH_ONLY,
7944      aSco_MathTests,   apzSco_MathPatch, 0 },
7945
7946   {  zSco_RegsetName,    zSco_RegsetList,
7947      apzSco_RegsetMachs,
7948      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7949      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
7950
7951   {  zSco_Static_FuncName,    zSco_Static_FuncList,
7952      apzSco_Static_FuncMachs,
7953      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
7954      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
7955
7956   {  zSco_UtimeName,    zSco_UtimeList,
7957      apzSco_UtimeMachs,
7958      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7959      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
7960
7961   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
7962      apzSolaris_Mutex_Init_1Machs,
7963      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
7964      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
7965
7966   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
7967      apzSolaris_Mutex_Init_2Machs,
7968      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7969      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
7970
7971   {  zSolaris_SocketName,    zSolaris_SocketList,
7972      apzSolaris_SocketMachs,
7973      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7974      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
7975
7976   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
7977      apzSolaris_Stdio_TagMachs,
7978      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
7979      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
7980
7981   {  zSolaris_UnistdName,    zSolaris_UnistdList,
7982      apzSolaris_UnistdMachs,
7983      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7984      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
7985
7986   {  zSolaris_WidecName,    zSolaris_WidecList,
7987      apzSolaris_WidecMachs,
7988      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7989      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
7990
7991   {  zStatsswtchName,    zStatsswtchList,
7992      apzStatsswtchMachs,
7993      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7994      aStatsswtchTests,   apzStatsswtchPatch, 0 },
7995
7996   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
7997      apzStdio_Stdarg_HMachs,
7998      STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7999      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
8000
8001   {  zStdio_Va_ListName,    zStdio_Va_ListList,
8002      apzStdio_Va_ListMachs,
8003      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
8004      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
8005
8006   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
8007      apzStdio_Va_List_ClientsMachs,
8008      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8009      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
8010
8011   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
8012      apzStrict_Ansi_NotMachs,
8013      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8014      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
8015
8016   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
8017      apzStrict_Ansi_Not_CtdMachs,
8018      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8019      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
8020
8021   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
8022      apzStrict_Ansi_OnlyMachs,
8023      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8024      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
8025
8026   {  zStruct_FileName,    zStruct_FileList,
8027      apzStruct_FileMachs,
8028      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8029      aStruct_FileTests,   apzStruct_FilePatch, 0 },
8030
8031   {  zStruct_SockaddrName,    zStruct_SockaddrList,
8032      apzStruct_SockaddrMachs,
8033      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8034      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
8035
8036   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8037      apzSun_Auth_ProtoMachs,
8038      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8039      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8040
8041   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8042      apzSun_Bogus_IfdefMachs,
8043      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8044      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8045
8046   {  zSun_CatmacroName,    zSun_CatmacroList,
8047      apzSun_CatmacroMachs,
8048      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8049      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8050
8051   {  zSun_MallocName,    zSun_MallocList,
8052      apzSun_MallocMachs,
8053      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8054      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8055
8056   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8057      apzSun_Rusers_SemiMachs,
8058      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8059      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8060
8061   {  zSun_SignalName,    zSun_SignalList,
8062      apzSun_SignalMachs,
8063      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8064      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8065
8066   {  zSunos_StrlenName,    zSunos_StrlenList,
8067      apzSunos_StrlenMachs,
8068      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8069      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8070
8071   {  zSvr4__PName,    zSvr4__PList,
8072      apzSvr4__PMachs,
8073      SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8074      aSvr4__PTests,   apzSvr4__PPatch, 0 },
8075
8076   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8077      apzSvr4_Disable_OptMachs,
8078      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8079      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8080
8081   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8082      apzSvr4_GetcwdMachs,
8083      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8084      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8085
8086   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8087      apzSvr4_KrnlMachs,
8088      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8089      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8090
8091   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8092      apzSvr4_ProfilMachs,
8093      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8094      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8095
8096   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8097      apzSvr4_Sighandler_TypeMachs,
8098      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8099      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8100
8101   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8102      apzSvr4_Undeclared_GetrngeMachs,
8103      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8104      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8105
8106   {  zSysv68_StringName,    zSysv68_StringList,
8107      apzSysv68_StringMachs,
8108      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8109      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8110
8111   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8112      apzSysz_Stdlib_For_SunMachs,
8113      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8114      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8115
8116   {  zThread_KeywordName,    zThread_KeywordList,
8117      apzThread_KeywordMachs,
8118      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8119      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8120
8121   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8122      apzTinfo_CplusplusMachs,
8123      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8124      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8125
8126   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8127      apzUltrix_Atexit_ParamMachs,
8128      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8129      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8130
8131   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8132      apzUltrix_Atof_ParamMachs,
8133      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8134      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8135
8136   {  zUltrix_ConstName,    zUltrix_ConstList,
8137      apzUltrix_ConstMachs,
8138      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8139      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8140
8141   {  zUltrix_Const2Name,    zUltrix_Const2List,
8142      apzUltrix_Const2Machs,
8143      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8144      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8145
8146   {  zUltrix_Const3Name,    zUltrix_Const3List,
8147      apzUltrix_Const3Machs,
8148      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8149      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8150
8151   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8152      apzUltrix_Fix_FixprotoMachs,
8153      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8154      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8155
8156   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8157      apzUltrix_IfdefMachs,
8158      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8159      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8160
8161   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8162      apzUltrix_LocaleMachs,
8163      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8164      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8165
8166   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8167      apzUltrix_Math_IfdefMachs,
8168      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8169      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8170
8171   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8172      apzUltrix_Nested_IoctlMachs,
8173      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8174      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8175
8176   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8177      apzUltrix_Nested_SvcMachs,
8178      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8179      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8180
8181   {  zUltrix_StatName,    zUltrix_StatList,
8182      apzUltrix_StatMachs,
8183      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8184      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8185
8186   {  zUltrix_StaticName,    zUltrix_StaticList,
8187      apzUltrix_StaticMachs,
8188      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8189      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8190
8191   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8192      apzUltrix_StdlibMachs,
8193      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8194      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8195
8196   {  zUltrix_StringsName,    zUltrix_StringsList,
8197      apzUltrix_StringsMachs,
8198      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8199      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8200
8201   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8202      apzUltrix_Strings2Machs,
8203      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8204      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8205
8206   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8207      apzUltrix_Sys_TimeMachs,
8208      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8209      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8210
8211   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8212      apzUltrix_UnistdMachs,
8213      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8214      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8215
8216   {  zUndefine_NullName,    zUndefine_NullList,
8217      apzUndefine_NullMachs,
8218      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8219      aUndefine_NullTests,   apzUndefine_NullPatch, 0 },
8220
8221   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8222      apzUnicosmk_RestrictMachs,
8223      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8224      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8225
8226   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8227      apzUw7_Byteorder_FixMachs,
8228      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8229      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8230
8231   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8232      apzVa_I960_MacroMachs,
8233      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8234      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8235
8236   {  zVoid_NullName,    zVoid_NullList,
8237      apzVoid_NullMachs,
8238      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8239      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8240
8241   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8242      apzVxworks_Gcc_ProblemMachs,
8243      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8244      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8245
8246   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8247      apzVxworks_Needs_VxtypesMachs,
8248      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8249      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8250
8251   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8252      apzVxworks_Needs_VxworksMachs,
8253      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8254      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8255
8256   {  zVxworks_TimeName,    zVxworks_TimeList,
8257      apzVxworks_TimeMachs,
8258      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8259      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8260
8261   {  zWindiss_Math1Name,    zWindiss_Math1List,
8262      apzWindiss_Math1Machs,
8263      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8264      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8265
8266   {  zWindiss_Math2Name,    zWindiss_Math2List,
8267      apzWindiss_Math2Machs,
8268      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8269      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8270
8271   {  zWindiss_ValistName,    zWindiss_ValistList,
8272      apzWindiss_ValistMachs,
8273      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8274      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8275
8276   {  zX11_ClassName,    zX11_ClassList,
8277      apzX11_ClassMachs,
8278      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8279      aX11_ClassTests,   apzX11_ClassPatch, 0 },
8280
8281   {  zX11_Class_UsageName,    zX11_Class_UsageList,
8282      apzX11_Class_UsageMachs,
8283      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8284      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
8285
8286   {  zX11_NewName,    zX11_NewList,
8287      apzX11_NewMachs,
8288      X11_NEW_TEST_CT, FD_MACH_ONLY,
8289      aX11_NewTests,   apzX11_NewPatch, 0 },
8290
8291   {  zX11_SprintfName,    zX11_SprintfList,
8292      apzX11_SprintfMachs,
8293      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8294      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }
8295 };