OSDN Git Service

* fixinc/fixincl.c: Move declarations of 'pz_fname' and
[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 113 fixup descriptions.
9  *
10  * See README-fixinc for more information.
11  *
12  *  inclhack copyright (c) 2000 The Free Software Foundation, Inc.
13  *
14  *  inclhack is free software.
15  *  
16  *  You may redistribute it and/or modify it under the terms of the
17  *  GNU General Public License, as published by the Free Software
18  *  Foundation; either version 2, or (at your option) any later version.
19  *  
20  *  inclhack is distributed in the hope that it will be useful,
21  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
22  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
23  *  See the GNU General Public License for more details.
24  *  
25  *  You should have received a copy of the GNU General Public License
26  *  along with inclhack.  See the file "COPYING".  If not,
27  *  write to:  The Free Software Foundation, Inc.,
28  *             59 Temple Place - Suite 330,
29  *             Boston,  MA  02111-1307, USA.
30  *
31  *
32  *  Description of Aaa_Ki_Iface fix
33  */
34 #define AAA_KI_IFACE_FIXIDX              0
35 tSCC zAaa_Ki_IfaceName[] =
36      "Aaa_Ki_Iface";
37 /*
38  *  File name selection pattern
39  */
40 tSCC zAaa_Ki_IfaceList[] =
41   "|sys/ki_iface.h|";
42 /*
43  *  Machine/OS name selection pattern
44  */
45 #define apzAaa_Ki_IfaceMachs (const char**)NULL
46
47 /*
48  *  content selection pattern - do fix if pattern found
49  */
50 tSCC zAaa_Ki_IfaceSelect0[] =
51        "These definitions are for HP Internal developers";
52
53 #define    AAA_KI_IFACE_TEST_CT  1
54 tTestDesc aAaa_Ki_IfaceTests[] = {
55   { TT_EGREP,    zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
56
57 /*
58  *  Fix Command Arguments for Aaa_Ki_Iface
59  */
60 const char* apzAaa_Ki_IfacePatch[] = {
61     (char*)NULL };
62
63 /* * * * * * * * * * * * * * * * * * * * * * * * * *
64  *
65  *  Description of Aaa_Ki fix
66  */
67 #define AAA_KI_FIXIDX                    1
68 tSCC zAaa_KiName[] =
69      "Aaa_Ki";
70 /*
71  *  File name selection pattern
72  */
73 tSCC zAaa_KiList[] =
74   "|sys/ki.h|";
75 /*
76  *  Machine/OS name selection pattern
77  */
78 #define apzAaa_KiMachs (const char**)NULL
79
80 /*
81  *  content selection pattern - do fix if pattern found
82  */
83 tSCC zAaa_KiSelect0[] =
84        "11.00 HP-UX LP64";
85
86 #define    AAA_KI_TEST_CT  1
87 tTestDesc aAaa_KiTests[] = {
88   { TT_EGREP,    zAaa_KiSelect0, (regex_t*)NULL }, };
89
90 /*
91  *  Fix Command Arguments for Aaa_Ki
92  */
93 const char* apzAaa_KiPatch[] = {
94     (char*)NULL };
95
96 /* * * * * * * * * * * * * * * * * * * * * * * * * *
97  *
98  *  Description of Aaa_Ki_Calls fix
99  */
100 #define AAA_KI_CALLS_FIXIDX              2
101 tSCC zAaa_Ki_CallsName[] =
102      "Aaa_Ki_Calls";
103 /*
104  *  File name selection pattern
105  */
106 tSCC zAaa_Ki_CallsList[] =
107   "|sys/ki_calls.h|";
108 /*
109  *  Machine/OS name selection pattern
110  */
111 #define apzAaa_Ki_CallsMachs (const char**)NULL
112
113 /*
114  *  content selection pattern - do fix if pattern found
115  */
116 tSCC zAaa_Ki_CallsSelect0[] =
117        "kthread_create_caller_t";
118
119 #define    AAA_KI_CALLS_TEST_CT  1
120 tTestDesc aAaa_Ki_CallsTests[] = {
121   { TT_EGREP,    zAaa_Ki_CallsSelect0, (regex_t*)NULL }, };
122
123 /*
124  *  Fix Command Arguments for Aaa_Ki_Calls
125  */
126 const char* apzAaa_Ki_CallsPatch[] = {
127     (char*)NULL };
128
129 /* * * * * * * * * * * * * * * * * * * * * * * * * *
130  *
131  *  Description of Aaa_Ki_Defs fix
132  */
133 #define AAA_KI_DEFS_FIXIDX               3
134 tSCC zAaa_Ki_DefsName[] =
135      "Aaa_Ki_Defs";
136 /*
137  *  File name selection pattern
138  */
139 tSCC zAaa_Ki_DefsList[] =
140   "|sys/ki_defs.h|";
141 /*
142  *  Machine/OS name selection pattern
143  */
144 #define apzAaa_Ki_DefsMachs (const char**)NULL
145
146 /*
147  *  content selection pattern - do fix if pattern found
148  */
149 tSCC zAaa_Ki_DefsSelect0[] =
150        "Kernel Instrumentation Definitions";
151
152 #define    AAA_KI_DEFS_TEST_CT  1
153 tTestDesc aAaa_Ki_DefsTests[] = {
154   { TT_EGREP,    zAaa_Ki_DefsSelect0, (regex_t*)NULL }, };
155
156 /*
157  *  Fix Command Arguments for Aaa_Ki_Defs
158  */
159 const char* apzAaa_Ki_DefsPatch[] = {
160     (char*)NULL };
161
162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
163  *
164  *  Description of Aaa_Bad_Fixes fix
165  */
166 #define AAA_BAD_FIXES_FIXIDX             4
167 tSCC zAaa_Bad_FixesName[] =
168      "Aaa_Bad_Fixes";
169 /*
170  *  File name selection pattern
171  */
172 tSCC zAaa_Bad_FixesList[] =
173   "|sundev/ipi_error.h|";
174 /*
175  *  Machine/OS name selection pattern
176  */
177 #define apzAaa_Bad_FixesMachs (const char**)NULL
178 #define AAA_BAD_FIXES_TEST_CT  0
179 #define aAaa_Bad_FixesTests   (tTestDesc*)NULL
180
181 /*
182  *  Fix Command Arguments for Aaa_Bad_Fixes
183  */
184 const char* apzAaa_Bad_FixesPatch[] = {
185     (char*)NULL };
186
187 /* * * * * * * * * * * * * * * * * * * * * * * * * *
188  *
189  *  Description of Aaa_Time fix
190  */
191 #define AAA_TIME_FIXIDX                  5
192 tSCC zAaa_TimeName[] =
193      "Aaa_Time";
194 /*
195  *  File name selection pattern
196  */
197 tSCC zAaa_TimeList[] =
198   "|sys/time.h|";
199 /*
200  *  Machine/OS name selection pattern
201  */
202 #define apzAaa_TimeMachs (const char**)NULL
203
204 /*
205  *  content selection pattern - do fix if pattern found
206  */
207 tSCC zAaa_TimeSelect0[] =
208        "11.0 and later representation of ki time";
209
210 #define    AAA_TIME_TEST_CT  1
211 tTestDesc aAaa_TimeTests[] = {
212   { TT_EGREP,    zAaa_TimeSelect0, (regex_t*)NULL }, };
213
214 /*
215  *  Fix Command Arguments for Aaa_Time
216  */
217 const char* apzAaa_TimePatch[] = {
218     (char*)NULL };
219
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
221  *
222  *  Description of Aab_Dgux_Int_Varargs fix
223  */
224 #define AAB_DGUX_INT_VARARGS_FIXIDX      6
225 tSCC zAab_Dgux_Int_VarargsName[] =
226      "Aab_Dgux_Int_Varargs";
227 /*
228  *  File name selection pattern
229  */
230 tSCC zAab_Dgux_Int_VarargsList[] =
231   "|_int_varargs.h|";
232 /*
233  *  Machine/OS name selection pattern
234  */
235 #define apzAab_Dgux_Int_VarargsMachs (const char**)NULL
236 #define AAB_DGUX_INT_VARARGS_TEST_CT  0
237 #define aAab_Dgux_Int_VarargsTests   (tTestDesc*)NULL
238
239 /*
240  *  Fix Command Arguments for Aab_Dgux_Int_Varargs
241  */
242 const char* apzAab_Dgux_Int_VarargsPatch[] = {
243 "#ifndef __INT_VARARGS_H\n\
244 #define __INT_VARARGS_H\n\
245 \n\
246 /************************************************************************/\n\
247 /* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio.   */\n\
248 /************************************************************************/\n\
249 \n\
250 /*\n\
251 ** This file is a DG internal header.  Never include this\n\
252 ** file directly.\n\
253 */\n\
254 \n\
255 #ifndef ___int_features_h\n\
256 #include <sys/_int_features.h>\n\
257 #endif\n\
258 \n\
259 #if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
260 #define _VA_LIST\n\
261 #define _VA_LIST_\n\
262 \n\
263 #ifdef __LINT__\n\
264 \n\
265 #ifdef __STDC__\n\
266 typedef void * va_list;\n\
267 #else\n\
268 typedef char * va_list;\n\
269 #endif\n\
270 \n\
271 #else\n\
272 #if _M88K_ANY\n\
273 \n\
274 #if defined(__DCC__)\n\
275 \n\
276 typedef struct {\n\
277       int     next_arg;\n\
278       int     *mem_ptr;\n\
279       int     *reg_ptr;\n\
280 } va_list;\n\
281 \n\
282 #else  /* ! defined(__DCC__) */\n\
283 \n\
284 typedef struct {\n\
285       int  __va_arg;       /* argument number */\n\
286       int *__va_stk;       /* start of args passed on stack */\n\
287       int *__va_reg;       /* start of args passed in regs */\n\
288 } va_list;\n\
289 \n\
290 #endif  /* ! defined(__DCC__) */\n\
291 \n\
292 #elif _IX86_ANY\n\
293 \n\
294 #if defined(__GNUC__) || defined(__STDC__)\n\
295 typedef void * va_list;\n\
296 #else\n\
297 typedef char * va_list;\n\
298 #endif\n\
299 \n\
300 #endif  /*  _IX86_ANY */\n\
301 \n\
302 #endif /* __LINT__ */\n\
303 #endif /*  !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
304 #endif /*  #ifndef __INT_VARARGS_H  */\n",
305     (char*)NULL };
306
307 /* * * * * * * * * * * * * * * * * * * * * * * * * *
308  *
309  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
310  */
311 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 7
312 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
313      "Aab_Fd_Zero_Asm_Posix_Types_H";
314 /*
315  *  File name selection pattern
316  */
317 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
318   "|asm/posix_types.h|";
319 /*
320  *  Machine/OS name selection pattern
321  */
322 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
323         "i[34567]86-*-linux-gnu*",
324         (const char*)NULL };
325
326 /*
327  *  content bypass pattern - skip fix if pattern found
328  */
329 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
330        "} while";
331
332 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
333 tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
334   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
335
336 /*
337  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
338  */
339 const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
340 "/* This file fixes a bug in the __FD_ZERO macro\n\
341    for older versions of the Linux kernel. */\n\
342 #ifndef _POSIX_TYPES_H_WRAPPER\n\
343 #include <features.h>\n\
344 #include_next <asm/posix_types.h>\n\
345 \n\
346 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
347 #undef __FD_ZERO\n\
348 #define __FD_ZERO(fdsetp) \\\n\
349   do { \\\n\
350     int __d0, __d1; \\\n\
351 \t\t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
352 \t\t\t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
353 \t\t\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
354 \t\t\t  \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
355   } while (0)\n\
356 #endif\n\
357 \n\
358 #define _POSIX_TYPES_H_WRAPPER\n\
359 #endif /* _POSIX_TYPES_H_WRAPPER */\n",
360     (char*)NULL };
361
362 /* * * * * * * * * * * * * * * * * * * * * * * * * *
363  *
364  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
365  */
366 #define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX   8
367 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
368      "Aab_Fd_Zero_Gnu_Types_H";
369 /*
370  *  File name selection pattern
371  */
372 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
373   "|gnu/types.h|";
374 /*
375  *  Machine/OS name selection pattern
376  */
377 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
378         "i[34567]86-*-linux-gnu*",
379         (const char*)NULL };
380 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
381 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
382
383 /*
384  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
385  */
386 const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
387 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
388 #ifndef _TYPES_H_WRAPPER\n\
389 #include <features.h>\n\
390 #include_next <gnu/types.h>\n\
391 \n\
392 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
393 #undef __FD_ZERO\n\
394 # define __FD_ZERO(fdsetp) \\\n\
395   do { \\\n\
396     int __d0, __d1; \\\n\
397 \t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
398         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
399         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
400 \t\t  \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
401   } while (0)\n\
402 #endif\n\
403 \n\
404 #define _TYPES_H_WRAPPER\n\
405 #endif /* _TYPES_H_WRAPPER */\n",
406     (char*)NULL };
407
408 /* * * * * * * * * * * * * * * * * * * * * * * * * *
409  *
410  *  Description of Aab_Fd_Zero_Selectbits_H fix
411  */
412 #define AAB_FD_ZERO_SELECTBITS_H_FIXIDX  9
413 tSCC zAab_Fd_Zero_Selectbits_HName[] =
414      "Aab_Fd_Zero_Selectbits_H";
415 /*
416  *  File name selection pattern
417  */
418 tSCC zAab_Fd_Zero_Selectbits_HList[] =
419   "|selectbits.h|";
420 /*
421  *  Machine/OS name selection pattern
422  */
423 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
424         "i[34567]86-*-linux-gnu*",
425         (const char*)NULL };
426 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
427 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
428
429 /*
430  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
431  */
432 const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
433 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
434 #ifndef _SELECTBITS_H_WRAPPER\n\
435 #include <features.h>\n\
436 #include_next <selectbits.h>\n\
437 \n\
438 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
439 \t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
440 \t&& __GLIBC_MINOR__ == 0\n\
441 #undef __FD_ZERO\n\
442 #define __FD_ZERO(fdsetp) \\\n\
443   do { \\\n\
444     int __d0, __d1; \\\n\
445   __asm__ __volatile__ (\"cld; rep; stosl\" \\\n\
446                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
447                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\n\
448                                         / sizeof (__fd_mask)), \\\n\
449                           \"1\" ((__fd_mask *) (fdsetp)) \\\n\
450                         : \"memory\"); \\\n\
451   } while (0)\n\
452 #endif\n\
453 \n\
454 #define _SELECTBITS_H_WRAPPER\n\
455 #endif /* _SELECTBITS_H_WRAPPER */\n",
456     (char*)NULL };
457
458 /* * * * * * * * * * * * * * * * * * * * * * * * * *
459  *
460  *  Description of Aab_Sun_Memcpy fix
461  */
462 #define AAB_SUN_MEMCPY_FIXIDX            10
463 tSCC zAab_Sun_MemcpyName[] =
464      "Aab_Sun_Memcpy";
465 /*
466  *  File name selection pattern
467  */
468 tSCC zAab_Sun_MemcpyList[] =
469   "|memory.h|";
470 /*
471  *  Machine/OS name selection pattern
472  */
473 #define apzAab_Sun_MemcpyMachs (const char**)NULL
474
475 /*
476  *  content selection pattern - do fix if pattern found
477  */
478 tSCC zAab_Sun_MemcpySelect0[] =
479        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
480
481 #define    AAB_SUN_MEMCPY_TEST_CT  1
482 tTestDesc aAab_Sun_MemcpyTests[] = {
483   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
484
485 /*
486  *  Fix Command Arguments for Aab_Sun_Memcpy
487  */
488 const char* apzAab_Sun_MemcpyPatch[] = {
489 "/* This file was generated by fixincludes */\n\
490 #ifndef __memory_h__\n\
491 #define __memory_h__\n\
492 \n\
493 #ifdef __STDC__\n\
494 extern void *memccpy();\n\
495 extern void *memchr();\n\
496 extern void *memcpy();\n\
497 extern void *memset();\n\
498 #else\n\
499 extern char *memccpy();\n\
500 extern char *memchr();\n\
501 extern char *memcpy();\n\
502 extern char *memset();\n\
503 #endif /* __STDC__ */\n\
504 \n\
505 extern int memcmp();\n\
506 \n\
507 #endif /* __memory_h__ */\n",
508     (char*)NULL };
509
510 /* * * * * * * * * * * * * * * * * * * * * * * * * *
511  *
512  *  Description of Aab_Svr4_Replace_Byteorder fix
513  */
514 #define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 11
515 tSCC zAab_Svr4_Replace_ByteorderName[] =
516      "Aab_Svr4_Replace_Byteorder";
517 /*
518  *  File name selection pattern
519  */
520 tSCC zAab_Svr4_Replace_ByteorderList[] =
521   "|sys/byteorder.h|";
522 /*
523  *  Machine/OS name selection pattern
524  */
525 tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
526         "*-*-sysv4*",
527         "i[34567]86-*-sysv5*",
528         "i[34567]86-*-udk*",
529         "i[34567]86-*-solaris2.[0-4]",
530         "powerpcle-*-solaris2.[0-4]",
531         "sparc-*-solaris2.[0-4]",
532         (const char*)NULL };
533 #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT  0
534 #define aAab_Svr4_Replace_ByteorderTests   (tTestDesc*)NULL
535
536 /*
537  *  Fix Command Arguments for Aab_Svr4_Replace_Byteorder
538  */
539 const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
540 "#ifndef _SYS_BYTEORDER_H\n\
541 #define _SYS_BYTEORDER_H\n\
542 \n\
543 /* Functions to convert `short' and `long' quantities from host byte order\n\
544    to (internet) network byte order (i.e. big-endian).\n\
545 \n\
546    Written by Ron Guilmette (rfg@ncd.com).\n\
547 \n\
548    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\
549 \n\
550    For big-endian machines these functions are essentially no-ops.\n\
551 \n\
552    For little-endian machines, we define the functions using specialized\n\
553    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\
554 \n\
555 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
556 #error You lose!  This file is only useful with GNU compilers.\n\
557 #endif\n\
558 \n\
559 #ifndef __BYTE_ORDER__\n\
560 /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
561    double underscores added at the front and back.  */\n\
562 #define __LITTLE_ENDIAN__   1234\n\
563 #define __BIG_ENDIAN__      4321\n\
564 #define __PDP_ENDIAN__      3412\n\
565 #endif\n\
566 \n\
567 #ifdef __STDC__\n\
568 static __inline__ unsigned long htonl (unsigned long);\n\
569 static __inline__ unsigned short htons (unsigned int);\n\
570 static __inline__ unsigned long ntohl (unsigned long);\n\
571 static __inline__ unsigned short ntohs (unsigned int);\n\
572 #endif /* defined (__STDC__) */\n\
573 \n\
574 #if defined (__i386__)\n\
575 \n\
576 #ifndef __BYTE_ORDER__\n\
577 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
578 #endif\n\
579 \n\
580 /* Convert a host long to a network long.  */\n\
581 \n\
582 /* We must use a new-style function definition, so that this will also\n\
583    be valid for C++.  */\n\
584 static __inline__ unsigned long\n\
585 htonl (unsigned long __arg)\n\
586 {\n\
587   register unsigned long __result;\n\
588 \n\
589   __asm__ (\"xchg%B0 %b0,%h0\n\
590 \tror%L0 $16,%0\n\
591 \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
592   return __result;\n\
593 }\n\
594 \n\
595 /* Convert a host short to a network short.  */\n\
596 \n\
597 static __inline__ unsigned short\n\
598 htons (unsigned int __arg)\n\
599 {\n\
600   register unsigned short __result;\n\
601 \n\
602   __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
603   return __result;\n\
604 }\n\
605 \n\
606 #elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
607        || defined (__ns32k__) || defined (__vax__)\t\t\\\n\
608        || defined (__spur__) || defined (__arm__))\n\
609 \n\
610 #ifndef __BYTE_ORDER__\n\
611 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
612 #endif\n\
613 \n\
614 /* For other little-endian machines, using C code is just as efficient as\n\
615    using assembly code.  */\n\
616 \n\
617 /* Convert a host long to a network long.  */\n\
618 \n\
619 static __inline__ unsigned long\n\
620 htonl (unsigned long __arg)\n\
621 {\n\
622   register unsigned long __result;\n\
623 \n\
624   __result = (__arg >> 24) & 0x000000ff;\n\
625   __result |= (__arg >> 8) & 0x0000ff00;\n\
626   __result |= (__arg << 8) & 0x00ff0000;\n\
627   __result |= (__arg << 24) & 0xff000000;\n\
628   return __result;\n\
629 }\n\
630 \n\
631 /* Convert a host short to a network short.  */\n\
632 \n\
633 static __inline__ unsigned short\n\
634 htons (unsigned int __arg)\n\
635 {\n\
636   register unsigned short __result;\n\
637 \n\
638   __result = (__arg << 8) & 0xff00;\n\
639   __result |= (__arg >> 8) & 0x00ff;\n\
640   return __result;\n\
641 }\n\
642 \n\
643 #else /* must be a big-endian machine */\n\
644 \n\
645 #ifndef __BYTE_ORDER__\n\
646 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
647 #endif\n\
648 \n\
649 /* Convert a host long to a network long.  */\n\
650 \n\
651 static __inline__ unsigned long\n\
652 htonl (unsigned long __arg)\n\
653 {\n\
654   return __arg;\n\
655 }\n\
656 \n\
657 /* Convert a host short to a network short.  */\n\
658 \n\
659 static __inline__ unsigned short\n\
660 htons (unsigned int __arg)\n\
661 {\n\
662   return __arg;\n\
663 }\n\
664 \n\
665 #endif /* big-endian */\n\
666 \n\
667 /* Convert a network long to a host long.  */\n\
668 \n\
669 static __inline__ unsigned long\n\
670 ntohl (unsigned long __arg)\n\
671 {\n\
672   return htonl (__arg);\n\
673 }\n\
674 \n\
675 /* Convert a network short to a host short.  */\n\
676 \n\
677 static __inline__ unsigned short\n\
678 ntohs (unsigned int __arg)\n\
679 {\n\
680   return htons (__arg);\n\
681 }\n\
682 #endif\n",
683     (char*)NULL };
684
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
686  *
687  *  Description of Aab_Ultrix_Ansi_Compat fix
688  */
689 #define AAB_ULTRIX_ANSI_COMPAT_FIXIDX    12
690 tSCC zAab_Ultrix_Ansi_CompatName[] =
691      "Aab_Ultrix_Ansi_Compat";
692 /*
693  *  File name selection pattern
694  */
695 tSCC zAab_Ultrix_Ansi_CompatList[] =
696   "|ansi_compat.h|";
697 /*
698  *  Machine/OS name selection pattern
699  */
700 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
701
702 /*
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
706        "ULTRIX";
707
708 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
709 tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
710   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
711
712 /*
713  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
714  */
715 const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
716 "/* This file intentionally left blank.  */\n",
717     (char*)NULL };
718
719 /* * * * * * * * * * * * * * * * * * * * * * * * * *
720  *
721  *  Description of Aix_Syswait fix
722  */
723 #define AIX_SYSWAIT_FIXIDX               13
724 tSCC zAix_SyswaitName[] =
725      "Aix_Syswait";
726 /*
727  *  File name selection pattern
728  */
729 tSCC zAix_SyswaitList[] =
730   "|sys/wait.h|";
731 /*
732  *  Machine/OS name selection pattern
733  */
734 #define apzAix_SyswaitMachs (const char**)NULL
735
736 /*
737  *  content selection pattern - do fix if pattern found
738  */
739 tSCC zAix_SyswaitSelect0[] =
740        "bos325,";
741
742 #define    AIX_SYSWAIT_TEST_CT  1
743 tTestDesc aAix_SyswaitTests[] = {
744   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL }, };
745
746 /*
747  *  Fix Command Arguments for Aix_Syswait
748  */
749 const char* apzAix_SyswaitPatch[] = { "sed",
750     "-e", "/^extern pid_t wait3();$/i\\\n\
751 struct rusage;\n",
752     (char*)NULL };
753
754 /* * * * * * * * * * * * * * * * * * * * * * * * * *
755  *
756  *  Description of Aix_Volatile fix
757  */
758 #define AIX_VOLATILE_FIXIDX              14
759 tSCC zAix_VolatileName[] =
760      "Aix_Volatile";
761 /*
762  *  File name selection pattern
763  */
764 tSCC zAix_VolatileList[] =
765   "|sys/signal.h|";
766 /*
767  *  Machine/OS name selection pattern
768  */
769 #define apzAix_VolatileMachs (const char**)NULL
770
771 /*
772  *  content selection pattern - do fix if pattern found
773  */
774 tSCC zAix_VolatileSelect0[] =
775        "typedef volatile int sig_atomic_t";
776
777 #define    AIX_VOLATILE_TEST_CT  1
778 tTestDesc aAix_VolatileTests[] = {
779   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
780
781 /*
782  *  Fix Command Arguments for Aix_Volatile
783  */
784 const char* apzAix_VolatilePatch[] = { "sed",
785     "-e", "s/typedef volatile int sig_atomic_t/typedef int sig_atomic_t/",
786     (char*)NULL };
787
788 /* * * * * * * * * * * * * * * * * * * * * * * * * *
789  *
790  *  Description of Alpha_Getopt fix
791  */
792 #define ALPHA_GETOPT_FIXIDX              15
793 tSCC zAlpha_GetoptName[] =
794      "Alpha_Getopt";
795 /*
796  *  File name selection pattern
797  */
798 tSCC zAlpha_GetoptList[] =
799   "|stdio.h|stdlib.h|";
800 /*
801  *  Machine/OS name selection pattern
802  */
803 #define apzAlpha_GetoptMachs (const char**)NULL
804
805 /*
806  *  content selection pattern - do fix if pattern found
807  */
808 tSCC zAlpha_GetoptSelect0[] =
809        "getopt\\(int, char \\*\\[";
810
811 #define    ALPHA_GETOPT_TEST_CT  1
812 tTestDesc aAlpha_GetoptTests[] = {
813   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
814
815 /*
816  *  Fix Command Arguments for Alpha_Getopt
817  */
818 const char* apzAlpha_GetoptPatch[] = { "sed",
819     "-e", "s/getopt(int, char \\*\\[\\],[ ]*char \\*)/getopt(int, char *const[], const char *)/",
820     (char*)NULL };
821
822 /* * * * * * * * * * * * * * * * * * * * * * * * * *
823  *
824  *  Description of Alpha_Parens fix
825  */
826 #define ALPHA_PARENS_FIXIDX              16
827 tSCC zAlpha_ParensName[] =
828      "Alpha_Parens";
829 /*
830  *  File name selection pattern
831  */
832 tSCC zAlpha_ParensList[] =
833   "|sym.h|";
834 /*
835  *  Machine/OS name selection pattern
836  */
837 #define apzAlpha_ParensMachs (const char**)NULL
838
839 /*
840  *  content selection pattern - do fix if pattern found
841  */
842 tSCC zAlpha_ParensSelect0[] =
843        "#ifndef\\(__mips64\\)";
844
845 #define    ALPHA_PARENS_TEST_CT  1
846 tTestDesc aAlpha_ParensTests[] = {
847   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
848
849 /*
850  *  Fix Command Arguments for Alpha_Parens
851  */
852 const char* apzAlpha_ParensPatch[] = { "sed",
853     "-e", "s/#ifndef(__mips64)/#ifndef __mips64/",
854     (char*)NULL };
855
856 /* * * * * * * * * * * * * * * * * * * * * * * * * *
857  *
858  *  Description of Alpha_Sbrk fix
859  */
860 #define ALPHA_SBRK_FIXIDX                17
861 tSCC zAlpha_SbrkName[] =
862      "Alpha_Sbrk";
863 /*
864  *  File name selection pattern
865  */
866 tSCC zAlpha_SbrkList[] =
867   "|unistd.h|";
868 /*
869  *  Machine/OS name selection pattern
870  */
871 #define apzAlpha_SbrkMachs (const char**)NULL
872
873 /*
874  *  content selection pattern - do fix if pattern found
875  */
876 tSCC zAlpha_SbrkSelect0[] =
877        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
878
879 #define    ALPHA_SBRK_TEST_CT  1
880 tTestDesc aAlpha_SbrkTests[] = {
881   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
882
883 /*
884  *  Fix Command Arguments for Alpha_Sbrk
885  */
886 const char* apzAlpha_SbrkPatch[] = { "sed",
887     "-e", "s/char\\([ \t]*\\*[\t ]*sbrk[ \t]*(\\)/void\\1/",
888     (char*)NULL };
889
890 /* * * * * * * * * * * * * * * * * * * * * * * * * *
891  *
892  *  Description of Arm_Norcroft_Hint fix
893  */
894 #define ARM_NORCROFT_HINT_FIXIDX         18
895 tSCC zArm_Norcroft_HintName[] =
896      "Arm_Norcroft_Hint";
897 /*
898  *  File name selection pattern
899  */
900 tSCC zArm_Norcroft_HintList[] =
901   "|X11/Intrinsic.h|";
902 /*
903  *  Machine/OS name selection pattern
904  */
905 #define apzArm_Norcroft_HintMachs (const char**)NULL
906
907 /*
908  *  content selection pattern - do fix if pattern found
909  */
910 tSCC zArm_Norcroft_HintSelect0[] =
911        "___type p_type";
912
913 #define    ARM_NORCROFT_HINT_TEST_CT  1
914 tTestDesc aArm_Norcroft_HintTests[] = {
915   { TT_EGREP,    zArm_Norcroft_HintSelect0, (regex_t*)NULL }, };
916
917 /*
918  *  Fix Command Arguments for Arm_Norcroft_Hint
919  */
920 const char* apzArm_Norcroft_HintPatch[] = { "sed",
921     "-e", "s/___type p_type/p_type/",
922     (char*)NULL };
923
924 /* * * * * * * * * * * * * * * * * * * * * * * * * *
925  *
926  *  Description of Arm_Wchar fix
927  */
928 #define ARM_WCHAR_FIXIDX                 19
929 tSCC zArm_WcharName[] =
930      "Arm_Wchar";
931 /*
932  *  File name selection pattern
933  */
934 tSCC zArm_WcharList[] =
935   "|stdlib.h|";
936 /*
937  *  Machine/OS name selection pattern
938  */
939 #define apzArm_WcharMachs (const char**)NULL
940
941 /*
942  *  content selection pattern - do fix if pattern found
943  */
944 tSCC zArm_WcharSelect0[] =
945        "#[ \t]*define[ \t]*__wchar_t";
946
947 #define    ARM_WCHAR_TEST_CT  1
948 tTestDesc aArm_WcharTests[] = {
949   { TT_EGREP,    zArm_WcharSelect0, (regex_t*)NULL }, };
950
951 /*
952  *  Fix Command Arguments for Arm_Wchar
953  */
954 const char* apzArm_WcharPatch[] = { "sed",
955     "-e", "s/\\(#[ \t]*ifndef[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
956     "-e", "s/\\(#[ \t]*define[ \t]*\\)__wchar_t/\\1_GCC_WCHAR_T/",
957     (char*)NULL };
958
959 /* * * * * * * * * * * * * * * * * * * * * * * * * *
960  *
961  *  Description of Aux_Asm fix
962  */
963 #define AUX_ASM_FIXIDX                   20
964 tSCC zAux_AsmName[] =
965      "Aux_Asm";
966 /*
967  *  File name selection pattern
968  */
969 tSCC zAux_AsmList[] =
970   "|sys/param.h|";
971 /*
972  *  Machine/OS name selection pattern
973  */
974 #define apzAux_AsmMachs (const char**)NULL
975
976 /*
977  *  content selection pattern - do fix if pattern found
978  */
979 tSCC zAux_AsmSelect0[] =
980        "#ifndef NOINLINE";
981
982 #define    AUX_ASM_TEST_CT  1
983 tTestDesc aAux_AsmTests[] = {
984   { TT_EGREP,    zAux_AsmSelect0, (regex_t*)NULL }, };
985
986 /*
987  *  Fix Command Arguments for Aux_Asm
988  */
989 const char* apzAux_AsmPatch[] = { "sed",
990     "-e", "s|#ifndef NOINLINE|#if !defined(NOINLINE) \\&\\& !defined(__GNUC__)|",
991     (char*)NULL };
992
993 /* * * * * * * * * * * * * * * * * * * * * * * * * *
994  *
995  *  Description of Avoid_Bool fix
996  */
997 #define AVOID_BOOL_FIXIDX                21
998 tSCC zAvoid_BoolName[] =
999      "Avoid_Bool";
1000 /*
1001  *  File name selection pattern
1002  */
1003 tSCC zAvoid_BoolList[] =
1004   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1005 /*
1006  *  Machine/OS name selection pattern
1007  */
1008 #define apzAvoid_BoolMachs (const char**)NULL
1009
1010 /*
1011  *  content selection pattern - do fix if pattern found
1012  */
1013 tSCC zAvoid_BoolSelect0[] =
1014        "char[ \t]+bool|bool[ \t]+char";
1015
1016 /*
1017  *  content bypass pattern - skip fix if pattern found
1018  */
1019 tSCC zAvoid_BoolBypass0[] =
1020        "we must use the C\\+\\+ compiler's type";
1021
1022 #define    AVOID_BOOL_TEST_CT  2
1023 tTestDesc aAvoid_BoolTests[] = {
1024   { TT_NEGREP,   zAvoid_BoolBypass0, (regex_t*)NULL },
1025   { TT_EGREP,    zAvoid_BoolSelect0, (regex_t*)NULL }, };
1026
1027 /*
1028  *  Fix Command Arguments for Avoid_Bool
1029  */
1030 const char* apzAvoid_BoolPatch[] = { "sed",
1031     "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/i\\\n\
1032 #ifndef __cplusplus\n",
1033     "-e", "/^#[ \t]*define[ \t][ \t]*bool[ \t][ \t]*char[ \t]*$/a\\\n\
1034 #endif\n",
1035     "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/i\\\n\
1036 #ifndef __cplusplus\n",
1037     "-e", "/^typedef[ \t][ \t]*char[ \t][ \t]*bool[ \t]*;/a\\\n\
1038 #endif\n",
1039     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/i\\\n\
1040 #ifndef __cplusplus\n",
1041     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned char[ \t][ \t]*bool[ \t]*;/a\\\n\
1042 #endif\n",
1043     "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/i\\\n\
1044 #ifndef __cplusplus\n",
1045     "-e", "/^typedef[ \t][ \t]*int[ \t][ \t]*bool[ \t]*;/a\\\n\
1046 #endif\n",
1047     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/i\\\n\
1048 #ifndef __cplusplus\n",
1049     "-e", "/^[ ]*typedef[ \t][ \t]*unsigned int[ \t][ \t]*bool[ \t]*;/a\\\n\
1050 #endif\n",
1051     (char*)NULL };
1052
1053 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1054  *
1055  *  Description of Bad_Struct_Term fix
1056  */
1057 #define BAD_STRUCT_TERM_FIXIDX           22
1058 tSCC zBad_Struct_TermName[] =
1059      "Bad_Struct_Term";
1060 /*
1061  *  File name selection pattern
1062  */
1063 tSCC zBad_Struct_TermList[] =
1064   "|curses.h|";
1065 /*
1066  *  Machine/OS name selection pattern
1067  */
1068 #define apzBad_Struct_TermMachs (const char**)NULL
1069
1070 /*
1071  *  content selection pattern - do fix if pattern found
1072  */
1073 tSCC zBad_Struct_TermSelect0[] =
1074        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1075
1076 #define    BAD_STRUCT_TERM_TEST_CT  1
1077 tTestDesc aBad_Struct_TermTests[] = {
1078   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1079
1080 /*
1081  *  Fix Command Arguments for Bad_Struct_Term
1082  */
1083 const char* apzBad_Struct_TermPatch[] = { "sed",
1084     "-e", "s/^[ \t]*typedef[ \t][ \t]*\\(struct[ \t][ \t]*term[ \t]*;[ \t]*\\)$/\\1/",
1085     (char*)NULL };
1086
1087 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1088  *
1089  *  Description of Badquote fix
1090  */
1091 #define BADQUOTE_FIXIDX                  23
1092 tSCC zBadquoteName[] =
1093      "Badquote";
1094 /*
1095  *  File name selection pattern
1096  */
1097 tSCC zBadquoteList[] =
1098   "|sundev/vuid_event.h|";
1099 /*
1100  *  Machine/OS name selection pattern
1101  */
1102 #define apzBadquoteMachs (const char**)NULL
1103 #define BADQUOTE_TEST_CT  0
1104 #define aBadquoteTests   (tTestDesc*)NULL
1105
1106 /*
1107  *  Fix Command Arguments for Badquote
1108  */
1109 const char* apzBadquotePatch[] = { "sed",
1110     "-e", "s/doesn't/does not/",
1111     (char*)NULL };
1112
1113 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1114  *
1115  *  Description of Bad_Lval fix
1116  */
1117 #define BAD_LVAL_FIXIDX                  24
1118 tSCC zBad_LvalName[] =
1119      "Bad_Lval";
1120 /*
1121  *  File name selection pattern
1122  */
1123 tSCC zBad_LvalList[] =
1124   "|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|";
1125 /*
1126  *  Machine/OS name selection pattern
1127  */
1128 #define apzBad_LvalMachs (const char**)NULL
1129
1130 /*
1131  *  content selection pattern - do fix if pattern found
1132  */
1133 tSCC zBad_LvalSelect0[] =
1134        "^[ \t]*#[ \t]*pragma[ \t][ \t]*extern_prefix";
1135
1136 #define    BAD_LVAL_TEST_CT  1
1137 tTestDesc aBad_LvalTests[] = {
1138   { TT_EGREP,    zBad_LvalSelect0, (regex_t*)NULL }, };
1139
1140 /*
1141  *  Fix Command Arguments for Bad_Lval
1142  */
1143 const char* apzBad_LvalPatch[] = { "sed",
1144     "-e", "s/^[ \t]*#[ \t]*define[ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1145     (char*)NULL };
1146
1147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1148  *
1149  *  Description of Broken_Assert_Stdio fix
1150  */
1151 #define BROKEN_ASSERT_STDIO_FIXIDX       25
1152 tSCC zBroken_Assert_StdioName[] =
1153      "Broken_Assert_Stdio";
1154 /*
1155  *  File name selection pattern
1156  */
1157 tSCC zBroken_Assert_StdioList[] =
1158   "|assert.h|";
1159 /*
1160  *  Machine/OS name selection pattern
1161  */
1162 #define apzBroken_Assert_StdioMachs (const char**)NULL
1163
1164 /*
1165  *  content selection pattern - do fix if pattern found
1166  */
1167 tSCC zBroken_Assert_StdioSelect0[] =
1168        "stderr";
1169
1170 /*
1171  *  content bypass pattern - skip fix if pattern found
1172  */
1173 tSCC zBroken_Assert_StdioBypass0[] =
1174        "include.*stdio.h";
1175
1176 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1177 tTestDesc aBroken_Assert_StdioTests[] = {
1178   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1179   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1180
1181 /*
1182  *  Fix Command Arguments for Broken_Assert_Stdio
1183  */
1184 const char* apzBroken_Assert_StdioPatch[] = { "sed",
1185     "-e", "1i\\\n\
1186 #include <stdio.h>\n",
1187     (char*)NULL };
1188
1189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1190  *
1191  *  Description of Broken_Assert_Stdlib fix
1192  */
1193 #define BROKEN_ASSERT_STDLIB_FIXIDX      26
1194 tSCC zBroken_Assert_StdlibName[] =
1195      "Broken_Assert_Stdlib";
1196 /*
1197  *  File name selection pattern
1198  */
1199 tSCC zBroken_Assert_StdlibList[] =
1200   "|assert.h|";
1201 /*
1202  *  Machine/OS name selection pattern
1203  */
1204 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1205
1206 /*
1207  *  content selection pattern - do fix if pattern found
1208  */
1209 tSCC zBroken_Assert_StdlibSelect0[] =
1210        "exit *\\(|abort *\\(";
1211
1212 /*
1213  *  content bypass pattern - skip fix if pattern found
1214  */
1215 tSCC zBroken_Assert_StdlibBypass0[] =
1216        "include.*stdlib.h";
1217
1218 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1219 tTestDesc aBroken_Assert_StdlibTests[] = {
1220   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1221   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1222
1223 /*
1224  *  Fix Command Arguments for Broken_Assert_Stdlib
1225  */
1226 const char* apzBroken_Assert_StdlibPatch[] = { "sed",
1227     "-e", "1i\\\n\
1228 #ifdef __cplusplus\\\n\
1229 #include <stdlib.h>\\\n\
1230 #endif\n",
1231     (char*)NULL };
1232
1233 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1234  *
1235  *  Description of Dec_Intern_Asm fix
1236  */
1237 #define DEC_INTERN_ASM_FIXIDX            27
1238 tSCC zDec_Intern_AsmName[] =
1239      "Dec_Intern_Asm";
1240 /*
1241  *  File name selection pattern
1242  */
1243 tSCC zDec_Intern_AsmList[] =
1244   "|c_asm.h|";
1245 /*
1246  *  Machine/OS name selection pattern
1247  */
1248 #define apzDec_Intern_AsmMachs (const char**)NULL
1249 #define DEC_INTERN_ASM_TEST_CT  0
1250 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1251
1252 /*
1253  *  Fix Command Arguments for Dec_Intern_Asm
1254  */
1255 const char* apzDec_Intern_AsmPatch[] = { "sed",
1256     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1257 #ifdef __DECC\n",
1258     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1259 #endif\n",
1260     (char*)NULL };
1261
1262 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1263  *
1264  *  Description of No_Double_Slash fix
1265  */
1266 #define NO_DOUBLE_SLASH_FIXIDX           28
1267 tSCC zNo_Double_SlashName[] =
1268      "No_Double_Slash";
1269 /*
1270  *  File name selection pattern
1271  */
1272 #define zNo_Double_SlashList (char*)NULL
1273 /*
1274  *  Machine/OS name selection pattern
1275  */
1276 #define apzNo_Double_SlashMachs (const char**)NULL
1277
1278 /*
1279  *  perform the C function call test
1280  */
1281 tSCC zNo_Double_SlashFTst0[] = "double_slash";
1282
1283 #define    NO_DOUBLE_SLASH_TEST_CT  1
1284 tTestDesc aNo_Double_SlashTests[] = {
1285   { TT_FUNCTION, zNo_Double_SlashFTst0,   0 /* unused */ }, };
1286
1287 /*
1288  *  Fix Command Arguments for No_Double_Slash
1289  */
1290 const char* apzNo_Double_SlashPatch[] = {"no_double_slash",
1291     (char*)NULL };
1292
1293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1294  *
1295  *  Description of Ecd_Cursor fix
1296  */
1297 #define ECD_CURSOR_FIXIDX                29
1298 tSCC zEcd_CursorName[] =
1299      "Ecd_Cursor";
1300 /*
1301  *  File name selection pattern
1302  */
1303 tSCC zEcd_CursorList[] =
1304   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1305 /*
1306  *  Machine/OS name selection pattern
1307  */
1308 #define apzEcd_CursorMachs (const char**)NULL
1309 #define ECD_CURSOR_TEST_CT  0
1310 #define aEcd_CursorTests   (tTestDesc*)NULL
1311
1312 /*
1313  *  Fix Command Arguments for Ecd_Cursor
1314  */
1315 const char* apzEcd_CursorPatch[] = { "sed",
1316     "-e", "s/ecd.cursor/ecd_cursor/",
1317     (char*)NULL };
1318
1319 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1320  *
1321  *  Description of Sco5_Stat_Wrappers fix
1322  */
1323 #define SCO5_STAT_WRAPPERS_FIXIDX        30
1324 tSCC zSco5_Stat_WrappersName[] =
1325      "Sco5_Stat_Wrappers";
1326 /*
1327  *  File name selection pattern
1328  */
1329 tSCC zSco5_Stat_WrappersList[] =
1330   "|sys/stat.h|";
1331 /*
1332  *  Machine/OS name selection pattern
1333  */
1334 tSCC* apzSco5_Stat_WrappersMachs[] = {
1335         "i*86-*-sco3.2v5*",
1336         (const char*)NULL };
1337 #define SCO5_STAT_WRAPPERS_TEST_CT  0
1338 #define aSco5_Stat_WrappersTests   (tTestDesc*)NULL
1339
1340 /*
1341  *  Fix Command Arguments for Sco5_Stat_Wrappers
1342  */
1343 const char* apzSco5_Stat_WrappersPatch[] = { "sed",
1344     "-e", "/^static int[ \t]*[a-z]*stat(/i\\\n\
1345 #ifdef __cplusplus\\\n\
1346 extern \"C\"\\\n\
1347 {\\\n\
1348 #endif\\\n",
1349     "-e", "/^}$/a\\\n\
1350 #ifdef __cplusplus\\\n\
1351 }\\\n\
1352 #endif /* __cplusplus */\\\n",
1353     (char*)NULL };
1354
1355 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1356  *
1357  *  Description of End_Else_Label fix
1358  */
1359 #define END_ELSE_LABEL_FIXIDX            31
1360 tSCC zEnd_Else_LabelName[] =
1361      "End_Else_Label";
1362 /*
1363  *  File name selection pattern
1364  */
1365 #define zEnd_Else_LabelList (char*)NULL
1366 /*
1367  *  Machine/OS name selection pattern
1368  */
1369 #define apzEnd_Else_LabelMachs (const char**)NULL
1370
1371 /*
1372  *  perform the C function call test
1373  */
1374 tSCC zEnd_Else_LabelFTst0[] = "else_endif_label";
1375
1376 #define    END_ELSE_LABEL_TEST_CT  1
1377 tTestDesc aEnd_Else_LabelTests[] = {
1378   { TT_FUNCTION, zEnd_Else_LabelFTst0,   0 /* unused */ }, };
1379
1380 /*
1381  *  Fix Command Arguments for End_Else_Label
1382  */
1383 const char* apzEnd_Else_LabelPatch[] = {"else_endif_label",
1384     (char*)NULL };
1385
1386 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1387  *
1388  *  Description of Hp_Inline fix
1389  */
1390 #define HP_INLINE_FIXIDX                 32
1391 tSCC zHp_InlineName[] =
1392      "Hp_Inline";
1393 /*
1394  *  File name selection pattern
1395  */
1396 tSCC zHp_InlineList[] =
1397   "|sys/spinlock.h|";
1398 /*
1399  *  Machine/OS name selection pattern
1400  */
1401 #define apzHp_InlineMachs (const char**)NULL
1402
1403 /*
1404  *  content selection pattern - do fix if pattern found
1405  */
1406 tSCC zHp_InlineSelect0[] =
1407        "include.*\"\\.\\./machine/";
1408
1409 #define    HP_INLINE_TEST_CT  1
1410 tTestDesc aHp_InlineTests[] = {
1411   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
1412
1413 /*
1414  *  Fix Command Arguments for Hp_Inline
1415  */
1416 const char* apzHp_InlinePatch[] = { "sed",
1417     "-e", "s,\"../machine/inline.h\",<machine/inline.h>,",
1418     "-e", "s,\"../machine/psl.h\",<machine/psl.h>,",
1419     (char*)NULL };
1420
1421 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1422  *
1423  *  Description of Hp_Sysfile fix
1424  */
1425 #define HP_SYSFILE_FIXIDX                33
1426 tSCC zHp_SysfileName[] =
1427      "Hp_Sysfile";
1428 /*
1429  *  File name selection pattern
1430  */
1431 tSCC zHp_SysfileList[] =
1432   "|sys/file.h|";
1433 /*
1434  *  Machine/OS name selection pattern
1435  */
1436 #define apzHp_SysfileMachs (const char**)NULL
1437
1438 /*
1439  *  content selection pattern - do fix if pattern found
1440  */
1441 tSCC zHp_SysfileSelect0[] =
1442        "HPUX_SOURCE";
1443
1444 #define    HP_SYSFILE_TEST_CT  1
1445 tTestDesc aHp_SysfileTests[] = {
1446   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
1447
1448 /*
1449  *  Fix Command Arguments for Hp_Sysfile
1450  */
1451 const char* apzHp_SysfilePatch[] = { "sed",
1452     "-e", "s/(\\.\\.\\.)/(struct file * ...)/",
1453     (char*)NULL };
1454
1455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1456  *
1457  *  Description of Cxx_Unready fix
1458  */
1459 #define CXX_UNREADY_FIXIDX               34
1460 tSCC zCxx_UnreadyName[] =
1461      "Cxx_Unready";
1462 /*
1463  *  File name selection pattern
1464  */
1465 tSCC zCxx_UnreadyList[] =
1466   "|sys/mman.h|rpc/types.h|";
1467 /*
1468  *  Machine/OS name selection pattern
1469  */
1470 #define apzCxx_UnreadyMachs (const char**)NULL
1471
1472 /*
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zCxx_UnreadyBypass0[] =
1476        "\"C\"|__BEGIN_DECLS";
1477
1478 #define    CXX_UNREADY_TEST_CT  1
1479 tTestDesc aCxx_UnreadyTests[] = {
1480   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL }, };
1481
1482 /*
1483  *  Fix Command Arguments for Cxx_Unready
1484  */
1485 const char* apzCxx_UnreadyPatch[] = { "sed",
1486     "-e", "1i\\\n\
1487 #ifdef __cplusplus\\\n\
1488 extern \"C\" {\\\n\
1489 #endif\\\n\
1490 \n",
1491     "-e", "$a\\\n\
1492 #ifdef __cplusplus\\\n\
1493 }\\\n\
1494 #endif\n",
1495     (char*)NULL };
1496
1497 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1498  *
1499  *  Description of Hpux_Maxint fix
1500  */
1501 #define HPUX_MAXINT_FIXIDX               35
1502 tSCC zHpux_MaxintName[] =
1503      "Hpux_Maxint";
1504 /*
1505  *  File name selection pattern
1506  */
1507 tSCC zHpux_MaxintList[] =
1508   "|sys/param.h|";
1509 /*
1510  *  Machine/OS name selection pattern
1511  */
1512 #define apzHpux_MaxintMachs (const char**)NULL
1513 #define HPUX_MAXINT_TEST_CT  0
1514 #define aHpux_MaxintTests   (tTestDesc*)NULL
1515
1516 /*
1517  *  Fix Command Arguments for Hpux_Maxint
1518  */
1519 const char* apzHpux_MaxintPatch[] = { "sed",
1520     "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/i\\\n\
1521 #ifndef MAXINT\n",
1522     "-e", "/^#[ \t]*define[ \t]*MAXINT[ \t]/a\\\n\
1523 #endif\n",
1524     (char*)NULL };
1525
1526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1527  *
1528  *  Description of Hpux_Systime fix
1529  */
1530 #define HPUX_SYSTIME_FIXIDX              36
1531 tSCC zHpux_SystimeName[] =
1532      "Hpux_Systime";
1533 /*
1534  *  File name selection pattern
1535  */
1536 tSCC zHpux_SystimeList[] =
1537   "|sys/time.h|";
1538 /*
1539  *  Machine/OS name selection pattern
1540  */
1541 #define apzHpux_SystimeMachs (const char**)NULL
1542
1543 /*
1544  *  content selection pattern - do fix if pattern found
1545  */
1546 tSCC zHpux_SystimeSelect0[] =
1547        "^extern struct sigevent;";
1548
1549 #define    HPUX_SYSTIME_TEST_CT  1
1550 tTestDesc aHpux_SystimeTests[] = {
1551   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
1552
1553 /*
1554  *  Fix Command Arguments for Hpux_Systime
1555  */
1556 const char* apzHpux_SystimePatch[] = { "sed",
1557     "-e", "s/^extern struct sigevent;/struct sigevent;/",
1558     (char*)NULL };
1559
1560 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1561  *
1562  *  Description of Hpux8_Bogus_Inlines fix
1563  */
1564 #define HPUX8_BOGUS_INLINES_FIXIDX       37
1565 tSCC zHpux8_Bogus_InlinesName[] =
1566      "Hpux8_Bogus_Inlines";
1567 /*
1568  *  File name selection pattern
1569  */
1570 tSCC zHpux8_Bogus_InlinesList[] =
1571   "|math.h|";
1572 /*
1573  *  Machine/OS name selection pattern
1574  */
1575 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
1576
1577 /*
1578  *  content selection pattern - do fix if pattern found
1579  */
1580 tSCC zHpux8_Bogus_InlinesSelect0[] =
1581        "inline";
1582
1583 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
1584 tTestDesc aHpux8_Bogus_InlinesTests[] = {
1585   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
1586
1587 /*
1588  *  Fix Command Arguments for Hpux8_Bogus_Inlines
1589  */
1590 const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
1591     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
1592     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
1593     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
1594     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
1595     (char*)NULL };
1596
1597 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1598  *
1599  *  Description of Hpux11_Uint32_C fix
1600  */
1601 #define HPUX11_UINT32_C_FIXIDX           38
1602 tSCC zHpux11_Uint32_CName[] =
1603      "Hpux11_Uint32_C";
1604 /*
1605  *  File name selection pattern
1606  */
1607 tSCC zHpux11_Uint32_CList[] =
1608   "|inttypes.h|";
1609 /*
1610  *  Machine/OS name selection pattern
1611  */
1612 #define apzHpux11_Uint32_CMachs (const char**)NULL
1613
1614 /*
1615  *  content selection pattern - do fix if pattern found
1616  */
1617 tSCC zHpux11_Uint32_CSelect0[] =
1618        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
1619
1620 #define    HPUX11_UINT32_C_TEST_CT  1
1621 tTestDesc aHpux11_Uint32_CTests[] = {
1622   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
1623
1624 /*
1625  *  Fix Command Arguments for Hpux11_Uint32_C
1626  */
1627 const char* apzHpux11_Uint32_CPatch[] = { "sed",
1628     "-e", "s/^#define UINT32_C(__c)\\([ \t]*\\)__CONCAT__(__CONCAT_U__(__c),l)/#define UINT32_C(__c)\\1__CONCAT__(__c,ul)/",
1629     (char*)NULL };
1630
1631 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1632  *
1633  *  Description of Isc_Omits_With_Stdc fix
1634  */
1635 #define ISC_OMITS_WITH_STDC_FIXIDX       39
1636 tSCC zIsc_Omits_With_StdcName[] =
1637      "Isc_Omits_With_Stdc";
1638 /*
1639  *  File name selection pattern
1640  */
1641 tSCC zIsc_Omits_With_StdcList[] =
1642   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
1643 /*
1644  *  Machine/OS name selection pattern
1645  */
1646 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
1647
1648 /*
1649  *  content selection pattern - do fix if pattern found
1650  */
1651 tSCC zIsc_Omits_With_StdcSelect0[] =
1652        "defined(__STDC__) && !defined(_POSIX_SOURCE)";
1653
1654 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
1655 tTestDesc aIsc_Omits_With_StdcTests[] = {
1656   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
1657
1658 /*
1659  *  Fix Command Arguments for Isc_Omits_With_Stdc
1660  */
1661 const char* apzIsc_Omits_With_StdcPatch[] = { "sed",
1662     "-e", "s/!defined(__STDC__) && !defined(_POSIX_SOURCE)/!defined(_POSIX_SOURCE)/",
1663     (char*)NULL };
1664
1665 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1666  *
1667  *  Description of Io_Use_Quotes fix
1668  */
1669 #define IO_USE_QUOTES_FIXIDX             40
1670 tSCC zIo_Use_QuotesName[] =
1671      "Io_Use_Quotes";
1672 /*
1673  *  File name selection pattern
1674  */
1675 #define zIo_Use_QuotesList (char*)NULL
1676 /*
1677  *  Machine/OS name selection pattern
1678  */
1679 #define apzIo_Use_QuotesMachs (const char**)NULL
1680
1681 /*
1682  *  content selection pattern - do fix if pattern found
1683  */
1684 tSCC zIo_Use_QuotesSelect0[] =
1685        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
1686
1687 #define    IO_USE_QUOTES_TEST_CT  1
1688 tTestDesc aIo_Use_QuotesTests[] = {
1689   { TT_EGREP,    zIo_Use_QuotesSelect0, (regex_t*)NULL }, };
1690
1691 /*
1692  *  Fix Command Arguments for Io_Use_Quotes
1693  */
1694 const char* apzIo_Use_QuotesPatch[] = {"IO_use",
1695     (char*)NULL };
1696
1697 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1698  *
1699  *  Description of Io_Def_Quotes fix
1700  */
1701 #define IO_DEF_QUOTES_FIXIDX             41
1702 tSCC zIo_Def_QuotesName[] =
1703      "Io_Def_Quotes";
1704 /*
1705  *  File name selection pattern
1706  */
1707 #define zIo_Def_QuotesList (char*)NULL
1708 /*
1709  *  Machine/OS name selection pattern
1710  */
1711 #define apzIo_Def_QuotesMachs (const char**)NULL
1712
1713 /*
1714  *  content selection pattern - do fix if pattern found
1715  */
1716 tSCC zIo_Def_QuotesSelect0[] =
1717        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\(([a-zA-Z]).*'\\1'";
1718
1719 #define    IO_DEF_QUOTES_TEST_CT  1
1720 tTestDesc aIo_Def_QuotesTests[] = {
1721   { TT_EGREP,    zIo_Def_QuotesSelect0, (regex_t*)NULL }, };
1722
1723 /*
1724  *  Fix Command Arguments for Io_Def_Quotes
1725  */
1726 const char* apzIo_Def_QuotesPatch[] = {"IO_defn",
1727     (char*)NULL };
1728
1729 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1730  *
1731  *  Description of Ctrl_Use_Quotes fix
1732  */
1733 #define CTRL_USE_QUOTES_FIXIDX           42
1734 tSCC zCtrl_Use_QuotesName[] =
1735      "Ctrl_Use_Quotes";
1736 /*
1737  *  File name selection pattern
1738  */
1739 #define zCtrl_Use_QuotesList (char*)NULL
1740 /*
1741  *  Machine/OS name selection pattern
1742  */
1743 #define apzCtrl_Use_QuotesMachs (const char**)NULL
1744
1745 /*
1746  *  content selection pattern - do fix if pattern found
1747  */
1748 tSCC zCtrl_Use_QuotesSelect0[] =
1749        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1750
1751 #define    CTRL_USE_QUOTES_TEST_CT  1
1752 tTestDesc aCtrl_Use_QuotesTests[] = {
1753   { TT_EGREP,    zCtrl_Use_QuotesSelect0, (regex_t*)NULL }, };
1754
1755 /*
1756  *  Fix Command Arguments for Ctrl_Use_Quotes
1757  */
1758 const char* apzCtrl_Use_QuotesPatch[] = {"CTRL_use",
1759     (char*)NULL };
1760
1761 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1762  *
1763  *  Description of Ctrl_Def_Quotes fix
1764  */
1765 #define CTRL_DEF_QUOTES_FIXIDX           43
1766 tSCC zCtrl_Def_QuotesName[] =
1767      "Ctrl_Def_Quotes";
1768 /*
1769  *  File name selection pattern
1770  */
1771 #define zCtrl_Def_QuotesList (char*)NULL
1772 /*
1773  *  Machine/OS name selection pattern
1774  */
1775 #define apzCtrl_Def_QuotesMachs (const char**)NULL
1776
1777 /*
1778  *  content selection pattern - do fix if pattern found
1779  */
1780 tSCC zCtrl_Def_QuotesSelect0[] =
1781        "define[ \t]+[A-Z0-9_]+CTRL\\(([a-zA-Z]).*'\\1'";
1782
1783 #define    CTRL_DEF_QUOTES_TEST_CT  1
1784 tTestDesc aCtrl_Def_QuotesTests[] = {
1785   { TT_EGREP,    zCtrl_Def_QuotesSelect0, (regex_t*)NULL }, };
1786
1787 /*
1788  *  Fix Command Arguments for Ctrl_Def_Quotes
1789  */
1790 const char* apzCtrl_Def_QuotesPatch[] = {"CTRL_defn",
1791     (char*)NULL };
1792
1793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1794  *
1795  *  Description of Ip_Missing_Semi fix
1796  */
1797 #define IP_MISSING_SEMI_FIXIDX           44
1798 tSCC zIp_Missing_SemiName[] =
1799      "Ip_Missing_Semi";
1800 /*
1801  *  File name selection pattern
1802  */
1803 tSCC zIp_Missing_SemiList[] =
1804   "|netinet/ip.h|";
1805 /*
1806  *  Machine/OS name selection pattern
1807  */
1808 #define apzIp_Missing_SemiMachs (const char**)NULL
1809
1810 /*
1811  *  content selection pattern - do fix if pattern found
1812  */
1813 tSCC zIp_Missing_SemiSelect0[] =
1814        "}$";
1815
1816 #define    IP_MISSING_SEMI_TEST_CT  1
1817 tTestDesc aIp_Missing_SemiTests[] = {
1818   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
1819
1820 /*
1821  *  Fix Command Arguments for Ip_Missing_Semi
1822  */
1823 const char* apzIp_Missing_SemiPatch[] = { "sed",
1824     "-e", "/^struct/,/^};/s/}$/};/",
1825     (char*)NULL };
1826
1827 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1828  *
1829  *  Description of Irix_Multiline_Cmnt fix
1830  */
1831 #define IRIX_MULTILINE_CMNT_FIXIDX       45
1832 tSCC zIrix_Multiline_CmntName[] =
1833      "Irix_Multiline_Cmnt";
1834 /*
1835  *  File name selection pattern
1836  */
1837 tSCC zIrix_Multiline_CmntList[] =
1838   "|sys/types.h|";
1839 /*
1840  *  Machine/OS name selection pattern
1841  */
1842 #define apzIrix_Multiline_CmntMachs (const char**)NULL
1843 #define IRIX_MULTILINE_CMNT_TEST_CT  0
1844 #define aIrix_Multiline_CmntTests   (tTestDesc*)NULL
1845
1846 /*
1847  *  Fix Command Arguments for Irix_Multiline_Cmnt
1848  */
1849 const char* apzIrix_Multiline_CmntPatch[] = { "sed",
1850     "-e", "s@type of the result@type of the result */@",
1851     "-e", "s@of the sizeof@/* of the sizeof@",
1852     (char*)NULL };
1853
1854 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1855  *
1856  *  Description of Irix_Sockaddr fix
1857  */
1858 #define IRIX_SOCKADDR_FIXIDX             46
1859 tSCC zIrix_SockaddrName[] =
1860      "Irix_Sockaddr";
1861 /*
1862  *  File name selection pattern
1863  */
1864 tSCC zIrix_SockaddrList[] =
1865   "|rpc/auth.h|";
1866 /*
1867  *  Machine/OS name selection pattern
1868  */
1869 #define apzIrix_SockaddrMachs (const char**)NULL
1870
1871 /*
1872  *  content selection pattern - do fix if pattern found
1873  */
1874 tSCC zIrix_SockaddrSelect0[] =
1875        "authdes_create.*struct sockaddr";
1876
1877 #define    IRIX_SOCKADDR_TEST_CT  1
1878 tTestDesc aIrix_SockaddrTests[] = {
1879   { TT_EGREP,    zIrix_SockaddrSelect0, (regex_t*)NULL }, };
1880
1881 /*
1882  *  Fix Command Arguments for Irix_Sockaddr
1883  */
1884 const char* apzIrix_SockaddrPatch[] = { "sed",
1885     "-e", "/authdes_create.*struct sockaddr/i\\\n\
1886 struct sockaddr;\n",
1887     (char*)NULL };
1888
1889 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1890  *
1891  *  Description of Irix_Struct__File fix
1892  */
1893 #define IRIX_STRUCT__FILE_FIXIDX         47
1894 tSCC zIrix_Struct__FileName[] =
1895      "Irix_Struct__File";
1896 /*
1897  *  File name selection pattern
1898  */
1899 tSCC zIrix_Struct__FileList[] =
1900   "|rpc/xdr.h|";
1901 /*
1902  *  Machine/OS name selection pattern
1903  */
1904 #define apzIrix_Struct__FileMachs (const char**)NULL
1905 #define IRIX_STRUCT__FILE_TEST_CT  0
1906 #define aIrix_Struct__FileTests   (tTestDesc*)NULL
1907
1908 /*
1909  *  Fix Command Arguments for Irix_Struct__File
1910  */
1911 const char* apzIrix_Struct__FilePatch[] = { "sed",
1912     "-e", "/xdrstdio_create.*struct __file_s/i\\\n\
1913 struct __file_s;\n",
1914     (char*)NULL };
1915
1916 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1917  *
1918  *  Description of Irix_Asm_Apostrophe fix
1919  */
1920 #define IRIX_ASM_APOSTROPHE_FIXIDX       48
1921 tSCC zIrix_Asm_ApostropheName[] =
1922      "Irix_Asm_Apostrophe";
1923 /*
1924  *  File name selection pattern
1925  */
1926 tSCC zIrix_Asm_ApostropheList[] =
1927   "|sys/asm.h|";
1928 /*
1929  *  Machine/OS name selection pattern
1930  */
1931 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
1932
1933 /*
1934  *  content selection pattern - do fix if pattern found
1935  */
1936 tSCC zIrix_Asm_ApostropheSelect0[] =
1937        "^[ \t]*#.*[Ww]e're";
1938
1939 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
1940 tTestDesc aIrix_Asm_ApostropheTests[] = {
1941   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
1942
1943 /*
1944  *  Fix Command Arguments for Irix_Asm_Apostrophe
1945  */
1946 const char* apzIrix_Asm_ApostrophePatch[] = { "sed",
1947     "-e", "/^[ \t]*#/s/\\([Ww]e\\)'re/\\1 are/",
1948     (char*)NULL };
1949
1950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1951  *
1952  *  Description of Isc_Fmod fix
1953  */
1954 #define ISC_FMOD_FIXIDX                  49
1955 tSCC zIsc_FmodName[] =
1956      "Isc_Fmod";
1957 /*
1958  *  File name selection pattern
1959  */
1960 tSCC zIsc_FmodList[] =
1961   "|math.h|";
1962 /*
1963  *  Machine/OS name selection pattern
1964  */
1965 #define apzIsc_FmodMachs (const char**)NULL
1966
1967 /*
1968  *  content selection pattern - do fix if pattern found
1969  */
1970 tSCC zIsc_FmodSelect0[] =
1971        "fmod\\(double\\)";
1972
1973 #define    ISC_FMOD_TEST_CT  1
1974 tTestDesc aIsc_FmodTests[] = {
1975   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
1976
1977 /*
1978  *  Fix Command Arguments for Isc_Fmod
1979  */
1980 const char* apzIsc_FmodPatch[] = { "sed",
1981     "-e", "s/fmod(double)/fmod(double, double)/",
1982     (char*)NULL };
1983
1984 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1985  *
1986  *  Description of Motorola_Nested fix
1987  */
1988 #define MOTOROLA_NESTED_FIXIDX           50
1989 tSCC zMotorola_NestedName[] =
1990      "Motorola_Nested";
1991 /*
1992  *  File name selection pattern
1993  */
1994 tSCC zMotorola_NestedList[] =
1995   "|limits.h|sys/limits.h|";
1996 /*
1997  *  Machine/OS name selection pattern
1998  */
1999 tSCC* apzMotorola_NestedMachs[] = {
2000         "m68k-motorola-sysv*",
2001         (const char*)NULL };
2002 #define MOTOROLA_NESTED_TEST_CT  0
2003 #define aMotorola_NestedTests   (tTestDesc*)NULL
2004
2005 /*
2006  *  Fix Command Arguments for Motorola_Nested
2007  */
2008 const char* apzMotorola_NestedPatch[] = { "sed",
2009     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
2010     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.40282346638528860e+38 \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
2011     (char*)NULL };
2012
2013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2014  *
2015  *  Description of Isc_Sys_Limits fix
2016  */
2017 #define ISC_SYS_LIMITS_FIXIDX            51
2018 tSCC zIsc_Sys_LimitsName[] =
2019      "Isc_Sys_Limits";
2020 /*
2021  *  File name selection pattern
2022  */
2023 tSCC zIsc_Sys_LimitsList[] =
2024   "|sys/limits.h|";
2025 /*
2026  *  Machine/OS name selection pattern
2027  */
2028 #define apzIsc_Sys_LimitsMachs (const char**)NULL
2029
2030 /*
2031  *  content selection pattern - do fix if pattern found
2032  */
2033 tSCC zIsc_Sys_LimitsSelect0[] =
2034        "CHILD_MAX";
2035
2036 #define    ISC_SYS_LIMITS_TEST_CT  1
2037 tTestDesc aIsc_Sys_LimitsTests[] = {
2038   { TT_EGREP,    zIsc_Sys_LimitsSelect0, (regex_t*)NULL }, };
2039
2040 /*
2041  *  Fix Command Arguments for Isc_Sys_Limits
2042  */
2043 const char* apzIsc_Sys_LimitsPatch[] = { "sed",
2044     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
2045     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
2046     (char*)NULL };
2047
2048 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2049  *
2050  *  Description of Kandr_Concat fix
2051  */
2052 #define KANDR_CONCAT_FIXIDX              52
2053 tSCC zKandr_ConcatName[] =
2054      "Kandr_Concat";
2055 /*
2056  *  File name selection pattern
2057  */
2058 tSCC zKandr_ConcatList[] =
2059   "|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|";
2060 /*
2061  *  Machine/OS name selection pattern
2062  */
2063 #define apzKandr_ConcatMachs (const char**)NULL
2064
2065 /*
2066  *  content selection pattern - do fix if pattern found
2067  */
2068 tSCC zKandr_ConcatSelect0[] =
2069        "/\\*\\*/";
2070
2071 #define    KANDR_CONCAT_TEST_CT  1
2072 tTestDesc aKandr_ConcatTests[] = {
2073   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
2074
2075 /*
2076  *  Fix Command Arguments for Kandr_Concat
2077  */
2078 const char* apzKandr_ConcatPatch[] = { "sed",
2079     "-e", "s|/\\*\\*/|##|g",
2080     (char*)NULL };
2081
2082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2083  *
2084  *  Description of Limits_Ifndefs fix
2085  */
2086 #define LIMITS_IFNDEFS_FIXIDX            53
2087 tSCC zLimits_IfndefsName[] =
2088      "Limits_Ifndefs";
2089 /*
2090  *  File name selection pattern
2091  */
2092 tSCC zLimits_IfndefsList[] =
2093   "|limits.h|sys/limits.h|";
2094 /*
2095  *  Machine/OS name selection pattern
2096  */
2097 #define apzLimits_IfndefsMachs (const char**)NULL
2098
2099 /*
2100  *  content bypass pattern - skip fix if pattern found
2101  */
2102 tSCC zLimits_IfndefsBypass0[] =
2103        "ifndef[ \t]+FLT_MIN";
2104
2105 #define    LIMITS_IFNDEFS_TEST_CT  1
2106 tTestDesc aLimits_IfndefsTests[] = {
2107   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL }, };
2108
2109 /*
2110  *  Fix Command Arguments for Limits_Ifndefs
2111  */
2112 const char* apzLimits_IfndefsPatch[] = { "sed",
2113     "-e", "/[ \t]FLT_MIN[ \t]/i\\\n\
2114 #ifndef FLT_MIN\n",
2115     "-e", "/[ \t]FLT_MIN[ \t]/a\\\n\
2116 #endif\n",
2117     "-e", "/[ \t]FLT_MAX[ \t]/i\\\n\
2118 #ifndef FLT_MAX\n",
2119     "-e", "/[ \t]FLT_MAX[ \t]/a\\\n\
2120 #endif\n",
2121     "-e", "/[ \t]FLT_DIG[ \t]/i\\\n\
2122 #ifndef FLT_DIG\n",
2123     "-e", "/[ \t]FLT_DIG[ \t]/a\\\n\
2124 #endif\n",
2125     "-e", "/[ \t]DBL_MIN[ \t]/i\\\n\
2126 #ifndef DBL_MIN\n",
2127     "-e", "/[ \t]DBL_MIN[ \t]/a\\\n\
2128 #endif\n",
2129     "-e", "/[ \t]DBL_MAX[ \t]/i\\\n\
2130 #ifndef DBL_MAX\n",
2131     "-e", "/[ \t]DBL_MAX[ \t]/a\\\n\
2132 #endif\n",
2133     "-e", "/[ \t]DBL_DIG[ \t]/i\\\n\
2134 #ifndef DBL_DIG\n",
2135     "-e", "/[ \t]DBL_DIG[ \t]/a\\\n\
2136 #endif\n",
2137     "-e", "/^\\(\\/\\*#define\tHUGE_VAL\t3\\.[0-9e+]* *\\)\\/\\*/s//\\1/",
2138     (char*)NULL };
2139
2140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2141  *
2142  *  Description of Lynx_Void_Int fix
2143  */
2144 #define LYNX_VOID_INT_FIXIDX             54
2145 tSCC zLynx_Void_IntName[] =
2146      "Lynx_Void_Int";
2147 /*
2148  *  File name selection pattern
2149  */
2150 tSCC zLynx_Void_IntList[] =
2151   "|curses.h|";
2152 /*
2153  *  Machine/OS name selection pattern
2154  */
2155 #define apzLynx_Void_IntMachs (const char**)NULL
2156
2157 /*
2158  *  content selection pattern - do fix if pattern found
2159  */
2160 tSCC zLynx_Void_IntSelect0[] =
2161        "#[ \t]*define[ \t]+void[ \t]+int";
2162
2163 #define    LYNX_VOID_INT_TEST_CT  1
2164 tTestDesc aLynx_Void_IntTests[] = {
2165   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2166
2167 /*
2168  *  Fix Command Arguments for Lynx_Void_Int
2169  */
2170 const char* apzLynx_Void_IntPatch[] = { "sed",
2171     "-e", "/#[ \t]*define[ \t][ \t]*void[ \t]int/d",
2172     (char*)NULL };
2173
2174 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2175  *
2176  *  Description of Lynxos_Fcntl_Proto fix
2177  */
2178 #define LYNXOS_FCNTL_PROTO_FIXIDX        55
2179 tSCC zLynxos_Fcntl_ProtoName[] =
2180      "Lynxos_Fcntl_Proto";
2181 /*
2182  *  File name selection pattern
2183  */
2184 tSCC zLynxos_Fcntl_ProtoList[] =
2185   "|fcntl.h|";
2186 /*
2187  *  Machine/OS name selection pattern
2188  */
2189 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2190
2191 /*
2192  *  content selection pattern - do fix if pattern found
2193  */
2194 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2195        "fcntl.*\\(int, int, int\\)";
2196
2197 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
2198 tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2199   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2200
2201 /*
2202  *  Fix Command Arguments for Lynxos_Fcntl_Proto
2203  */
2204 const char* apzLynxos_Fcntl_ProtoPatch[] = { "sed",
2205     "-e", "s/\\(fcntl.*(int, int, \\)int)/\\1...)/",
2206     (char*)NULL };
2207
2208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2209  *
2210  *  Description of M88k_Bad_Hypot_Opt fix
2211  */
2212 #define M88K_BAD_HYPOT_OPT_FIXIDX        56
2213 tSCC zM88k_Bad_Hypot_OptName[] =
2214      "M88k_Bad_Hypot_Opt";
2215 /*
2216  *  File name selection pattern
2217  */
2218 tSCC zM88k_Bad_Hypot_OptList[] =
2219   "|math.h|";
2220 /*
2221  *  Machine/OS name selection pattern
2222  */
2223 tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
2224         "m88k-motorola-sysv3*",
2225         (const char*)NULL };
2226 #define M88K_BAD_HYPOT_OPT_TEST_CT  0
2227 #define aM88k_Bad_Hypot_OptTests   (tTestDesc*)NULL
2228
2229 /*
2230  *  Fix Command Arguments for M88k_Bad_Hypot_Opt
2231  */
2232 const char* apzM88k_Bad_Hypot_OptPatch[] = { "sed",
2233     "-e", "s/extern double floor(), ceil(), fmod(), fabs();/extern double floor(), ceil(), fmod(), fabs _PARAMS((double));/",
2234     "-e", "/^extern double hypot();$/a\\\n\
2235 \\/* Workaround a stupid Motorola optimization if one\\\n\
2236    of x or y is 0.0 and the other is negative!  *\\/\\\n\
2237 #ifdef __STDC__\\\n\
2238 static __inline__ double fake_hypot (double x, double y)\\\n\
2239 #else\\\n\
2240 static __inline__ double fake_hypot (x, y)\\\n\
2241 \tdouble x, y;\\\n\
2242 #endif\\\n\
2243 {\\\n\
2244 \treturn fabs (hypot (x, y));\\\n\
2245 }\\\n\
2246 #define hypot\tfake_hypot\n",
2247     (char*)NULL };
2248
2249 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2250  *
2251  *  Description of M88k_Bad_S_If fix
2252  */
2253 #define M88K_BAD_S_IF_FIXIDX             57
2254 tSCC zM88k_Bad_S_IfName[] =
2255      "M88k_Bad_S_If";
2256 /*
2257  *  File name selection pattern
2258  */
2259 tSCC zM88k_Bad_S_IfList[] =
2260   "|sys/stat.h|";
2261 /*
2262  *  Machine/OS name selection pattern
2263  */
2264 tSCC* apzM88k_Bad_S_IfMachs[] = {
2265         "m88k-*-sysv3*",
2266         (const char*)NULL };
2267
2268 /*
2269  *  content selection pattern - do fix if pattern found
2270  */
2271 tSCC zM88k_Bad_S_IfSelect0[] =
2272        "#define[ \t]+S_IS[A-Z]*(m)[ \t]";
2273
2274 #define    M88K_BAD_S_IF_TEST_CT  1
2275 tTestDesc aM88k_Bad_S_IfTests[] = {
2276   { TT_EGREP,    zM88k_Bad_S_IfSelect0, (regex_t*)NULL }, };
2277
2278 /*
2279  *  Fix Command Arguments for M88k_Bad_S_If
2280  */
2281 const char* apzM88k_Bad_S_IfPatch[] = { "sed",
2282     "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(S_IF[A-Z][A-Z][A-Z][A-Z]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
2283     "-e", "s/^\\(#define[ \t]*S_IS[A-Z]*(m)\\)[ \t]*(m[ \t]*&[ \t]*\\(0[0-9]*\\)[ \t]*)/\\1 (((m)\\&S_IFMT)==\\2)/",
2284     (char*)NULL };
2285
2286 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2287  *
2288  *  Description of M88k_Multi_Incl fix
2289  */
2290 #define M88K_MULTI_INCL_FIXIDX           58
2291 tSCC zM88k_Multi_InclName[] =
2292      "M88k_Multi_Incl";
2293 /*
2294  *  File name selection pattern
2295  */
2296 tSCC zM88k_Multi_InclList[] =
2297   "|time.h|";
2298 /*
2299  *  Machine/OS name selection pattern
2300  */
2301 tSCC* apzM88k_Multi_InclMachs[] = {
2302         "m88k-tektronix-sysv3*",
2303         (const char*)NULL };
2304
2305 /*
2306  *  content bypass pattern - skip fix if pattern found
2307  */
2308 tSCC zM88k_Multi_InclBypass0[] =
2309        "#ifndef";
2310
2311 #define    M88K_MULTI_INCL_TEST_CT  1
2312 tTestDesc aM88k_Multi_InclTests[] = {
2313   { TT_NEGREP,   zM88k_Multi_InclBypass0, (regex_t*)NULL }, };
2314
2315 /*
2316  *  Fix Command Arguments for M88k_Multi_Incl
2317  */
2318 const char* apzM88k_Multi_InclPatch[] = { "sh", "-c",
2319     "echo Fixing $file, to protect against multiple inclusion. >&2\n\
2320       cpp_wrapper=`echo $file | sed -e 's,\\.,_,g' -e 's,/,_,g'`\n\
2321       echo \"#ifndef __GCC_GOT_${cpp_wrapper}_\"\n\
2322       echo \"#define __GCC_GOT_${cpp_wrapper}_\"\n\
2323       cat\n\
2324       echo \"#endif /* ! __GCC_GOT_${cpp_wrapper}_ */\"",
2325     (char*)NULL };
2326
2327 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2328  *
2329  *  Description of Machine_Name fix
2330  */
2331 #define MACHINE_NAME_FIXIDX              59
2332 tSCC zMachine_NameName[] =
2333      "Machine_Name";
2334 /*
2335  *  File name selection pattern
2336  */
2337 #define zMachine_NameList (char*)NULL
2338 /*
2339  *  Machine/OS name selection pattern
2340  */
2341 #define apzMachine_NameMachs (const char**)NULL
2342
2343 /*
2344  *  perform the C function call test
2345  */
2346 tSCC zMachine_NameFTst0[] = "machine_name";
2347
2348 #define    MACHINE_NAME_TEST_CT  1
2349 tTestDesc aMachine_NameTests[] = {
2350   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
2351
2352 /*
2353  *  Fix Command Arguments for Machine_Name
2354  */
2355 const char* apzMachine_NamePatch[] = {"machine_name",
2356     (char*)NULL };
2357
2358 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2359  *
2360  *  Description of Math_Exception fix
2361  */
2362 #define MATH_EXCEPTION_FIXIDX            60
2363 tSCC zMath_ExceptionName[] =
2364      "Math_Exception";
2365 /*
2366  *  File name selection pattern
2367  */
2368 tSCC zMath_ExceptionList[] =
2369   "|math.h|";
2370 /*
2371  *  Machine/OS name selection pattern
2372  */
2373 #define apzMath_ExceptionMachs (const char**)NULL
2374
2375 /*
2376  *  content selection pattern - do fix if pattern found
2377  */
2378 tSCC zMath_ExceptionSelect0[] =
2379        "struct exception";
2380
2381 /*
2382  *  content bypass pattern - skip fix if pattern found
2383  */
2384 tSCC zMath_ExceptionBypass0[] =
2385        "We have a problem when using C\\+\\+";
2386
2387 #define    MATH_EXCEPTION_TEST_CT  2
2388 tTestDesc aMath_ExceptionTests[] = {
2389   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
2390   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
2391
2392 /*
2393  *  Fix Command Arguments for Math_Exception
2394  */
2395 const char* apzMath_ExceptionPatch[] = { "sed",
2396     "-e", "/struct exception/i\\\n\
2397 #ifdef __cplusplus\\\n\
2398 #define exception __math_exception\\\n\
2399 #endif\n",
2400     "-e", "/struct exception/a\\\n\
2401 #ifdef __cplusplus\\\n\
2402 #undef exception\\\n\
2403 #endif\n",
2404     (char*)NULL };
2405
2406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2407  *
2408  *  Description of Math_Huge_Val_From_Dbl_Max fix
2409  */
2410 #define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 61
2411 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
2412      "Math_Huge_Val_From_Dbl_Max";
2413 /*
2414  *  File name selection pattern
2415  */
2416 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
2417   "|math.h|";
2418 /*
2419  *  Machine/OS name selection pattern
2420  */
2421 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
2422
2423 /*
2424  *  content selection pattern - do fix if pattern found
2425  */
2426 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
2427        "define[ \t]*HUGE_VAL[ \t]*DBL_MAX";
2428
2429 /*
2430  *  content bypass pattern - skip fix if pattern found
2431  */
2432 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
2433        "define[ \t]*DBL_MAX";
2434
2435 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
2436 tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
2437   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
2438   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
2439
2440 /*
2441  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
2442  */
2443 const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
2444     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h 2>/dev/null`\n\
2445 \n\
2446 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
2447 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s/DBL_MAX/'\"$dbl_max_def/\"\n\
2448 \telse cat\n\
2449 \tfi",
2450     (char*)NULL };
2451
2452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2453  *
2454  *  Description of Math_Huge_Val_Ifndef fix
2455  */
2456 #define MATH_HUGE_VAL_IFNDEF_FIXIDX      62
2457 tSCC zMath_Huge_Val_IfndefName[] =
2458      "Math_Huge_Val_Ifndef";
2459 /*
2460  *  File name selection pattern
2461  */
2462 tSCC zMath_Huge_Val_IfndefList[] =
2463   "|math/math.h|";
2464 /*
2465  *  Machine/OS name selection pattern
2466  */
2467 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
2468
2469 /*
2470  *  content selection pattern - do fix if pattern found
2471  */
2472 tSCC zMath_Huge_Val_IfndefSelect0[] =
2473        "define[ \t]*HUGE_VAL";
2474
2475 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
2476 tTestDesc aMath_Huge_Val_IfndefTests[] = {
2477   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
2478
2479 /*
2480  *  Fix Command Arguments for Math_Huge_Val_Ifndef
2481  */
2482 const char* apzMath_Huge_Val_IfndefPatch[] = { "sed",
2483     "-e", "/define[ \t]HUGE_VAL[ \t]/i\\\n\
2484 #ifndef HUGE_VAL\n",
2485     "-e", "/define[ \t]HUGE_VAL[ \t]/a\\\n\
2486 #endif\n",
2487     (char*)NULL };
2488
2489 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2490  *
2491  *  Description of Nested_Comment fix
2492  */
2493 #define NESTED_COMMENT_FIXIDX            63
2494 tSCC zNested_CommentName[] =
2495      "Nested_Comment";
2496 /*
2497  *  File name selection pattern
2498  */
2499 tSCC zNested_CommentList[] =
2500   "|rpc/rpc.h|";
2501 /*
2502  *  Machine/OS name selection pattern
2503  */
2504 #define apzNested_CommentMachs (const char**)NULL
2505 #define NESTED_COMMENT_TEST_CT  0
2506 #define aNested_CommentTests   (tTestDesc*)NULL
2507
2508 /*
2509  *  Fix Command Arguments for Nested_Comment
2510  */
2511 const char* apzNested_CommentPatch[] = { "sed",
2512     "-e", "s@^\\(/\\*.*rpc/auth_des.h>.*\\)/\\*@\\1*/ /*@",
2513     (char*)NULL };
2514
2515 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2516  *
2517  *  Description of News_Os_Recursion fix
2518  */
2519 #define NEWS_OS_RECURSION_FIXIDX         64
2520 tSCC zNews_Os_RecursionName[] =
2521      "News_Os_Recursion";
2522 /*
2523  *  File name selection pattern
2524  */
2525 tSCC zNews_Os_RecursionList[] =
2526   "|stdlib.h|";
2527 /*
2528  *  Machine/OS name selection pattern
2529  */
2530 #define apzNews_Os_RecursionMachs (const char**)NULL
2531
2532 /*
2533  *  content selection pattern - do fix if pattern found
2534  */
2535 tSCC zNews_Os_RecursionSelect0[] =
2536        "#include <stdlib.h>";
2537
2538 #define    NEWS_OS_RECURSION_TEST_CT  1
2539 tTestDesc aNews_Os_RecursionTests[] = {
2540   { TT_EGREP,    zNews_Os_RecursionSelect0, (regex_t*)NULL }, };
2541
2542 /*
2543  *  Fix Command Arguments for News_Os_Recursion
2544  */
2545 const char* apzNews_Os_RecursionPatch[] = { "sed",
2546     "-e", "/^#include <stdlib.h>/i\\\n\
2547 #ifdef BOGUS_RECURSION\n",
2548     "-e", "/^#include <stdlib.h>/a\\\n\
2549 #endif\n",
2550     (char*)NULL };
2551
2552 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2553  *
2554  *  Description of Next_Math_Prefix fix
2555  */
2556 #define NEXT_MATH_PREFIX_FIXIDX          65
2557 tSCC zNext_Math_PrefixName[] =
2558      "Next_Math_Prefix";
2559 /*
2560  *  File name selection pattern
2561  */
2562 tSCC zNext_Math_PrefixList[] =
2563   "|ansi/math.h|";
2564 /*
2565  *  Machine/OS name selection pattern
2566  */
2567 #define apzNext_Math_PrefixMachs (const char**)NULL
2568
2569 /*
2570  *  content selection pattern - do fix if pattern found
2571  */
2572 tSCC zNext_Math_PrefixSelect0[] =
2573        "^extern.*double.*__const__.*";
2574
2575 #define    NEXT_MATH_PREFIX_TEST_CT  1
2576 tTestDesc aNext_Math_PrefixTests[] = {
2577   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
2578
2579 /*
2580  *  Fix Command Arguments for Next_Math_Prefix
2581  */
2582 const char* apzNext_Math_PrefixPatch[] = { "sed",
2583     "-e", "/^extern.*double.*__const__.*sqrt(/s/__const__//",
2584     "-e", "/^extern.*double.*__const__.*fabs(/s/__const__//",
2585     "-e", "/^extern.*double.*__const__.*cos(/s/__const__//",
2586     "-e", "/^extern.*double.*__const__.*hypot(/s/__const__//",
2587     "-e", "/^extern.*double.*__const__.*sin(/s/__const__//",
2588     (char*)NULL };
2589
2590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2591  *
2592  *  Description of Next_Template fix
2593  */
2594 #define NEXT_TEMPLATE_FIXIDX             66
2595 tSCC zNext_TemplateName[] =
2596      "Next_Template";
2597 /*
2598  *  File name selection pattern
2599  */
2600 tSCC zNext_TemplateList[] =
2601   "|bsd/libc.h|";
2602 /*
2603  *  Machine/OS name selection pattern
2604  */
2605 #define apzNext_TemplateMachs (const char**)NULL
2606
2607 /*
2608  *  content selection pattern - do fix if pattern found
2609  */
2610 tSCC zNext_TemplateSelect0[] =
2611        "template";
2612
2613 #define    NEXT_TEMPLATE_TEST_CT  1
2614 tTestDesc aNext_TemplateTests[] = {
2615   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
2616
2617 /*
2618  *  Fix Command Arguments for Next_Template
2619  */
2620 const char* apzNext_TemplatePatch[] = { "sed",
2621     "-e", "/\\(.*template\\)/s/template//",
2622     "-e", "/extern.*volatile.*void.*abort/s/volatile//",
2623     (char*)NULL };
2624
2625 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2626  *
2627  *  Description of Next_Volitile fix
2628  */
2629 #define NEXT_VOLITILE_FIXIDX             67
2630 tSCC zNext_VolitileName[] =
2631      "Next_Volitile";
2632 /*
2633  *  File name selection pattern
2634  */
2635 tSCC zNext_VolitileList[] =
2636   "|ansi/stdlib.h|";
2637 /*
2638  *  Machine/OS name selection pattern
2639  */
2640 #define apzNext_VolitileMachs (const char**)NULL
2641
2642 /*
2643  *  content selection pattern - do fix if pattern found
2644  */
2645 tSCC zNext_VolitileSelect0[] =
2646        "volatile";
2647
2648 #define    NEXT_VOLITILE_TEST_CT  1
2649 tTestDesc aNext_VolitileTests[] = {
2650   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
2651
2652 /*
2653  *  Fix Command Arguments for Next_Volitile
2654  */
2655 const char* apzNext_VolitilePatch[] = { "sed",
2656     "-e", "/extern.*volatile.*void.*exit/s/volatile//",
2657     "-e", "/extern.*volatile.*void.*abort/s/volatile//",
2658     (char*)NULL };
2659
2660 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2661  *
2662  *  Description of Next_Wait_Union fix
2663  */
2664 #define NEXT_WAIT_UNION_FIXIDX           68
2665 tSCC zNext_Wait_UnionName[] =
2666      "Next_Wait_Union";
2667 /*
2668  *  File name selection pattern
2669  */
2670 tSCC zNext_Wait_UnionList[] =
2671   "|sys/wait.h|";
2672 /*
2673  *  Machine/OS name selection pattern
2674  */
2675 #define apzNext_Wait_UnionMachs (const char**)NULL
2676
2677 /*
2678  *  content selection pattern - do fix if pattern found
2679  */
2680 tSCC zNext_Wait_UnionSelect0[] =
2681        "wait\\(union wait";
2682
2683 #define    NEXT_WAIT_UNION_TEST_CT  1
2684 tTestDesc aNext_Wait_UnionTests[] = {
2685   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
2686
2687 /*
2688  *  Fix Command Arguments for Next_Wait_Union
2689  */
2690 const char* apzNext_Wait_UnionPatch[] = { "sed",
2691     "-e", "s@wait(union wait@wait(void@",
2692     (char*)NULL };
2693
2694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2695  *
2696  *  Description of Nodeent_Syntax fix
2697  */
2698 #define NODEENT_SYNTAX_FIXIDX            69
2699 tSCC zNodeent_SyntaxName[] =
2700      "Nodeent_Syntax";
2701 /*
2702  *  File name selection pattern
2703  */
2704 tSCC zNodeent_SyntaxList[] =
2705   "|netdnet/dnetdb.h|";
2706 /*
2707  *  Machine/OS name selection pattern
2708  */
2709 #define apzNodeent_SyntaxMachs (const char**)NULL
2710 #define NODEENT_SYNTAX_TEST_CT  0
2711 #define aNodeent_SyntaxTests   (tTestDesc*)NULL
2712
2713 /*
2714  *  Fix Command Arguments for Nodeent_Syntax
2715  */
2716 const char* apzNodeent_SyntaxPatch[] = { "sed",
2717     "-e", "s/char.*na_addr *$/char *na_addr;/",
2718     (char*)NULL };
2719
2720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2721  *
2722  *  Description of Osf_Namespace_A fix
2723  */
2724 #define OSF_NAMESPACE_A_FIXIDX           70
2725 tSCC zOsf_Namespace_AName[] =
2726      "Osf_Namespace_A";
2727 /*
2728  *  File name selection pattern
2729  */
2730 tSCC zOsf_Namespace_AList[] =
2731   "|reg_types.h|sys/lc_core.h|";
2732 /*
2733  *  Machine/OS name selection pattern
2734  */
2735 #define apzOsf_Namespace_AMachs (const char**)NULL
2736
2737 /*
2738  *  perform the 'test' shell command - do fix on success
2739  */
2740 tSCC zOsf_Namespace_ATest0[] =
2741        " -r reg_types.h";
2742 tSCC zOsf_Namespace_ATest1[] =
2743        " -r sys/lc_core.h";
2744 tSCC zOsf_Namespace_ATest2[] =
2745        " -n \"`grep '} regex_t;' reg_types.h`\"";
2746 tSCC zOsf_Namespace_ATest3[] =
2747        " -z \"`grep __regex_t regex.h`\"";
2748
2749 #define    OSF_NAMESPACE_A_TEST_CT  4
2750 tTestDesc aOsf_Namespace_ATests[] = {
2751   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
2752   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
2753   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
2754   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
2755
2756 /*
2757  *  Fix Command Arguments for Osf_Namespace_A
2758  */
2759 const char* apzOsf_Namespace_APatch[] = { "sed",
2760     "-e", "s/regex_t/__regex_t/g",
2761     "-e", "s/regoff_t/__regoff_t/g",
2762     "-e", "s/regmatch_t/__regmatch_t/g",
2763     (char*)NULL };
2764
2765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2766  *
2767  *  Description of Osf_Namespace_B fix
2768  */
2769 #define OSF_NAMESPACE_B_FIXIDX           71
2770 tSCC zOsf_Namespace_BName[] =
2771      "Osf_Namespace_B";
2772 /*
2773  *  File name selection pattern
2774  */
2775 tSCC zOsf_Namespace_BList[] =
2776   "|regex.h|";
2777 /*
2778  *  Machine/OS name selection pattern
2779  */
2780 #define apzOsf_Namespace_BMachs (const char**)NULL
2781
2782 /*
2783  *  perform the 'test' shell command - do fix on success
2784  */
2785 tSCC zOsf_Namespace_BTest0[] =
2786        " -r reg_types.h";
2787 tSCC zOsf_Namespace_BTest1[] =
2788        " -r sys/lc_core.h";
2789 tSCC zOsf_Namespace_BTest2[] =
2790        " -n \"`grep '} regex_t;' reg_types.h`\"";
2791 tSCC zOsf_Namespace_BTest3[] =
2792        " -z \"`grep __regex_t regex.h`\"";
2793
2794 #define    OSF_NAMESPACE_B_TEST_CT  4
2795 tTestDesc aOsf_Namespace_BTests[] = {
2796   { TT_TEST,     zOsf_Namespace_BTest0,   0 /* unused */ },
2797   { TT_TEST,     zOsf_Namespace_BTest1,   0 /* unused */ },
2798   { TT_TEST,     zOsf_Namespace_BTest2,   0 /* unused */ },
2799   { TT_TEST,     zOsf_Namespace_BTest3,   0 /* unused */ }, };
2800
2801 /*
2802  *  Fix Command Arguments for Osf_Namespace_B
2803  */
2804 const char* apzOsf_Namespace_BPatch[] = { "sed",
2805     "-e", "/#include <reg_types.h>/a\\\n\
2806 typedef __regex_t\tregex_t;\\\n\
2807 typedef __regoff_t\tregoff_t;\\\n\
2808 typedef __regmatch_t\tregmatch_t;\n",
2809     (char*)NULL };
2810
2811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2812  *
2813  *  Description of Pthread_Page_Size fix
2814  */
2815 #define PTHREAD_PAGE_SIZE_FIXIDX         72
2816 tSCC zPthread_Page_SizeName[] =
2817      "Pthread_Page_Size";
2818 /*
2819  *  File name selection pattern
2820  */
2821 tSCC zPthread_Page_SizeList[] =
2822   "|pthread.h|";
2823 /*
2824  *  Machine/OS name selection pattern
2825  */
2826 #define apzPthread_Page_SizeMachs (const char**)NULL
2827
2828 /*
2829  *  content selection pattern - do fix if pattern found
2830  */
2831 tSCC zPthread_Page_SizeSelect0[] =
2832        "^int __page_size";
2833
2834 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
2835 tTestDesc aPthread_Page_SizeTests[] = {
2836   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
2837
2838 /*
2839  *  Fix Command Arguments for Pthread_Page_Size
2840  */
2841 const char* apzPthread_Page_SizePatch[] = { "sed",
2842     "-e", "s/^int __page_size/extern int __page_size/",
2843     (char*)NULL };
2844
2845 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2846  *
2847  *  Description of Read_Ret_Type fix
2848  */
2849 #define READ_RET_TYPE_FIXIDX             73
2850 tSCC zRead_Ret_TypeName[] =
2851      "Read_Ret_Type";
2852 /*
2853  *  File name selection pattern
2854  */
2855 tSCC zRead_Ret_TypeList[] =
2856   "|stdio.h|";
2857 /*
2858  *  Machine/OS name selection pattern
2859  */
2860 #define apzRead_Ret_TypeMachs (const char**)NULL
2861
2862 /*
2863  *  content selection pattern - do fix if pattern found
2864  */
2865 tSCC zRead_Ret_TypeSelect0[] =
2866        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
2867
2868 #define    READ_RET_TYPE_TEST_CT  1
2869 tTestDesc aRead_Ret_TypeTests[] = {
2870   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
2871
2872 /*
2873  *  Fix Command Arguments for Read_Ret_Type
2874  */
2875 const char* apzRead_Ret_TypePatch[] = { "sed",
2876     "-e", "s/^\\(extern int\tfclose(), fflush()\\), \\(fread(), fwrite()\\)\\(.*\\)$/extern unsigned int\t\\2;\\\n\
2877 \\1\\3/",
2878     (char*)NULL };
2879
2880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2881  *
2882  *  Description of Rs6000_Double fix
2883  */
2884 #define RS6000_DOUBLE_FIXIDX             74
2885 tSCC zRs6000_DoubleName[] =
2886      "Rs6000_Double";
2887 /*
2888  *  File name selection pattern
2889  */
2890 tSCC zRs6000_DoubleList[] =
2891   "|math.h|";
2892 /*
2893  *  Machine/OS name selection pattern
2894  */
2895 #define apzRs6000_DoubleMachs (const char**)NULL
2896
2897 /*
2898  *  content selection pattern - do fix if pattern found
2899  */
2900 tSCC zRs6000_DoubleSelect0[] =
2901        "[^a-zA-Z_]class\\(";
2902
2903 #define    RS6000_DOUBLE_TEST_CT  1
2904 tTestDesc aRs6000_DoubleTests[] = {
2905   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
2906
2907 /*
2908  *  Fix Command Arguments for Rs6000_Double
2909  */
2910 const char* apzRs6000_DoublePatch[] = { "sed",
2911     "-e", "/class[(]/i\\\n\
2912 #ifndef __cplusplus\n",
2913     "-e", "/class[(]/a\\\n\
2914 #endif\n",
2915     (char*)NULL };
2916
2917 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2918  *
2919  *  Description of Rs6000_Fchmod fix
2920  */
2921 #define RS6000_FCHMOD_FIXIDX             75
2922 tSCC zRs6000_FchmodName[] =
2923      "Rs6000_Fchmod";
2924 /*
2925  *  File name selection pattern
2926  */
2927 tSCC zRs6000_FchmodList[] =
2928   "|sys/stat.h|";
2929 /*
2930  *  Machine/OS name selection pattern
2931  */
2932 #define apzRs6000_FchmodMachs (const char**)NULL
2933
2934 /*
2935  *  content selection pattern - do fix if pattern found
2936  */
2937 tSCC zRs6000_FchmodSelect0[] =
2938        "fchmod\\(char";
2939
2940 #define    RS6000_FCHMOD_TEST_CT  1
2941 tTestDesc aRs6000_FchmodTests[] = {
2942   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
2943
2944 /*
2945  *  Fix Command Arguments for Rs6000_Fchmod
2946  */
2947 const char* apzRs6000_FchmodPatch[] = { "sed",
2948     "-e", "s/fchmod(char \\*/fchmod(int/",
2949     (char*)NULL };
2950
2951 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2952  *
2953  *  Description of Rs6000_Param fix
2954  */
2955 #define RS6000_PARAM_FIXIDX              76
2956 tSCC zRs6000_ParamName[] =
2957      "Rs6000_Param";
2958 /*
2959  *  File name selection pattern
2960  */
2961 tSCC zRs6000_ParamList[] =
2962   "|stdio.h|unistd.h|";
2963 /*
2964  *  Machine/OS name selection pattern
2965  */
2966 #define apzRs6000_ParamMachs (const char**)NULL
2967
2968 /*
2969  *  content selection pattern - do fix if pattern found
2970  */
2971 tSCC zRs6000_ParamSelect0[] =
2972        "const char new";
2973
2974 #define    RS6000_PARAM_TEST_CT  1
2975 tTestDesc aRs6000_ParamTests[] = {
2976   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
2977
2978 /*
2979  *  Fix Command Arguments for Rs6000_Param
2980  */
2981 const char* apzRs6000_ParamPatch[] = { "sed",
2982     "-e", "s@rename(const char \\*old, const char \\*new)@rename(const char *_old, const char *_new)@",
2983     (char*)NULL };
2984
2985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2986  *
2987  *  Description of Sony_Include fix
2988  */
2989 #define SONY_INCLUDE_FIXIDX              77
2990 tSCC zSony_IncludeName[] =
2991      "Sony_Include";
2992 /*
2993  *  File name selection pattern
2994  */
2995 tSCC zSony_IncludeList[] =
2996   "|machine/machparam.h|";
2997 /*
2998  *  Machine/OS name selection pattern
2999  */
3000 #define apzSony_IncludeMachs (const char**)NULL
3001
3002 /*
3003  *  content selection pattern - do fix if pattern found
3004  */
3005 tSCC zSony_IncludeSelect0[] =
3006        "\"\\.\\./machine/endian.h\"";
3007
3008 #define    SONY_INCLUDE_TEST_CT  1
3009 tTestDesc aSony_IncludeTests[] = {
3010   { TT_EGREP,    zSony_IncludeSelect0, (regex_t*)NULL }, };
3011
3012 /*
3013  *  Fix Command Arguments for Sony_Include
3014  */
3015 const char* apzSony_IncludePatch[] = { "sed",
3016     "-e", "s@\"../machine/endian.h\"@<machine/endian.h>@",
3017     (char*)NULL };
3018
3019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3020  *
3021  *  Description of Statsswtch fix
3022  */
3023 #define STATSSWTCH_FIXIDX                78
3024 tSCC zStatsswtchName[] =
3025      "Statsswtch";
3026 /*
3027  *  File name selection pattern
3028  */
3029 tSCC zStatsswtchList[] =
3030   "|rpcsvc/rstat.h|";
3031 /*
3032  *  Machine/OS name selection pattern
3033  */
3034 #define apzStatsswtchMachs (const char**)NULL
3035
3036 /*
3037  *  content selection pattern - do fix if pattern found
3038  */
3039 tSCC zStatsswtchSelect0[] =
3040        "boottime$";
3041
3042 #define    STATSSWTCH_TEST_CT  1
3043 tTestDesc aStatsswtchTests[] = {
3044   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
3045
3046 /*
3047  *  Fix Command Arguments for Statsswtch
3048  */
3049 const char* apzStatsswtchPatch[] = { "sed",
3050     "-e", "s/boottime$/boottime;/",
3051     (char*)NULL };
3052
3053 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3054  *
3055  *  Description of Stdio_Va_List fix
3056  */
3057 #define STDIO_VA_LIST_FIXIDX             79
3058 tSCC zStdio_Va_ListName[] =
3059      "Stdio_Va_List";
3060 /*
3061  *  File name selection pattern
3062  */
3063 tSCC zStdio_Va_ListList[] =
3064   "|stdio.h|";
3065 /*
3066  *  Machine/OS name selection pattern
3067  */
3068 #define apzStdio_Va_ListMachs (const char**)NULL
3069
3070 /*
3071  *  content bypass pattern - skip fix if pattern found
3072  */
3073 tSCC zStdio_Va_ListBypass0[] =
3074        "__gnuc_va_list";
3075
3076 #define    STDIO_VA_LIST_TEST_CT  1
3077 tTestDesc aStdio_Va_ListTests[] = {
3078   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
3079
3080 /*
3081  *  Fix Command Arguments for Stdio_Va_List
3082  */
3083 const char* apzStdio_Va_ListPatch[] = { "sh", "-c",
3084     "if ( egrep \"__need___va_list\" $file ) > /dev/null 2>&1 ; then\n\
3085     :\n\
3086   else\n\
3087     echo \"#define __need___va_list\"\n\
3088     echo \"#include <stdarg.h>\"\n\
3089   fi\n\
3090 \n\
3091   sed -e 's@ va_list @ __gnuc_va_list @' \\\n\
3092       -e 's@ va_list)@ __gnuc_va_list)@' \\\n\
3093       -e 's@ _BSD_VA_LIST_))@ __gnuc_va_list))@' \\\n\
3094       -e 's@ _VA_LIST_));@ __gnuc_va_list));@' \\\n\
3095       -e 's@ va_list@ __not_va_list__@' \\\n\
3096       -e 's@\\*va_list@*__not_va_list__@' \\\n\
3097       -e 's@ __va_list)@ __gnuc_va_list)@' \\\n\
3098       -e 's@GNUC_VA_LIST@GNUC_Va_LIST@' \\\n\
3099       -e 's@_NEED___VA_LIST@_NEED___Va_LIST@' \\\n\
3100       -e 's@VA_LIST@DUMMY_VA_LIST@' \\\n\
3101       -e 's@_Va_LIST@_VA_LIST@'",
3102     (char*)NULL };
3103
3104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3105  *
3106  *  Description of Sun_Bogus_Ifdef fix
3107  */
3108 #define SUN_BOGUS_IFDEF_FIXIDX           80
3109 tSCC zSun_Bogus_IfdefName[] =
3110      "Sun_Bogus_Ifdef";
3111 /*
3112  *  File name selection pattern
3113  */
3114 tSCC zSun_Bogus_IfdefList[] =
3115   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
3116 /*
3117  *  Machine/OS name selection pattern
3118  */
3119 #define apzSun_Bogus_IfdefMachs (const char**)NULL
3120
3121 /*
3122  *  content selection pattern - do fix if pattern found
3123  */
3124 tSCC zSun_Bogus_IfdefSelect0[] =
3125        "#ifdef __i386__ || __vax__";
3126
3127 #define    SUN_BOGUS_IFDEF_TEST_CT  1
3128 tTestDesc aSun_Bogus_IfdefTests[] = {
3129   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
3130
3131 /*
3132  *  Fix Command Arguments for Sun_Bogus_Ifdef
3133  */
3134 const char* apzSun_Bogus_IfdefPatch[] = { "sed",
3135     "-e", "s/\\#ifdef __i386__ || __vax__/\\#if __i386__ || __vax__/g",
3136     (char*)NULL };
3137
3138 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3139  *
3140  *  Description of Sun_Bogus_Ifdef_Sun4c fix
3141  */
3142 #define SUN_BOGUS_IFDEF_SUN4C_FIXIDX     81
3143 tSCC zSun_Bogus_Ifdef_Sun4cName[] =
3144      "Sun_Bogus_Ifdef_Sun4c";
3145 /*
3146  *  File name selection pattern
3147  */
3148 tSCC zSun_Bogus_Ifdef_Sun4cList[] =
3149   "|hsfs/hsnode.h|";
3150 /*
3151  *  Machine/OS name selection pattern
3152  */
3153 #define apzSun_Bogus_Ifdef_Sun4cMachs (const char**)NULL
3154
3155 /*
3156  *  content selection pattern - do fix if pattern found
3157  */
3158 tSCC zSun_Bogus_Ifdef_Sun4cSelect0[] =
3159        "#ifdef __i386__ || __sun4c__";
3160
3161 #define    SUN_BOGUS_IFDEF_SUN4C_TEST_CT  1
3162 tTestDesc aSun_Bogus_Ifdef_Sun4cTests[] = {
3163   { TT_EGREP,    zSun_Bogus_Ifdef_Sun4cSelect0, (regex_t*)NULL }, };
3164
3165 /*
3166  *  Fix Command Arguments for Sun_Bogus_Ifdef_Sun4c
3167  */
3168 const char* apzSun_Bogus_Ifdef_Sun4cPatch[] = { "sed",
3169     "-e", "s/\\#ifdef __i386__ || __sun4c__/\\#if __i386__ || __sun4c__/g",
3170     (char*)NULL };
3171
3172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3173  *
3174  *  Description of Sun_Catmacro fix
3175  */
3176 #define SUN_CATMACRO_FIXIDX              82
3177 tSCC zSun_CatmacroName[] =
3178      "Sun_Catmacro";
3179 /*
3180  *  File name selection pattern
3181  */
3182 tSCC zSun_CatmacroList[] =
3183   "|pixrect/memvar.h|";
3184 /*
3185  *  Machine/OS name selection pattern
3186  */
3187 #define apzSun_CatmacroMachs (const char**)NULL
3188
3189 /*
3190  *  content selection pattern - do fix if pattern found
3191  */
3192 tSCC zSun_CatmacroSelect0[] =
3193        "^#define[ \t]+CAT\\(a,b\\)";
3194
3195 #define    SUN_CATMACRO_TEST_CT  1
3196 tTestDesc aSun_CatmacroTests[] = {
3197   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
3198
3199 /*
3200  *  Fix Command Arguments for Sun_Catmacro
3201  */
3202 const char* apzSun_CatmacroPatch[] = { "sed",
3203     "-e", "/^#define[ \t]CAT(a,b)/ i\\\n\
3204 #ifdef __STDC__ \\\n\
3205 #define CAT(a,b) a##b\\\n\
3206 #else\n",
3207     "-e", "/^#define[ \t]CAT(a,b)/ a\\\n\
3208 #endif\n",
3209     (char*)NULL };
3210
3211 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3212  *
3213  *  Description of Sun_Malloc fix
3214  */
3215 #define SUN_MALLOC_FIXIDX                83
3216 tSCC zSun_MallocName[] =
3217      "Sun_Malloc";
3218 /*
3219  *  File name selection pattern
3220  */
3221 tSCC zSun_MallocList[] =
3222   "|malloc.h|";
3223 /*
3224  *  Machine/OS name selection pattern
3225  */
3226 #define apzSun_MallocMachs (const char**)NULL
3227 #define SUN_MALLOC_TEST_CT  0
3228 #define aSun_MallocTests   (tTestDesc*)NULL
3229
3230 /*
3231  *  Fix Command Arguments for Sun_Malloc
3232  */
3233 const char* apzSun_MallocPatch[] = { "sed",
3234     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
3235     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
3236     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
3237     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
3238     (char*)NULL };
3239
3240 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3241  *
3242  *  Description of Sun_Rusers_Semi fix
3243  */
3244 #define SUN_RUSERS_SEMI_FIXIDX           84
3245 tSCC zSun_Rusers_SemiName[] =
3246      "Sun_Rusers_Semi";
3247 /*
3248  *  File name selection pattern
3249  */
3250 tSCC zSun_Rusers_SemiList[] =
3251   "|rpcsvc/rusers.h|";
3252 /*
3253  *  Machine/OS name selection pattern
3254  */
3255 #define apzSun_Rusers_SemiMachs (const char**)NULL
3256
3257 /*
3258  *  content selection pattern - do fix if pattern found
3259  */
3260 tSCC zSun_Rusers_SemiSelect0[] =
3261        "_cnt$";
3262
3263 #define    SUN_RUSERS_SEMI_TEST_CT  1
3264 tTestDesc aSun_Rusers_SemiTests[] = {
3265   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
3266
3267 /*
3268  *  Fix Command Arguments for Sun_Rusers_Semi
3269  */
3270 const char* apzSun_Rusers_SemiPatch[] = { "sed",
3271     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
3272     (char*)NULL };
3273
3274 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3275  *
3276  *  Description of Sun_Signal fix
3277  */
3278 #define SUN_SIGNAL_FIXIDX                85
3279 tSCC zSun_SignalName[] =
3280      "Sun_Signal";
3281 /*
3282  *  File name selection pattern
3283  */
3284 tSCC zSun_SignalList[] =
3285   "|sys/signal.h|signal.h|";
3286 /*
3287  *  Machine/OS name selection pattern
3288  */
3289 #define apzSun_SignalMachs (const char**)NULL
3290
3291 /*
3292  *  content selection pattern - do fix if pattern found
3293  */
3294 tSCC zSun_SignalSelect0[] =
3295        "^void\t\\(\\*signal\\(\\)\\)\\(\\);";
3296
3297 #define    SUN_SIGNAL_TEST_CT  1
3298 tTestDesc aSun_SignalTests[] = {
3299   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
3300
3301 /*
3302  *  Fix Command Arguments for Sun_Signal
3303  */
3304 const char* apzSun_SignalPatch[] = { "sed",
3305     "-e", "/^void\t(\\*signal())();$/i\\\n\
3306 #ifdef __cplusplus\\\n\
3307 void\t(*signal(...))(...);\\\n\
3308 #else\n",
3309     "-e", "/^void\t(\\*signal())();$/a\\\n\
3310 #endif\n",
3311     (char*)NULL };
3312
3313 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3314  *
3315  *  Description of Sun_Auth_Proto fix
3316  */
3317 #define SUN_AUTH_PROTO_FIXIDX            86
3318 tSCC zSun_Auth_ProtoName[] =
3319      "Sun_Auth_Proto";
3320 /*
3321  *  File name selection pattern
3322  */
3323 tSCC zSun_Auth_ProtoList[] =
3324   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
3325 /*
3326  *  Machine/OS name selection pattern
3327  */
3328 #define apzSun_Auth_ProtoMachs (const char**)NULL
3329
3330 /*
3331  *  content selection pattern - do fix if pattern found
3332  */
3333 tSCC zSun_Auth_ProtoSelect0[] =
3334        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
3335
3336 #define    SUN_AUTH_PROTO_TEST_CT  1
3337 tTestDesc aSun_Auth_ProtoTests[] = {
3338   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
3339
3340 /*
3341  *  Fix Command Arguments for Sun_Auth_Proto
3342  */
3343 const char* apzSun_Auth_ProtoPatch[] = { "sed",
3344     "-e", "s/^\\(.*(\\*[a-z][a-z_]*)(\\)\\();.*\\)/\\\n\
3345 #ifdef __cplusplus\\\n\
3346 \\1...\\2\\\n\
3347 #else\\\n\
3348 \\1\\2\\\n\
3349 #endif/",
3350     (char*)NULL };
3351
3352 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3353  *
3354  *  Description of Sunos_Matherr_Decl fix
3355  */
3356 #define SUNOS_MATHERR_DECL_FIXIDX        87
3357 tSCC zSunos_Matherr_DeclName[] =
3358      "Sunos_Matherr_Decl";
3359 /*
3360  *  File name selection pattern
3361  */
3362 tSCC zSunos_Matherr_DeclList[] =
3363   "|math.h|";
3364 /*
3365  *  Machine/OS name selection pattern
3366  */
3367 #define apzSunos_Matherr_DeclMachs (const char**)NULL
3368
3369 /*
3370  *  content bypass pattern - skip fix if pattern found
3371  */
3372 tSCC zSunos_Matherr_DeclBypass0[] =
3373        "matherr.*struct exception";
3374
3375 #define    SUNOS_MATHERR_DECL_TEST_CT  1
3376 tTestDesc aSunos_Matherr_DeclTests[] = {
3377   { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL }, };
3378
3379 /*
3380  *  Fix Command Arguments for Sunos_Matherr_Decl
3381  */
3382 const char* apzSunos_Matherr_DeclPatch[] = { "sed",
3383     "-e", "/^struct exception/,$b",
3384     "-e", "/matherr/i\\\n\
3385 struct exception;\n",
3386     (char*)NULL };
3387
3388 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3389  *
3390  *  Description of Sunos_Strlen fix
3391  */
3392 #define SUNOS_STRLEN_FIXIDX              88
3393 tSCC zSunos_StrlenName[] =
3394      "Sunos_Strlen";
3395 /*
3396  *  File name selection pattern
3397  */
3398 tSCC zSunos_StrlenList[] =
3399   "|strings.h|";
3400 /*
3401  *  Machine/OS name selection pattern
3402  */
3403 #define apzSunos_StrlenMachs (const char**)NULL
3404
3405 /*
3406  *  content selection pattern - do fix if pattern found
3407  */
3408 tSCC zSunos_StrlenSelect0[] =
3409        "int[ \t]*strlen";
3410
3411 #define    SUNOS_STRLEN_TEST_CT  1
3412 tTestDesc aSunos_StrlenTests[] = {
3413   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
3414
3415 /*
3416  *  Fix Command Arguments for Sunos_Strlen
3417  */
3418 const char* apzSunos_StrlenPatch[] = { "sed",
3419     "-e", "s/int[ \t]*strlen();/__SIZE_TYPE__ strlen();/",
3420     (char*)NULL };
3421
3422 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3423  *
3424  *  Description of Systypes fix
3425  */
3426 #define SYSTYPES_FIXIDX                  89
3427 tSCC zSystypesName[] =
3428      "Systypes";
3429 /*
3430  *  File name selection pattern
3431  */
3432 tSCC zSystypesList[] =
3433   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
3434 /*
3435  *  Machine/OS name selection pattern
3436  */
3437 #define apzSystypesMachs (const char**)NULL
3438
3439 /*
3440  *  content selection pattern - do fix if pattern found
3441  */
3442 tSCC zSystypesSelect0[] =
3443        "typedef[ \t]+[a-z_][ \ta-z_]*[ \t](size|ptrdiff|wchar)_t";
3444
3445 #define    SYSTYPES_TEST_CT  1
3446 tTestDesc aSystypesTests[] = {
3447   { TT_EGREP,    zSystypesSelect0, (regex_t*)NULL }, };
3448
3449 /*
3450  *  Fix Command Arguments for Systypes
3451  */
3452 const char* apzSystypesPatch[] = { "sed",
3453     "-e", "/^[ \t]*\\*[ \t]*typedef unsigned int size_t;/N",
3454     "-e", "s/^\\([ \t]*\\*[ \t]*typedef unsigned int size_t;\\n[ \t]*\\*\\/\\)/\\1\\\n\
3455 #ifndef __SIZE_TYPE__\\\n\
3456 #define __SIZE_TYPE__ long unsigned int\\\n\
3457 #endif\\\n\
3458 typedef __SIZE_TYPE__ size_t;\\\n\
3459 /",
3460     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/i\\\n\
3461 #ifndef __SIZE_TYPE__\\\n\
3462 #define __SIZE_TYPE__ long unsigned int\\\n\
3463 #endif\n",
3464     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]size_t/typedef __SIZE_TYPE__ size_t/",
3465     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/i\\\n\
3466 #ifndef __PTRDIFF_TYPE__\\\n\
3467 #define __PTRDIFF_TYPE__ long int\\\n\
3468 #endif\n",
3469     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]ptrdiff_t/typedef __PTRDIFF_TYPE__ ptrdiff_t/",
3470     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/i\\\n\
3471 #ifndef __WCHAR_TYPE__\\\n\
3472 #define __WCHAR_TYPE__ int\\\n\
3473 #endif\\\n\
3474 #ifndef __cplusplus\n",
3475     "-e", "/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/a\\\n\
3476 #endif\n",
3477     "-e", "s/typedef[ \t][ \t]*[a-z_][ \ta-z_]*[ \t]wchar_t/typedef __WCHAR_TYPE__ wchar_t/",
3478     (char*)NULL };
3479
3480 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3481  *
3482  *  Description of Systypes_For_Aix fix
3483  */
3484 #define SYSTYPES_FOR_AIX_FIXIDX          90
3485 tSCC zSystypes_For_AixName[] =
3486      "Systypes_For_Aix";
3487 /*
3488  *  File name selection pattern
3489  */
3490 tSCC zSystypes_For_AixList[] =
3491   "|sys/types.h|";
3492 /*
3493  *  Machine/OS name selection pattern
3494  */
3495 #define apzSystypes_For_AixMachs (const char**)NULL
3496
3497 /*
3498  *  content selection pattern - do fix if pattern found
3499  */
3500 tSCC zSystypes_For_AixSelect0[] =
3501        "typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t";
3502
3503 /*
3504  *  content bypass pattern - skip fix if pattern found
3505  */
3506 tSCC zSystypes_For_AixBypass0[] =
3507        "_GCC_SIZE_T";
3508
3509 #define    SYSTYPES_FOR_AIX_TEST_CT  2
3510 tTestDesc aSystypes_For_AixTests[] = {
3511   { TT_NEGREP,   zSystypes_For_AixBypass0, (regex_t*)NULL },
3512   { TT_EGREP,    zSystypes_For_AixSelect0, (regex_t*)NULL }, };
3513
3514 /*
3515  *  Fix Command Arguments for Systypes_For_Aix
3516  */
3517 const char* apzSystypes_For_AixPatch[] = { "sed",
3518     "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/i\\\n\
3519 #ifndef _GCC_SIZE_T\\\n\
3520 #define _GCC_SIZE_T\n",
3521     "-e", "/typedef[ \t][ \t]*[A-Za-z_][ \tA-Za-z_]*[ \t]size_t/a\\\n\
3522 #endif\n",
3523     (char*)NULL };
3524
3525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3526  *
3527  *  Description of Sysv68_String fix
3528  */
3529 #define SYSV68_STRING_FIXIDX             91
3530 tSCC zSysv68_StringName[] =
3531      "Sysv68_String";
3532 /*
3533  *  File name selection pattern
3534  */
3535 tSCC zSysv68_StringList[] =
3536   "|string.h|";
3537 /*
3538  *  Machine/OS name selection pattern
3539  */
3540 #define apzSysv68_StringMachs (const char**)NULL
3541 #define SYSV68_STRING_TEST_CT  0
3542 #define aSysv68_StringTests   (tTestDesc*)NULL
3543
3544 /*
3545  *  Fix Command Arguments for Sysv68_String
3546  */
3547 const char* apzSysv68_StringPatch[] = { "sed",
3548     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
3549     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
3550     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
3551     "-e", "/^extern char$/N",
3552     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
3553     "-e", "/^\tstrncmp(),$/N",
3554     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
3555 extern unsigned int\\\n\
3556 \\2/",
3557     "-e", "/^extern int$/N",
3558     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
3559     (char*)NULL };
3560
3561 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3562  *
3563  *  Description of Sysz_Stdlib_For_Sun fix
3564  */
3565 #define SYSZ_STDLIB_FOR_SUN_FIXIDX       92
3566 tSCC zSysz_Stdlib_For_SunName[] =
3567      "Sysz_Stdlib_For_Sun";
3568 /*
3569  *  File name selection pattern
3570  */
3571 tSCC zSysz_Stdlib_For_SunList[] =
3572   "|stdlib.h|";
3573 /*
3574  *  Machine/OS name selection pattern
3575  */
3576 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
3577 #define SYSZ_STDLIB_FOR_SUN_TEST_CT  0
3578 #define aSysz_Stdlib_For_SunTests   (tTestDesc*)NULL
3579
3580 /*
3581  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
3582  */
3583 const char* apzSysz_Stdlib_For_SunPatch[] = { "sed",
3584     "-e", "s/int\tabort/void\tabort/g",
3585     "-e", "s/int\tfree/void\tfree/g",
3586     "-e", "s/char[ \t]*\\*[ \t]*calloc/void \\*\tcalloc/g",
3587     "-e", "s/char[ \t]*\\*[ \t]*malloc/void \\*\tmalloc/g",
3588     "-e", "s/char[ \t]*\\*[ \t]*realloc/void \\*\trealloc/g",
3589     "-e", "s/char[ \t]*\\*[ \t]*bsearch/void \\*\tbsearch/g",
3590     "-e", "s/int[ \t][ \t]*exit/void\texit/g",
3591     "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/i\\\n\
3592 #ifndef _GCC_SIZE_T\\\n\
3593 #define _GCC_SIZE_T\n",
3594     "-e", "/typedef[ \ta-zA-Z_]*[ \t]size_t[ \t]*;/a\\\n\
3595 #endif\n",
3596     (char*)NULL };
3597
3598 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3599  *
3600  *  Description of Sysz_Stdtypes_For_Sun fix
3601  */
3602 #define SYSZ_STDTYPES_FOR_SUN_FIXIDX     93
3603 tSCC zSysz_Stdtypes_For_SunName[] =
3604      "Sysz_Stdtypes_For_Sun";
3605 /*
3606  *  File name selection pattern
3607  */
3608 tSCC zSysz_Stdtypes_For_SunList[] =
3609   "|sys/stdtypes.h|";
3610 /*
3611  *  Machine/OS name selection pattern
3612  */
3613 #define apzSysz_Stdtypes_For_SunMachs (const char**)NULL
3614 #define SYSZ_STDTYPES_FOR_SUN_TEST_CT  0
3615 #define aSysz_Stdtypes_For_SunTests   (tTestDesc*)NULL
3616
3617 /*
3618  *  Fix Command Arguments for Sysz_Stdtypes_For_Sun
3619  */
3620 const char* apzSysz_Stdtypes_For_SunPatch[] = { "sed",
3621     "-e", "/[\t ]size_t.*;/i\\\n\
3622 #ifndef _GCC_SIZE_T\\\n\
3623 #define _GCC_SIZE_T\n",
3624     "-e", "/[\t ]size_t.*;/a\\\n\
3625 #endif\n",
3626     "-e", "/[\t ]ptrdiff_t.*;/i\\\n\
3627 #ifndef _GCC_PTRDIFF_T\\\n\
3628 #define _GCC_PTRDIFF_T\n",
3629     "-e", "/[\t ]ptrdiff_t.*;/a\\\n\
3630 #endif\n",
3631     "-e", "/[\t ]wchar_t.*;/i\\\n\
3632 #ifndef _GCC_WCHAR_T\\\n\
3633 #define _GCC_WCHAR_T\n",
3634     "-e", "/[\t ]wchar_t.*;/a\\\n\
3635 #endif\n",
3636     (char*)NULL };
3637
3638 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3639  *
3640  *  Description of Tinfo_Cplusplus fix
3641  */
3642 #define TINFO_CPLUSPLUS_FIXIDX           94
3643 tSCC zTinfo_CplusplusName[] =
3644      "Tinfo_Cplusplus";
3645 /*
3646  *  File name selection pattern
3647  */
3648 tSCC zTinfo_CplusplusList[] =
3649   "|tinfo.h|";
3650 /*
3651  *  Machine/OS name selection pattern
3652  */
3653 #define apzTinfo_CplusplusMachs (const char**)NULL
3654
3655 /*
3656  *  content selection pattern - do fix if pattern found
3657  */
3658 tSCC zTinfo_CplusplusSelect0[] =
3659        "[ \t]_cplusplus";
3660
3661 #define    TINFO_CPLUSPLUS_TEST_CT  1
3662 tTestDesc aTinfo_CplusplusTests[] = {
3663   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
3664
3665 /*
3666  *  Fix Command Arguments for Tinfo_Cplusplus
3667  */
3668 const char* apzTinfo_CplusplusPatch[] = { "sed",
3669     "-e", "s/[ \t]_cplusplus/ __cplusplus/",
3670     (char*)NULL };
3671
3672 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3673  *
3674  *  Description of Ultrix_Fix_Fixproto fix
3675  */
3676 #define ULTRIX_FIX_FIXPROTO_FIXIDX       95
3677 tSCC zUltrix_Fix_FixprotoName[] =
3678      "Ultrix_Fix_Fixproto";
3679 /*
3680  *  File name selection pattern
3681  */
3682 tSCC zUltrix_Fix_FixprotoList[] =
3683   "|sys/utsname.h|";
3684 /*
3685  *  Machine/OS name selection pattern
3686  */
3687 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
3688
3689 /*
3690  *  content selection pattern - do fix if pattern found
3691  */
3692 tSCC zUltrix_Fix_FixprotoSelect0[] =
3693        "ULTRIX";
3694
3695 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
3696 tTestDesc aUltrix_Fix_FixprotoTests[] = {
3697   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
3698
3699 /*
3700  *  Fix Command Arguments for Ultrix_Fix_Fixproto
3701  */
3702 const char* apzUltrix_Fix_FixprotoPatch[] = { "sed",
3703     "-e", "/^[ \t]*extern[ \t]*int[ \t]*uname();$/i\\\n\
3704 struct utsname;\n",
3705     (char*)NULL };
3706
3707 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3708  *
3709  *  Description of Ultrix_Atof_Param fix
3710  */
3711 #define ULTRIX_ATOF_PARAM_FIXIDX         96
3712 tSCC zUltrix_Atof_ParamName[] =
3713      "Ultrix_Atof_Param";
3714 /*
3715  *  File name selection pattern
3716  */
3717 tSCC zUltrix_Atof_ParamList[] =
3718   "|math.h|";
3719 /*
3720  *  Machine/OS name selection pattern
3721  */
3722 #define apzUltrix_Atof_ParamMachs (const char**)NULL
3723
3724 /*
3725  *  content selection pattern - do fix if pattern found
3726  */
3727 tSCC zUltrix_Atof_ParamSelect0[] =
3728        "atof\\([ \t]*char";
3729
3730 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
3731 tTestDesc aUltrix_Atof_ParamTests[] = {
3732   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
3733
3734 /*
3735  *  Fix Command Arguments for Ultrix_Atof_Param
3736  */
3737 const char* apzUltrix_Atof_ParamPatch[] = { "sed",
3738     "-e", "s@atof(\\([ \t]*char[ \t]*\\*[^)]*\\))@atof(const \\1)@",
3739     (char*)NULL };
3740
3741 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3742  *
3743  *  Description of Ultrix_Const fix
3744  */
3745 #define ULTRIX_CONST_FIXIDX              97
3746 tSCC zUltrix_ConstName[] =
3747      "Ultrix_Const";
3748 /*
3749  *  File name selection pattern
3750  */
3751 tSCC zUltrix_ConstList[] =
3752   "|stdio.h|";
3753 /*
3754  *  Machine/OS name selection pattern
3755  */
3756 #define apzUltrix_ConstMachs (const char**)NULL
3757 #define ULTRIX_CONST_TEST_CT  0
3758 #define aUltrix_ConstTests   (tTestDesc*)NULL
3759
3760 /*
3761  *  Fix Command Arguments for Ultrix_Const
3762  */
3763 const char* apzUltrix_ConstPatch[] = { "sed",
3764     "-e", "s@perror( char \\*__s );@perror( const char *__s );@",
3765     "-e", "s@fputs( char \\*__s,@fputs( const char *__s,@",
3766     "-e", "s@fopen( char \\*__filename, char \\*__type );@fopen( const char *__filename, const char *__type );@",
3767     "-e", "s@fwrite( void \\*__ptr,@fwrite( const void *__ptr,@",
3768     "-e", "s@fscanf( FILE \\*__stream, char \\*__format,@fscanf( FILE *__stream, const char *__format,@",
3769     "-e", "s@scanf( char \\*__format,@scanf( const char *__format,@",
3770     "-e", "s@sscanf( char \\*__s, char \\*__format,@sscanf( const char *__s, const char *__format,@",
3771     "-e", "s@popen(char \\*, char \\*);@popen(const char *, const char *);@",
3772     "-e", "s@tempnam(char\\*,char\\*);@tempnam(const char*,const char*);@",
3773     (char*)NULL };
3774
3775 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3776  *
3777  *  Description of Ultrix_Ifdef fix
3778  */
3779 #define ULTRIX_IFDEF_FIXIDX              98
3780 tSCC zUltrix_IfdefName[] =
3781      "Ultrix_Ifdef";
3782 /*
3783  *  File name selection pattern
3784  */
3785 tSCC zUltrix_IfdefList[] =
3786   "|sys/file.h|";
3787 /*
3788  *  Machine/OS name selection pattern
3789  */
3790 #define apzUltrix_IfdefMachs (const char**)NULL
3791
3792 /*
3793  *  content selection pattern - do fix if pattern found
3794  */
3795 tSCC zUltrix_IfdefSelect0[] =
3796        "#ifdef KERNEL";
3797
3798 #define    ULTRIX_IFDEF_TEST_CT  1
3799 tTestDesc aUltrix_IfdefTests[] = {
3800   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
3801
3802 /*
3803  *  Fix Command Arguments for Ultrix_Ifdef
3804  */
3805 const char* apzUltrix_IfdefPatch[] = { "sed",
3806     "-e", "s/#ifdef KERNEL/#if defined(KERNEL)/",
3807     (char*)NULL };
3808
3809 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3810  *
3811  *  Description of Ultrix_Nested_Cmnt fix
3812  */
3813 #define ULTRIX_NESTED_CMNT_FIXIDX        99
3814 tSCC zUltrix_Nested_CmntName[] =
3815      "Ultrix_Nested_Cmnt";
3816 /*
3817  *  File name selection pattern
3818  */
3819 tSCC zUltrix_Nested_CmntList[] =
3820   "|rpc/svc.h|";
3821 /*
3822  *  Machine/OS name selection pattern
3823  */
3824 #define apzUltrix_Nested_CmntMachs (const char**)NULL
3825 #define ULTRIX_NESTED_CMNT_TEST_CT  0
3826 #define aUltrix_Nested_CmntTests   (tTestDesc*)NULL
3827
3828 /*
3829  *  Fix Command Arguments for Ultrix_Nested_Cmnt
3830  */
3831 const char* apzUltrix_Nested_CmntPatch[] = { "sed",
3832     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
3833     (char*)NULL };
3834
3835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3836  *
3837  *  Description of Ultrix_Static fix
3838  */
3839 #define ULTRIX_STATIC_FIXIDX             100
3840 tSCC zUltrix_StaticName[] =
3841      "Ultrix_Static";
3842 /*
3843  *  File name selection pattern
3844  */
3845 tSCC zUltrix_StaticList[] =
3846   "|machine/cpu.h|";
3847 /*
3848  *  Machine/OS name selection pattern
3849  */
3850 #define apzUltrix_StaticMachs (const char**)NULL
3851
3852 /*
3853  *  content selection pattern - do fix if pattern found
3854  */
3855 tSCC zUltrix_StaticSelect0[] =
3856        "#include \"r[34]_cpu";
3857
3858 #define    ULTRIX_STATIC_TEST_CT  1
3859 tTestDesc aUltrix_StaticTests[] = {
3860   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
3861
3862 /*
3863  *  Fix Command Arguments for Ultrix_Static
3864  */
3865 const char* apzUltrix_StaticPatch[] = { "sed",
3866     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
3867     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
3868     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
3869     (char*)NULL };
3870
3871 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3872  *
3873  *  Description of Undefine_Null fix
3874  */
3875 #define UNDEFINE_NULL_FIXIDX             101
3876 tSCC zUndefine_NullName[] =
3877      "Undefine_Null";
3878 /*
3879  *  File name selection pattern
3880  */
3881 #define zUndefine_NullList (char*)NULL
3882 /*
3883  *  Machine/OS name selection pattern
3884  */
3885 #define apzUndefine_NullMachs (const char**)NULL
3886
3887 /*
3888  *  content selection pattern - do fix if pattern found
3889  */
3890 tSCC zUndefine_NullSelect0[] =
3891        "^#[ \t]*define[ \t]*[ \t]NULL[ \t]";
3892
3893 /*
3894  *  content bypass pattern - skip fix if pattern found
3895  */
3896 tSCC zUndefine_NullBypass0[] =
3897        "#[ \t]*(ifn|un)def[ \t]*[ \t]NULL($|[ \t])";
3898
3899 #define    UNDEFINE_NULL_TEST_CT  2
3900 tTestDesc aUndefine_NullTests[] = {
3901   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
3902   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
3903
3904 /*
3905  *  Fix Command Arguments for Undefine_Null
3906  */
3907 const char* apzUndefine_NullPatch[] = { "sed",
3908     "-e", "/^#[ \t]*define[ \t][ \t]*NULL[ \t]/i\\\n\
3909 #undef NULL\n",
3910     (char*)NULL };
3911
3912 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3913  *
3914  *  Description of Unixware7_Byteorder_Fix fix
3915  */
3916 #define UNIXWARE7_BYTEORDER_FIX_FIXIDX   102
3917 tSCC zUnixware7_Byteorder_FixName[] =
3918      "Unixware7_Byteorder_Fix";
3919 /*
3920  *  File name selection pattern
3921  */
3922 tSCC zUnixware7_Byteorder_FixList[] =
3923   "|arpa/inet.h|";
3924 /*
3925  *  Machine/OS name selection pattern
3926  */
3927 tSCC* apzUnixware7_Byteorder_FixMachs[] = {
3928         "*-*-sysv4*",
3929         "i[34567]86-*-sysv5*",
3930         "i[34567]86-*-udk*",
3931         "i[34567]86-*-solaris2.[0-4]",
3932         "powerpcle-*-solaris2.[0-4]",
3933         "sparc-*-solaris2.[0-4]",
3934         (const char*)NULL };
3935
3936 /*
3937  *  content selection pattern - do fix if pattern found
3938  */
3939 tSCC zUnixware7_Byteorder_FixSelect0[] =
3940        "in_port_t";
3941
3942 #define    UNIXWARE7_BYTEORDER_FIX_TEST_CT  1
3943 tTestDesc aUnixware7_Byteorder_FixTests[] = {
3944   { TT_EGREP,    zUnixware7_Byteorder_FixSelect0, (regex_t*)NULL }, };
3945
3946 /*
3947  *  Fix Command Arguments for Unixware7_Byteorder_Fix
3948  */
3949 const char* apzUnixware7_Byteorder_FixPatch[] = { "sed",
3950     "-e", "/^extern.*htons.*(in_port_t)/d",
3951     "-e", "/^extern.*ntohs.*(in_port_t)/d",
3952     (char*)NULL };
3953
3954 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3955  *
3956  *  Description of Va_I960_Macro fix
3957  */
3958 #define VA_I960_MACRO_FIXIDX             103
3959 tSCC zVa_I960_MacroName[] =
3960      "Va_I960_Macro";
3961 /*
3962  *  File name selection pattern
3963  */
3964 tSCC zVa_I960_MacroList[] =
3965   "|arch/i960/archI960.h|";
3966 /*
3967  *  Machine/OS name selection pattern
3968  */
3969 #define apzVa_I960_MacroMachs (const char**)NULL
3970
3971 /*
3972  *  content selection pattern - do fix if pattern found
3973  */
3974 tSCC zVa_I960_MacroSelect0[] =
3975        "__(vsiz|vali|vpad|alignof__)";
3976
3977 #define    VA_I960_MACRO_TEST_CT  1
3978 tTestDesc aVa_I960_MacroTests[] = {
3979   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
3980
3981 /*
3982  *  Fix Command Arguments for Va_I960_Macro
3983  */
3984 const char* apzVa_I960_MacroPatch[] = { "sed",
3985     "-e", "s/__vsiz/__vxvsiz/",
3986     "-e", "s/__vali/__vxvali/",
3987     "-e", "s/__vpad/__vxvpad/",
3988     "-e", "s/__alignof__/__vxalignof__/",
3989     (char*)NULL };
3990
3991 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3992  *
3993  *  Description of Void_Null fix
3994  */
3995 #define VOID_NULL_FIXIDX                 104
3996 tSCC zVoid_NullName[] =
3997      "Void_Null";
3998 /*
3999  *  File name selection pattern
4000  */
4001 tSCC zVoid_NullList[] =
4002   "|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|";
4003 /*
4004  *  Machine/OS name selection pattern
4005  */
4006 #define apzVoid_NullMachs (const char**)NULL
4007
4008 /*
4009  *  content selection pattern - do fix if pattern found
4010  */
4011 tSCC zVoid_NullSelect0[] =
4012        "#[ \t]*define[ \t][ \t]*NULL[ \t].*void";
4013
4014 #define    VOID_NULL_TEST_CT  1
4015 tTestDesc aVoid_NullTests[] = {
4016   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
4017
4018 /*
4019  *  Fix Command Arguments for Void_Null
4020  */
4021 const char* apzVoid_NullPatch[] = { "sed",
4022     "-e", "s/^#[ \t]*define[ \t]*NULL[ \t]*((void[ \t]*\\*)0)/#define NULL 0/",
4023     (char*)NULL };
4024
4025 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4026  *
4027  *  Description of Vxworks_Gcc_Problem fix
4028  */
4029 #define VXWORKS_GCC_PROBLEM_FIXIDX       105
4030 tSCC zVxworks_Gcc_ProblemName[] =
4031      "Vxworks_Gcc_Problem";
4032 /*
4033  *  File name selection pattern
4034  */
4035 tSCC zVxworks_Gcc_ProblemList[] =
4036   "|types/vxTypesBase.h|";
4037 /*
4038  *  Machine/OS name selection pattern
4039  */
4040 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
4041
4042 /*
4043  *  content selection pattern - do fix if pattern found
4044  */
4045 tSCC zVxworks_Gcc_ProblemSelect0[] =
4046        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
4047
4048 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
4049 tTestDesc aVxworks_Gcc_ProblemTests[] = {
4050   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
4051
4052 /*
4053  *  Fix Command Arguments for Vxworks_Gcc_Problem
4054  */
4055 const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
4056     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
4057     "-e", "/[ \t]size_t/i\\\n\
4058 #ifndef _GCC_SIZE_T\\\n\
4059 #define _GCC_SIZE_T\n",
4060     "-e", "/[ \t]size_t/a\\\n\
4061 #endif\n",
4062     "-e", "/[ \t]ptrdiff_t/i\\\n\
4063 #ifndef _GCC_PTRDIFF_T\\\n\
4064 #define _GCC_PTRDIFF_T\n",
4065     "-e", "/[ \t]ptrdiff_t/a\\\n\
4066 #endif\n",
4067     "-e", "/[ \t]wchar_t/i\\\n\
4068 #ifndef _GCC_WCHAR_T\\\n\
4069 #define _GCC_WCHAR_T\n",
4070     "-e", "/[ \t]wchar_t/a\\\n\
4071 #endif\n",
4072     (char*)NULL };
4073
4074 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4075  *
4076  *  Description of Vxworks_Needs_Vxtypes fix
4077  */
4078 #define VXWORKS_NEEDS_VXTYPES_FIXIDX     106
4079 tSCC zVxworks_Needs_VxtypesName[] =
4080      "Vxworks_Needs_Vxtypes";
4081 /*
4082  *  File name selection pattern
4083  */
4084 tSCC zVxworks_Needs_VxtypesList[] =
4085   "|time.h|";
4086 /*
4087  *  Machine/OS name selection pattern
4088  */
4089 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
4090
4091 /*
4092  *  content selection pattern - do fix if pattern found
4093  */
4094 tSCC zVxworks_Needs_VxtypesSelect0[] =
4095        "uint_t[ \t][ \t]*_clocks_per_sec";
4096
4097 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
4098 tTestDesc aVxworks_Needs_VxtypesTests[] = {
4099   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
4100
4101 /*
4102  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
4103  */
4104 const char* apzVxworks_Needs_VxtypesPatch[] = { "sed",
4105     "-e", "s/uint_t/unsigned int/",
4106     (char*)NULL };
4107
4108 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4109  *
4110  *  Description of Vxworks_Needs_Vxworks fix
4111  */
4112 #define VXWORKS_NEEDS_VXWORKS_FIXIDX     107
4113 tSCC zVxworks_Needs_VxworksName[] =
4114      "Vxworks_Needs_Vxworks";
4115 /*
4116  *  File name selection pattern
4117  */
4118 tSCC zVxworks_Needs_VxworksList[] =
4119   "|sys/stat.h|";
4120 /*
4121  *  Machine/OS name selection pattern
4122  */
4123 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
4124
4125 /*
4126  *  content selection pattern - do fix if pattern found
4127  */
4128 tSCC zVxworks_Needs_VxworksSelect0[] =
4129        "#[ \t]define[ \t][ \t]*__INCstath";
4130
4131 /*
4132  *  perform the 'test' shell command - do fix on success
4133  */
4134 tSCC zVxworks_Needs_VxworksTest0[] =
4135        " -r types/vxTypesOld.h";
4136 tSCC zVxworks_Needs_VxworksTest1[] =
4137        " -n \"`egrep '#include' $file`\"";
4138 tSCC zVxworks_Needs_VxworksTest2[] =
4139        " -n \"`egrep ULONG $file`\"";
4140
4141 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
4142 tTestDesc aVxworks_Needs_VxworksTests[] = {
4143   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
4144   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
4145   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
4146   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
4147
4148 /*
4149  *  Fix Command Arguments for Vxworks_Needs_Vxworks
4150  */
4151 const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
4152     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
4153 #include <types/vxTypesOld.h>\n",
4154     (char*)NULL };
4155
4156 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4157  *
4158  *  Description of Vxworks_Time fix
4159  */
4160 #define VXWORKS_TIME_FIXIDX              108
4161 tSCC zVxworks_TimeName[] =
4162      "Vxworks_Time";
4163 /*
4164  *  File name selection pattern
4165  */
4166 tSCC zVxworks_TimeList[] =
4167   "|time.h|";
4168 /*
4169  *  Machine/OS name selection pattern
4170  */
4171 #define apzVxworks_TimeMachs (const char**)NULL
4172
4173 /*
4174  *  content selection pattern - do fix if pattern found
4175  */
4176 tSCC zVxworks_TimeSelect0[] =
4177        "VOIDFUNCPTR";
4178
4179 /*
4180  *  perform the 'test' shell command - do fix on success
4181  */
4182 tSCC zVxworks_TimeTest0[] =
4183        " -r vxWorks.h";
4184
4185 #define    VXWORKS_TIME_TEST_CT  2
4186 tTestDesc aVxworks_TimeTests[] = {
4187   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
4188   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
4189
4190 /*
4191  *  Fix Command Arguments for Vxworks_Time
4192  */
4193 const char* apzVxworks_TimePatch[] = { "sed",
4194     "-e", "/VOIDFUNCPTR/i\\\n\
4195 #ifndef __gcc_VOIDFUNCPTR_defined\\\n\
4196 #ifdef __cplusplus\\\n\
4197 typedef void (*__gcc_VOIDFUNCPTR) (...);\\\n\
4198 #else\\\n\
4199 typedef void (*__gcc_VOIDFUNCPTR) ();\\\n\
4200 #endif\\\n\
4201 #define __gcc_VOIDFUNCPTR_defined\\\n\
4202 #endif\n",
4203     "-e", "s/VOIDFUNCPTR/__gcc_VOIDFUNCPTR/g",
4204     (char*)NULL };
4205
4206 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4207  *
4208  *  Description of X11_Class fix
4209  */
4210 #define X11_CLASS_FIXIDX                 109
4211 tSCC zX11_ClassName[] =
4212      "X11_Class";
4213 /*
4214  *  File name selection pattern
4215  */
4216 tSCC zX11_ClassList[] =
4217   "|X11/ShellP.h|";
4218 /*
4219  *  Machine/OS name selection pattern
4220  */
4221 #define apzX11_ClassMachs (const char**)NULL
4222
4223 /*
4224  *  content bypass pattern - skip fix if pattern found
4225  */
4226 tSCC zX11_ClassBypass0[] =
4227        "__cplusplus";
4228
4229 #define    X11_CLASS_TEST_CT  1
4230 tTestDesc aX11_ClassTests[] = {
4231   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL }, };
4232
4233 /*
4234  *  Fix Command Arguments for X11_Class
4235  */
4236 const char* apzX11_ClassPatch[] = { "sed",
4237     "-e", "/char \\*class;/i\\\n\
4238 #ifdef __cplusplus\\\n\
4239 \tchar *c_class;\\\n\
4240 #else\n",
4241     "-e", "/char \\*class;/a\\\n\
4242 #endif\n",
4243     (char*)NULL };
4244
4245 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4246  *
4247  *  Description of X11_Class_Usage fix
4248  */
4249 #define X11_CLASS_USAGE_FIXIDX           110
4250 tSCC zX11_Class_UsageName[] =
4251      "X11_Class_Usage";
4252 /*
4253  *  File name selection pattern
4254  */
4255 tSCC zX11_Class_UsageList[] =
4256   "|Xm/BaseClassI.h|";
4257 /*
4258  *  Machine/OS name selection pattern
4259  */
4260 #define apzX11_Class_UsageMachs (const char**)NULL
4261
4262 /*
4263  *  content bypass pattern - skip fix if pattern found
4264  */
4265 tSCC zX11_Class_UsageBypass0[] =
4266        "__cplusplus";
4267
4268 #define    X11_CLASS_USAGE_TEST_CT  1
4269 tTestDesc aX11_Class_UsageTests[] = {
4270   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL }, };
4271
4272 /*
4273  *  Fix Command Arguments for X11_Class_Usage
4274  */
4275 const char* apzX11_Class_UsagePatch[] = { "sed",
4276     "-e", "s/ class[)]/ c_class)/g",
4277     (char*)NULL };
4278
4279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4280  *
4281  *  Description of X11_New fix
4282  */
4283 #define X11_NEW_FIXIDX                   111
4284 tSCC zX11_NewName[] =
4285      "X11_New";
4286 /*
4287  *  File name selection pattern
4288  */
4289 tSCC zX11_NewList[] =
4290   "|Xm/Traversal.h|";
4291 /*
4292  *  Machine/OS name selection pattern
4293  */
4294 #define apzX11_NewMachs (const char**)NULL
4295
4296 /*
4297  *  content bypass pattern - skip fix if pattern found
4298  */
4299 tSCC zX11_NewBypass0[] =
4300        "__cplusplus";
4301
4302 #define    X11_NEW_TEST_CT  1
4303 tTestDesc aX11_NewTests[] = {
4304   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
4305
4306 /*
4307  *  Fix Command Arguments for X11_New
4308  */
4309 const char* apzX11_NewPatch[] = { "sed",
4310     "-e", "/Widget\told, new;/i\\\n\
4311 #ifdef __cplusplus\\\n\
4312 \tWidget\told, c_new;\\\n\
4313 #else\n",
4314     "-e", "/Widget\told, new;/a\\\n\
4315 #endif\n",
4316     "-e", "s/Widget new,/Widget c_new,/g",
4317     (char*)NULL };
4318
4319 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4320  *
4321  *  Description of X11_Sprintf fix
4322  */
4323 #define X11_SPRINTF_FIXIDX               112
4324 tSCC zX11_SprintfName[] =
4325      "X11_Sprintf";
4326 /*
4327  *  File name selection pattern
4328  */
4329 tSCC zX11_SprintfList[] =
4330   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
4331 /*
4332  *  Machine/OS name selection pattern
4333  */
4334 #define apzX11_SprintfMachs (const char**)NULL
4335
4336 /*
4337  *  content selection pattern - do fix if pattern found
4338  */
4339 tSCC zX11_SprintfSelect0[] =
4340        "sprintf\\(\\)";
4341
4342 #define    X11_SPRINTF_TEST_CT  1
4343 tTestDesc aX11_SprintfTests[] = {
4344   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
4345
4346 /*
4347  *  Fix Command Arguments for X11_Sprintf
4348  */
4349 const char* apzX11_SprintfPatch[] = { "sed",
4350     "-e", "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n\
4351 extern char *\tsprintf();\\\n\
4352 #endif /* !defined __STDC__ */,",
4353     (char*)NULL };
4354
4355 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4356  *
4357  *  List of all fixes
4358  */
4359 #define REGEX_COUNT          108
4360 #define MACH_LIST_SIZE_LIMIT 279
4361 #define FIX_COUNT            113
4362
4363 tFixDesc fixDescList[ FIX_COUNT ] = {
4364   {  zAaa_Ki_IfaceName,    zAaa_Ki_IfaceList,
4365      apzAaa_Ki_IfaceMachs, (regex_t*)NULL,
4366      AAA_KI_IFACE_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4367      aAaa_Ki_IfaceTests,   apzAaa_Ki_IfacePatch },
4368
4369   {  zAaa_KiName,    zAaa_KiList,
4370      apzAaa_KiMachs, (regex_t*)NULL,
4371      AAA_KI_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4372      aAaa_KiTests,   apzAaa_KiPatch },
4373
4374   {  zAaa_Ki_CallsName,    zAaa_Ki_CallsList,
4375      apzAaa_Ki_CallsMachs, (regex_t*)NULL,
4376      AAA_KI_CALLS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4377      aAaa_Ki_CallsTests,   apzAaa_Ki_CallsPatch },
4378
4379   {  zAaa_Ki_DefsName,    zAaa_Ki_DefsList,
4380      apzAaa_Ki_DefsMachs, (regex_t*)NULL,
4381      AAA_KI_DEFS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4382      aAaa_Ki_DefsTests,   apzAaa_Ki_DefsPatch },
4383
4384   {  zAaa_Bad_FixesName,    zAaa_Bad_FixesList,
4385      apzAaa_Bad_FixesMachs, (regex_t*)NULL,
4386      AAA_BAD_FIXES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4387      aAaa_Bad_FixesTests,   apzAaa_Bad_FixesPatch },
4388
4389   {  zAaa_TimeName,    zAaa_TimeList,
4390      apzAaa_TimeMachs, (regex_t*)NULL,
4391      AAA_TIME_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4392      aAaa_TimeTests,   apzAaa_TimePatch },
4393
4394   {  zAab_Dgux_Int_VarargsName,    zAab_Dgux_Int_VarargsList,
4395      apzAab_Dgux_Int_VarargsMachs, (regex_t*)NULL,
4396      AAB_DGUX_INT_VARARGS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4397      aAab_Dgux_Int_VarargsTests,   apzAab_Dgux_Int_VarargsPatch },
4398
4399   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
4400      apzAab_Fd_Zero_Asm_Posix_Types_HMachs, (regex_t*)NULL,
4401      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4402      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch },
4403
4404   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
4405      apzAab_Fd_Zero_Gnu_Types_HMachs, (regex_t*)NULL,
4406      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4407      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch },
4408
4409   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
4410      apzAab_Fd_Zero_Selectbits_HMachs, (regex_t*)NULL,
4411      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4412      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch },
4413
4414   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
4415      apzAab_Sun_MemcpyMachs, (regex_t*)NULL,
4416      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4417      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch },
4418
4419   {  zAab_Svr4_Replace_ByteorderName,    zAab_Svr4_Replace_ByteorderList,
4420      apzAab_Svr4_Replace_ByteorderMachs, (regex_t*)NULL,
4421      AAB_SVR4_REPLACE_BYTEORDER_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4422      aAab_Svr4_Replace_ByteorderTests,   apzAab_Svr4_Replace_ByteorderPatch },
4423
4424   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
4425      apzAab_Ultrix_Ansi_CompatMachs, (regex_t*)NULL,
4426      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
4427      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch },
4428
4429   {  zAix_SyswaitName,    zAix_SyswaitList,
4430      apzAix_SyswaitMachs, (regex_t*)NULL,
4431      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY,
4432      aAix_SyswaitTests,   apzAix_SyswaitPatch },
4433
4434   {  zAix_VolatileName,    zAix_VolatileList,
4435      apzAix_VolatileMachs, (regex_t*)NULL,
4436      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY,
4437      aAix_VolatileTests,   apzAix_VolatilePatch },
4438
4439   {  zAlpha_GetoptName,    zAlpha_GetoptList,
4440      apzAlpha_GetoptMachs, (regex_t*)NULL,
4441      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY,
4442      aAlpha_GetoptTests,   apzAlpha_GetoptPatch },
4443
4444   {  zAlpha_ParensName,    zAlpha_ParensList,
4445      apzAlpha_ParensMachs, (regex_t*)NULL,
4446      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY,
4447      aAlpha_ParensTests,   apzAlpha_ParensPatch },
4448
4449   {  zAlpha_SbrkName,    zAlpha_SbrkList,
4450      apzAlpha_SbrkMachs, (regex_t*)NULL,
4451      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY,
4452      aAlpha_SbrkTests,   apzAlpha_SbrkPatch },
4453
4454   {  zArm_Norcroft_HintName,    zArm_Norcroft_HintList,
4455      apzArm_Norcroft_HintMachs, (regex_t*)NULL,
4456      ARM_NORCROFT_HINT_TEST_CT, FD_MACH_ONLY,
4457      aArm_Norcroft_HintTests,   apzArm_Norcroft_HintPatch },
4458
4459   {  zArm_WcharName,    zArm_WcharList,
4460      apzArm_WcharMachs, (regex_t*)NULL,
4461      ARM_WCHAR_TEST_CT, FD_MACH_ONLY,
4462      aArm_WcharTests,   apzArm_WcharPatch },
4463
4464   {  zAux_AsmName,    zAux_AsmList,
4465      apzAux_AsmMachs, (regex_t*)NULL,
4466      AUX_ASM_TEST_CT, FD_MACH_ONLY,
4467      aAux_AsmTests,   apzAux_AsmPatch },
4468
4469   {  zAvoid_BoolName,    zAvoid_BoolList,
4470      apzAvoid_BoolMachs, (regex_t*)NULL,
4471      AVOID_BOOL_TEST_CT, FD_MACH_ONLY,
4472      aAvoid_BoolTests,   apzAvoid_BoolPatch },
4473
4474   {  zBad_Struct_TermName,    zBad_Struct_TermList,
4475      apzBad_Struct_TermMachs, (regex_t*)NULL,
4476      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY,
4477      aBad_Struct_TermTests,   apzBad_Struct_TermPatch },
4478
4479   {  zBadquoteName,    zBadquoteList,
4480      apzBadquoteMachs, (regex_t*)NULL,
4481      BADQUOTE_TEST_CT, FD_MACH_ONLY,
4482      aBadquoteTests,   apzBadquotePatch },
4483
4484   {  zBad_LvalName,    zBad_LvalList,
4485      apzBad_LvalMachs, (regex_t*)NULL,
4486      BAD_LVAL_TEST_CT, FD_MACH_ONLY,
4487      aBad_LvalTests,   apzBad_LvalPatch },
4488
4489   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
4490      apzBroken_Assert_StdioMachs, (regex_t*)NULL,
4491      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY,
4492      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch },
4493
4494   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
4495      apzBroken_Assert_StdlibMachs, (regex_t*)NULL,
4496      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY,
4497      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch },
4498
4499   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
4500      apzDec_Intern_AsmMachs, (regex_t*)NULL,
4501      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
4502      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch },
4503
4504   {  zNo_Double_SlashName,    zNo_Double_SlashList,
4505      apzNo_Double_SlashMachs, (regex_t*)NULL,
4506      NO_DOUBLE_SLASH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4507      aNo_Double_SlashTests,   apzNo_Double_SlashPatch },
4508
4509   {  zEcd_CursorName,    zEcd_CursorList,
4510      apzEcd_CursorMachs, (regex_t*)NULL,
4511      ECD_CURSOR_TEST_CT, FD_MACH_ONLY,
4512      aEcd_CursorTests,   apzEcd_CursorPatch },
4513
4514   {  zSco5_Stat_WrappersName,    zSco5_Stat_WrappersList,
4515      apzSco5_Stat_WrappersMachs, (regex_t*)NULL,
4516      SCO5_STAT_WRAPPERS_TEST_CT, FD_MACH_ONLY,
4517      aSco5_Stat_WrappersTests,   apzSco5_Stat_WrappersPatch },
4518
4519   {  zEnd_Else_LabelName,    zEnd_Else_LabelList,
4520      apzEnd_Else_LabelMachs, (regex_t*)NULL,
4521      END_ELSE_LABEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4522      aEnd_Else_LabelTests,   apzEnd_Else_LabelPatch },
4523
4524   {  zHp_InlineName,    zHp_InlineList,
4525      apzHp_InlineMachs, (regex_t*)NULL,
4526      HP_INLINE_TEST_CT, FD_MACH_ONLY,
4527      aHp_InlineTests,   apzHp_InlinePatch },
4528
4529   {  zHp_SysfileName,    zHp_SysfileList,
4530      apzHp_SysfileMachs, (regex_t*)NULL,
4531      HP_SYSFILE_TEST_CT, FD_MACH_ONLY,
4532      aHp_SysfileTests,   apzHp_SysfilePatch },
4533
4534   {  zCxx_UnreadyName,    zCxx_UnreadyList,
4535      apzCxx_UnreadyMachs, (regex_t*)NULL,
4536      CXX_UNREADY_TEST_CT, FD_MACH_ONLY,
4537      aCxx_UnreadyTests,   apzCxx_UnreadyPatch },
4538
4539   {  zHpux_MaxintName,    zHpux_MaxintList,
4540      apzHpux_MaxintMachs, (regex_t*)NULL,
4541      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY,
4542      aHpux_MaxintTests,   apzHpux_MaxintPatch },
4543
4544   {  zHpux_SystimeName,    zHpux_SystimeList,
4545      apzHpux_SystimeMachs, (regex_t*)NULL,
4546      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY,
4547      aHpux_SystimeTests,   apzHpux_SystimePatch },
4548
4549   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
4550      apzHpux8_Bogus_InlinesMachs, (regex_t*)NULL,
4551      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
4552      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch },
4553
4554   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
4555      apzHpux11_Uint32_CMachs, (regex_t*)NULL,
4556      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY,
4557      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch },
4558
4559   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
4560      apzIsc_Omits_With_StdcMachs, (regex_t*)NULL,
4561      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY,
4562      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch },
4563
4564   {  zIo_Use_QuotesName,    zIo_Use_QuotesList,
4565      apzIo_Use_QuotesMachs, (regex_t*)NULL,
4566      IO_USE_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4567      aIo_Use_QuotesTests,   apzIo_Use_QuotesPatch },
4568
4569   {  zIo_Def_QuotesName,    zIo_Def_QuotesList,
4570      apzIo_Def_QuotesMachs, (regex_t*)NULL,
4571      IO_DEF_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4572      aIo_Def_QuotesTests,   apzIo_Def_QuotesPatch },
4573
4574   {  zCtrl_Use_QuotesName,    zCtrl_Use_QuotesList,
4575      apzCtrl_Use_QuotesMachs, (regex_t*)NULL,
4576      CTRL_USE_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4577      aCtrl_Use_QuotesTests,   apzCtrl_Use_QuotesPatch },
4578
4579   {  zCtrl_Def_QuotesName,    zCtrl_Def_QuotesList,
4580      apzCtrl_Def_QuotesMachs, (regex_t*)NULL,
4581      CTRL_DEF_QUOTES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4582      aCtrl_Def_QuotesTests,   apzCtrl_Def_QuotesPatch },
4583
4584   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
4585      apzIp_Missing_SemiMachs, (regex_t*)NULL,
4586      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
4587      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch },
4588
4589   {  zIrix_Multiline_CmntName,    zIrix_Multiline_CmntList,
4590      apzIrix_Multiline_CmntMachs, (regex_t*)NULL,
4591      IRIX_MULTILINE_CMNT_TEST_CT, FD_MACH_ONLY,
4592      aIrix_Multiline_CmntTests,   apzIrix_Multiline_CmntPatch },
4593
4594   {  zIrix_SockaddrName,    zIrix_SockaddrList,
4595      apzIrix_SockaddrMachs, (regex_t*)NULL,
4596      IRIX_SOCKADDR_TEST_CT, FD_MACH_ONLY,
4597      aIrix_SockaddrTests,   apzIrix_SockaddrPatch },
4598
4599   {  zIrix_Struct__FileName,    zIrix_Struct__FileList,
4600      apzIrix_Struct__FileMachs, (regex_t*)NULL,
4601      IRIX_STRUCT__FILE_TEST_CT, FD_MACH_ONLY,
4602      aIrix_Struct__FileTests,   apzIrix_Struct__FilePatch },
4603
4604   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
4605      apzIrix_Asm_ApostropheMachs, (regex_t*)NULL,
4606      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY,
4607      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch },
4608
4609   {  zIsc_FmodName,    zIsc_FmodList,
4610      apzIsc_FmodMachs, (regex_t*)NULL,
4611      ISC_FMOD_TEST_CT, FD_MACH_ONLY,
4612      aIsc_FmodTests,   apzIsc_FmodPatch },
4613
4614   {  zMotorola_NestedName,    zMotorola_NestedList,
4615      apzMotorola_NestedMachs, (regex_t*)NULL,
4616      MOTOROLA_NESTED_TEST_CT, FD_MACH_ONLY,
4617      aMotorola_NestedTests,   apzMotorola_NestedPatch },
4618
4619   {  zIsc_Sys_LimitsName,    zIsc_Sys_LimitsList,
4620      apzIsc_Sys_LimitsMachs, (regex_t*)NULL,
4621      ISC_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
4622      aIsc_Sys_LimitsTests,   apzIsc_Sys_LimitsPatch },
4623
4624   {  zKandr_ConcatName,    zKandr_ConcatList,
4625      apzKandr_ConcatMachs, (regex_t*)NULL,
4626      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY,
4627      aKandr_ConcatTests,   apzKandr_ConcatPatch },
4628
4629   {  zLimits_IfndefsName,    zLimits_IfndefsList,
4630      apzLimits_IfndefsMachs, (regex_t*)NULL,
4631      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY,
4632      aLimits_IfndefsTests,   apzLimits_IfndefsPatch },
4633
4634   {  zLynx_Void_IntName,    zLynx_Void_IntList,
4635      apzLynx_Void_IntMachs, (regex_t*)NULL,
4636      LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY,
4637      aLynx_Void_IntTests,   apzLynx_Void_IntPatch },
4638
4639   {  zLynxos_Fcntl_ProtoName,    zLynxos_Fcntl_ProtoList,
4640      apzLynxos_Fcntl_ProtoMachs, (regex_t*)NULL,
4641      LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY,
4642      aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch },
4643
4644   {  zM88k_Bad_Hypot_OptName,    zM88k_Bad_Hypot_OptList,
4645      apzM88k_Bad_Hypot_OptMachs, (regex_t*)NULL,
4646      M88K_BAD_HYPOT_OPT_TEST_CT, FD_MACH_ONLY,
4647      aM88k_Bad_Hypot_OptTests,   apzM88k_Bad_Hypot_OptPatch },
4648
4649   {  zM88k_Bad_S_IfName,    zM88k_Bad_S_IfList,
4650      apzM88k_Bad_S_IfMachs, (regex_t*)NULL,
4651      M88K_BAD_S_IF_TEST_CT, FD_MACH_ONLY,
4652      aM88k_Bad_S_IfTests,   apzM88k_Bad_S_IfPatch },
4653
4654   {  zM88k_Multi_InclName,    zM88k_Multi_InclList,
4655      apzM88k_Multi_InclMachs, (regex_t*)NULL,
4656      M88K_MULTI_INCL_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4657      aM88k_Multi_InclTests,   apzM88k_Multi_InclPatch },
4658
4659   {  zMachine_NameName,    zMachine_NameList,
4660      apzMachine_NameMachs, (regex_t*)NULL,
4661      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
4662      aMachine_NameTests,   apzMachine_NamePatch },
4663
4664   {  zMath_ExceptionName,    zMath_ExceptionList,
4665      apzMath_ExceptionMachs, (regex_t*)NULL,
4666      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY,
4667      aMath_ExceptionTests,   apzMath_ExceptionPatch },
4668
4669   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
4670      apzMath_Huge_Val_From_Dbl_MaxMachs, (regex_t*)NULL,
4671      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4672      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch },
4673
4674   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
4675      apzMath_Huge_Val_IfndefMachs, (regex_t*)NULL,
4676      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY,
4677      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch },
4678
4679   {  zNested_CommentName,    zNested_CommentList,
4680      apzNested_CommentMachs, (regex_t*)NULL,
4681      NESTED_COMMENT_TEST_CT, FD_MACH_ONLY,
4682      aNested_CommentTests,   apzNested_CommentPatch },
4683
4684   {  zNews_Os_RecursionName,    zNews_Os_RecursionList,
4685      apzNews_Os_RecursionMachs, (regex_t*)NULL,
4686      NEWS_OS_RECURSION_TEST_CT, FD_MACH_ONLY,
4687      aNews_Os_RecursionTests,   apzNews_Os_RecursionPatch },
4688
4689   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
4690      apzNext_Math_PrefixMachs, (regex_t*)NULL,
4691      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY,
4692      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch },
4693
4694   {  zNext_TemplateName,    zNext_TemplateList,
4695      apzNext_TemplateMachs, (regex_t*)NULL,
4696      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY,
4697      aNext_TemplateTests,   apzNext_TemplatePatch },
4698
4699   {  zNext_VolitileName,    zNext_VolitileList,
4700      apzNext_VolitileMachs, (regex_t*)NULL,
4701      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY,
4702      aNext_VolitileTests,   apzNext_VolitilePatch },
4703
4704   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
4705      apzNext_Wait_UnionMachs, (regex_t*)NULL,
4706      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY,
4707      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch },
4708
4709   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
4710      apzNodeent_SyntaxMachs, (regex_t*)NULL,
4711      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY,
4712      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch },
4713
4714   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
4715      apzOsf_Namespace_AMachs, (regex_t*)NULL,
4716      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY,
4717      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch },
4718
4719   {  zOsf_Namespace_BName,    zOsf_Namespace_BList,
4720      apzOsf_Namespace_BMachs, (regex_t*)NULL,
4721      OSF_NAMESPACE_B_TEST_CT, FD_MACH_ONLY,
4722      aOsf_Namespace_BTests,   apzOsf_Namespace_BPatch },
4723
4724   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
4725      apzPthread_Page_SizeMachs, (regex_t*)NULL,
4726      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY,
4727      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch },
4728
4729   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
4730      apzRead_Ret_TypeMachs, (regex_t*)NULL,
4731      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY,
4732      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch },
4733
4734   {  zRs6000_DoubleName,    zRs6000_DoubleList,
4735      apzRs6000_DoubleMachs, (regex_t*)NULL,
4736      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY,
4737      aRs6000_DoubleTests,   apzRs6000_DoublePatch },
4738
4739   {  zRs6000_FchmodName,    zRs6000_FchmodList,
4740      apzRs6000_FchmodMachs, (regex_t*)NULL,
4741      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY,
4742      aRs6000_FchmodTests,   apzRs6000_FchmodPatch },
4743
4744   {  zRs6000_ParamName,    zRs6000_ParamList,
4745      apzRs6000_ParamMachs, (regex_t*)NULL,
4746      RS6000_PARAM_TEST_CT, FD_MACH_ONLY,
4747      aRs6000_ParamTests,   apzRs6000_ParamPatch },
4748
4749   {  zSony_IncludeName,    zSony_IncludeList,
4750      apzSony_IncludeMachs, (regex_t*)NULL,
4751      SONY_INCLUDE_TEST_CT, FD_MACH_ONLY,
4752      aSony_IncludeTests,   apzSony_IncludePatch },
4753
4754   {  zStatsswtchName,    zStatsswtchList,
4755      apzStatsswtchMachs, (regex_t*)NULL,
4756      STATSSWTCH_TEST_CT, FD_MACH_ONLY,
4757      aStatsswtchTests,   apzStatsswtchPatch },
4758
4759   {  zStdio_Va_ListName,    zStdio_Va_ListList,
4760      apzStdio_Va_ListMachs, (regex_t*)NULL,
4761      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
4762      aStdio_Va_ListTests,   apzStdio_Va_ListPatch },
4763
4764   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
4765      apzSun_Bogus_IfdefMachs, (regex_t*)NULL,
4766      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY,
4767      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch },
4768
4769   {  zSun_Bogus_Ifdef_Sun4cName,    zSun_Bogus_Ifdef_Sun4cList,
4770      apzSun_Bogus_Ifdef_Sun4cMachs, (regex_t*)NULL,
4771      SUN_BOGUS_IFDEF_SUN4C_TEST_CT, FD_MACH_ONLY,
4772      aSun_Bogus_Ifdef_Sun4cTests,   apzSun_Bogus_Ifdef_Sun4cPatch },
4773
4774   {  zSun_CatmacroName,    zSun_CatmacroList,
4775      apzSun_CatmacroMachs, (regex_t*)NULL,
4776      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY,
4777      aSun_CatmacroTests,   apzSun_CatmacroPatch },
4778
4779   {  zSun_MallocName,    zSun_MallocList,
4780      apzSun_MallocMachs, (regex_t*)NULL,
4781      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
4782      aSun_MallocTests,   apzSun_MallocPatch },
4783
4784   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
4785      apzSun_Rusers_SemiMachs, (regex_t*)NULL,
4786      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
4787      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch },
4788
4789   {  zSun_SignalName,    zSun_SignalList,
4790      apzSun_SignalMachs, (regex_t*)NULL,
4791      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY,
4792      aSun_SignalTests,   apzSun_SignalPatch },
4793
4794   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
4795      apzSun_Auth_ProtoMachs, (regex_t*)NULL,
4796      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY,
4797      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch },
4798
4799   {  zSunos_Matherr_DeclName,    zSunos_Matherr_DeclList,
4800      apzSunos_Matherr_DeclMachs, (regex_t*)NULL,
4801      SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY,
4802      aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch },
4803
4804   {  zSunos_StrlenName,    zSunos_StrlenList,
4805      apzSunos_StrlenMachs, (regex_t*)NULL,
4806      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY,
4807      aSunos_StrlenTests,   apzSunos_StrlenPatch },
4808
4809   {  zSystypesName,    zSystypesList,
4810      apzSystypesMachs, (regex_t*)NULL,
4811      SYSTYPES_TEST_CT, FD_MACH_ONLY,
4812      aSystypesTests,   apzSystypesPatch },
4813
4814   {  zSystypes_For_AixName,    zSystypes_For_AixList,
4815      apzSystypes_For_AixMachs, (regex_t*)NULL,
4816      SYSTYPES_FOR_AIX_TEST_CT, FD_MACH_ONLY,
4817      aSystypes_For_AixTests,   apzSystypes_For_AixPatch },
4818
4819   {  zSysv68_StringName,    zSysv68_StringList,
4820      apzSysv68_StringMachs, (regex_t*)NULL,
4821      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
4822      aSysv68_StringTests,   apzSysv68_StringPatch },
4823
4824   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
4825      apzSysz_Stdlib_For_SunMachs, (regex_t*)NULL,
4826      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY,
4827      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch },
4828
4829   {  zSysz_Stdtypes_For_SunName,    zSysz_Stdtypes_For_SunList,
4830      apzSysz_Stdtypes_For_SunMachs, (regex_t*)NULL,
4831      SYSZ_STDTYPES_FOR_SUN_TEST_CT, FD_MACH_ONLY,
4832      aSysz_Stdtypes_For_SunTests,   apzSysz_Stdtypes_For_SunPatch },
4833
4834   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
4835      apzTinfo_CplusplusMachs, (regex_t*)NULL,
4836      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY,
4837      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch },
4838
4839   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
4840      apzUltrix_Fix_FixprotoMachs, (regex_t*)NULL,
4841      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY,
4842      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch },
4843
4844   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
4845      apzUltrix_Atof_ParamMachs, (regex_t*)NULL,
4846      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY,
4847      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch },
4848
4849   {  zUltrix_ConstName,    zUltrix_ConstList,
4850      apzUltrix_ConstMachs, (regex_t*)NULL,
4851      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY,
4852      aUltrix_ConstTests,   apzUltrix_ConstPatch },
4853
4854   {  zUltrix_IfdefName,    zUltrix_IfdefList,
4855      apzUltrix_IfdefMachs, (regex_t*)NULL,
4856      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY,
4857      aUltrix_IfdefTests,   apzUltrix_IfdefPatch },
4858
4859   {  zUltrix_Nested_CmntName,    zUltrix_Nested_CmntList,
4860      apzUltrix_Nested_CmntMachs, (regex_t*)NULL,
4861      ULTRIX_NESTED_CMNT_TEST_CT, FD_MACH_ONLY,
4862      aUltrix_Nested_CmntTests,   apzUltrix_Nested_CmntPatch },
4863
4864   {  zUltrix_StaticName,    zUltrix_StaticList,
4865      apzUltrix_StaticMachs, (regex_t*)NULL,
4866      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
4867      aUltrix_StaticTests,   apzUltrix_StaticPatch },
4868
4869   {  zUndefine_NullName,    zUndefine_NullList,
4870      apzUndefine_NullMachs, (regex_t*)NULL,
4871      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY,
4872      aUndefine_NullTests,   apzUndefine_NullPatch },
4873
4874   {  zUnixware7_Byteorder_FixName,    zUnixware7_Byteorder_FixList,
4875      apzUnixware7_Byteorder_FixMachs, (regex_t*)NULL,
4876      UNIXWARE7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY,
4877      aUnixware7_Byteorder_FixTests,   apzUnixware7_Byteorder_FixPatch },
4878
4879   {  zVa_I960_MacroName,    zVa_I960_MacroList,
4880      apzVa_I960_MacroMachs, (regex_t*)NULL,
4881      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY,
4882      aVa_I960_MacroTests,   apzVa_I960_MacroPatch },
4883
4884   {  zVoid_NullName,    zVoid_NullList,
4885      apzVoid_NullMachs, (regex_t*)NULL,
4886      VOID_NULL_TEST_CT, FD_MACH_ONLY,
4887      aVoid_NullTests,   apzVoid_NullPatch },
4888
4889   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
4890      apzVxworks_Gcc_ProblemMachs, (regex_t*)NULL,
4891      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
4892      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch },
4893
4894   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
4895      apzVxworks_Needs_VxtypesMachs, (regex_t*)NULL,
4896      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY,
4897      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch },
4898
4899   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
4900      apzVxworks_Needs_VxworksMachs, (regex_t*)NULL,
4901      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
4902      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch },
4903
4904   {  zVxworks_TimeName,    zVxworks_TimeList,
4905      apzVxworks_TimeMachs, (regex_t*)NULL,
4906      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY,
4907      aVxworks_TimeTests,   apzVxworks_TimePatch },
4908
4909   {  zX11_ClassName,    zX11_ClassList,
4910      apzX11_ClassMachs, (regex_t*)NULL,
4911      X11_CLASS_TEST_CT, FD_MACH_ONLY,
4912      aX11_ClassTests,   apzX11_ClassPatch },
4913
4914   {  zX11_Class_UsageName,    zX11_Class_UsageList,
4915      apzX11_Class_UsageMachs, (regex_t*)NULL,
4916      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY,
4917      aX11_Class_UsageTests,   apzX11_Class_UsagePatch },
4918
4919   {  zX11_NewName,    zX11_NewList,
4920      apzX11_NewMachs, (regex_t*)NULL,
4921      X11_NEW_TEST_CT, FD_MACH_ONLY,
4922      aX11_NewTests,   apzX11_NewPatch },
4923
4924   {  zX11_SprintfName,    zX11_SprintfList,
4925      apzX11_SprintfMachs, (regex_t*)NULL,
4926      X11_SPRINTF_TEST_CT, FD_MACH_ONLY,
4927      aX11_SprintfTests,   apzX11_SprintfPatch }
4928 };