OSDN Git Service

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