OSDN Git Service

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