Fix fallout from PR middle-end/15700:
[official-gcc.git] / fixincludes / fixincl.x
blob7d6979d564350eeba6d817811923d525e2baa01f
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Monday March 21, 2005 at 05:22:01 PM CET
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Mon Mar 21 17:22:01 CET 2005
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 179 fixup descriptions.
19  *
20  * See README for more information.
21  *
22  *  inclhack copyright (c) 1998, 1999, 2000, 2001
23  *  The Free Software Foundation, Inc.
24  *
25   *  inclhack is free software.
26  *  
27  *  You may redistribute it and/or modify it under the terms of the
28  *  GNU General Public License, as published by the Free Software
29  *  Foundation; either version 2, or (at your option) any later version.
30  *  
31  *  inclhack is distributed in the hope that it will be useful,
32  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
33  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34  *  See the GNU General Public License for more details.
35  *  
36  *  You should have received a copy of the GNU General Public License
37  *  along with inclhack.  See the file "COPYING".  If not,
38  *  write to:  The Free Software Foundation, Inc.,
39  *             59 Temple Place - Suite 330,
40  *             Boston,  MA  02111-1307, USA.
41  */
43 /* * * * * * * * * * * * * * * * * * * * * * * * * *
44  *
45  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
46  */
47 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
48      "AAB_fd_zero_asm_posix_types_h";
51  *  File name selection pattern
52  */
53 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
54   "|asm/posix_types.h|";
56  *  Machine/OS name selection pattern
57  */
58 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
59         "i[34567]86-*-linux*",
60         (const char*)NULL };
63  *  content bypass pattern - skip fix if pattern found
64  */
65 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
66        "} while";
68 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
69 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
70   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
73  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
74  */
75 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
76 "/* This file fixes a bug in the __FD_ZERO macro\n\
77    for older versions of the Linux kernel. */\n\
78 #ifndef _POSIX_TYPES_H_WRAPPER\n\
79 #include <features.h>\n\
80  #include_next <asm/posix_types.h>\n\n\
81 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
82 #undef __FD_ZERO\n\
83 #define __FD_ZERO(fdsetp) \\\n\
84   do { \\\n\
85     int __d0, __d1; \\\n\
86 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
87 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
88 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
89   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
90   } while (0)\n\
91 #endif\n\n\
92 #define _POSIX_TYPES_H_WRAPPER\n\
93 #endif /* _POSIX_TYPES_H_WRAPPER */",
94     (char*)NULL };
96 /* * * * * * * * * * * * * * * * * * * * * * * * * *
97  *
98  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
99  */
100 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
101      "AAB_fd_zero_gnu_types_h";
104  *  File name selection pattern
105  */
106 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
107   "|gnu/types.h|";
109  *  Machine/OS name selection pattern
110  */
111 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
112         "i[34567]86-*-linux*",
113         (const char*)NULL };
114 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
115 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
118  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
119  */
120 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
121 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
122 #ifndef _TYPES_H_WRAPPER\n\
123 #include <features.h>\n\
124 #include_next <gnu/types.h>\n\n\
125 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
126 #undef __FD_ZERO\n\
127 # define __FD_ZERO(fdsetp) \\\\\n\
128   do { \\\\\n\
129     int __d0, __d1; \\\\\n\
130 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
131         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
132         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
133   \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
134   } while (0)\n\
135 #endif\n\n\
136 #define _TYPES_H_WRAPPER\n\
137 #endif /* _TYPES_H_WRAPPER */",
138     (char*)NULL };
140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
142  *  Description of Aab_Fd_Zero_Selectbits_H fix
143  */
144 tSCC zAab_Fd_Zero_Selectbits_HName[] =
145      "AAB_fd_zero_selectbits_h";
148  *  File name selection pattern
149  */
150 tSCC zAab_Fd_Zero_Selectbits_HList[] =
151   "|selectbits.h|";
153  *  Machine/OS name selection pattern
154  */
155 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
156         "i[34567]86-*-linux*",
157         (const char*)NULL };
158 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
159 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
162  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
163  */
164 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
165 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
166 #ifndef _SELECTBITS_H_WRAPPER\n\
167   #include <features.h>\n\
168   #include_next <selectbits.h>\n\n\
169   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
170   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
171   && __GLIBC_MINOR__ == 0\n\
172      #undef __FD_ZERO\n\
173      #define __FD_ZERO(fdsetp) \\\\\n\
174      do { \\\\\n\
175         int __d0, __d1; \\\\\n\
176       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
177                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
178                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
179                                         / sizeof (__fd_mask)), \\\\\n\
180                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
181                         : \"memory\"); \\\\\n\
182       } while (0)\n\
183   #endif\n\n\
184   #define _SELECTBITS_H_WRAPPER\n\
185 #endif /* _SELECTBITS_H_WRAPPER */",
186     (char*)NULL };
188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
190  *  Description of Aab_Solaris_Sys_Varargs_H fix
191  */
192 tSCC zAab_Solaris_Sys_Varargs_HName[] =
193      "AAB_solaris_sys_varargs_h";
196  *  File name selection pattern
197  */
198 tSCC zAab_Solaris_Sys_Varargs_HList[] =
199   "|sys/varargs.h|";
201  *  Machine/OS name selection pattern
202  */
203 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
204         "*-*-solaris*",
205         (const char*)NULL };
206 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
207 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
210  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
211  */
212 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
213 "#ifdef __STDC__\n\
214   #include <stdarg.h>\n\
215 #else\n\
216   #include <varargs.h>\n\
217 #endif",
218     (char*)NULL };
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
222  *  Description of Aab_Sun_Memcpy fix
223  */
224 tSCC zAab_Sun_MemcpyName[] =
225      "AAB_sun_memcpy";
228  *  File name selection pattern
229  */
230 tSCC zAab_Sun_MemcpyList[] =
231   "|memory.h|";
233  *  Machine/OS name selection pattern
234  */
235 #define apzAab_Sun_MemcpyMachs (const char**)NULL
238  *  content selection pattern - do fix if pattern found
239  */
240 tSCC zAab_Sun_MemcpySelect0[] =
241        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
243 #define    AAB_SUN_MEMCPY_TEST_CT  1
244 static tTestDesc aAab_Sun_MemcpyTests[] = {
245   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
248  *  Fix Command Arguments for Aab_Sun_Memcpy
249  */
250 static const char* apzAab_Sun_MemcpyPatch[] = {
251 "/* This file was generated by fixincludes */\n\
252 #ifndef __memory_h__\n\
253   #define __memory_h__\n\n\
254   #ifdef __STDC__\n\
255     extern void *memccpy();\n\
256     extern void *memchr();\n\
257     extern void *memcpy();\n\
258     extern void *memset();\n\
259   #else\n\
260     extern char *memccpy();\n\
261     extern char *memchr();\n\
262     extern char *memcpy();\n\
263     extern char *memset();\n\
264   #endif /* __STDC__ */\n\n\
265   extern int memcmp();\n\n\
266 #endif /* __memory_h__ */\n\
267 _EndOfHeader;\n\
268 };\n\n\n\
269 /*\n\
270  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
271  *  stdarg.h or varargs.h files as appropriate.\n\
272  */\n\
273 #ifdef SVR4\n\
274 fix = {\n\
275     hackname = AAB_svr4_no_varargs;\n\
276     files    = sys/varargs.h;\n\
277     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
278                \"#ifndef _SYS_VARARGS_H\\n\"\n\
279                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
280                \"#ifdef __STDC__\\n\"\n\
281                \"#include <stdarg.h>\\n\"\n\
282                \"#else\\n\"\n\
283                \"#include <varargs.h>\\n\"\n\
284                \"#endif\\n\\n\"\n\n\
285                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
286 };\n\
287 #endif\n\n\n\
288 /*\n\
289  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
290  *  optimized byteswapping.  (The original probably implemented some\n\
291  *  incompatible optimized byteswapping.)\n\
292  */\n\
293 fix = {\n\
294     hackname = AAB_svr4_replace_byteorder;\n\
295     mach     = \"*-*-sysv4*\";\n\
296     mach     = \"i[34567]86-*-sysv5*\";\n\
297     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
298     mach     = \"i[34567]86-*-udk*\";\n\
299     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
300     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
301     mach     = \"sparc-*-solaris2.[0-4]\";\n\
302     mach     = \"i[34567]86-sequent-ptx*\";\n\
303     files    = sys/byteorder.h;\n\
304     replace  = <<-  _EndOfHeader_\n\
305 #ifndef _SYS_BYTEORDER_H\n\
306 #define _SYS_BYTEORDER_H\n\n\
307 /* Functions to convert `short' and `long' quantities from host byte order\n\
308    to (internet) network byte order (i.e. big-endian).\n\n\
309    Written by Ron Guilmette (rfg@ncd.com).\n\n\
310    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
311    For big-endian machines these functions are essentially no-ops.\n\n\
312    For little-endian machines, we define the functions using specialized\n\
313    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
314 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
315   #error You lose!  This file is only useful with GNU compilers.\n\
316 #endif\n\n\
317 #ifndef __BYTE_ORDER__\n\
318   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
319      double underscores added at the front and back.  */\n\
320   #define __LITTLE_ENDIAN__   1234\n\
321   #define __BIG_ENDIAN__      4321\n\
322   #define __PDP_ENDIAN__      3412\n\
323 #endif\n\n\
324 #ifdef __STDC__\n\
325   static __inline__ unsigned long htonl (unsigned long);\n\
326   static __inline__ unsigned short htons (unsigned int);\n\
327   static __inline__ unsigned long ntohl (unsigned long);\n\
328   static __inline__ unsigned short ntohs (unsigned int);\n\
329 #endif /* defined (__STDC__) */\n\n\
330 #if defined (__i386__)\n\n\
331   #ifndef __BYTE_ORDER__\n\
332     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
333   #endif\n\n\
334   /* Convert a host long to a network long.  */\n\n\
335   /* We must use a new-style function definition, so that this will also\n\
336      be valid for C++.  */\n\
337   static __inline__ unsigned long\n\
338   htonl (unsigned long __arg)\n\
339   {\n\
340     register unsigned long __result;\n\n\
341     __asm__ (\"xchg%B0 %b0,%h0\n\
342   ror%L0 $16,%0\n\
343   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
344     return __result;\n\
345   }\n\n\
346   /* Convert a host short to a network short.  */\n\n\
347   static __inline__ unsigned short\n\
348   htons (unsigned int __arg)\n\
349   {\n\
350     register unsigned short __result;\n\n\
351     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
352     return __result;\n\
353   }\n\n\
354 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
355   #ifndef __BYTE_ORDER__\n\
356     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
357   #endif\n\n\
358   /* For other little-endian machines, using C code is just as efficient as\n\
359      using assembly code.  */\n\n\
360   /* Convert a host long to a network long.  */\n\n\
361   static __inline__ unsigned long\n\
362   htonl (unsigned long __arg)\n\
363   {\n\
364     register unsigned long __result;\n\n\
365     __result = (__arg >> 24) & 0x000000ff;\n\
366     __result |= (__arg >> 8) & 0x0000ff00;\n\
367     __result |= (__arg << 8) & 0x00ff0000;\n\
368     __result |= (__arg << 24) & 0xff000000;\n\
369     return __result;\n\
370   }\n\n\
371   /* Convert a host short to a network short.  */\n\n\
372   static __inline__ unsigned short\n\
373   htons (unsigned int __arg)\n\
374   {\n\
375     register unsigned short __result;\n\n\
376     __result = (__arg << 8) & 0xff00;\n\
377     __result |= (__arg >> 8) & 0x00ff;\n\
378     return __result;\n\
379   }\n\n\
380 #else /* must be a big-endian machine */\n\n\
381   #ifndef __BYTE_ORDER__\n\
382     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
383   #endif\n\n\
384   /* Convert a host long to a network long.  */\n\n\
385   static __inline__ unsigned long\n\
386   htonl (unsigned long __arg)\n\
387   {\n\
388     return __arg;\n\
389   }\n\n\
390   /* Convert a host short to a network short.  */\n\n\
391   static __inline__ unsigned short\n\
392   htons (unsigned int __arg)\n\
393   {\n\
394     return __arg;\n\
395   }\n\n\
396 #endif /* big-endian */\n\n\
397 /* Convert a network long to a host long.  */\n\n\
398 static __inline__ unsigned long\n\
399 ntohl (unsigned long __arg)\n\
400 {\n\
401   return htonl (__arg);\n\
402 }\n\n\
403 /* Convert a network short to a host short.  */\n\n\
404 static __inline__ unsigned short\n\
405 ntohs (unsigned int __arg)\n\
406 {\n\
407   return htons (__arg);\n\
408 }\n\
409 #endif",
410     (char*)NULL };
412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
414  *  Description of Aab_Ultrix_Ansi_Compat fix
415  */
416 tSCC zAab_Ultrix_Ansi_CompatName[] =
417      "AAB_ultrix_ansi_compat";
420  *  File name selection pattern
421  */
422 tSCC zAab_Ultrix_Ansi_CompatList[] =
423   "|ansi_compat.h|";
425  *  Machine/OS name selection pattern
426  */
427 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
430  *  content selection pattern - do fix if pattern found
431  */
432 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
433        "ULTRIX";
435 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
436 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
437   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
440  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
441  */
442 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
443 "/* This file intentionally left blank.  */\n",
444     (char*)NULL };
446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
448  *  Description of Aab_Ultrix_Limits fix
449  */
450 tSCC zAab_Ultrix_LimitsName[] =
451      "AAB_ultrix_limits";
454  *  File name selection pattern
455  */
456 tSCC zAab_Ultrix_LimitsList[] =
457   "|limits.h|";
459  *  Machine/OS name selection pattern
460  */
461 tSCC* apzAab_Ultrix_LimitsMachs[] = {
462         "*-*-ultrix4.3",
463         (const char*)NULL };
464 #define AAB_ULTRIX_LIMITS_TEST_CT  0
465 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
468  *  Fix Command Arguments for Aab_Ultrix_Limits
469  */
470 static const char* apzAab_Ultrix_LimitsPatch[] = {
471 "#ifndef _LIMITS_INCLUDED\n\
472   #define _LIMITS_INCLUDED\n\
473   #include <sys/limits.h>\n\
474 #endif /* _LIMITS_INCLUDED */",
475     (char*)NULL };
477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
479  *  Description of Aab_Ultrix_Memory fix
480  */
481 tSCC zAab_Ultrix_MemoryName[] =
482      "AAB_ultrix_memory";
485  *  File name selection pattern
486  */
487 tSCC zAab_Ultrix_MemoryList[] =
488   "|memory.h|";
490  *  Machine/OS name selection pattern
491  */
492 tSCC* apzAab_Ultrix_MemoryMachs[] = {
493         "*-*-ultrix4.3",
494         (const char*)NULL };
495 #define AAB_ULTRIX_MEMORY_TEST_CT  0
496 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
499  *  Fix Command Arguments for Aab_Ultrix_Memory
500  */
501 static const char* apzAab_Ultrix_MemoryPatch[] = {
502 "#ifndef _MEMORY_INCLUDED\n\
503   #define _MEMORY_INCLUDED\n\
504   #include <strings.h>\n\
505 #endif /* _MEMORY_INCLUDED */",
506     (char*)NULL };
508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
510  *  Description of Aab_Ultrix_String fix
511  */
512 tSCC zAab_Ultrix_StringName[] =
513      "AAB_ultrix_string";
516  *  File name selection pattern
517  */
518 tSCC zAab_Ultrix_StringList[] =
519   "|string.h|";
521  *  Machine/OS name selection pattern
522  */
523 tSCC* apzAab_Ultrix_StringMachs[] = {
524         "*-*-ultrix4.3",
525         (const char*)NULL };
526 #define AAB_ULTRIX_STRING_TEST_CT  0
527 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
530  *  Fix Command Arguments for Aab_Ultrix_String
531  */
532 static const char* apzAab_Ultrix_StringPatch[] = {
533 "#ifndef _STRING_INCLUDED\n\
534   #define _STRING_INCLUDED\n\
535   #include <strings.h>\n\
536 #endif /* _STRING_INCLUDED */",
537     (char*)NULL };
539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
541  *  Description of Aix_Pthread fix
542  */
543 tSCC zAix_PthreadName[] =
544      "aix_pthread";
547  *  File name selection pattern
548  */
549 tSCC zAix_PthreadList[] =
550   "|pthread.h|";
552  *  Machine/OS name selection pattern
553  */
554 #define apzAix_PthreadMachs (const char**)NULL
557  *  content selection pattern - do fix if pattern found
558  */
559 tSCC zAix_PthreadSelect0[] =
560        "(#define [A-Za-z_0-9]+)(\\\\\n\
561 [^A-Za-z_0-9 \t\n\
562 (])";
564 #define    AIX_PTHREAD_TEST_CT  1
565 static tTestDesc aAix_PthreadTests[] = {
566   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
569  *  Fix Command Arguments for Aix_Pthread
570  */
571 static const char* apzAix_PthreadPatch[] = {
572     "format",
573     "%1 %2",
574     (char*)NULL };
576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
578  *  Description of Aix_Sysmachine fix
579  */
580 tSCC zAix_SysmachineName[] =
581      "aix_sysmachine";
584  *  File name selection pattern
585  */
586 tSCC zAix_SysmachineList[] =
587   "|sys/machine.h|";
589  *  Machine/OS name selection pattern
590  */
591 #define apzAix_SysmachineMachs (const char**)NULL
594  *  content selection pattern - do fix if pattern found
595  */
596 tSCC zAix_SysmachineSelect0[] =
597        "\\\\ +\n";
599 #define    AIX_SYSMACHINE_TEST_CT  1
600 static tTestDesc aAix_SysmachineTests[] = {
601   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
604  *  Fix Command Arguments for Aix_Sysmachine
605  */
606 static const char* apzAix_SysmachinePatch[] = {
607     "format",
608     "\\\n",
609     (char*)NULL };
611 /* * * * * * * * * * * * * * * * * * * * * * * * * *
613  *  Description of Aix_Syswait fix
614  */
615 tSCC zAix_SyswaitName[] =
616      "aix_syswait";
619  *  File name selection pattern
620  */
621 tSCC zAix_SyswaitList[] =
622   "|sys/wait.h|";
624  *  Machine/OS name selection pattern
625  */
626 #define apzAix_SyswaitMachs (const char**)NULL
629  *  content selection pattern - do fix if pattern found
630  */
631 tSCC zAix_SyswaitSelect0[] =
632        "^extern pid_t wait3\\(\\);\n";
633 tSCC zAix_SyswaitSelect1[] =
634        "bos325,";
636 #define    AIX_SYSWAIT_TEST_CT  2
637 static tTestDesc aAix_SyswaitTests[] = {
638   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
639   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
642  *  Fix Command Arguments for Aix_Syswait
643  */
644 static const char* apzAix_SyswaitPatch[] = {
645     "format",
646     "struct rusage;\n\
647 %0",
648     (char*)NULL };
650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
652  *  Description of Aix_Syswait_2 fix
653  */
654 tSCC zAix_Syswait_2Name[] =
655      "aix_syswait_2";
658  *  File name selection pattern
659  */
660 tSCC zAix_Syswait_2List[] =
661   "|sys/wait.h|";
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_Syswait_2Machs (const char**)NULL
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_Syswait_2Select0[] =
671        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
673 #define    AIX_SYSWAIT_2_TEST_CT  1
674 static tTestDesc aAix_Syswait_2Tests[] = {
675   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
678  *  Fix Command Arguments for Aix_Syswait_2
679  */
680 static const char* apzAix_Syswait_2Patch[] = {
681     "format",
682     "? (int)%1",
683     (char*)NULL };
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
687  *  Description of Aix_Volatile fix
688  */
689 tSCC zAix_VolatileName[] =
690      "aix_volatile";
693  *  File name selection pattern
694  */
695 tSCC zAix_VolatileList[] =
696   "|sys/signal.h|";
698  *  Machine/OS name selection pattern
699  */
700 #define apzAix_VolatileMachs (const char**)NULL
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAix_VolatileSelect0[] =
706        "typedef volatile int sig_atomic_t";
708 #define    AIX_VOLATILE_TEST_CT  1
709 static tTestDesc aAix_VolatileTests[] = {
710   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
713  *  Fix Command Arguments for Aix_Volatile
714  */
715 static const char* apzAix_VolatilePatch[] = {
716     "format",
717     "typedef int sig_atomic_t",
718     (char*)NULL };
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
722  *  Description of Alpha___Assert fix
723  */
724 tSCC zAlpha___AssertName[] =
725      "alpha___assert";
728  *  File name selection pattern
729  */
730 tSCC zAlpha___AssertList[] =
731   "|assert.h|";
733  *  Machine/OS name selection pattern
734  */
735 #define apzAlpha___AssertMachs (const char**)NULL
738  *  content selection pattern - do fix if pattern found
739  */
740 tSCC zAlpha___AssertSelect0[] =
741        "__assert\\(char \\*, char \\*, int\\)";
743 #define    ALPHA___ASSERT_TEST_CT  1
744 static tTestDesc aAlpha___AssertTests[] = {
745   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
748  *  Fix Command Arguments for Alpha___Assert
749  */
750 static const char* apzAlpha___AssertPatch[] = {
751     "format",
752     "__assert(const char *, const char *, int)",
753     (char*)NULL };
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
757  *  Description of Alpha___Extern_Prefix fix
758  */
759 tSCC zAlpha___Extern_PrefixName[] =
760      "alpha___extern_prefix";
763  *  File name selection pattern
764  */
765 #define zAlpha___Extern_PrefixList (char*)NULL
767  *  Machine/OS name selection pattern
768  */
769 tSCC* apzAlpha___Extern_PrefixMachs[] = {
770         "alpha*-dec-osf*",
771         (const char*)NULL };
774  *  content selection pattern - do fix if pattern found
775  */
776 tSCC zAlpha___Extern_PrefixSelect0[] =
777        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
778 (#[ \t]*pragma[ \t]*extern_prefix.*)";
780 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
781 static tTestDesc aAlpha___Extern_PrefixTests[] = {
782   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
785  *  Fix Command Arguments for Alpha___Extern_Prefix
786  */
787 static const char* apzAlpha___Extern_PrefixPatch[] = {
788     "format",
789     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
790 %3",
791     (char*)NULL };
793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
795  *  Description of Alpha___Extern_Prefix_Standards fix
796  */
797 tSCC zAlpha___Extern_Prefix_StandardsName[] =
798      "alpha___extern_prefix_standards";
801  *  File name selection pattern
802  */
803 tSCC zAlpha___Extern_Prefix_StandardsList[] =
804   "|standards.h|";
806  *  Machine/OS name selection pattern
807  */
808 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
809         "alpha*-dec-osf*",
810         (const char*)NULL };
813  *  content selection pattern - do fix if pattern found
814  */
815 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
816        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
818 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
819 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
820   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
823  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
824  */
825 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
826     "format",
827     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
828     (char*)NULL };
830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
832  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
833  */
834 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
835      "alpha___extern_prefix_sys_stat";
838  *  File name selection pattern
839  */
840 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
841   "|sys/stat.h|sys/mount.h|";
843  *  Machine/OS name selection pattern
844  */
845 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
846         "alpha*-dec-osf5*",
847         (const char*)NULL };
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
853        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
855 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
856 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
857   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
860  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
861  */
862 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
863     "format",
864     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
865     (char*)NULL };
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
869  *  Description of Alpha_Assert fix
870  */
871 tSCC zAlpha_AssertName[] =
872      "alpha_assert";
875  *  File name selection pattern
876  */
877 tSCC zAlpha_AssertList[] =
878   "|assert.h|";
880  *  Machine/OS name selection pattern
881  */
882 #define apzAlpha_AssertMachs (const char**)NULL
885  *  content selection pattern - do fix if pattern found
886  */
887 tSCC zAlpha_AssertSelect0[] =
888        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
890 #define    ALPHA_ASSERT_TEST_CT  1
891 static tTestDesc aAlpha_AssertTests[] = {
892   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
895  *  Fix Command Arguments for Alpha_Assert
896  */
897 static const char* apzAlpha_AssertPatch[] = {
898     "format",
899     "%1(EX)",
900     (char*)NULL };
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
904  *  Description of Alpha_Bad_Lval fix
905  */
906 tSCC zAlpha_Bad_LvalName[] =
907      "alpha_bad_lval";
910  *  File name selection pattern
911  */
912 #define zAlpha_Bad_LvalList (char*)NULL
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Bad_LvalMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Bad_LvalSelect0[] =
924        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
926 #define    ALPHA_BAD_LVAL_TEST_CT  1
927 static tTestDesc aAlpha_Bad_LvalTests[] = {
928   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
931  *  Fix Command Arguments for Alpha_Bad_Lval
932  */
933 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
934     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
935     (char*)NULL };
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
939  *  Description of Alpha_Getopt fix
940  */
941 tSCC zAlpha_GetoptName[] =
942      "alpha_getopt";
945  *  File name selection pattern
946  */
947 tSCC zAlpha_GetoptList[] =
948   "|stdio.h|stdlib.h|";
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_GetoptMachs (const char**)NULL
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_GetoptSelect0[] =
958        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
960 #define    ALPHA_GETOPT_TEST_CT  1
961 static tTestDesc aAlpha_GetoptTests[] = {
962   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
965  *  Fix Command Arguments for Alpha_Getopt
966  */
967 static const char* apzAlpha_GetoptPatch[] = {
968     "format",
969     "getopt(int, char *const[], const char *)",
970     (char*)NULL };
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
974  *  Description of Alpha_Parens fix
975  */
976 tSCC zAlpha_ParensName[] =
977      "alpha_parens";
980  *  File name selection pattern
981  */
982 tSCC zAlpha_ParensList[] =
983   "|sym.h|";
985  *  Machine/OS name selection pattern
986  */
987 #define apzAlpha_ParensMachs (const char**)NULL
990  *  content selection pattern - do fix if pattern found
991  */
992 tSCC zAlpha_ParensSelect0[] =
993        "#ifndef\\(__mips64\\)";
995 #define    ALPHA_PARENS_TEST_CT  1
996 static tTestDesc aAlpha_ParensTests[] = {
997   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1000  *  Fix Command Arguments for Alpha_Parens
1001  */
1002 static const char* apzAlpha_ParensPatch[] = {
1003     "format",
1004     "#ifndef __mips64",
1005     (char*)NULL };
1007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1009  *  Description of Alpha_Pthread fix
1010  */
1011 tSCC zAlpha_PthreadName[] =
1012      "alpha_pthread";
1015  *  File name selection pattern
1016  */
1017 tSCC zAlpha_PthreadList[] =
1018   "|pthread.h|";
1020  *  Machine/OS name selection pattern
1021  */
1022 tSCC* apzAlpha_PthreadMachs[] = {
1023         "alpha*-dec-osf*",
1024         (const char*)NULL };
1027  *  content selection pattern - do fix if pattern found
1028  */
1029 tSCC zAlpha_PthreadSelect0[] =
1030        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1031 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1033 #define    ALPHA_PTHREAD_TEST_CT  1
1034 static tTestDesc aAlpha_PthreadTests[] = {
1035   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1038  *  Fix Command Arguments for Alpha_Pthread
1039  */
1040 static const char* apzAlpha_PthreadPatch[] = {
1041     "format",
1042     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1043 %5",
1044     (char*)NULL };
1046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1048  *  Description of Alpha_Pthread_Gcc fix
1049  */
1050 tSCC zAlpha_Pthread_GccName[] =
1051      "alpha_pthread_gcc";
1054  *  File name selection pattern
1055  */
1056 tSCC zAlpha_Pthread_GccList[] =
1057   "|pthread.h|";
1059  *  Machine/OS name selection pattern
1060  */
1061 tSCC* apzAlpha_Pthread_GccMachs[] = {
1062         "alpha*-dec-osf*",
1063         (const char*)NULL };
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zAlpha_Pthread_GccSelect0[] =
1069        "#else\n\
1070 # error <pthread.h>: unrecognized compiler.";
1072 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1073 static tTestDesc aAlpha_Pthread_GccTests[] = {
1074   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1077  *  Fix Command Arguments for Alpha_Pthread_Gcc
1078  */
1079 static const char* apzAlpha_Pthread_GccPatch[] = {
1080     "format",
1081     "#elif defined (__GNUC__)\n\
1082 # define _PTHREAD_ENV_GCC\n\
1083 %0",
1084     (char*)NULL };
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1088  *  Description of Alpha_Pthread_Init fix
1089  */
1090 tSCC zAlpha_Pthread_InitName[] =
1091      "alpha_pthread_init";
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_Pthread_InitList[] =
1097   "|pthread.h|";
1099  *  Machine/OS name selection pattern
1100  */
1101 tSCC* apzAlpha_Pthread_InitMachs[] = {
1102         "alpha*-dec-osf*",
1103         (const char*)NULL };
1106  *  content selection pattern - do fix if pattern found
1107  */
1108 tSCC zAlpha_Pthread_InitSelect0[] =
1109        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1111 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1112 static tTestDesc aAlpha_Pthread_InitTests[] = {
1113   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1116  *  Fix Command Arguments for Alpha_Pthread_Init
1117  */
1118 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1119     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1120 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1121 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1122 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1123 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1124 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1125     (char*)NULL };
1127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1129  *  Description of Alpha_Sbrk fix
1130  */
1131 tSCC zAlpha_SbrkName[] =
1132      "alpha_sbrk";
1135  *  File name selection pattern
1136  */
1137 tSCC zAlpha_SbrkList[] =
1138   "|unistd.h|";
1140  *  Machine/OS name selection pattern
1141  */
1142 #define apzAlpha_SbrkMachs (const char**)NULL
1145  *  content selection pattern - do fix if pattern found
1146  */
1147 tSCC zAlpha_SbrkSelect0[] =
1148        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1150 #define    ALPHA_SBRK_TEST_CT  1
1151 static tTestDesc aAlpha_SbrkTests[] = {
1152   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1155  *  Fix Command Arguments for Alpha_Sbrk
1156  */
1157 static const char* apzAlpha_SbrkPatch[] = {
1158     "format",
1159     "void *sbrk(",
1160     (char*)NULL };
1162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1164  *  Description of Alpha_Wchar fix
1165  */
1166 tSCC zAlpha_WcharName[] =
1167      "alpha_wchar";
1170  *  File name selection pattern
1171  */
1172 tSCC zAlpha_WcharList[] =
1173   "|wchar.h|";
1175  *  Machine/OS name selection pattern
1176  */
1177 tSCC* apzAlpha_WcharMachs[] = {
1178         "alpha*-dec-osf4*",
1179         (const char*)NULL };
1182  *  content selection pattern - do fix if pattern found
1183  */
1184 tSCC zAlpha_WcharSelect0[] =
1185        "#define wcstok wcstok_r";
1187 #define    ALPHA_WCHAR_TEST_CT  1
1188 static tTestDesc aAlpha_WcharTests[] = {
1189   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1192  *  Fix Command Arguments for Alpha_Wchar
1193  */
1194 static const char* apzAlpha_WcharPatch[] = { "sed",
1195     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1196     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1197     (char*)NULL };
1199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1201  *  Description of Avoid_Bool_Define fix
1202  */
1203 tSCC zAvoid_Bool_DefineName[] =
1204      "avoid_bool_define";
1207  *  File name selection pattern
1208  */
1209 tSCC zAvoid_Bool_DefineList[] =
1210   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1212  *  Machine/OS name selection pattern
1213  */
1214 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1217  *  content selection pattern - do fix if pattern found
1218  */
1219 tSCC zAvoid_Bool_DefineSelect0[] =
1220        "#[ \t]*define[ \t]+bool[ \t]";
1223  *  content bypass pattern - skip fix if pattern found
1224  */
1225 tSCC zAvoid_Bool_DefineBypass0[] =
1226        "__cplusplus";
1228 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1229 static tTestDesc aAvoid_Bool_DefineTests[] = {
1230   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1231   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1234  *  Fix Command Arguments for Avoid_Bool_Define
1235  */
1236 static const char* apzAvoid_Bool_DefinePatch[] = {
1237     "format",
1238     "#ifndef __cplusplus\n\
1239 %0\n\
1240 #endif",
1241     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1242     (char*)NULL };
1244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1246  *  Description of Avoid_Bool_Type fix
1247  */
1248 tSCC zAvoid_Bool_TypeName[] =
1249      "avoid_bool_type";
1252  *  File name selection pattern
1253  */
1254 tSCC zAvoid_Bool_TypeList[] =
1255   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1257  *  Machine/OS name selection pattern
1258  */
1259 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1262  *  content selection pattern - do fix if pattern found
1263  */
1264 tSCC zAvoid_Bool_TypeSelect0[] =
1265        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1268  *  content bypass pattern - skip fix if pattern found
1269  */
1270 tSCC zAvoid_Bool_TypeBypass0[] =
1271        "__cplusplus";
1273 #define    AVOID_BOOL_TYPE_TEST_CT  2
1274 static tTestDesc aAvoid_Bool_TypeTests[] = {
1275   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1276   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1279  *  Fix Command Arguments for Avoid_Bool_Type
1280  */
1281 static const char* apzAvoid_Bool_TypePatch[] = {
1282     "format",
1283     "#ifndef __cplusplus\n\
1284 %0\n\
1285 #endif",
1286     (char*)NULL };
1288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1290  *  Description of Avoid_Wchar_T_Type fix
1291  */
1292 tSCC zAvoid_Wchar_T_TypeName[] =
1293      "avoid_wchar_t_type";
1296  *  File name selection pattern
1297  */
1298 #define zAvoid_Wchar_T_TypeList (char*)NULL
1300  *  Machine/OS name selection pattern
1301  */
1302 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1305  *  content selection pattern - do fix if pattern found
1306  */
1307 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1308        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1311  *  content bypass pattern - skip fix if pattern found
1312  */
1313 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1314        "__cplusplus";
1315 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1316        "_LINUX_NLS_H";
1317 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1318        "XFree86: xc/lib/X11/Xlib\\.h";
1320 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1321 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1322   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1323   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1324   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1325   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1328  *  Fix Command Arguments for Avoid_Wchar_T_Type
1329  */
1330 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1331     "format",
1332     "#ifndef __cplusplus\n\
1333 %0\n\
1334 #endif",
1335     (char*)NULL };
1337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1339  *  Description of Bad_Struct_Term fix
1340  */
1341 tSCC zBad_Struct_TermName[] =
1342      "bad_struct_term";
1345  *  File name selection pattern
1346  */
1347 tSCC zBad_Struct_TermList[] =
1348   "|curses.h|";
1350  *  Machine/OS name selection pattern
1351  */
1352 #define apzBad_Struct_TermMachs (const char**)NULL
1355  *  content selection pattern - do fix if pattern found
1356  */
1357 tSCC zBad_Struct_TermSelect0[] =
1358        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1360 #define    BAD_STRUCT_TERM_TEST_CT  1
1361 static tTestDesc aBad_Struct_TermTests[] = {
1362   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1365  *  Fix Command Arguments for Bad_Struct_Term
1366  */
1367 static const char* apzBad_Struct_TermPatch[] = {
1368     "format",
1369     "struct term;",
1370     (char*)NULL };
1372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1374  *  Description of Badquote fix
1375  */
1376 tSCC zBadquoteName[] =
1377      "badquote";
1380  *  File name selection pattern
1381  */
1382 tSCC zBadquoteList[] =
1383   "|sundev/vuid_event.h|";
1385  *  Machine/OS name selection pattern
1386  */
1387 #define apzBadquoteMachs (const char**)NULL
1390  *  content selection pattern - do fix if pattern found
1391  */
1392 tSCC zBadquoteSelect0[] =
1393        "doesn't";
1395 #define    BADQUOTE_TEST_CT  1
1396 static tTestDesc aBadquoteTests[] = {
1397   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1400  *  Fix Command Arguments for Badquote
1401  */
1402 static const char* apzBadquotePatch[] = {
1403     "format",
1404     "does not",
1405     (char*)NULL };
1407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1409  *  Description of Broken_Assert_Stdio fix
1410  */
1411 tSCC zBroken_Assert_StdioName[] =
1412      "broken_assert_stdio";
1415  *  File name selection pattern
1416  */
1417 tSCC zBroken_Assert_StdioList[] =
1418   "|assert.h|";
1420  *  Machine/OS name selection pattern
1421  */
1422 #define apzBroken_Assert_StdioMachs (const char**)NULL
1425  *  content selection pattern - do fix if pattern found
1426  */
1427 tSCC zBroken_Assert_StdioSelect0[] =
1428        "stderr";
1431  *  content bypass pattern - skip fix if pattern found
1432  */
1433 tSCC zBroken_Assert_StdioBypass0[] =
1434        "include.*stdio\\.h";
1436 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1437 static tTestDesc aBroken_Assert_StdioTests[] = {
1438   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1439   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1442  *  Fix Command Arguments for Broken_Assert_Stdio
1443  */
1444 static const char* apzBroken_Assert_StdioPatch[] = {
1445     "wrap",
1446     "#include <stdio.h>\n",
1447     (char*)NULL };
1449 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1451  *  Description of Broken_Assert_Stdlib fix
1452  */
1453 tSCC zBroken_Assert_StdlibName[] =
1454      "broken_assert_stdlib";
1457  *  File name selection pattern
1458  */
1459 tSCC zBroken_Assert_StdlibList[] =
1460   "|assert.h|";
1462  *  Machine/OS name selection pattern
1463  */
1464 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1467  *  content selection pattern - do fix if pattern found
1468  */
1469 tSCC zBroken_Assert_StdlibSelect0[] =
1470        "exit *\\(|abort *\\(";
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zBroken_Assert_StdlibBypass0[] =
1476        "include.*stdlib\\.h";
1478 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1479 static tTestDesc aBroken_Assert_StdlibTests[] = {
1480   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1481   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1484  *  Fix Command Arguments for Broken_Assert_Stdlib
1485  */
1486 static const char* apzBroken_Assert_StdlibPatch[] = {
1487     "wrap",
1488     "#ifdef __cplusplus\n\
1489 #include <stdlib.h>\n\
1490 #endif\n",
1491     (char*)NULL };
1493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1495  *  Description of Broken_Cabs fix
1496  */
1497 tSCC zBroken_CabsName[] =
1498      "broken_cabs";
1501  *  File name selection pattern
1502  */
1503 tSCC zBroken_CabsList[] =
1504   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1506  *  Machine/OS name selection pattern
1507  */
1508 #define apzBroken_CabsMachs (const char**)NULL
1511  *  content selection pattern - do fix if pattern found
1512  */
1513 tSCC zBroken_CabsSelect0[] =
1514        "^extern[ \\t]+double[ \\t]+cabs";
1516 #define    BROKEN_CABS_TEST_CT  1
1517 static tTestDesc aBroken_CabsTests[] = {
1518   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1521  *  Fix Command Arguments for Broken_Cabs
1522  */
1523 static const char* apzBroken_CabsPatch[] = {
1524     "format",
1525     "",
1526     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1527     (char*)NULL };
1529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1531  *  Description of Bsd_Stdio_Attrs_Conflict fix
1532  */
1533 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1534      "bsd_stdio_attrs_conflict";
1537  *  File name selection pattern
1538  */
1539 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1540   "|stdio.h|";
1542  *  Machine/OS name selection pattern
1543  */
1544 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1545         "*-*-*bsd*",
1546         "*-*-*darwin*",
1547         (const char*)NULL };
1550  *  content selection pattern - do fix if pattern found
1551  */
1552 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1553        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1555 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1556 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1557   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1560  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1561  */
1562 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1563     "format",
1564     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1565 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1566 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1567     (char*)NULL };
1569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1571  *  Description of Ctrl_Quotes_Def fix
1572  */
1573 tSCC zCtrl_Quotes_DefName[] =
1574      "ctrl_quotes_def";
1577  *  File name selection pattern
1578  */
1579 #define zCtrl_Quotes_DefList (char*)NULL
1581  *  Machine/OS name selection pattern
1582  */
1583 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1586  *  content selection pattern - do fix if pattern found
1587  */
1588 tSCC zCtrl_Quotes_DefSelect0[] =
1589        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1591 #define    CTRL_QUOTES_DEF_TEST_CT  1
1592 static tTestDesc aCtrl_Quotes_DefTests[] = {
1593   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1596  *  Fix Command Arguments for Ctrl_Quotes_Def
1597  */
1598 static const char* apzCtrl_Quotes_DefPatch[] = {
1599     "char_macro_def",
1600     "CTRL",
1601     (char*)NULL };
1603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1605  *  Description of Ctrl_Quotes_Use fix
1606  */
1607 tSCC zCtrl_Quotes_UseName[] =
1608      "ctrl_quotes_use";
1611  *  File name selection pattern
1612  */
1613 #define zCtrl_Quotes_UseList (char*)NULL
1615  *  Machine/OS name selection pattern
1616  */
1617 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1620  *  content selection pattern - do fix if pattern found
1621  */
1622 tSCC zCtrl_Quotes_UseSelect0[] =
1623        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1625 #define    CTRL_QUOTES_USE_TEST_CT  1
1626 static tTestDesc aCtrl_Quotes_UseTests[] = {
1627   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1630  *  Fix Command Arguments for Ctrl_Quotes_Use
1631  */
1632 static const char* apzCtrl_Quotes_UsePatch[] = {
1633     "char_macro_use",
1634     "CTRL",
1635     (char*)NULL };
1637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1639  *  Description of Cxx_Unready fix
1640  */
1641 tSCC zCxx_UnreadyName[] =
1642      "cxx_unready";
1645  *  File name selection pattern
1646  */
1647 tSCC zCxx_UnreadyList[] =
1648   "|sys/mman.h|rpc/types.h|";
1650  *  Machine/OS name selection pattern
1651  */
1652 #define apzCxx_UnreadyMachs (const char**)NULL
1655  *  content selection pattern - do fix if pattern found
1656  */
1657 tSCC zCxx_UnreadySelect0[] =
1658        "[^#]+malloc.*;";
1661  *  content bypass pattern - skip fix if pattern found
1662  */
1663 tSCC zCxx_UnreadyBypass0[] =
1664        "\"C\"|__BEGIN_DECLS";
1666 #define    CXX_UNREADY_TEST_CT  2
1667 static tTestDesc aCxx_UnreadyTests[] = {
1668   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1669   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1672  *  Fix Command Arguments for Cxx_Unready
1673  */
1674 static const char* apzCxx_UnreadyPatch[] = {
1675     "wrap",
1676     "#ifdef __cplusplus\n\
1677 extern \"C\" {\n\
1678 #endif\n",
1679     "#ifdef __cplusplus\n\
1680 }\n\
1681 #endif\n",
1682     (char*)NULL };
1684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1686  *  Description of Darwin_Gcc4_Breakage fix
1687  */
1688 tSCC zDarwin_Gcc4_BreakageName[] =
1689      "darwin_gcc4_breakage";
1692  *  File name selection pattern
1693  */
1694 tSCC zDarwin_Gcc4_BreakageList[] =
1695   "|AvailabilityMacros.h|";
1697  *  Machine/OS name selection pattern
1698  */
1699 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1700         "*-*-darwin*",
1701         (const char*)NULL };
1704  *  content selection pattern - do fix if pattern found
1705  */
1706 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1707        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1709 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1710 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1711   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1714  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1715  */
1716 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1717     "format",
1718     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1719     (char*)NULL };
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1723  *  Description of Darwin_Private_Extern fix
1724  */
1725 tSCC zDarwin_Private_ExternName[] =
1726      "darwin_private_extern";
1729  *  File name selection pattern
1730  */
1731 tSCC zDarwin_Private_ExternList[] =
1732   "|mach-o/dyld.h|";
1734  *  Machine/OS name selection pattern
1735  */
1736 tSCC* apzDarwin_Private_ExternMachs[] = {
1737         "*-*-darwin*",
1738         (const char*)NULL };
1741  *  content selection pattern - do fix if pattern found
1742  */
1743 tSCC zDarwin_Private_ExternSelect0[] =
1744        "__private_extern__ [a-z_]+ _dyld_";
1746 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1747 static tTestDesc aDarwin_Private_ExternTests[] = {
1748   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1751  *  Fix Command Arguments for Darwin_Private_Extern
1752  */
1753 static const char* apzDarwin_Private_ExternPatch[] = {
1754     "format",
1755     "extern",
1756     "__private_extern__",
1757     (char*)NULL };
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1761  *  Description of Dec_Intern_Asm fix
1762  */
1763 tSCC zDec_Intern_AsmName[] =
1764      "dec_intern_asm";
1767  *  File name selection pattern
1768  */
1769 tSCC zDec_Intern_AsmList[] =
1770   "|c_asm.h|";
1772  *  Machine/OS name selection pattern
1773  */
1774 #define apzDec_Intern_AsmMachs (const char**)NULL
1775 #define DEC_INTERN_ASM_TEST_CT  0
1776 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1779  *  Fix Command Arguments for Dec_Intern_Asm
1780  */
1781 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1782     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1783 #ifdef __DECC\n",
1784     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1785 #endif\n",
1786     (char*)NULL };
1788 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1790  *  Description of Djgpp_Wchar_H fix
1791  */
1792 tSCC zDjgpp_Wchar_HName[] =
1793      "djgpp_wchar_h";
1796  *  File name selection pattern
1797  */
1798 #define zDjgpp_Wchar_HList (char*)NULL
1800  *  Machine/OS name selection pattern
1801  */
1802 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1805  *  content selection pattern - do fix if pattern found
1806  */
1807 tSCC zDjgpp_Wchar_HSelect0[] =
1808        "__DJ_wint_t";
1811  *  content bypass pattern - skip fix if pattern found
1812  */
1813 tSCC zDjgpp_Wchar_HBypass0[] =
1814        "sys/djtypes.h";
1816 #define    DJGPP_WCHAR_H_TEST_CT  2
1817 static tTestDesc aDjgpp_Wchar_HTests[] = {
1818   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1819   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1822  *  Fix Command Arguments for Djgpp_Wchar_H
1823  */
1824 static const char* apzDjgpp_Wchar_HPatch[] = {
1825     "format",
1826     "%0\n\
1827 #include <sys/djtypes.h>",
1828     "#include <stddef.h>",
1829     (char*)NULL };
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1833  *  Description of Ecd_Cursor fix
1834  */
1835 tSCC zEcd_CursorName[] =
1836      "ecd_cursor";
1839  *  File name selection pattern
1840  */
1841 tSCC zEcd_CursorList[] =
1842   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1844  *  Machine/OS name selection pattern
1845  */
1846 #define apzEcd_CursorMachs (const char**)NULL
1849  *  content selection pattern - do fix if pattern found
1850  */
1851 tSCC zEcd_CursorSelect0[] =
1852        "ecd\\.cursor";
1854 #define    ECD_CURSOR_TEST_CT  1
1855 static tTestDesc aEcd_CursorTests[] = {
1856   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1859  *  Fix Command Arguments for Ecd_Cursor
1860  */
1861 static const char* apzEcd_CursorPatch[] = {
1862     "format",
1863     "ecd_cursor",
1864     (char*)NULL };
1866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1868  *  Description of Exception_Structure fix
1869  */
1870 tSCC zException_StructureName[] =
1871      "exception_structure";
1874  *  File name selection pattern
1875  */
1876 tSCC zException_StructureList[] =
1877   "|math.h|";
1879  *  Machine/OS name selection pattern
1880  */
1881 #define apzException_StructureMachs (const char**)NULL
1884  *  content selection pattern - do fix if pattern found
1885  */
1886 tSCC zException_StructureSelect0[] =
1887        "matherr";
1890  *  content bypass pattern - skip fix if pattern found
1891  */
1892 tSCC zException_StructureBypass0[] =
1893        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
1895 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1896 static tTestDesc aException_StructureTests[] = {
1897   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1898   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1901  *  Fix Command Arguments for Exception_Structure
1902  */
1903 static const char* apzException_StructurePatch[] = {
1904     "wrap",
1905     "struct exception;\n",
1906     (char*)NULL };
1908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1910  *  Description of Freebsd_Gcc3_Breakage fix
1911  */
1912 tSCC zFreebsd_Gcc3_BreakageName[] =
1913      "freebsd_gcc3_breakage";
1916  *  File name selection pattern
1917  */
1918 tSCC zFreebsd_Gcc3_BreakageList[] =
1919   "|sys/cdefs.h|";
1921  *  Machine/OS name selection pattern
1922  */
1923 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1924         "*-*-freebsd*",
1925         (const char*)NULL };
1928  *  content selection pattern - do fix if pattern found
1929  */
1930 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1931        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1934  *  content bypass pattern - skip fix if pattern found
1935  */
1936 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1937        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1939 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1940 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1941   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1942   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1945  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1946  */
1947 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1948     "format",
1949     "%0 || __GNUC__ >= 3",
1950     (char*)NULL };
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1954  *  Description of Freebsd_Gcc4_Breakage fix
1955  */
1956 tSCC zFreebsd_Gcc4_BreakageName[] =
1957      "freebsd_gcc4_breakage";
1960  *  File name selection pattern
1961  */
1962 tSCC zFreebsd_Gcc4_BreakageList[] =
1963   "|sys/cdefs.h|";
1965  *  Machine/OS name selection pattern
1966  */
1967 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
1968         "*-*-freebsd*",
1969         (const char*)NULL };
1972  *  content selection pattern - do fix if pattern found
1973  */
1974 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
1975        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
1977 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
1978 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
1979   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1982  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
1983  */
1984 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
1985     "format",
1986     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
1987     (char*)NULL };
1989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1991  *  Description of Gnu_Types fix
1992  */
1993 tSCC zGnu_TypesName[] =
1994      "gnu_types";
1997  *  File name selection pattern
1998  */
1999 tSCC zGnu_TypesList[] =
2000   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2002  *  Machine/OS name selection pattern
2003  */
2004 tSCC* apzGnu_TypesMachs[] = {
2005         "*-*-solaris2.1[0-9]*",
2006         (const char*)NULL };
2009  *  content selection pattern - do fix if pattern found
2010  */
2011 tSCC zGnu_TypesSelect0[] =
2012        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2015  *  content bypass pattern - skip fix if pattern found
2016  */
2017 tSCC zGnu_TypesBypass0[] =
2018        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2020 #define    GNU_TYPES_TEST_CT  2
2021 static tTestDesc aGnu_TypesTests[] = {
2022   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2023   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2026  *  Fix Command Arguments for Gnu_Types
2027  */
2028 static const char* apzGnu_TypesPatch[] = {
2029     "gnu_type",
2030     (char*)NULL };
2032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2034  *  Description of Hp_Inline fix
2035  */
2036 tSCC zHp_InlineName[] =
2037      "hp_inline";
2040  *  File name selection pattern
2041  */
2042 tSCC zHp_InlineList[] =
2043   "|sys/spinlock.h|machine/machparam.h|";
2045  *  Machine/OS name selection pattern
2046  */
2047 #define apzHp_InlineMachs (const char**)NULL
2050  *  content selection pattern - do fix if pattern found
2051  */
2052 tSCC zHp_InlineSelect0[] =
2053        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2055 #define    HP_INLINE_TEST_CT  1
2056 static tTestDesc aHp_InlineTests[] = {
2057   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2060  *  Fix Command Arguments for Hp_Inline
2061  */
2062 static const char* apzHp_InlinePatch[] = {
2063     "format",
2064     "%1<machine/%2.h>",
2065     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2066     (char*)NULL };
2068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2070  *  Description of Hp_Sysfile fix
2071  */
2072 tSCC zHp_SysfileName[] =
2073      "hp_sysfile";
2076  *  File name selection pattern
2077  */
2078 tSCC zHp_SysfileList[] =
2079   "|sys/file.h|";
2081  *  Machine/OS name selection pattern
2082  */
2083 #define apzHp_SysfileMachs (const char**)NULL
2086  *  content selection pattern - do fix if pattern found
2087  */
2088 tSCC zHp_SysfileSelect0[] =
2089        "HPUX_SOURCE";
2091 #define    HP_SYSFILE_TEST_CT  1
2092 static tTestDesc aHp_SysfileTests[] = {
2093   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2096  *  Fix Command Arguments for Hp_Sysfile
2097  */
2098 static const char* apzHp_SysfilePatch[] = {
2099     "format",
2100     "(struct file *, ...)",
2101     "\\(\\.\\.\\.\\)",
2102     (char*)NULL };
2104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2106  *  Description of Hpux10_Cpp_Pow_Inline fix
2107  */
2108 tSCC zHpux10_Cpp_Pow_InlineName[] =
2109      "hpux10_cpp_pow_inline";
2112  *  File name selection pattern
2113  */
2114 tSCC zHpux10_Cpp_Pow_InlineList[] =
2115   "|fixinc-test-limits.h|math.h|";
2117  *  Machine/OS name selection pattern
2118  */
2119 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2122  *  content selection pattern - do fix if pattern found
2123  */
2124 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2125        "^# +ifdef +__cplusplus\n\
2126  +\\}\n\
2127  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2128 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2129  +\\}\n\
2130  +extern +\"C\" +\\{\n\
2131 #else\n\
2132 # +endif";
2134 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2135 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2136   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2139  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2140  */
2141 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2142     "format",
2143     "",
2144     (char*)NULL };
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2148  *  Description of Hpux11_Cpp_Pow_Inline fix
2149  */
2150 tSCC zHpux11_Cpp_Pow_InlineName[] =
2151      "hpux11_cpp_pow_inline";
2154  *  File name selection pattern
2155  */
2156 tSCC zHpux11_Cpp_Pow_InlineList[] =
2157   "|math.h|";
2159  *  Machine/OS name selection pattern
2160  */
2161 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2164  *  content selection pattern - do fix if pattern found
2165  */
2166 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2167        " +inline double pow\\(double d,int expon\\) \\{\n\
2168  +return pow\\(d, \\(double\\)expon\\);\n\
2169  +\\}\n";
2171 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2172 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2173   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2176  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2177  */
2178 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2179     "format",
2180     "",
2181     (char*)NULL };
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2185  *  Description of Hpux10_Ctype_Declarations1 fix
2186  */
2187 tSCC zHpux10_Ctype_Declarations1Name[] =
2188      "hpux10_ctype_declarations1";
2191  *  File name selection pattern
2192  */
2193 tSCC zHpux10_Ctype_Declarations1List[] =
2194   "|ctype.h|";
2196  *  Machine/OS name selection pattern
2197  */
2198 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2201  *  content selection pattern - do fix if pattern found
2202  */
2203 tSCC zHpux10_Ctype_Declarations1Select0[] =
2204        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2207  *  content bypass pattern - skip fix if pattern found
2208  */
2209 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2210        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2212 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2213 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2214   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2215   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2218  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2219  */
2220 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2221     "format",
2222     "#ifdef _PROTOTYPES\n\
2223 extern int __tolower(int);\n\
2224 extern int __toupper(int);\n\
2225 #else /* NOT _PROTOTYPES */\n\
2226 extern int __tolower();\n\
2227 extern int __toupper();\n\
2228 #endif /* _PROTOTYPES */\n\n\
2229 %0\n",
2230     (char*)NULL };
2232 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2234  *  Description of Hpux10_Ctype_Declarations2 fix
2235  */
2236 tSCC zHpux10_Ctype_Declarations2Name[] =
2237      "hpux10_ctype_declarations2";
2240  *  File name selection pattern
2241  */
2242 tSCC zHpux10_Ctype_Declarations2List[] =
2243   "|ctype.h|";
2245  *  Machine/OS name selection pattern
2246  */
2247 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2250  *  content selection pattern - do fix if pattern found
2251  */
2252 tSCC zHpux10_Ctype_Declarations2Select0[] =
2253        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2256  *  content bypass pattern - skip fix if pattern found
2257  */
2258 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2259        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2261 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2262 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2263   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2264   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2267  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2268  */
2269 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2270     "format",
2271     "%0\n\n\
2272 #ifdef _PROTOTYPES\n\
2273      extern int _isalnum(int);\n\
2274      extern int _isalpha(int);\n\
2275      extern int _iscntrl(int);\n\
2276      extern int _isdigit(int);\n\
2277      extern int _isgraph(int);\n\
2278      extern int _islower(int);\n\
2279      extern int _isprint(int);\n\
2280      extern int _ispunct(int);\n\
2281      extern int _isspace(int);\n\
2282      extern int _isupper(int);\n\
2283      extern int _isxdigit(int);\n\
2284 #  else /* not _PROTOTYPES */\n\
2285      extern int _isalnum();\n\
2286      extern int _isalpha();\n\
2287      extern int _iscntrl();\n\
2288      extern int _isdigit();\n\
2289      extern int _isgraph();\n\
2290      extern int _islower();\n\
2291      extern int _isprint();\n\
2292      extern int _ispunct();\n\
2293      extern int _isspace();\n\
2294      extern int _isupper();\n\
2295      extern int _isxdigit();\n\
2296 #endif /* _PROTOTYPES */\n",
2297     (char*)NULL };
2299 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2301  *  Description of Hpux10_Stdio_Declarations fix
2302  */
2303 tSCC zHpux10_Stdio_DeclarationsName[] =
2304      "hpux10_stdio_declarations";
2307  *  File name selection pattern
2308  */
2309 tSCC zHpux10_Stdio_DeclarationsList[] =
2310   "|stdio.h|";
2312  *  Machine/OS name selection pattern
2313  */
2314 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2317  *  content selection pattern - do fix if pattern found
2318  */
2319 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2320        "^#[ \t]*define _iob[ \t]*__iob";
2323  *  content bypass pattern - skip fix if pattern found
2324  */
2325 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2326        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2328 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2329 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2330   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2331   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2334  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2335  */
2336 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2337     "format",
2338     "%0\n\n\
2339 #  if defined(__STDC__) || defined(__cplusplus)\n\
2340      extern int snprintf(char *, size_t, const char *, ...);\n\
2341      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2342 #  else /* not __STDC__) || __cplusplus */\n\
2343      extern int snprintf();\n\
2344      extern int vsnprintf();\n\
2345 #  endif /* __STDC__) || __cplusplus */\n",
2346     (char*)NULL };
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2350  *  Description of Hpux11_Abs fix
2351  */
2352 tSCC zHpux11_AbsName[] =
2353      "hpux11_abs";
2356  *  File name selection pattern
2357  */
2358 tSCC zHpux11_AbsList[] =
2359   "|stdlib.h|";
2361  *  Machine/OS name selection pattern
2362  */
2363 tSCC* apzHpux11_AbsMachs[] = {
2364         "ia64-hp-hpux11*",
2365         (const char*)NULL };
2368  *  content selection pattern - do fix if pattern found
2369  */
2370 tSCC zHpux11_AbsSelect0[] =
2371        "ifndef _MATH_INCLUDED";
2373 #define    HPUX11_ABS_TEST_CT  1
2374 static tTestDesc aHpux11_AbsTests[] = {
2375   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2378  *  Fix Command Arguments for Hpux11_Abs
2379  */
2380 static const char* apzHpux11_AbsPatch[] = {
2381     "format",
2382     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2383     (char*)NULL };
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2387  *  Description of Hpux11_Fabsf fix
2388  */
2389 tSCC zHpux11_FabsfName[] =
2390      "hpux11_fabsf";
2393  *  File name selection pattern
2394  */
2395 tSCC zHpux11_FabsfList[] =
2396   "|math.h|";
2398  *  Machine/OS name selection pattern
2399  */
2400 #define apzHpux11_FabsfMachs (const char**)NULL
2403  *  content selection pattern - do fix if pattern found
2404  */
2405 tSCC zHpux11_FabsfSelect0[] =
2406        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2409  *  content bypass pattern - skip fix if pattern found
2410  */
2411 tSCC zHpux11_FabsfBypass0[] =
2412        "__cplusplus";
2414 #define    HPUX11_FABSF_TEST_CT  2
2415 static tTestDesc aHpux11_FabsfTests[] = {
2416   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2417   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2420  *  Fix Command Arguments for Hpux11_Fabsf
2421  */
2422 static const char* apzHpux11_FabsfPatch[] = {
2423     "format",
2424     "#ifndef __cplusplus\n\
2425 %0\n\
2426 #endif",
2427     (char*)NULL };
2429 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2431  *  Description of Hpux11_Size_T fix
2432  */
2433 tSCC zHpux11_Size_TName[] =
2434      "hpux11_size_t";
2437  *  File name selection pattern
2438  */
2439 #define zHpux11_Size_TList (char*)NULL
2441  *  Machine/OS name selection pattern
2442  */
2443 tSCC* apzHpux11_Size_TMachs[] = {
2444         "*-hp-hpux11*",
2445         (const char*)NULL };
2448  *  content selection pattern - do fix if pattern found
2449  */
2450 tSCC zHpux11_Size_TSelect0[] =
2451        "__size_t";
2453 #define    HPUX11_SIZE_T_TEST_CT  1
2454 static tTestDesc aHpux11_Size_TTests[] = {
2455   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2458  *  Fix Command Arguments for Hpux11_Size_T
2459  */
2460 static const char* apzHpux11_Size_TPatch[] = {
2461     "format",
2462     "_hpux_size_t",
2463     (char*)NULL };
2465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2467  *  Description of Hpux11_Snprintf fix
2468  */
2469 tSCC zHpux11_SnprintfName[] =
2470      "hpux11_snprintf";
2473  *  File name selection pattern
2474  */
2475 tSCC zHpux11_SnprintfList[] =
2476   "|stdio.h|";
2478  *  Machine/OS name selection pattern
2479  */
2480 #define apzHpux11_SnprintfMachs (const char**)NULL
2483  *  content selection pattern - do fix if pattern found
2484  */
2485 tSCC zHpux11_SnprintfSelect0[] =
2486        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2488 #define    HPUX11_SNPRINTF_TEST_CT  1
2489 static tTestDesc aHpux11_SnprintfTests[] = {
2490   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2493  *  Fix Command Arguments for Hpux11_Snprintf
2494  */
2495 static const char* apzHpux11_SnprintfPatch[] = {
2496     "format",
2497     "%1 const %3",
2498     (char*)NULL };
2500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2502  *  Description of Hpux11_Uint32_C fix
2503  */
2504 tSCC zHpux11_Uint32_CName[] =
2505      "hpux11_uint32_c";
2508  *  File name selection pattern
2509  */
2510 tSCC zHpux11_Uint32_CList[] =
2511   "|inttypes.h|";
2513  *  Machine/OS name selection pattern
2514  */
2515 #define apzHpux11_Uint32_CMachs (const char**)NULL
2518  *  content selection pattern - do fix if pattern found
2519  */
2520 tSCC zHpux11_Uint32_CSelect0[] =
2521        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2523 #define    HPUX11_UINT32_C_TEST_CT  1
2524 static tTestDesc aHpux11_Uint32_CTests[] = {
2525   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2528  *  Fix Command Arguments for Hpux11_Uint32_C
2529  */
2530 static const char* apzHpux11_Uint32_CPatch[] = {
2531     "format",
2532     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2533     (char*)NULL };
2535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2537  *  Description of Hpux11_Vsnprintf fix
2538  */
2539 tSCC zHpux11_VsnprintfName[] =
2540      "hpux11_vsnprintf";
2543  *  File name selection pattern
2544  */
2545 tSCC zHpux11_VsnprintfList[] =
2546   "|stdio.h|";
2548  *  Machine/OS name selection pattern
2549  */
2550 #define apzHpux11_VsnprintfMachs (const char**)NULL
2553  *  content selection pattern - do fix if pattern found
2554  */
2555 tSCC zHpux11_VsnprintfSelect0[] =
2556        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2558 #define    HPUX11_VSNPRINTF_TEST_CT  1
2559 static tTestDesc aHpux11_VsnprintfTests[] = {
2560   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2563  *  Fix Command Arguments for Hpux11_Vsnprintf
2564  */
2565 static const char* apzHpux11_VsnprintfPatch[] = {
2566     "format",
2567     "%1 __va_list);",
2568     (char*)NULL };
2570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2572  *  Description of Hpux8_Bogus_Inlines fix
2573  */
2574 tSCC zHpux8_Bogus_InlinesName[] =
2575      "hpux8_bogus_inlines";
2578  *  File name selection pattern
2579  */
2580 tSCC zHpux8_Bogus_InlinesList[] =
2581   "|math.h|";
2583  *  Machine/OS name selection pattern
2584  */
2585 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2588  *  content selection pattern - do fix if pattern found
2589  */
2590 tSCC zHpux8_Bogus_InlinesSelect0[] =
2591        "inline";
2594  *  content bypass pattern - skip fix if pattern found
2595  */
2596 tSCC zHpux8_Bogus_InlinesBypass0[] =
2597        "__GNUG__";
2599 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2600 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2601   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2602   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2605  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2606  */
2607 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2608     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2609     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2610     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2611     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2612     (char*)NULL };
2614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2616  *  Description of Hpux_Ctype_Macros fix
2617  */
2618 tSCC zHpux_Ctype_MacrosName[] =
2619      "hpux_ctype_macros";
2622  *  File name selection pattern
2623  */
2624 tSCC zHpux_Ctype_MacrosList[] =
2625   "|ctype.h|";
2627  *  Machine/OS name selection pattern
2628  */
2629 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2632  *  content selection pattern - do fix if pattern found
2633  */
2634 tSCC zHpux_Ctype_MacrosSelect0[] =
2635        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2637 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2638 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2639   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2642  *  Fix Command Arguments for Hpux_Ctype_Macros
2643  */
2644 static const char* apzHpux_Ctype_MacrosPatch[] = {
2645     "format",
2646     "%1(int)%3",
2647     (char*)NULL };
2649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2651  *  Description of Hpux_Htonl fix
2652  */
2653 tSCC zHpux_HtonlName[] =
2654      "hpux_htonl";
2657  *  File name selection pattern
2658  */
2659 tSCC zHpux_HtonlList[] =
2660   "|netinet/in.h|";
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzHpux_HtonlMachs (const char**)NULL
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zHpux_HtonlSelect0[] =
2670        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2671 (/\\*\n\
2672  \\* Macros for number representation conversion\\.\n\
2673  \\*/\n\
2674 #ifndef ntohl)";
2676 #define    HPUX_HTONL_TEST_CT  1
2677 static tTestDesc aHpux_HtonlTests[] = {
2678   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2681  *  Fix Command Arguments for Hpux_Htonl
2682  */
2683 static const char* apzHpux_HtonlPatch[] = {
2684     "format",
2685     "#if 1\n\
2686 %1",
2687     (char*)NULL };
2689 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2691  *  Description of Hpux_Long_Double fix
2692  */
2693 tSCC zHpux_Long_DoubleName[] =
2694      "hpux_long_double";
2697  *  File name selection pattern
2698  */
2699 tSCC zHpux_Long_DoubleList[] =
2700   "|stdlib.h|";
2702  *  Machine/OS name selection pattern
2703  */
2704 #define apzHpux_Long_DoubleMachs (const char**)NULL
2707  *  content selection pattern - do fix if pattern found
2708  */
2709 tSCC zHpux_Long_DoubleSelect0[] =
2710        "extern[ \t]long_double[ \t]strtold";
2713  *  content bypass pattern - skip fix if pattern found
2714  */
2715 tSCC zHpux_Long_DoubleBypass0[] =
2716        "long_double_t";
2718 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2719 static tTestDesc aHpux_Long_DoubleTests[] = {
2720   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2721   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2724  *  Fix Command Arguments for Hpux_Long_Double
2725  */
2726 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2727     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2728     "-e", "s/long_double/long double/g",
2729     (char*)NULL };
2731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2733  *  Description of Hpux_Systime fix
2734  */
2735 tSCC zHpux_SystimeName[] =
2736      "hpux_systime";
2739  *  File name selection pattern
2740  */
2741 tSCC zHpux_SystimeList[] =
2742   "|sys/time.h|";
2744  *  Machine/OS name selection pattern
2745  */
2746 #define apzHpux_SystimeMachs (const char**)NULL
2749  *  content selection pattern - do fix if pattern found
2750  */
2751 tSCC zHpux_SystimeSelect0[] =
2752        "^extern struct sigevent;";
2754 #define    HPUX_SYSTIME_TEST_CT  1
2755 static tTestDesc aHpux_SystimeTests[] = {
2756   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2759  *  Fix Command Arguments for Hpux_Systime
2760  */
2761 static const char* apzHpux_SystimePatch[] = {
2762     "format",
2763     "struct sigevent;",
2764     (char*)NULL };
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2768  *  Description of Int_Abort_Free_And_Exit fix
2769  */
2770 tSCC zInt_Abort_Free_And_ExitName[] =
2771      "int_abort_free_and_exit";
2774  *  File name selection pattern
2775  */
2776 tSCC zInt_Abort_Free_And_ExitList[] =
2777   "|stdlib.h|";
2779  *  Machine/OS name selection pattern
2780  */
2781 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2784  *  content selection pattern - do fix if pattern found
2785  */
2786 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2787        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2790  *  content bypass pattern - skip fix if pattern found
2791  */
2792 tSCC zInt_Abort_Free_And_ExitBypass0[] =
2793        "_CLASSIC_ANSI_TYPES";
2795 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
2796 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2797   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
2798   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2801  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2802  */
2803 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2804     "format",
2805     "void\t%1(",
2806     (char*)NULL };
2808 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2810  *  Description of Io_Quotes_Def fix
2811  */
2812 tSCC zIo_Quotes_DefName[] =
2813      "io_quotes_def";
2816  *  File name selection pattern
2817  */
2818 #define zIo_Quotes_DefList (char*)NULL
2820  *  Machine/OS name selection pattern
2821  */
2822 #define apzIo_Quotes_DefMachs (const char**)NULL
2825  *  content selection pattern - do fix if pattern found
2826  */
2827 tSCC zIo_Quotes_DefSelect0[] =
2828        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2830 #define    IO_QUOTES_DEF_TEST_CT  1
2831 static tTestDesc aIo_Quotes_DefTests[] = {
2832   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2835  *  Fix Command Arguments for Io_Quotes_Def
2836  */
2837 static const char* apzIo_Quotes_DefPatch[] = {
2838     "char_macro_def",
2839     "IO",
2840     (char*)NULL };
2842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2844  *  Description of Io_Quotes_Use fix
2845  */
2846 tSCC zIo_Quotes_UseName[] =
2847      "io_quotes_use";
2850  *  File name selection pattern
2851  */
2852 #define zIo_Quotes_UseList (char*)NULL
2854  *  Machine/OS name selection pattern
2855  */
2856 #define apzIo_Quotes_UseMachs (const char**)NULL
2859  *  content selection pattern - do fix if pattern found
2860  */
2861 tSCC zIo_Quotes_UseSelect0[] =
2862        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2864 #define    IO_QUOTES_USE_TEST_CT  1
2865 static tTestDesc aIo_Quotes_UseTests[] = {
2866   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2869  *  Fix Command Arguments for Io_Quotes_Use
2870  */
2871 static const char* apzIo_Quotes_UsePatch[] = {
2872     "char_macro_use",
2873     "IO",
2874     (char*)NULL };
2876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2878  *  Description of Ip_Missing_Semi fix
2879  */
2880 tSCC zIp_Missing_SemiName[] =
2881      "ip_missing_semi";
2884  *  File name selection pattern
2885  */
2886 tSCC zIp_Missing_SemiList[] =
2887   "|netinet/ip.h|";
2889  *  Machine/OS name selection pattern
2890  */
2891 #define apzIp_Missing_SemiMachs (const char**)NULL
2894  *  content selection pattern - do fix if pattern found
2895  */
2896 tSCC zIp_Missing_SemiSelect0[] =
2897        "}$";
2899 #define    IP_MISSING_SEMI_TEST_CT  1
2900 static tTestDesc aIp_Missing_SemiTests[] = {
2901   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2904  *  Fix Command Arguments for Ip_Missing_Semi
2905  */
2906 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2907     "-e", "/^struct/,/^};/s/}$/};/",
2908     (char*)NULL };
2910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2912  *  Description of Irix___Restrict fix
2913  */
2914 tSCC zIrix___RestrictName[] =
2915      "irix___restrict";
2918  *  File name selection pattern
2919  */
2920 tSCC zIrix___RestrictList[] =
2921   "|internal/sgimacros.h|";
2923  *  Machine/OS name selection pattern
2924  */
2925 tSCC* apzIrix___RestrictMachs[] = {
2926         "mips-sgi-irix6.5",
2927         (const char*)NULL };
2930  *  content selection pattern - do fix if pattern found
2931  */
2932 tSCC zIrix___RestrictSelect0[] =
2933        "(#ifdef __c99\n\
2934 )(#[ \t]*define __restrict restrict)";
2936 #define    IRIX___RESTRICT_TEST_CT  1
2937 static tTestDesc aIrix___RestrictTests[] = {
2938   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2941  *  Fix Command Arguments for Irix___Restrict
2942  */
2943 static const char* apzIrix___RestrictPatch[] = {
2944     "format",
2945     "%1#  ifndef __cplusplus\n\
2946 %2\n\
2947 #  endif",
2948     (char*)NULL };
2950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2952  *  Description of Irix___Generic1 fix
2953  */
2954 tSCC zIrix___Generic1Name[] =
2955      "irix___generic1";
2958  *  File name selection pattern
2959  */
2960 tSCC zIrix___Generic1List[] =
2961   "|internal/math_core.h|";
2963  *  Machine/OS name selection pattern
2964  */
2965 tSCC* apzIrix___Generic1Machs[] = {
2966         "mips-sgi-irix6.5",
2967         (const char*)NULL };
2970  *  content selection pattern - do fix if pattern found
2971  */
2972 tSCC zIrix___Generic1Select0[] =
2973        "#define ([a-z]+)\\(x\\) *__generic.*";
2975 #define    IRIX___GENERIC1_TEST_CT  1
2976 static tTestDesc aIrix___Generic1Tests[] = {
2977   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
2980  *  Fix Command Arguments for Irix___Generic1
2981  */
2982 static const char* apzIrix___Generic1Patch[] = {
2983     "format",
2984     "extern int %1(double);\n\
2985 extern int %1f(float);\n\
2986 extern int %1l(long double);\n\
2987 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
2988                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
2989                : _%1l(x))\n",
2990     (char*)NULL };
2992 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2994  *  Description of Irix___Generic2 fix
2995  */
2996 tSCC zIrix___Generic2Name[] =
2997      "irix___generic2";
3000  *  File name selection pattern
3001  */
3002 tSCC zIrix___Generic2List[] =
3003   "|internal/math_core.h|";
3005  *  Machine/OS name selection pattern
3006  */
3007 tSCC* apzIrix___Generic2Machs[] = {
3008         "mips-sgi-irix6.5",
3009         (const char*)NULL };
3012  *  content selection pattern - do fix if pattern found
3013  */
3014 tSCC zIrix___Generic2Select0[] =
3015        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3017 #define    IRIX___GENERIC2_TEST_CT  1
3018 static tTestDesc aIrix___Generic2Tests[] = {
3019   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3022  *  Fix Command Arguments for Irix___Generic2
3023  */
3024 static const char* apzIrix___Generic2Patch[] = {
3025     "format",
3026     "#define %1(x,y) \\\n\
3027   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3028    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3029    : _%1l(x,y))\n",
3030     (char*)NULL };
3032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3034  *  Description of Irix_Asm_Apostrophe fix
3035  */
3036 tSCC zIrix_Asm_ApostropheName[] =
3037      "irix_asm_apostrophe";
3040  *  File name selection pattern
3041  */
3042 tSCC zIrix_Asm_ApostropheList[] =
3043   "|sys/asm.h|";
3045  *  Machine/OS name selection pattern
3046  */
3047 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3050  *  content selection pattern - do fix if pattern found
3051  */
3052 tSCC zIrix_Asm_ApostropheSelect0[] =
3053        "^[ \t]*#.*[Ww]e're";
3055 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3056 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3057   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3060  *  Fix Command Arguments for Irix_Asm_Apostrophe
3061  */
3062 static const char* apzIrix_Asm_ApostrophePatch[] = {
3063     "format",
3064     "%1 are",
3065     "^([ \t]*#.*[Ww]e)'re",
3066     (char*)NULL };
3068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3070  *  Description of Irix_Limits_Const fix
3071  */
3072 tSCC zIrix_Limits_ConstName[] =
3073      "irix_limits_const";
3076  *  File name selection pattern
3077  */
3078 tSCC zIrix_Limits_ConstList[] =
3079   "|fixinc-test-limits.h|limits.h|";
3081  *  Machine/OS name selection pattern
3082  */
3083 #define apzIrix_Limits_ConstMachs (const char**)NULL
3086  *  content selection pattern - do fix if pattern found
3087  */
3088 tSCC zIrix_Limits_ConstSelect0[] =
3089        "^extern const ";
3091 #define    IRIX_LIMITS_CONST_TEST_CT  1
3092 static tTestDesc aIrix_Limits_ConstTests[] = {
3093   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3096  *  Fix Command Arguments for Irix_Limits_Const
3097  */
3098 static const char* apzIrix_Limits_ConstPatch[] = {
3099     "format",
3100     "extern __const ",
3101     (char*)NULL };
3103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3105  *  Description of Irix_Socklen_T fix
3106  */
3107 tSCC zIrix_Socklen_TName[] =
3108      "irix_socklen_t";
3111  *  File name selection pattern
3112  */
3113 tSCC zIrix_Socklen_TList[] =
3114   "|sys/socket.h|";
3116  *  Machine/OS name selection pattern
3117  */
3118 tSCC* apzIrix_Socklen_TMachs[] = {
3119         "mips-sgi-irix6.5",
3120         (const char*)NULL };
3123  *  content selection pattern - do fix if pattern found
3124  */
3125 tSCC zIrix_Socklen_TSelect0[] =
3126        "(#define _SOCKLEN_T\n\
3127 )(typedef u_int32_t socklen_t;)";
3129 #define    IRIX_SOCKLEN_T_TEST_CT  1
3130 static tTestDesc aIrix_Socklen_TTests[] = {
3131   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3134  *  Fix Command Arguments for Irix_Socklen_T
3135  */
3136 static const char* apzIrix_Socklen_TPatch[] = {
3137     "format",
3138     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3139 typedef int socklen_t;\n\
3140 #else\n\
3141 %2\n\
3142 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3143     (char*)NULL };
3145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3147  *  Description of Irix_Stdio_Va_List fix
3148  */
3149 tSCC zIrix_Stdio_Va_ListName[] =
3150      "irix_stdio_va_list";
3153  *  File name selection pattern
3154  */
3155 tSCC zIrix_Stdio_Va_ListList[] =
3156   "|stdio.h|internal/stdio_core.h|";
3158  *  Machine/OS name selection pattern
3159  */
3160 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3163  *  content selection pattern - do fix if pattern found
3164  */
3165 tSCC zIrix_Stdio_Va_ListSelect0[] =
3166        "/\\* va_list \\*/ char \\*";
3168 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3169 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3170   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3173  *  Fix Command Arguments for Irix_Stdio_Va_List
3174  */
3175 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3176     "format",
3177     "__gnuc_va_list",
3178     (char*)NULL };
3180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3182  *  Description of Irix_Wcsftime fix
3183  */
3184 tSCC zIrix_WcsftimeName[] =
3185      "irix_wcsftime";
3188  *  File name selection pattern
3189  */
3190 tSCC zIrix_WcsftimeList[] =
3191   "|internal/wchar_core.h|";
3193  *  Machine/OS name selection pattern
3194  */
3195 tSCC* apzIrix_WcsftimeMachs[] = {
3196         "mips-sgi-irix6.5",
3197         (const char*)NULL };
3200  *  content selection pattern - do fix if pattern found
3201  */
3202 tSCC zIrix_WcsftimeSelect0[] =
3203        "#if _NO_XOPEN5\n\
3204 (extern size_t[ \t]+wcsftime.*const char *.*)";
3206 #define    IRIX_WCSFTIME_TEST_CT  1
3207 static tTestDesc aIrix_WcsftimeTests[] = {
3208   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3211  *  Fix Command Arguments for Irix_Wcsftime
3212  */
3213 static const char* apzIrix_WcsftimePatch[] = {
3214     "format",
3215     "#if _NO_XOPEN5 && !defined(__c99)\n\
3216 %1",
3217     (char*)NULL };
3219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3221  *  Description of Isc_Fmod fix
3222  */
3223 tSCC zIsc_FmodName[] =
3224      "isc_fmod";
3227  *  File name selection pattern
3228  */
3229 tSCC zIsc_FmodList[] =
3230   "|math.h|";
3232  *  Machine/OS name selection pattern
3233  */
3234 #define apzIsc_FmodMachs (const char**)NULL
3237  *  content selection pattern - do fix if pattern found
3238  */
3239 tSCC zIsc_FmodSelect0[] =
3240        "fmod\\(double\\)";
3242 #define    ISC_FMOD_TEST_CT  1
3243 static tTestDesc aIsc_FmodTests[] = {
3244   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3247  *  Fix Command Arguments for Isc_Fmod
3248  */
3249 static const char* apzIsc_FmodPatch[] = {
3250     "format",
3251     "fmod(double, double)",
3252     (char*)NULL };
3254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3256  *  Description of Isc_Omits_With_Stdc fix
3257  */
3258 tSCC zIsc_Omits_With_StdcName[] =
3259      "isc_omits_with_stdc";
3262  *  File name selection pattern
3263  */
3264 tSCC zIsc_Omits_With_StdcList[] =
3265   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3267  *  Machine/OS name selection pattern
3268  */
3269 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3272  *  content selection pattern - do fix if pattern found
3273  */
3274 tSCC zIsc_Omits_With_StdcSelect0[] =
3275        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3277 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3278 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3279   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3282  *  Fix Command Arguments for Isc_Omits_With_Stdc
3283  */
3284 static const char* apzIsc_Omits_With_StdcPatch[] = {
3285     "format",
3286     "!defined(_POSIX_SOURCE)",
3287     (char*)NULL };
3289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3291  *  Description of Kandr_Concat fix
3292  */
3293 tSCC zKandr_ConcatName[] =
3294      "kandr_concat";
3297  *  File name selection pattern
3298  */
3299 tSCC zKandr_ConcatList[] =
3300   "|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|";
3302  *  Machine/OS name selection pattern
3303  */
3304 #define apzKandr_ConcatMachs (const char**)NULL
3307  *  content selection pattern - do fix if pattern found
3308  */
3309 tSCC zKandr_ConcatSelect0[] =
3310        "/\\*\\*/";
3312 #define    KANDR_CONCAT_TEST_CT  1
3313 static tTestDesc aKandr_ConcatTests[] = {
3314   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3317  *  Fix Command Arguments for Kandr_Concat
3318  */
3319 static const char* apzKandr_ConcatPatch[] = {
3320     "format",
3321     "##",
3322     (char*)NULL };
3324 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3326  *  Description of Libc1_G_Va_List fix
3327  */
3328 tSCC zLibc1_G_Va_ListName[] =
3329      "libc1_G_va_list";
3332  *  File name selection pattern
3333  */
3334 tSCC zLibc1_G_Va_ListList[] =
3335   "|_G_config.h|";
3337  *  Machine/OS name selection pattern
3338  */
3339 tSCC* apzLibc1_G_Va_ListMachs[] = {
3340         "*-*-linux*libc1",
3341         (const char*)NULL };
3344  *  content selection pattern - do fix if pattern found
3345  */
3346 tSCC zLibc1_G_Va_ListSelect0[] =
3347        "typedef void \\* _G_va_list;";
3349 #define    LIBC1_G_VA_LIST_TEST_CT  1
3350 static tTestDesc aLibc1_G_Va_ListTests[] = {
3351   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3354  *  Fix Command Arguments for Libc1_G_Va_List
3355  */
3356 static const char* apzLibc1_G_Va_ListPatch[] = {
3357     "format",
3358     "typedef __builtin_va_list _G_va_list;",
3359     (char*)NULL };
3361 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3363  *  Description of Libc1_Ifdefd_Memx fix
3364  */
3365 tSCC zLibc1_Ifdefd_MemxName[] =
3366      "libc1_ifdefd_memx";
3369  *  File name selection pattern
3370  */
3371 tSCC zLibc1_Ifdefd_MemxList[] =
3372   "|testing.h|string.h|";
3374  *  Machine/OS name selection pattern
3375  */
3376 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3379  *  content selection pattern - do fix if pattern found
3380  */
3381 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3382        "' is a built-in function for gcc 2\\.x\\. \\*/";
3385  *  content bypass pattern - skip fix if pattern found
3386  */
3387 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3388        "__cplusplus";
3390 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3391 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3392   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3393   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3396  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3397  */
3398 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3399     "format",
3400     "%1",
3401     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3402 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3403 (/\\* .* \\*/\n\
3404 extern [a-z_]+ mem.*(\n\
3405 [^#].*)*;)\n\
3406 #endif",
3407     (char*)NULL };
3409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3411  *  Description of Linux_Ia64_Ucontext fix
3412  */
3413 tSCC zLinux_Ia64_UcontextName[] =
3414      "linux_ia64_ucontext";
3417  *  File name selection pattern
3418  */
3419 tSCC zLinux_Ia64_UcontextList[] =
3420   "|sys/ucontext.h|";
3422  *  Machine/OS name selection pattern
3423  */
3424 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3425         "ia64-*-linux*",
3426         (const char*)NULL };
3429  *  content selection pattern - do fix if pattern found
3430  */
3431 tSCC zLinux_Ia64_UcontextSelect0[] =
3432        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3434 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3435 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3436   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3439  *  Fix Command Arguments for Linux_Ia64_Ucontext
3440  */
3441 static const char* apzLinux_Ia64_UcontextPatch[] = {
3442     "format",
3443     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3444     (char*)NULL };
3446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3448  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3449  */
3450 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3451      "lynxos_no_warning_in_sys_time_h";
3454  *  File name selection pattern
3455  */
3456 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3457   "|sys/time.h|";
3459  *  Machine/OS name selection pattern
3460  */
3461 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3464  *  content selection pattern - do fix if pattern found
3465  */
3466 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3467        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3469 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3470 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3471   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3474  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3475  */
3476 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3477     "format",
3478     "",
3479     (char*)NULL };
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3483  *  Description of Lynxos_Missing_Putenv fix
3484  */
3485 tSCC zLynxos_Missing_PutenvName[] =
3486      "lynxos_missing_putenv";
3489  *  File name selection pattern
3490  */
3491 tSCC zLynxos_Missing_PutenvList[] =
3492   "|stdlib.h|";
3494  *  Machine/OS name selection pattern
3495  */
3496 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3497         "*-*-lynxos*",
3498         (const char*)NULL };
3501  *  content selection pattern - do fix if pattern found
3502  */
3503 tSCC zLynxos_Missing_PutenvSelect0[] =
3504        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3507  *  content bypass pattern - skip fix if pattern found
3508  */
3509 tSCC zLynxos_Missing_PutenvBypass0[] =
3510        "putenv[ \\t]*\\(";
3512 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3513 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3514   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3515   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3518  *  Fix Command Arguments for Lynxos_Missing_Putenv
3519  */
3520 static const char* apzLynxos_Missing_PutenvPatch[] = {
3521     "format",
3522     "%0\n\
3523 extern int putenv\t\t\t\t_AP((char *));",
3524     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3525     (char*)NULL };
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3529  *  Description of Machine_Ansi_H_Va_List fix
3530  */
3531 tSCC zMachine_Ansi_H_Va_ListName[] =
3532      "machine_ansi_h_va_list";
3535  *  File name selection pattern
3536  */
3537 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3547        "define[ \t]+_BSD_VA_LIST_[ \t]";
3550  *  content bypass pattern - skip fix if pattern found
3551  */
3552 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3553        "__builtin_va_list";
3555 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3556 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3557   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3558   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3561  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3562  */
3563 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3564     "format",
3565     "%1__builtin_va_list",
3566     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3567     (char*)NULL };
3569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3571  *  Description of Machine_Name fix
3572  */
3573 tSCC zMachine_NameName[] =
3574      "machine_name";
3577  *  File name selection pattern
3578  */
3579 #define zMachine_NameList (char*)NULL
3581  *  Machine/OS name selection pattern
3582  */
3583 #define apzMachine_NameMachs (const char**)NULL
3586  *  perform the C function call test
3587  */
3588 tSCC zMachine_NameFTst0[] = "machine_name";
3590 #define    MACHINE_NAME_TEST_CT  1
3591 static tTestDesc aMachine_NameTests[] = {
3592   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3595  *  Fix Command Arguments for Machine_Name
3596  */
3597 static const char* apzMachine_NamePatch[] = {
3598     "machine_name",
3599     (char*)NULL };
3601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3603  *  Description of Math_Exception fix
3604  */
3605 tSCC zMath_ExceptionName[] =
3606      "math_exception";
3609  *  File name selection pattern
3610  */
3611 tSCC zMath_ExceptionList[] =
3612   "|math.h|";
3614  *  Machine/OS name selection pattern
3615  */
3616 #define apzMath_ExceptionMachs (const char**)NULL
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zMath_ExceptionSelect0[] =
3622        "struct exception";
3625  *  content bypass pattern - skip fix if pattern found
3626  */
3627 tSCC zMath_ExceptionBypass0[] =
3628        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3630 #define    MATH_EXCEPTION_TEST_CT  2
3631 static tTestDesc aMath_ExceptionTests[] = {
3632   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3633   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3636  *  Fix Command Arguments for Math_Exception
3637  */
3638 static const char* apzMath_ExceptionPatch[] = {
3639     "wrap",
3640     "#ifdef __cplusplus\n\
3641 #define exception __math_exception\n\
3642 #endif\n",
3643     "#ifdef __cplusplus\n\
3644 #undef exception\n\
3645 #endif\n",
3646     (char*)NULL };
3648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3650  *  Description of Math_Huge_Val_From_Dbl_Max fix
3651  */
3652 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3653      "math_huge_val_from_dbl_max";
3656  *  File name selection pattern
3657  */
3658 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3659   "|math.h|";
3661  *  Machine/OS name selection pattern
3662  */
3663 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3666  *  content selection pattern - do fix if pattern found
3667  */
3668 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3669        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3672  *  content bypass pattern - skip fix if pattern found
3673  */
3674 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3675        "define[ \t]+DBL_MAX";
3677 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3678 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3679   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3680   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3683  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3684  */
3685 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3686     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3687 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3688 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3689 \telse cat\n\
3690 \tfi",
3691     (char*)NULL };
3693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3695  *  Description of Nested_Auth_Des fix
3696  */
3697 tSCC zNested_Auth_DesName[] =
3698      "nested_auth_des";
3701  *  File name selection pattern
3702  */
3703 tSCC zNested_Auth_DesList[] =
3704   "|rpc/rpc.h|";
3706  *  Machine/OS name selection pattern
3707  */
3708 #define apzNested_Auth_DesMachs (const char**)NULL
3711  *  content selection pattern - do fix if pattern found
3712  */
3713 tSCC zNested_Auth_DesSelect0[] =
3714        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3716 #define    NESTED_AUTH_DES_TEST_CT  1
3717 static tTestDesc aNested_Auth_DesTests[] = {
3718   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3721  *  Fix Command Arguments for Nested_Auth_Des
3722  */
3723 static const char* apzNested_Auth_DesPatch[] = {
3724     "format",
3725     "%1*/ /*",
3726     (char*)NULL };
3728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3730  *  Description of Nested_Motorola fix
3731  */
3732 tSCC zNested_MotorolaName[] =
3733      "nested_motorola";
3736  *  File name selection pattern
3737  */
3738 tSCC zNested_MotorolaList[] =
3739   "|sys/limits.h|limits.h|";
3741  *  Machine/OS name selection pattern
3742  */
3743 tSCC* apzNested_MotorolaMachs[] = {
3744         "m68k-motorola-sysv*",
3745         (const char*)NULL };
3748  *  content selection pattern - do fix if pattern found
3749  */
3750 tSCC zNested_MotorolaSelect0[] =
3751        "max # bytes atomic in write|error value returned by Math lib";
3753 #define    NESTED_MOTOROLA_TEST_CT  1
3754 static tTestDesc aNested_MotorolaTests[] = {
3755   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3758  *  Fix Command Arguments for Nested_Motorola
3759  */
3760 static const char* apzNested_MotorolaPatch[] = { "sed",
3761     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3762     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3763     (char*)NULL };
3765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3767  *  Description of Nested_Sys_Limits fix
3768  */
3769 tSCC zNested_Sys_LimitsName[] =
3770      "nested_sys_limits";
3773  *  File name selection pattern
3774  */
3775 tSCC zNested_Sys_LimitsList[] =
3776   "|sys/limits.h|";
3778  *  Machine/OS name selection pattern
3779  */
3780 #define apzNested_Sys_LimitsMachs (const char**)NULL
3783  *  content selection pattern - do fix if pattern found
3784  */
3785 tSCC zNested_Sys_LimitsSelect0[] =
3786        "CHILD_MAX";
3788 #define    NESTED_SYS_LIMITS_TEST_CT  1
3789 static tTestDesc aNested_Sys_LimitsTests[] = {
3790   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3793  *  Fix Command Arguments for Nested_Sys_Limits
3794  */
3795 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3796     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3797     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3798     (char*)NULL };
3800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3802  *  Description of Netbsd_Extra_Semicolon fix
3803  */
3804 tSCC zNetbsd_Extra_SemicolonName[] =
3805      "netbsd_extra_semicolon";
3808  *  File name selection pattern
3809  */
3810 tSCC zNetbsd_Extra_SemicolonList[] =
3811   "|sys/cdefs.h|";
3813  *  Machine/OS name selection pattern
3814  */
3815 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3816         "*-*-netbsd*",
3817         (const char*)NULL };
3820  *  content selection pattern - do fix if pattern found
3821  */
3822 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3823        "#define[ \t]*__END_DECLS[ \t]*};";
3825 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3826 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3827   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3830  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3831  */
3832 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3833     "format",
3834     "#define __END_DECLS }",
3835     (char*)NULL };
3837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3839  *  Description of Next_Math_Prefix fix
3840  */
3841 tSCC zNext_Math_PrefixName[] =
3842      "next_math_prefix";
3845  *  File name selection pattern
3846  */
3847 tSCC zNext_Math_PrefixList[] =
3848   "|ansi/math.h|";
3850  *  Machine/OS name selection pattern
3851  */
3852 #define apzNext_Math_PrefixMachs (const char**)NULL
3855  *  content selection pattern - do fix if pattern found
3856  */
3857 tSCC zNext_Math_PrefixSelect0[] =
3858        "^extern[ \t]+double[ \t]+__const__[ \t]";
3860 #define    NEXT_MATH_PREFIX_TEST_CT  1
3861 static tTestDesc aNext_Math_PrefixTests[] = {
3862   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3865  *  Fix Command Arguments for Next_Math_Prefix
3866  */
3867 static const char* apzNext_Math_PrefixPatch[] = {
3868     "format",
3869     "extern double %1(",
3870     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3871     (char*)NULL };
3873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3875  *  Description of Next_Template fix
3876  */
3877 tSCC zNext_TemplateName[] =
3878      "next_template";
3881  *  File name selection pattern
3882  */
3883 tSCC zNext_TemplateList[] =
3884   "|bsd/libc.h|";
3886  *  Machine/OS name selection pattern
3887  */
3888 #define apzNext_TemplateMachs (const char**)NULL
3891  *  content selection pattern - do fix if pattern found
3892  */
3893 tSCC zNext_TemplateSelect0[] =
3894        "[ \t]template\\)";
3896 #define    NEXT_TEMPLATE_TEST_CT  1
3897 static tTestDesc aNext_TemplateTests[] = {
3898   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3901  *  Fix Command Arguments for Next_Template
3902  */
3903 static const char* apzNext_TemplatePatch[] = {
3904     "format",
3905     "(%1)",
3906     "\\(([^)]*)[ \t]template\\)",
3907     (char*)NULL };
3909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3911  *  Description of Next_Volitile fix
3912  */
3913 tSCC zNext_VolitileName[] =
3914      "next_volitile";
3917  *  File name selection pattern
3918  */
3919 tSCC zNext_VolitileList[] =
3920   "|ansi/stdlib.h|";
3922  *  Machine/OS name selection pattern
3923  */
3924 #define apzNext_VolitileMachs (const char**)NULL
3927  *  content selection pattern - do fix if pattern found
3928  */
3929 tSCC zNext_VolitileSelect0[] =
3930        "^extern[ \t]+volatile[ \t]+void[ \t]";
3932 #define    NEXT_VOLITILE_TEST_CT  1
3933 static tTestDesc aNext_VolitileTests[] = {
3934   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3937  *  Fix Command Arguments for Next_Volitile
3938  */
3939 static const char* apzNext_VolitilePatch[] = {
3940     "format",
3941     "extern void %1(",
3942     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3943     (char*)NULL };
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3947  *  Description of Next_Wait_Union fix
3948  */
3949 tSCC zNext_Wait_UnionName[] =
3950      "next_wait_union";
3953  *  File name selection pattern
3954  */
3955 tSCC zNext_Wait_UnionList[] =
3956   "|sys/wait.h|";
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzNext_Wait_UnionMachs (const char**)NULL
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zNext_Wait_UnionSelect0[] =
3966        "wait\\(union wait";
3968 #define    NEXT_WAIT_UNION_TEST_CT  1
3969 static tTestDesc aNext_Wait_UnionTests[] = {
3970   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3973  *  Fix Command Arguments for Next_Wait_Union
3974  */
3975 static const char* apzNext_Wait_UnionPatch[] = {
3976     "format",
3977     "wait(void",
3978     (char*)NULL };
3980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3982  *  Description of Nodeent_Syntax fix
3983  */
3984 tSCC zNodeent_SyntaxName[] =
3985      "nodeent_syntax";
3988  *  File name selection pattern
3989  */
3990 tSCC zNodeent_SyntaxList[] =
3991   "|netdnet/dnetdb.h|";
3993  *  Machine/OS name selection pattern
3994  */
3995 #define apzNodeent_SyntaxMachs (const char**)NULL
3998  *  content selection pattern - do fix if pattern found
3999  */
4000 tSCC zNodeent_SyntaxSelect0[] =
4001        "char[ \t]*\\*na_addr[ \t]*$";
4003 #define    NODEENT_SYNTAX_TEST_CT  1
4004 static tTestDesc aNodeent_SyntaxTests[] = {
4005   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4008  *  Fix Command Arguments for Nodeent_Syntax
4009  */
4010 static const char* apzNodeent_SyntaxPatch[] = {
4011     "format",
4012     "%0;",
4013     (char*)NULL };
4015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4017  *  Description of Obstack_Lvalue_Cast fix
4018  */
4019 tSCC zObstack_Lvalue_CastName[] =
4020      "obstack_lvalue_cast";
4023  *  File name selection pattern
4024  */
4025 tSCC zObstack_Lvalue_CastList[] =
4026   "|obstack.h|";
4028  *  Machine/OS name selection pattern
4029  */
4030 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4033  *  content selection pattern - do fix if pattern found
4034  */
4035 tSCC zObstack_Lvalue_CastSelect0[] =
4036        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4038 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4039 static tTestDesc aObstack_Lvalue_CastTests[] = {
4040   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4043  *  Fix Command Arguments for Obstack_Lvalue_Cast
4044  */
4045 static const char* apzObstack_Lvalue_CastPatch[] = {
4046     "format",
4047     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4048     (char*)NULL };
4050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4052  *  Description of Osf_Namespace_A fix
4053  */
4054 tSCC zOsf_Namespace_AName[] =
4055      "osf_namespace_a";
4058  *  File name selection pattern
4059  */
4060 tSCC zOsf_Namespace_AList[] =
4061   "|reg_types.h|sys/lc_core.h|";
4063  *  Machine/OS name selection pattern
4064  */
4065 #define apzOsf_Namespace_AMachs (const char**)NULL
4068  *  perform the 'test' shell command - do fix on success
4069  */
4070 tSCC zOsf_Namespace_ATest0[] =
4071        " -r reg_types.h";
4072 tSCC zOsf_Namespace_ATest1[] =
4073        " -r sys/lc_core.h";
4074 tSCC zOsf_Namespace_ATest2[] =
4075        " -n \"`grep '} regex_t;' reg_types.h`\"";
4076 tSCC zOsf_Namespace_ATest3[] =
4077        " -z \"`grep __regex_t regex.h`\"";
4079 #define    OSF_NAMESPACE_A_TEST_CT  4
4080 static tTestDesc aOsf_Namespace_ATests[] = {
4081   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4082   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4083   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4084   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4087  *  Fix Command Arguments for Osf_Namespace_A
4088  */
4089 static const char* apzOsf_Namespace_APatch[] = {
4090     "format",
4091     "__%0",
4092     "reg(ex|off|match)_t",
4093     (char*)NULL };
4095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4097  *  Description of Osf_Namespace_C fix
4098  */
4099 tSCC zOsf_Namespace_CName[] =
4100      "osf_namespace_c";
4103  *  File name selection pattern
4104  */
4105 tSCC zOsf_Namespace_CList[] =
4106   "|regex.h|";
4108  *  Machine/OS name selection pattern
4109  */
4110 #define apzOsf_Namespace_CMachs (const char**)NULL
4113  *  content selection pattern - do fix if pattern found
4114  */
4115 tSCC zOsf_Namespace_CSelect0[] =
4116        "#include <reg_types.h>.*";
4119  *  perform the 'test' shell command - do fix on success
4120  */
4121 tSCC zOsf_Namespace_CTest0[] =
4122        " -r reg_types.h";
4123 tSCC zOsf_Namespace_CTest1[] =
4124        " -r sys/lc_core.h";
4125 tSCC zOsf_Namespace_CTest2[] =
4126        " -n \"`grep '} regex_t;' reg_types.h`\"";
4127 tSCC zOsf_Namespace_CTest3[] =
4128        " -z \"`grep __regex_t regex.h`\"";
4130 #define    OSF_NAMESPACE_C_TEST_CT  5
4131 static tTestDesc aOsf_Namespace_CTests[] = {
4132   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4133   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4134   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4135   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4136   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4139  *  Fix Command Arguments for Osf_Namespace_C
4140  */
4141 static const char* apzOsf_Namespace_CPatch[] = {
4142     "format",
4143     "%0\n\
4144 typedef __regex_t\tregex_t;\n\
4145 typedef __regoff_t\tregoff_t;\n\
4146 typedef __regmatch_t\tregmatch_t;",
4147     (char*)NULL };
4149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4151  *  Description of Pthread_Page_Size fix
4152  */
4153 tSCC zPthread_Page_SizeName[] =
4154      "pthread_page_size";
4157  *  File name selection pattern
4158  */
4159 tSCC zPthread_Page_SizeList[] =
4160   "|pthread.h|";
4162  *  Machine/OS name selection pattern
4163  */
4164 #define apzPthread_Page_SizeMachs (const char**)NULL
4167  *  content selection pattern - do fix if pattern found
4168  */
4169 tSCC zPthread_Page_SizeSelect0[] =
4170        "^int __page_size";
4172 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4173 static tTestDesc aPthread_Page_SizeTests[] = {
4174   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4177  *  Fix Command Arguments for Pthread_Page_Size
4178  */
4179 static const char* apzPthread_Page_SizePatch[] = {
4180     "format",
4181     "extern %0",
4182     (char*)NULL };
4184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4186  *  Description of Pthread_Incomplete_Struct_Argument fix
4187  */
4188 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4189      "pthread_incomplete_struct_argument";
4192  *  File name selection pattern
4193  */
4194 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4195   "|pthread.h|";
4197  *  Machine/OS name selection pattern
4198  */
4199 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4202  *  content selection pattern - do fix if pattern found
4203  */
4204 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4205        "struct __jmp_buf_tag";
4207 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4208 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4209   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4212  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4213  */
4214 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4215     "format",
4216     "%1 *%2%3",
4217     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4218     (char*)NULL };
4220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4222  *  Description of Read_Ret_Type fix
4223  */
4224 tSCC zRead_Ret_TypeName[] =
4225      "read_ret_type";
4228  *  File name selection pattern
4229  */
4230 tSCC zRead_Ret_TypeList[] =
4231   "|stdio.h|";
4233  *  Machine/OS name selection pattern
4234  */
4235 #define apzRead_Ret_TypeMachs (const char**)NULL
4238  *  content selection pattern - do fix if pattern found
4239  */
4240 tSCC zRead_Ret_TypeSelect0[] =
4241        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4243 #define    READ_RET_TYPE_TEST_CT  1
4244 static tTestDesc aRead_Ret_TypeTests[] = {
4245   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4248  *  Fix Command Arguments for Read_Ret_Type
4249  */
4250 static const char* apzRead_Ret_TypePatch[] = {
4251     "format",
4252     "extern unsigned int fread(), fwrite();\n\
4253 %1%2",
4254     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4255     (char*)NULL };
4257 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4259  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4260  */
4261 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4262      "rpc_xdr_lvalue_cast_a";
4265  *  File name selection pattern
4266  */
4267 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4268   "|rpc/xdr.h|";
4270  *  Machine/OS name selection pattern
4271  */
4272 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4278        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4279 .*__extension__.*";
4281 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4282 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4283   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4286  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4287  */
4288 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4289     "format",
4290     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4291     (char*)NULL };
4293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4295  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4296  */
4297 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4298      "rpc_xdr_lvalue_cast_b";
4301  *  File name selection pattern
4302  */
4303 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4304   "|rpc/xdr.h|";
4306  *  Machine/OS name selection pattern
4307  */
4308 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4311  *  content selection pattern - do fix if pattern found
4312  */
4313 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4314        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4315 .*__extension__.*";
4317 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4318 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4319   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4322  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4323  */
4324 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4325     "format",
4326     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4327     (char*)NULL };
4329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4331  *  Description of Rs6000_Double fix
4332  */
4333 tSCC zRs6000_DoubleName[] =
4334      "rs6000_double";
4337  *  File name selection pattern
4338  */
4339 tSCC zRs6000_DoubleList[] =
4340   "|math.h|";
4342  *  Machine/OS name selection pattern
4343  */
4344 #define apzRs6000_DoubleMachs (const char**)NULL
4347  *  content selection pattern - do fix if pattern found
4348  */
4349 tSCC zRs6000_DoubleSelect0[] =
4350        "[^a-zA-Z_]class\\(";
4352 #define    RS6000_DOUBLE_TEST_CT  1
4353 static tTestDesc aRs6000_DoubleTests[] = {
4354   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4357  *  Fix Command Arguments for Rs6000_Double
4358  */
4359 static const char* apzRs6000_DoublePatch[] = {
4360     "format",
4361     "#ifndef __cplusplus\n\
4362 %0\n\
4363 #endif",
4364     "^.*[^a-zA-Z_]class\\(.*",
4365     (char*)NULL };
4367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4369  *  Description of Rs6000_Fchmod fix
4370  */
4371 tSCC zRs6000_FchmodName[] =
4372      "rs6000_fchmod";
4375  *  File name selection pattern
4376  */
4377 tSCC zRs6000_FchmodList[] =
4378   "|sys/stat.h|";
4380  *  Machine/OS name selection pattern
4381  */
4382 #define apzRs6000_FchmodMachs (const char**)NULL
4385  *  content selection pattern - do fix if pattern found
4386  */
4387 tSCC zRs6000_FchmodSelect0[] =
4388        "fchmod\\(char \\*";
4390 #define    RS6000_FCHMOD_TEST_CT  1
4391 static tTestDesc aRs6000_FchmodTests[] = {
4392   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4395  *  Fix Command Arguments for Rs6000_Fchmod
4396  */
4397 static const char* apzRs6000_FchmodPatch[] = {
4398     "format",
4399     "fchmod(int",
4400     (char*)NULL };
4402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4404  *  Description of Rs6000_Param fix
4405  */
4406 tSCC zRs6000_ParamName[] =
4407      "rs6000_param";
4410  *  File name selection pattern
4411  */
4412 tSCC zRs6000_ParamList[] =
4413   "|stdio.h|unistd.h|";
4415  *  Machine/OS name selection pattern
4416  */
4417 #define apzRs6000_ParamMachs (const char**)NULL
4420  *  content selection pattern - do fix if pattern found
4421  */
4422 tSCC zRs6000_ParamSelect0[] =
4423        "rename\\(const char \\*old, const char \\*new\\)";
4425 #define    RS6000_PARAM_TEST_CT  1
4426 static tTestDesc aRs6000_ParamTests[] = {
4427   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4430  *  Fix Command Arguments for Rs6000_Param
4431  */
4432 static const char* apzRs6000_ParamPatch[] = {
4433     "format",
4434     "rename(const char *_old, const char *_new)",
4435     (char*)NULL };
4437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4439  *  Description of Sco_Math fix
4440  */
4441 tSCC zSco_MathName[] =
4442      "sco_math";
4445  *  File name selection pattern
4446  */
4447 tSCC zSco_MathList[] =
4448   "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
4450  *  Machine/OS name selection pattern
4451  */
4452 #define apzSco_MathMachs (const char**)NULL
4455  *  content selection pattern - do fix if pattern found
4456  */
4457 tSCC zSco_MathSelect0[] =
4458        "inline double abs";
4461  *  content bypass pattern - skip fix if pattern found
4462  */
4463 tSCC zSco_MathBypass0[] =
4464        "__GNUG__";
4466 #define    SCO_MATH_TEST_CT  2
4467 static tTestDesc aSco_MathTests[] = {
4468   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4469   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4472  *  Fix Command Arguments for Sco_Math
4473  */
4474 static const char* apzSco_MathPatch[] = { "sed",
4475     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4476 #ifndef __GNUC__\n",
4477     "-e", "/.*__builtin_generic/a\\\n\
4478 #else\\\n\
4479 #define __fp_class(a) \\\\\\\n\
4480   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4481    __fpclassifyl(a), \\\\\\\n\
4482     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4483       __fpclassifyf(a),__fpclassify(a)))\\\n\
4484 #endif",
4485     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4486 #ifndef __GNUC__\n",
4487     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4488 #endif /* ! __GNUC__ */",
4489     (char*)NULL };
4491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4493  *  Description of Sco_Regset fix
4494  */
4495 tSCC zSco_RegsetName[] =
4496      "sco_regset";
4499  *  File name selection pattern
4500  */
4501 tSCC zSco_RegsetList[] =
4502   "|sys/regset.h|";
4504  *  Machine/OS name selection pattern
4505  */
4506 tSCC* apzSco_RegsetMachs[] = {
4507         "*-*-sco3.2v5*",
4508         (const char*)NULL };
4511  *  content selection pattern - do fix if pattern found
4512  */
4513 tSCC zSco_RegsetSelect0[] =
4514        "(struct[ \t]+.*)fpstate";
4516 #define    SCO_REGSET_TEST_CT  1
4517 static tTestDesc aSco_RegsetTests[] = {
4518   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4521  *  Fix Command Arguments for Sco_Regset
4522  */
4523 static const char* apzSco_RegsetPatch[] = {
4524     "format",
4525     "%1rsfpstate",
4526     (char*)NULL };
4528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4530  *  Description of Sco_Static_Func fix
4531  */
4532 tSCC zSco_Static_FuncName[] =
4533      "sco_static_func";
4536  *  File name selection pattern
4537  */
4538 tSCC zSco_Static_FuncList[] =
4539   "|sys/stat.h|";
4541  *  Machine/OS name selection pattern
4542  */
4543 tSCC* apzSco_Static_FuncMachs[] = {
4544         "i?86-*-sco3.2*",
4545         (const char*)NULL };
4548  *  content selection pattern - do fix if pattern found
4549  */
4550 tSCC zSco_Static_FuncSelect0[] =
4551        "^static int";
4553 #define    SCO_STATIC_FUNC_TEST_CT  1
4554 static tTestDesc aSco_Static_FuncTests[] = {
4555   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4558  *  Fix Command Arguments for Sco_Static_Func
4559  */
4560 static const char* apzSco_Static_FuncPatch[] = { "sed",
4561     "-e", "/^static int/i\\\n\
4562 #if __cplusplus\\\n\
4563 extern \"C\" {\\\n\
4564 #endif /* __cplusplus */",
4565     "-e", "/^}$/a\\\n\
4566 #if __cplusplus\\\n\
4567  }\\\n\
4568 #endif /* __cplusplus */",
4569     (char*)NULL };
4571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4573  *  Description of Sco_Utime fix
4574  */
4575 tSCC zSco_UtimeName[] =
4576      "sco_utime";
4579  *  File name selection pattern
4580  */
4581 tSCC zSco_UtimeList[] =
4582   "|sys/times.h|";
4584  *  Machine/OS name selection pattern
4585  */
4586 tSCC* apzSco_UtimeMachs[] = {
4587         "i?86-*-sco3.2v4*",
4588         (const char*)NULL };
4591  *  content selection pattern - do fix if pattern found
4592  */
4593 tSCC zSco_UtimeSelect0[] =
4594        "\\(const char \\*, struct utimbuf \\*\\);";
4596 #define    SCO_UTIME_TEST_CT  1
4597 static tTestDesc aSco_UtimeTests[] = {
4598   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4601  *  Fix Command Arguments for Sco_Utime
4602  */
4603 static const char* apzSco_UtimePatch[] = {
4604     "format",
4605     "(const char *, const struct utimbuf *);",
4606     (char*)NULL };
4608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4610  *  Description of Solaris_Mutex_Init_1 fix
4611  */
4612 tSCC zSolaris_Mutex_Init_1Name[] =
4613      "solaris_mutex_init_1";
4616  *  File name selection pattern
4617  */
4618 tSCC zSolaris_Mutex_Init_1List[] =
4619   "|pthread.h|";
4621  *  Machine/OS name selection pattern
4622  */
4623 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
4626  *  content selection pattern - do fix if pattern found
4627  */
4628 tSCC zSolaris_Mutex_Init_1Select0[] =
4629        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
4631 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
4632 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
4633   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
4636  *  Fix Command Arguments for Solaris_Mutex_Init_1
4637  */
4638 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
4639     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
4640 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
4641     (char*)NULL };
4643 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4645  *  Description of Solaris_Mutex_Init_2 fix
4646  */
4647 tSCC zSolaris_Mutex_Init_2Name[] =
4648      "solaris_mutex_init_2";
4651  *  File name selection pattern
4652  */
4653 tSCC zSolaris_Mutex_Init_2List[] =
4654   "|pthread.h|";
4656  *  Machine/OS name selection pattern
4657  */
4658 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
4661  *  content selection pattern - do fix if pattern found
4662  */
4663 tSCC zSolaris_Mutex_Init_2Select0[] =
4664        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4666 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
4667 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
4668   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
4671  *  Fix Command Arguments for Solaris_Mutex_Init_2
4672  */
4673 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4674     "format",
4675     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4676 %0\n\
4677 #else\n\
4678 %1, {0}}%3\n\
4679 #endif",
4680     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4681     (char*)NULL };
4683 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4685  *  Description of Solaris_Socket fix
4686  */
4687 tSCC zSolaris_SocketName[] =
4688      "solaris_socket";
4691  *  File name selection pattern
4692  */
4693 tSCC zSolaris_SocketList[] =
4694   "|sys/socket.h|";
4696  *  Machine/OS name selection pattern
4697  */
4698 #define apzSolaris_SocketMachs (const char**)NULL
4701  *  content selection pattern - do fix if pattern found
4702  */
4703 tSCC zSolaris_SocketSelect0[] =
4704        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4706 #define    SOLARIS_SOCKET_TEST_CT  1
4707 static tTestDesc aSolaris_SocketTests[] = {
4708   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
4711  *  Fix Command Arguments for Solaris_Socket
4712  */
4713 static const char* apzSolaris_SocketPatch[] = {
4714     "format",
4715     "extern int %1(int, %2void *, int, int);",
4716     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4717     (char*)NULL };
4719 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4721  *  Description of Solaris_Stdio_Tag fix
4722  */
4723 tSCC zSolaris_Stdio_TagName[] =
4724      "solaris_stdio_tag";
4727  *  File name selection pattern
4728  */
4729 tSCC zSolaris_Stdio_TagList[] =
4730   "|stdio_tag.h|";
4732  *  Machine/OS name selection pattern
4733  */
4734 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4737  *  content selection pattern - do fix if pattern found
4738  */
4739 tSCC zSolaris_Stdio_TagSelect0[] =
4740        "__cplusplus < 54321L";
4743  *  content bypass pattern - skip fix if pattern found
4744  */
4745 tSCC zSolaris_Stdio_TagBypass0[] =
4746        "__GNUC__";
4748 #define    SOLARIS_STDIO_TAG_TEST_CT  2
4749 static tTestDesc aSolaris_Stdio_TagTests[] = {
4750   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
4751   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4754  *  Fix Command Arguments for Solaris_Stdio_Tag
4755  */
4756 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4757     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4758     (char*)NULL };
4760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4762  *  Description of Solaris_Unistd fix
4763  */
4764 tSCC zSolaris_UnistdName[] =
4765      "solaris_unistd";
4768  *  File name selection pattern
4769  */
4770 tSCC zSolaris_UnistdList[] =
4771   "|unistd.h|";
4773  *  Machine/OS name selection pattern
4774  */
4775 #define apzSolaris_UnistdMachs (const char**)NULL
4778  *  content selection pattern - do fix if pattern found
4779  */
4780 tSCC zSolaris_UnistdSelect0[] =
4781        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4784  *  content bypass pattern - skip fix if pattern found
4785  */
4786 tSCC zSolaris_UnistdBypass0[] =
4787        "getpagesize";
4789 #define    SOLARIS_UNISTD_TEST_CT  2
4790 static tTestDesc aSolaris_UnistdTests[] = {
4791   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
4792   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4795  *  Fix Command Arguments for Solaris_Unistd
4796  */
4797 static const char* apzSolaris_UnistdPatch[] = {
4798     "format",
4799     "extern int getpagesize();\n\
4800 %0",
4801     "^extern (pid_t|int) getpgid\\(.*\\);",
4802     (char*)NULL };
4804 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4806  *  Description of Solaris_Widec fix
4807  */
4808 tSCC zSolaris_WidecName[] =
4809      "solaris_widec";
4812  *  File name selection pattern
4813  */
4814 tSCC zSolaris_WidecList[] =
4815   "|widec.h|";
4817  *  Machine/OS name selection pattern
4818  */
4819 tSCC* apzSolaris_WidecMachs[] = {
4820         "*-*-solaris2.[0-5]",
4821         "*-*-solaris2.[0-5].*",
4822         (const char*)NULL };
4825  *  content selection pattern - do fix if pattern found
4826  */
4827 tSCC zSolaris_WidecSelect0[] =
4828        "#include <euc.h>";
4831  *  content bypass pattern - skip fix if pattern found
4832  */
4833 tSCC zSolaris_WidecBypass0[] =
4834        "include.*wchar\\.h";
4836 #define    SOLARIS_WIDEC_TEST_CT  2
4837 static tTestDesc aSolaris_WidecTests[] = {
4838   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
4839   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
4842  *  Fix Command Arguments for Solaris_Widec
4843  */
4844 static const char* apzSolaris_WidecPatch[] = {
4845     "format",
4846     "%0\n\
4847 #include <wchar.h>",
4848     (char*)NULL };
4850 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4852  *  Description of Statsswtch fix
4853  */
4854 tSCC zStatsswtchName[] =
4855      "statsswtch";
4858  *  File name selection pattern
4859  */
4860 tSCC zStatsswtchList[] =
4861   "|rpcsvc/rstat.h|";
4863  *  Machine/OS name selection pattern
4864  */
4865 #define apzStatsswtchMachs (const char**)NULL
4868  *  content selection pattern - do fix if pattern found
4869  */
4870 tSCC zStatsswtchSelect0[] =
4871        "boottime$";
4873 #define    STATSSWTCH_TEST_CT  1
4874 static tTestDesc aStatsswtchTests[] = {
4875   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
4878  *  Fix Command Arguments for Statsswtch
4879  */
4880 static const char* apzStatsswtchPatch[] = {
4881     "format",
4882     "boottime;",
4883     (char*)NULL };
4885 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4887  *  Description of Stdio_Stdarg_H fix
4888  */
4889 tSCC zStdio_Stdarg_HName[] =
4890      "stdio_stdarg_h";
4893  *  File name selection pattern
4894  */
4895 tSCC zStdio_Stdarg_HList[] =
4896   "|stdio.h|";
4898  *  Machine/OS name selection pattern
4899  */
4900 tSCC* apzStdio_Stdarg_HMachs[] = {
4901         "*-*-solaris2.1[0-9]",
4902         (const char*)NULL };
4905  *  content bypass pattern - skip fix if pattern found
4906  */
4907 tSCC zStdio_Stdarg_HBypass0[] =
4908        "include.*(stdarg.h|machine/ansi.h)";
4910 #define    STDIO_STDARG_H_TEST_CT  1
4911 static tTestDesc aStdio_Stdarg_HTests[] = {
4912   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4915  *  Fix Command Arguments for Stdio_Stdarg_H
4916  */
4917 static const char* apzStdio_Stdarg_HPatch[] = {
4918     "wrap",
4919     "#define __need___va_list\n\
4920 #include <stdarg.h>\n",
4921     (char*)NULL };
4923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4925  *  Description of Stdio_Va_List fix
4926  */
4927 tSCC zStdio_Va_ListName[] =
4928      "stdio_va_list";
4931  *  File name selection pattern
4932  */
4933 tSCC zStdio_Va_ListList[] =
4934   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
4936  *  Machine/OS name selection pattern
4937  */
4938 tSCC* apzStdio_Va_ListMachs[] = {
4939         "*-*-solaris2.1[0-9]",
4940         (const char*)NULL };
4943  *  content bypass pattern - skip fix if pattern found
4944  */
4945 tSCC zStdio_Va_ListBypass0[] =
4946        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4948 #define    STDIO_VA_LIST_TEST_CT  1
4949 static tTestDesc aStdio_Va_ListTests[] = {
4950   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
4953  *  Fix Command Arguments for Stdio_Va_List
4954  */
4955 static const char* apzStdio_Va_ListPatch[] = { "sed",
4956     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4957 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4958 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4959 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4960 s@ va_list@ __not_va_list__@\n\
4961 s@\\*va_list@*__not_va_list__@\n\
4962 s@ __va_list)@ __gnuc_va_list)@\n\
4963 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4964 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4965 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4966 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
4967 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4968 s@VA_LIST@DUMMY_VA_LIST@\n\
4969 s@_Va_LIST@_VA_LIST@",
4970     (char*)NULL };
4972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4974  *  Description of Stdio_Va_List_Clients fix
4975  */
4976 tSCC zStdio_Va_List_ClientsName[] =
4977      "stdio_va_list_clients";
4980  *  File name selection pattern
4981  */
4982 tSCC zStdio_Va_List_ClientsList[] =
4983   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
4985  *  Machine/OS name selection pattern
4986  */
4987 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
4990  *  content bypass pattern - skip fix if pattern found
4991  */
4992 tSCC zStdio_Va_List_ClientsBypass0[] =
4993        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4994 tSCC zStdio_Va_List_ClientsBypass1[] =
4995        "include <stdarg\\.h>|#ifdef va_start";
4997 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
4998 static tTestDesc aStdio_Va_List_ClientsTests[] = {
4999   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
5000   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
5003  *  Fix Command Arguments for Stdio_Va_List_Clients
5004  */
5005 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
5006     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5007 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5008 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5009 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5010 s@ va_list@ __not_va_list__@\n\
5011 s@\\*va_list@*__not_va_list__@\n\
5012 s@ __va_list)@ __gnuc_va_list)@\n\
5013 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5014 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5015 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5016 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5017 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5018 s@VA_LIST@DUMMY_VA_LIST@\n\
5019 s@_Va_LIST@_VA_LIST@",
5020     (char*)NULL };
5022 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5024  *  Description of Strict_Ansi_Not fix
5025  */
5026 tSCC zStrict_Ansi_NotName[] =
5027      "strict_ansi_not";
5030  *  File name selection pattern
5031  */
5032 #define zStrict_Ansi_NotList (char*)NULL
5034  *  Machine/OS name selection pattern
5035  */
5036 #define apzStrict_Ansi_NotMachs (const char**)NULL
5039  *  content selection pattern - do fix if pattern found
5040  */
5041 tSCC zStrict_Ansi_NotSelect0[] =
5042        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5045  *  content bypass pattern - skip fix if pattern found
5046  */
5047 tSCC zStrict_Ansi_NotBypass0[] =
5048        "GNU and MIPS C compilers define __STDC__ differently";
5049 tSCC zStrict_Ansi_NotBypass1[] =
5050        "__SCO_VERSION__.*__STDC__ != 1";
5053  *  perform the C function call test
5054  */
5055 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5057 #define    STRICT_ANSI_NOT_TEST_CT  4
5058 static tTestDesc aStrict_Ansi_NotTests[] = {
5059   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5060   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5061   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5062   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5065  *  Fix Command Arguments for Strict_Ansi_Not
5066  */
5067 static const char* apzStrict_Ansi_NotPatch[] = {
5068     "format",
5069     "%1 !defined(__STRICT_ANSI__)",
5070     (char*)NULL };
5072 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5074  *  Description of Strict_Ansi_Not_Ctd fix
5075  */
5076 tSCC zStrict_Ansi_Not_CtdName[] =
5077      "strict_ansi_not_ctd";
5080  *  File name selection pattern
5081  */
5082 tSCC zStrict_Ansi_Not_CtdList[] =
5083   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5085  *  Machine/OS name selection pattern
5086  */
5087 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5090  *  content selection pattern - do fix if pattern found
5091  */
5092 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5093        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5096  *  perform the C function call test
5097  */
5098 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5100 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5101 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5102   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5103   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5106  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5107  */
5108 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5109     "format",
5110     "%1 !defined(__STRICT_ANSI__)",
5111     (char*)NULL };
5113 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5115  *  Description of Strict_Ansi_Only fix
5116  */
5117 tSCC zStrict_Ansi_OnlyName[] =
5118      "strict_ansi_only";
5121  *  File name selection pattern
5122  */
5123 #define zStrict_Ansi_OnlyList (char*)NULL
5125  *  Machine/OS name selection pattern
5126  */
5127 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5130  *  content selection pattern - do fix if pattern found
5131  */
5132 tSCC zStrict_Ansi_OnlySelect0[] =
5133        "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)";
5136  *  perform the C function call test
5137  */
5138 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5140 #define    STRICT_ANSI_ONLY_TEST_CT  2
5141 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5142   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5143   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5146  *  Fix Command Arguments for Strict_Ansi_Only
5147  */
5148 static const char* apzStrict_Ansi_OnlyPatch[] = {
5149     "format",
5150     "%1 defined(__STRICT_ANSI__)",
5151     (char*)NULL };
5153 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5155  *  Description of Struct_File fix
5156  */
5157 tSCC zStruct_FileName[] =
5158      "struct_file";
5161  *  File name selection pattern
5162  */
5163 tSCC zStruct_FileList[] =
5164   "|rpc/xdr.h|";
5166  *  Machine/OS name selection pattern
5167  */
5168 #define apzStruct_FileMachs (const char**)NULL
5171  *  content selection pattern - do fix if pattern found
5172  */
5173 tSCC zStruct_FileSelect0[] =
5174        "^.*xdrstdio_create.*struct __file_s";
5176 #define    STRUCT_FILE_TEST_CT  1
5177 static tTestDesc aStruct_FileTests[] = {
5178   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5181  *  Fix Command Arguments for Struct_File
5182  */
5183 static const char* apzStruct_FilePatch[] = {
5184     "format",
5185     "struct __file_s;\n\
5186 %0",
5187     (char*)NULL };
5189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5191  *  Description of Struct_Sockaddr fix
5192  */
5193 tSCC zStruct_SockaddrName[] =
5194      "struct_sockaddr";
5197  *  File name selection pattern
5198  */
5199 tSCC zStruct_SockaddrList[] =
5200   "|rpc/auth.h|";
5202  *  Machine/OS name selection pattern
5203  */
5204 #define apzStruct_SockaddrMachs (const char**)NULL
5207  *  content selection pattern - do fix if pattern found
5208  */
5209 tSCC zStruct_SockaddrSelect0[] =
5210        "^.*authdes_create.*struct sockaddr[^_]";
5213  *  content bypass pattern - skip fix if pattern found
5214  */
5215 tSCC zStruct_SockaddrBypass0[] =
5216        "<sys/socket.h>";
5217 tSCC zStruct_SockaddrBypass1[] =
5218        "struct sockaddr;\n";
5220 #define    STRUCT_SOCKADDR_TEST_CT  3
5221 static tTestDesc aStruct_SockaddrTests[] = {
5222   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5223   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5224   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5227  *  Fix Command Arguments for Struct_Sockaddr
5228  */
5229 static const char* apzStruct_SockaddrPatch[] = {
5230     "format",
5231     "struct sockaddr;\n\
5232 %0",
5233     (char*)NULL };
5235 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5237  *  Description of Sun_Auth_Proto fix
5238  */
5239 tSCC zSun_Auth_ProtoName[] =
5240      "sun_auth_proto";
5243  *  File name selection pattern
5244  */
5245 tSCC zSun_Auth_ProtoList[] =
5246   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5248  *  Machine/OS name selection pattern
5249  */
5250 #define apzSun_Auth_ProtoMachs (const char**)NULL
5253  *  content selection pattern - do fix if pattern found
5254  */
5255 tSCC zSun_Auth_ProtoSelect0[] =
5256        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5259  *  content bypass pattern - skip fix if pattern found
5260  */
5261 tSCC zSun_Auth_ProtoBypass0[] =
5262        "__cplusplus";
5264 #define    SUN_AUTH_PROTO_TEST_CT  2
5265 static tTestDesc aSun_Auth_ProtoTests[] = {
5266   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
5267   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5270  *  Fix Command Arguments for Sun_Auth_Proto
5271  */
5272 static const char* apzSun_Auth_ProtoPatch[] = {
5273     "format",
5274     "#ifdef __cplusplus\n\
5275 %1(...);%2\n\
5276 #else\n\
5277 %1();%2\n\
5278 #endif",
5279     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5280     (char*)NULL };
5282 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5284  *  Description of Sun_Bogus_Ifdef fix
5285  */
5286 tSCC zSun_Bogus_IfdefName[] =
5287      "sun_bogus_ifdef";
5290  *  File name selection pattern
5291  */
5292 tSCC zSun_Bogus_IfdefList[] =
5293   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5295  *  Machine/OS name selection pattern
5296  */
5297 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5300  *  content selection pattern - do fix if pattern found
5301  */
5302 tSCC zSun_Bogus_IfdefSelect0[] =
5303        "#ifdef(.*\\|\\|.*)";
5305 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5306 static tTestDesc aSun_Bogus_IfdefTests[] = {
5307   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5310  *  Fix Command Arguments for Sun_Bogus_Ifdef
5311  */
5312 static const char* apzSun_Bogus_IfdefPatch[] = {
5313     "format",
5314     "#if%1",
5315     (char*)NULL };
5317 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5319  *  Description of Sun_Catmacro fix
5320  */
5321 tSCC zSun_CatmacroName[] =
5322      "sun_catmacro";
5325  *  File name selection pattern
5326  */
5327 tSCC zSun_CatmacroList[] =
5328   "|pixrect/memvar.h|";
5330  *  Machine/OS name selection pattern
5331  */
5332 #define apzSun_CatmacroMachs (const char**)NULL
5335  *  content selection pattern - do fix if pattern found
5336  */
5337 tSCC zSun_CatmacroSelect0[] =
5338        "^#define[ \t]+CAT\\(a,b\\).*";
5340 #define    SUN_CATMACRO_TEST_CT  1
5341 static tTestDesc aSun_CatmacroTests[] = {
5342   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
5345  *  Fix Command Arguments for Sun_Catmacro
5346  */
5347 static const char* apzSun_CatmacroPatch[] = {
5348     "format",
5349     "#ifdef __STDC__\n\
5350 #  define CAT(a,b) a##b\n\
5351 #else\n\
5352 %0\n\
5353 #endif",
5354     (char*)NULL };
5356 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5358  *  Description of Sun_Malloc fix
5359  */
5360 tSCC zSun_MallocName[] =
5361      "sun_malloc";
5364  *  File name selection pattern
5365  */
5366 tSCC zSun_MallocList[] =
5367   "|malloc.h|";
5369  *  Machine/OS name selection pattern
5370  */
5371 #define apzSun_MallocMachs (const char**)NULL
5374  *  content bypass pattern - skip fix if pattern found
5375  */
5376 tSCC zSun_MallocBypass0[] =
5377        "_CLASSIC_ANSI_TYPES";
5379 #define    SUN_MALLOC_TEST_CT  1
5380 static tTestDesc aSun_MallocTests[] = {
5381   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
5384  *  Fix Command Arguments for Sun_Malloc
5385  */
5386 static const char* apzSun_MallocPatch[] = { "sed",
5387     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
5388     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
5389     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
5390     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
5391     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
5392     (char*)NULL };
5394 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5396  *  Description of Sun_Rusers_Semi fix
5397  */
5398 tSCC zSun_Rusers_SemiName[] =
5399      "sun_rusers_semi";
5402  *  File name selection pattern
5403  */
5404 tSCC zSun_Rusers_SemiList[] =
5405   "|rpcsvc/rusers.h|";
5407  *  Machine/OS name selection pattern
5408  */
5409 #define apzSun_Rusers_SemiMachs (const char**)NULL
5412  *  content selection pattern - do fix if pattern found
5413  */
5414 tSCC zSun_Rusers_SemiSelect0[] =
5415        "_cnt$";
5417 #define    SUN_RUSERS_SEMI_TEST_CT  1
5418 static tTestDesc aSun_Rusers_SemiTests[] = {
5419   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
5422  *  Fix Command Arguments for Sun_Rusers_Semi
5423  */
5424 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
5425     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
5426     (char*)NULL };
5428 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5430  *  Description of Sun_Signal fix
5431  */
5432 tSCC zSun_SignalName[] =
5433      "sun_signal";
5436  *  File name selection pattern
5437  */
5438 tSCC zSun_SignalList[] =
5439   "|sys/signal.h|signal.h|";
5441  *  Machine/OS name selection pattern
5442  */
5443 #define apzSun_SignalMachs (const char**)NULL
5446  *  content selection pattern - do fix if pattern found
5447  */
5448 tSCC zSun_SignalSelect0[] =
5449        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
5451 #define    SUN_SIGNAL_TEST_CT  1
5452 static tTestDesc aSun_SignalTests[] = {
5453   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
5456  *  Fix Command Arguments for Sun_Signal
5457  */
5458 static const char* apzSun_SignalPatch[] = {
5459     "format",
5460     "#ifdef __cplusplus\n\
5461 void\t(*signal(...))(...);\n\
5462 #else\n\
5463 %0\n\
5464 #endif",
5465     (char*)NULL };
5467 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5469  *  Description of Sunos_Strlen fix
5470  */
5471 tSCC zSunos_StrlenName[] =
5472      "sunos_strlen";
5475  *  File name selection pattern
5476  */
5477 tSCC zSunos_StrlenList[] =
5478   "|strings.h|";
5480  *  Machine/OS name selection pattern
5481  */
5482 #define apzSunos_StrlenMachs (const char**)NULL
5485  *  content selection pattern - do fix if pattern found
5486  */
5487 tSCC zSunos_StrlenSelect0[] =
5488        "int[ \t]*strlen\\(\\);(.*)";
5490 #define    SUNOS_STRLEN_TEST_CT  1
5491 static tTestDesc aSunos_StrlenTests[] = {
5492   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
5495  *  Fix Command Arguments for Sunos_Strlen
5496  */
5497 static const char* apzSunos_StrlenPatch[] = {
5498     "format",
5499     "__SIZE_TYPE__ strlen();%1",
5500     (char*)NULL };
5502 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5504  *  Description of Svr4_Disable_Opt fix
5505  */
5506 tSCC zSvr4_Disable_OptName[] =
5507      "svr4_disable_opt";
5510  *  File name selection pattern
5511  */
5512 tSCC zSvr4_Disable_OptList[] =
5513   "|string.h|";
5515  *  Machine/OS name selection pattern
5516  */
5517 #define apzSvr4_Disable_OptMachs (const char**)NULL
5520  *  content selection pattern - do fix if pattern found
5521  */
5522 tSCC zSvr4_Disable_OptSelect0[] =
5523        "#define.*__std_hdr_";
5525 #define    SVR4_DISABLE_OPT_TEST_CT  1
5526 static tTestDesc aSvr4_Disable_OptTests[] = {
5527   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5530  *  Fix Command Arguments for Svr4_Disable_Opt
5531  */
5532 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5533     "-e", "/#define.*__std_hdr_/d",
5534     (char*)NULL };
5536 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5538  *  Description of Svr4_Getcwd fix
5539  */
5540 tSCC zSvr4_GetcwdName[] =
5541      "svr4_getcwd";
5544  *  File name selection pattern
5545  */
5546 tSCC zSvr4_GetcwdList[] =
5547   "|stdlib.h|unistd.h|prototypes.h|";
5549  *  Machine/OS name selection pattern
5550  */
5551 #define apzSvr4_GetcwdMachs (const char**)NULL
5554  *  content selection pattern - do fix if pattern found
5555  */
5556 tSCC zSvr4_GetcwdSelect0[] =
5557        "getcwd\\(char \\*, int\\)";
5559 #define    SVR4_GETCWD_TEST_CT  1
5560 static tTestDesc aSvr4_GetcwdTests[] = {
5561   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5564  *  Fix Command Arguments for Svr4_Getcwd
5565  */
5566 static const char* apzSvr4_GetcwdPatch[] = {
5567     "format",
5568     "getcwd(char *, size_t)",
5569     (char*)NULL };
5571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5573  *  Description of Svr4_Krnl fix
5574  */
5575 tSCC zSvr4_KrnlName[] =
5576      "svr4_krnl";
5579  *  File name selection pattern
5580  */
5581 tSCC zSvr4_KrnlList[] =
5582   "|fs/rfs/rf_cache.h|sys/erec.h|sys/err.h|sys/char.h|sys/getpages.h|sys/map.h|sys/cmn_err.h|sys/kdebugger.h|";
5584  *  Machine/OS name selection pattern
5585  */
5586 tSCC* apzSvr4_KrnlMachs[] = {
5587         "*-*-sysv4*",
5588         "i?86-sequent-ptx*",
5589         (const char*)NULL };
5592  *  content bypass pattern - skip fix if pattern found
5593  */
5594 tSCC zSvr4_KrnlBypass0[] =
5595        "_KERNEL";
5597 #define    SVR4_KRNL_TEST_CT  1
5598 static tTestDesc aSvr4_KrnlTests[] = {
5599   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
5602  *  Fix Command Arguments for Svr4_Krnl
5603  */
5604 static const char* apzSvr4_KrnlPatch[] = {
5605     "wrap",
5606     "#ifdef _KERNEL\n",
5607     "#endif /* _KERNEL */\n",
5608     (char*)NULL };
5610 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5612  *  Description of Svr4_Profil fix
5613  */
5614 tSCC zSvr4_ProfilName[] =
5615      "svr4_profil";
5618  *  File name selection pattern
5619  */
5620 tSCC zSvr4_ProfilList[] =
5621   "|stdlib.h|unistd.h|";
5623  *  Machine/OS name selection pattern
5624  */
5625 #define apzSvr4_ProfilMachs (const char**)NULL
5628  *  content selection pattern - do fix if pattern found
5629  */
5630 tSCC zSvr4_ProfilSelect0[] =
5631        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
5634  *  content bypass pattern - skip fix if pattern found
5635  */
5636 tSCC zSvr4_ProfilBypass0[] =
5637        "Silicon Graphics";
5639 #define    SVR4_PROFIL_TEST_CT  2
5640 static tTestDesc aSvr4_ProfilTests[] = {
5641   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
5642   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
5645  *  Fix Command Arguments for Svr4_Profil
5646  */
5647 static const char* apzSvr4_ProfilPatch[] = {
5648     "format",
5649     "profil(unsigned short *, size_t, int, unsigned int)",
5650     (char*)NULL };
5652 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5654  *  Description of Svr4_Sighandler_Type fix
5655  */
5656 tSCC zSvr4_Sighandler_TypeName[] =
5657      "svr4_sighandler_type";
5660  *  File name selection pattern
5661  */
5662 tSCC zSvr4_Sighandler_TypeList[] =
5663   "|sys/signal.h|";
5665  *  Machine/OS name selection pattern
5666  */
5667 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
5670  *  content selection pattern - do fix if pattern found
5671  */
5672 tSCC zSvr4_Sighandler_TypeSelect0[] =
5673        "void *\\(\\*\\)\\(\\)";
5675 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
5676 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
5677   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
5680  *  Fix Command Arguments for Svr4_Sighandler_Type
5681  */
5682 static const char* apzSvr4_Sighandler_TypePatch[] = {
5683     "format",
5684     "void (*)(int)",
5685     (char*)NULL };
5687 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5689  *  Description of Svr4_Undeclared_Getrnge fix
5690  */
5691 tSCC zSvr4_Undeclared_GetrngeName[] =
5692      "svr4_undeclared_getrnge";
5695  *  File name selection pattern
5696  */
5697 tSCC zSvr4_Undeclared_GetrngeList[] =
5698   "|regexp.h|";
5700  *  Machine/OS name selection pattern
5701  */
5702 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
5705  *  content selection pattern - do fix if pattern found
5706  */
5707 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
5708        "getrnge";
5711  *  content bypass pattern - skip fix if pattern found
5712  */
5713 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
5714        "static void getrnge";
5716 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
5717 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
5718   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
5719   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
5722  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
5723  */
5724 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
5725     "format",
5726     "%0\n\
5727 static int getrnge ();",
5728     "^static int[ \t]+size;",
5729     (char*)NULL };
5731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5733  *  Description of Sysv68_String fix
5734  */
5735 tSCC zSysv68_StringName[] =
5736      "sysv68_string";
5739  *  File name selection pattern
5740  */
5741 tSCC zSysv68_StringList[] =
5742   "|testing.h|string.h|";
5744  *  Machine/OS name selection pattern
5745  */
5746 #define apzSysv68_StringMachs (const char**)NULL
5749  *  content bypass pattern - skip fix if pattern found
5750  */
5751 tSCC zSysv68_StringBypass0[] =
5752        "_CLASSIC_ANSI_TYPES";
5754 #define    SYSV68_STRING_TEST_CT  1
5755 static tTestDesc aSysv68_StringTests[] = {
5756   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
5759  *  Fix Command Arguments for Sysv68_String
5760  */
5761 static const char* apzSysv68_StringPatch[] = { "sed",
5762     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
5763     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
5764     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
5765     "-e", "/^extern char$/N",
5766     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
5767     "-e", "/^extern int$/N",
5768     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
5769     "-e", "/^\tstrncmp(),$/N",
5770     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
5771 extern unsigned int\\\n\
5772 \\2/",
5773     (char*)NULL };
5775 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5777  *  Description of Sysz_Stdlib_For_Sun fix
5778  */
5779 tSCC zSysz_Stdlib_For_SunName[] =
5780      "sysz_stdlib_for_sun";
5783  *  File name selection pattern
5784  */
5785 tSCC zSysz_Stdlib_For_SunList[] =
5786   "|stdlib.h|";
5788  *  Machine/OS name selection pattern
5789  */
5790 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
5793  *  content selection pattern - do fix if pattern found
5794  */
5795 tSCC zSysz_Stdlib_For_SunSelect0[] =
5796        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
5799  *  content bypass pattern - skip fix if pattern found
5800  */
5801 tSCC zSysz_Stdlib_For_SunBypass0[] =
5802        "_CLASSIC_ANSI_TYPES";
5804 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
5805 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5806   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
5807   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5810  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
5811  */
5812 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5813     "format",
5814     "void *\t%1(",
5815     (char*)NULL };
5817 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5819  *  Description of Thread_Keyword fix
5820  */
5821 tSCC zThread_KeywordName[] =
5822      "thread_keyword";
5825  *  File name selection pattern
5826  */
5827 tSCC zThread_KeywordList[] =
5828   "|pthread.h|bits/sigthread.h|";
5830  *  Machine/OS name selection pattern
5831  */
5832 #define apzThread_KeywordMachs (const char**)NULL
5835  *  content selection pattern - do fix if pattern found
5836  */
5837 tSCC zThread_KeywordSelect0[] =
5838        "([* ])__thread([,)])";
5840 #define    THREAD_KEYWORD_TEST_CT  1
5841 static tTestDesc aThread_KeywordTests[] = {
5842   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
5845  *  Fix Command Arguments for Thread_Keyword
5846  */
5847 static const char* apzThread_KeywordPatch[] = {
5848     "format",
5849     "%1__thr%2",
5850     (char*)NULL };
5852 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5854  *  Description of Tinfo_Cplusplus fix
5855  */
5856 tSCC zTinfo_CplusplusName[] =
5857      "tinfo_cplusplus";
5860  *  File name selection pattern
5861  */
5862 tSCC zTinfo_CplusplusList[] =
5863   "|tinfo.h|";
5865  *  Machine/OS name selection pattern
5866  */
5867 #define apzTinfo_CplusplusMachs (const char**)NULL
5870  *  content selection pattern - do fix if pattern found
5871  */
5872 tSCC zTinfo_CplusplusSelect0[] =
5873        "[ \t]_cplusplus";
5875 #define    TINFO_CPLUSPLUS_TEST_CT  1
5876 static tTestDesc aTinfo_CplusplusTests[] = {
5877   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5880  *  Fix Command Arguments for Tinfo_Cplusplus
5881  */
5882 static const char* apzTinfo_CplusplusPatch[] = {
5883     "format",
5884     " __cplusplus",
5885     (char*)NULL };
5887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5889  *  Description of Ultrix_Atexit_Param fix
5890  */
5891 tSCC zUltrix_Atexit_ParamName[] =
5892      "ultrix_atexit_param";
5895  *  File name selection pattern
5896  */
5897 tSCC zUltrix_Atexit_ParamList[] =
5898   "|stdlib.h|";
5900  *  Machine/OS name selection pattern
5901  */
5902 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5905  *  content selection pattern - do fix if pattern found
5906  */
5907 tSCC zUltrix_Atexit_ParamSelect0[] =
5908        "atexit\\(.*\\(\\)";
5910 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
5911 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5912   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5915  *  Fix Command Arguments for Ultrix_Atexit_Param
5916  */
5917 static const char* apzUltrix_Atexit_ParamPatch[] = {
5918     "format",
5919     "atexit( void (*__func)( void )",
5920     (char*)NULL };
5922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5924  *  Description of Ultrix_Atof_Param fix
5925  */
5926 tSCC zUltrix_Atof_ParamName[] =
5927      "ultrix_atof_param";
5930  *  File name selection pattern
5931  */
5932 tSCC zUltrix_Atof_ParamList[] =
5933   "|math.h|";
5935  *  Machine/OS name selection pattern
5936  */
5937 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5940  *  content selection pattern - do fix if pattern found
5941  */
5942 tSCC zUltrix_Atof_ParamSelect0[] =
5943        "atof\\([ \t]*char";
5945 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
5946 static tTestDesc aUltrix_Atof_ParamTests[] = {
5947   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5950  *  Fix Command Arguments for Ultrix_Atof_Param
5951  */
5952 static const char* apzUltrix_Atof_ParamPatch[] = {
5953     "format",
5954     "atof(const char",
5955     (char*)NULL };
5957 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5959  *  Description of Ultrix_Const fix
5960  */
5961 tSCC zUltrix_ConstName[] =
5962      "ultrix_const";
5965  *  File name selection pattern
5966  */
5967 tSCC zUltrix_ConstList[] =
5968   "|stdio.h|";
5970  *  Machine/OS name selection pattern
5971  */
5972 #define apzUltrix_ConstMachs (const char**)NULL
5975  *  content selection pattern - do fix if pattern found
5976  */
5977 tSCC zUltrix_ConstSelect0[] =
5978        "perror\\( char \\*";
5980 #define    ULTRIX_CONST_TEST_CT  1
5981 static tTestDesc aUltrix_ConstTests[] = {
5982   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
5985  *  Fix Command Arguments for Ultrix_Const
5986  */
5987 static const char* apzUltrix_ConstPatch[] = {
5988     "format",
5989     "%1 const %3 *__",
5990     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5991     (char*)NULL };
5993 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5995  *  Description of Ultrix_Const2 fix
5996  */
5997 tSCC zUltrix_Const2Name[] =
5998      "ultrix_const2";
6001  *  File name selection pattern
6002  */
6003 tSCC zUltrix_Const2List[] =
6004   "|stdio.h|";
6006  *  Machine/OS name selection pattern
6007  */
6008 #define apzUltrix_Const2Machs (const char**)NULL
6011  *  content selection pattern - do fix if pattern found
6012  */
6013 tSCC zUltrix_Const2Select0[] =
6014        "\\*fopen\\( char \\*";
6016 #define    ULTRIX_CONST2_TEST_CT  1
6017 static tTestDesc aUltrix_Const2Tests[] = {
6018   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6021  *  Fix Command Arguments for Ultrix_Const2
6022  */
6023 static const char* apzUltrix_Const2Patch[] = {
6024     "format",
6025     "%1( const char *%3, const char *",
6026     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6027     (char*)NULL };
6029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6031  *  Description of Ultrix_Const3 fix
6032  */
6033 tSCC zUltrix_Const3Name[] =
6034      "ultrix_const3";
6037  *  File name selection pattern
6038  */
6039 tSCC zUltrix_Const3List[] =
6040   "|stdio.h|";
6042  *  Machine/OS name selection pattern
6043  */
6044 #define apzUltrix_Const3Machs (const char**)NULL
6047  *  content selection pattern - do fix if pattern found
6048  */
6049 tSCC zUltrix_Const3Select0[] =
6050        "fdopen\\( .*, char \\*";
6052 #define    ULTRIX_CONST3_TEST_CT  1
6053 static tTestDesc aUltrix_Const3Tests[] = {
6054   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6057  *  Fix Command Arguments for Ultrix_Const3
6058  */
6059 static const char* apzUltrix_Const3Patch[] = {
6060     "format",
6061     "%1 const %3 *__",
6062     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6063     (char*)NULL };
6065 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6067  *  Description of Ultrix_Fix_Fixproto fix
6068  */
6069 tSCC zUltrix_Fix_FixprotoName[] =
6070      "ultrix_fix_fixproto";
6073  *  File name selection pattern
6074  */
6075 tSCC zUltrix_Fix_FixprotoList[] =
6076   "|sys/utsname.h|";
6078  *  Machine/OS name selection pattern
6079  */
6080 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6083  *  content selection pattern - do fix if pattern found
6084  */
6085 tSCC zUltrix_Fix_FixprotoSelect0[] =
6086        "ULTRIX";
6088 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6089 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6090   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6093  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6094  */
6095 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6096     "format",
6097     "struct utsname;\n\
6098 %0",
6099     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6100     (char*)NULL };
6102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6104  *  Description of Ultrix_Ifdef fix
6105  */
6106 tSCC zUltrix_IfdefName[] =
6107      "ultrix_ifdef";
6110  *  File name selection pattern
6111  */
6112 tSCC zUltrix_IfdefList[] =
6113   "|sys/file.h|";
6115  *  Machine/OS name selection pattern
6116  */
6117 #define apzUltrix_IfdefMachs (const char**)NULL
6120  *  content selection pattern - do fix if pattern found
6121  */
6122 tSCC zUltrix_IfdefSelect0[] =
6123        "^#ifdef KERNEL[ \t]+&&";
6125 #define    ULTRIX_IFDEF_TEST_CT  1
6126 static tTestDesc aUltrix_IfdefTests[] = {
6127   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6130  *  Fix Command Arguments for Ultrix_Ifdef
6131  */
6132 static const char* apzUltrix_IfdefPatch[] = {
6133     "format",
6134     "#if defined(KERNEL) &&",
6135     (char*)NULL };
6137 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6139  *  Description of Ultrix_Locale fix
6140  */
6141 tSCC zUltrix_LocaleName[] =
6142      "ultrix_locale";
6145  *  File name selection pattern
6146  */
6147 tSCC zUltrix_LocaleList[] =
6148   "|locale.h|";
6150  *  Machine/OS name selection pattern
6151  */
6152 #define apzUltrix_LocaleMachs (const char**)NULL
6155  *  content selection pattern - do fix if pattern found
6156  */
6157 tSCC zUltrix_LocaleSelect0[] =
6158        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6160 #define    ULTRIX_LOCALE_TEST_CT  1
6161 static tTestDesc aUltrix_LocaleTests[] = {
6162   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6165  *  Fix Command Arguments for Ultrix_Locale
6166  */
6167 static const char* apzUltrix_LocalePatch[] = {
6168     "wrap",
6169     (char*)NULL };
6171 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6173  *  Description of Ultrix_Math_Ifdef fix
6174  */
6175 tSCC zUltrix_Math_IfdefName[] =
6176      "ultrix_math_ifdef";
6179  *  File name selection pattern
6180  */
6181 tSCC zUltrix_Math_IfdefList[] =
6182   "|sys/limits.h|float.h|math.h|";
6184  *  Machine/OS name selection pattern
6185  */
6186 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6189  *  content selection pattern - do fix if pattern found
6190  */
6191 tSCC zUltrix_Math_IfdefSelect0[] =
6192        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6194 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6195 static tTestDesc aUltrix_Math_IfdefTests[] = {
6196   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6199  *  Fix Command Arguments for Ultrix_Math_Ifdef
6200  */
6201 static const char* apzUltrix_Math_IfdefPatch[] = {
6202     "format",
6203     "%1",
6204     (char*)NULL };
6206 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6208  *  Description of Ultrix_Nested_Ioctl fix
6209  */
6210 tSCC zUltrix_Nested_IoctlName[] =
6211      "ultrix_nested_ioctl";
6214  *  File name selection pattern
6215  */
6216 tSCC zUltrix_Nested_IoctlList[] =
6217   "|sys/ioctl.h|";
6219  *  Machine/OS name selection pattern
6220  */
6221 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6224  *  content selection pattern - do fix if pattern found
6225  */
6226 tSCC zUltrix_Nested_IoctlSelect0[] =
6227        "^/\\* #define SIOCSCREEN";
6229 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6230 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6231   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6234  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6235  */
6236 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6237     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6238     (char*)NULL };
6240 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6242  *  Description of Ultrix_Nested_Svc fix
6243  */
6244 tSCC zUltrix_Nested_SvcName[] =
6245      "ultrix_nested_svc";
6248  *  File name selection pattern
6249  */
6250 tSCC zUltrix_Nested_SvcList[] =
6251   "|rpc/svc.h|";
6253  *  Machine/OS name selection pattern
6254  */
6255 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6258  *  content selection pattern - do fix if pattern found
6259  */
6260 tSCC zUltrix_Nested_SvcSelect0[] =
6261        "^ \\*[ \t]*int protocol;  */\\*";
6263 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6264 static tTestDesc aUltrix_Nested_SvcTests[] = {
6265   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6268  *  Fix Command Arguments for Ultrix_Nested_Svc
6269  */
6270 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6271     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6272     (char*)NULL };
6274 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6276  *  Description of Ultrix_Stat fix
6277  */
6278 tSCC zUltrix_StatName[] =
6279      "ultrix_stat";
6282  *  File name selection pattern
6283  */
6284 tSCC zUltrix_StatList[] =
6285   "|sys/stat.h|";
6287  *  Machine/OS name selection pattern
6288  */
6289 #define apzUltrix_StatMachs (const char**)NULL
6292  *  content selection pattern - do fix if pattern found
6293  */
6294 tSCC zUltrix_StatSelect0[] =
6295        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6297 #define    ULTRIX_STAT_TEST_CT  1
6298 static tTestDesc aUltrix_StatTests[] = {
6299   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6302  *  Fix Command Arguments for Ultrix_Stat
6303  */
6304 static const char* apzUltrix_StatPatch[] = { "sed",
6305     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6306 \\\n\
6307 /* macro to test for symbolic link */\\\n\
6308 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6309     "-e", "/^[ \t]*fstat(),$/a\\\n\
6310 \tlstat(),\n",
6311     (char*)NULL };
6313 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6315  *  Description of Ultrix_Static fix
6316  */
6317 tSCC zUltrix_StaticName[] =
6318      "ultrix_static";
6321  *  File name selection pattern
6322  */
6323 tSCC zUltrix_StaticList[] =
6324   "|machine/cpu.h|";
6326  *  Machine/OS name selection pattern
6327  */
6328 #define apzUltrix_StaticMachs (const char**)NULL
6331  *  content selection pattern - do fix if pattern found
6332  */
6333 tSCC zUltrix_StaticSelect0[] =
6334        "#include \"r[34]_cpu";
6336 #define    ULTRIX_STATIC_TEST_CT  1
6337 static tTestDesc aUltrix_StaticTests[] = {
6338   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
6341  *  Fix Command Arguments for Ultrix_Static
6342  */
6343 static const char* apzUltrix_StaticPatch[] = { "sed",
6344     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
6345     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
6346     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
6347     (char*)NULL };
6349 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6351  *  Description of Ultrix_Stdlib fix
6352  */
6353 tSCC zUltrix_StdlibName[] =
6354      "ultrix_stdlib";
6357  *  File name selection pattern
6358  */
6359 tSCC zUltrix_StdlibList[] =
6360   "|stdlib.h|";
6362  *  Machine/OS name selection pattern
6363  */
6364 #define apzUltrix_StdlibMachs (const char**)NULL
6367  *  content selection pattern - do fix if pattern found
6368  */
6369 tSCC zUltrix_StdlibSelect0[] =
6370        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
6372 #define    ULTRIX_STDLIB_TEST_CT  1
6373 static tTestDesc aUltrix_StdlibTests[] = {
6374   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
6377  *  Fix Command Arguments for Ultrix_Stdlib
6378  */
6379 static const char* apzUltrix_StdlibPatch[] = { "sed",
6380     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
6381 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
6382 void\t\tunsetenv( const char *__name );\\\n\
6383 int\t\tputenv( char *__s );\n",
6384     "-e", "/^char.*getenv();.*$/a\\\n\
6385 int\tsetenv();\\\n\
6386 void\tunsetenv();\\\n\
6387 int\tputenv();\n",
6388     (char*)NULL };
6390 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6392  *  Description of Ultrix_Strings fix
6393  */
6394 tSCC zUltrix_StringsName[] =
6395      "ultrix_strings";
6398  *  File name selection pattern
6399  */
6400 tSCC zUltrix_StringsList[] =
6401   "|strings.h|";
6403  *  Machine/OS name selection pattern
6404  */
6405 #define apzUltrix_StringsMachs (const char**)NULL
6408  *  content selection pattern - do fix if pattern found
6409  */
6410 tSCC zUltrix_StringsSelect0[] =
6411        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6413 #define    ULTRIX_STRINGS_TEST_CT  1
6414 static tTestDesc aUltrix_StringsTests[] = {
6415   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
6418  *  Fix Command Arguments for Ultrix_Strings
6419  */
6420 static const char* apzUltrix_StringsPatch[] = {
6421     "wrap",
6422     (char*)NULL };
6424 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6426  *  Description of Ultrix_Strings2 fix
6427  */
6428 tSCC zUltrix_Strings2Name[] =
6429      "ultrix_strings2";
6432  *  File name selection pattern
6433  */
6434 tSCC zUltrix_Strings2List[] =
6435   "|strings.h|";
6437  *  Machine/OS name selection pattern
6438  */
6439 #define apzUltrix_Strings2Machs (const char**)NULL
6442  *  content selection pattern - do fix if pattern found
6443  */
6444 tSCC zUltrix_Strings2Select0[] =
6445        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6447 #define    ULTRIX_STRINGS2_TEST_CT  1
6448 static tTestDesc aUltrix_Strings2Tests[] = {
6449   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
6452  *  Fix Command Arguments for Ultrix_Strings2
6453  */
6454 static const char* apzUltrix_Strings2Patch[] = { "sed",
6455     "-e", "/^.*strncmp( const .* );.*/a\\\n\
6456 \\\n\
6457 extern int\\\n\
6458 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
6459 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
6460     "-e", "/^.*strncmp();.*/a\\\n\
6461 extern int\\\n\
6462 \tstrcasecmp(),\\\n\
6463 \tstrncasecmp();\n",
6464     (char*)NULL };
6466 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6468  *  Description of Ultrix_Sys_Time fix
6469  */
6470 tSCC zUltrix_Sys_TimeName[] =
6471      "ultrix_sys_time";
6474  *  File name selection pattern
6475  */
6476 tSCC zUltrix_Sys_TimeList[] =
6477   "|sys/time.h|";
6479  *  Machine/OS name selection pattern
6480  */
6481 #define apzUltrix_Sys_TimeMachs (const char**)NULL
6484  *  content selection pattern - do fix if pattern found
6485  */
6486 tSCC zUltrix_Sys_TimeSelect0[] =
6487        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
6489 #define    ULTRIX_SYS_TIME_TEST_CT  1
6490 static tTestDesc aUltrix_Sys_TimeTests[] = {
6491   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
6494  *  Fix Command Arguments for Ultrix_Sys_Time
6495  */
6496 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
6497     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
6498 \\\n\
6499 extern int adjtime(struct timeval *, struct timeval *);\\\n\
6500 extern int getitimer(int, struct itimerval *);\\\n\
6501 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
6502 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
6503 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
6504 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
6505 extern int stime(const time_t *);\\\n\
6506 extern int utimes(const char *, const struct timeval[2]);\\\n\
6507 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
6508     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
6509 extern\tint adjtime();\\\n\
6510 extern\tint getitimer();\\\n\
6511 extern\tint setitimer();\\\n\
6512 extern\tint gettimeofday();\\\n\
6513 extern\tint settimeofday();\\\n\
6514 extern\tvoid profil();\\\n\
6515 extern\tint stime();\\\n\
6516 extern\tint utimes();\\\n\
6517 extern\tint select();\n",
6518     (char*)NULL };
6520 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6522  *  Description of Ultrix_Unistd fix
6523  */
6524 tSCC zUltrix_UnistdName[] =
6525      "ultrix_unistd";
6528  *  File name selection pattern
6529  */
6530 tSCC zUltrix_UnistdList[] =
6531   "|unistd.h|";
6533  *  Machine/OS name selection pattern
6534  */
6535 #define apzUltrix_UnistdMachs (const char**)NULL
6538  *  content selection pattern - do fix if pattern found
6539  */
6540 tSCC zUltrix_UnistdSelect0[] =
6541        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
6543 #define    ULTRIX_UNISTD_TEST_CT  1
6544 static tTestDesc aUltrix_UnistdTests[] = {
6545   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
6548  *  Fix Command Arguments for Ultrix_Unistd
6549  */
6550 static const char* apzUltrix_UnistdPatch[] = { "sed",
6551     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
6552 \tgetpagesize(),\n",
6553     "-e", "/^[ \t]*fork(),.*$/a\\\n\
6554 \tvfork(),\n",
6555     (char*)NULL };
6557 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6559  *  Description of Unicosmk_Restrict fix
6560  */
6561 tSCC zUnicosmk_RestrictName[] =
6562      "unicosmk_restrict";
6565  *  File name selection pattern
6566  */
6567 tSCC zUnicosmk_RestrictList[] =
6568   "|stdio.h|stdlib.h|wchar.h|";
6570  *  Machine/OS name selection pattern
6571  */
6572 tSCC* apzUnicosmk_RestrictMachs[] = {
6573         "*-*-unicosmk*",
6574         (const char*)NULL };
6577  *  content selection pattern - do fix if pattern found
6578  */
6579 tSCC zUnicosmk_RestrictSelect0[] =
6580        "(\\*[ \t]*)restrict([ \t]+)";
6582 #define    UNICOSMK_RESTRICT_TEST_CT  1
6583 static tTestDesc aUnicosmk_RestrictTests[] = {
6584   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
6587  *  Fix Command Arguments for Unicosmk_Restrict
6588  */
6589 static const char* apzUnicosmk_RestrictPatch[] = {
6590     "format",
6591     "%1__restrict__%2",
6592     (char*)NULL };
6594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6596  *  Description of Uw7_Byteorder_Fix fix
6597  */
6598 tSCC zUw7_Byteorder_FixName[] =
6599      "uw7_byteorder_fix";
6602  *  File name selection pattern
6603  */
6604 tSCC zUw7_Byteorder_FixList[] =
6605   "|arpa/inet.h|";
6607  *  Machine/OS name selection pattern
6608  */
6609 tSCC* apzUw7_Byteorder_FixMachs[] = {
6610         "*-*-sysv4*",
6611         "i?86-*-sysv5*",
6612         "i?86-*-udk*",
6613         "i?86-*-solaris2.[0-4]",
6614         "powerpcle-*-solaris2.[0-4]",
6615         "sparc-*-solaris2.[0-4]",
6616         (const char*)NULL };
6619  *  content selection pattern - do fix if pattern found
6620  */
6621 tSCC zUw7_Byteorder_FixSelect0[] =
6622        "in_port_t";
6625  *  perform the 'test' shell command - do fix on success
6626  */
6627 tSCC zUw7_Byteorder_FixTest0[] =
6628        "-f sys/byteorder.h";
6630 #define    UW7_BYTEORDER_FIX_TEST_CT  2
6631 static tTestDesc aUw7_Byteorder_FixTests[] = {
6632   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
6633   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
6636  *  Fix Command Arguments for Uw7_Byteorder_Fix
6637  */
6638 static const char* apzUw7_Byteorder_FixPatch[] = {
6639     "format",
6640     "",
6641     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
6642     (char*)NULL };
6644 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6646  *  Description of Va_I960_Macro fix
6647  */
6648 tSCC zVa_I960_MacroName[] =
6649      "va_i960_macro";
6652  *  File name selection pattern
6653  */
6654 tSCC zVa_I960_MacroList[] =
6655   "|arch/i960/archI960.h|";
6657  *  Machine/OS name selection pattern
6658  */
6659 #define apzVa_I960_MacroMachs (const char**)NULL
6662  *  content selection pattern - do fix if pattern found
6663  */
6664 tSCC zVa_I960_MacroSelect0[] =
6665        "__(vsiz|vali|vpad|alignof__)";
6667 #define    VA_I960_MACRO_TEST_CT  1
6668 static tTestDesc aVa_I960_MacroTests[] = {
6669   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
6672  *  Fix Command Arguments for Va_I960_Macro
6673  */
6674 static const char* apzVa_I960_MacroPatch[] = {
6675     "format",
6676     "__vx%1",
6677     (char*)NULL };
6679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6681  *  Description of Void_Null fix
6682  */
6683 tSCC zVoid_NullName[] =
6684      "void_null";
6687  *  File name selection pattern
6688  */
6689 tSCC zVoid_NullList[] =
6690   "|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|";
6692  *  Machine/OS name selection pattern
6693  */
6694 #define apzVoid_NullMachs (const char**)NULL
6697  *  content selection pattern - do fix if pattern found
6698  */
6699 tSCC zVoid_NullSelect0[] =
6700        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
6703  *  content bypass pattern - skip fix if pattern found
6704  */
6705 tSCC zVoid_NullBypass0[] =
6706        "__cplusplus";
6708 #define    VOID_NULL_TEST_CT  2
6709 static tTestDesc aVoid_NullTests[] = {
6710   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
6711   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
6714  *  Fix Command Arguments for Void_Null
6715  */
6716 static const char* apzVoid_NullPatch[] = {
6717     "format",
6718     "#define NULL 0",
6719     (char*)NULL };
6721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6723  *  Description of Vxworks_Gcc_Problem fix
6724  */
6725 tSCC zVxworks_Gcc_ProblemName[] =
6726      "vxworks_gcc_problem";
6729  *  File name selection pattern
6730  */
6731 tSCC zVxworks_Gcc_ProblemList[] =
6732   "|types/vxTypesBase.h|";
6734  *  Machine/OS name selection pattern
6735  */
6736 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
6739  *  content selection pattern - do fix if pattern found
6740  */
6741 tSCC zVxworks_Gcc_ProblemSelect0[] =
6742        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
6744 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
6745 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
6746   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
6749  *  Fix Command Arguments for Vxworks_Gcc_Problem
6750  */
6751 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
6752     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
6753     "-e", "/[ \t]size_t/i\\\n\
6754 #ifndef _GCC_SIZE_T\\\n\
6755 #define _GCC_SIZE_T\n",
6756     "-e", "/[ \t]size_t/a\\\n\
6757 #endif\n",
6758     "-e", "/[ \t]ptrdiff_t/i\\\n\
6759 #ifndef _GCC_PTRDIFF_T\\\n\
6760 #define _GCC_PTRDIFF_T\n",
6761     "-e", "/[ \t]ptrdiff_t/a\\\n\
6762 #endif\n",
6763     "-e", "/[ \t]wchar_t/i\\\n\
6764 #ifndef _GCC_WCHAR_T\\\n\
6765 #define _GCC_WCHAR_T\n",
6766     "-e", "/[ \t]wchar_t/a\\\n\
6767 #endif\n",
6768     (char*)NULL };
6770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6772  *  Description of Vxworks_Needs_Vxtypes fix
6773  */
6774 tSCC zVxworks_Needs_VxtypesName[] =
6775      "vxworks_needs_vxtypes";
6778  *  File name selection pattern
6779  */
6780 tSCC zVxworks_Needs_VxtypesList[] =
6781   "|time.h|";
6783  *  Machine/OS name selection pattern
6784  */
6785 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
6788  *  content selection pattern - do fix if pattern found
6789  */
6790 tSCC zVxworks_Needs_VxtypesSelect0[] =
6791        "uint_t([ \t]+_clocks_per_sec)";
6793 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
6794 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
6795   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
6798  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
6799  */
6800 static const char* apzVxworks_Needs_VxtypesPatch[] = {
6801     "format",
6802     "unsigned int%1",
6803     (char*)NULL };
6805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6807  *  Description of Vxworks_Needs_Vxworks fix
6808  */
6809 tSCC zVxworks_Needs_VxworksName[] =
6810      "vxworks_needs_vxworks";
6813  *  File name selection pattern
6814  */
6815 tSCC zVxworks_Needs_VxworksList[] =
6816   "|sys/stat.h|";
6818  *  Machine/OS name selection pattern
6819  */
6820 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
6823  *  content selection pattern - do fix if pattern found
6824  */
6825 tSCC zVxworks_Needs_VxworksSelect0[] =
6826        "#[ \t]define[ \t]+__INCstath";
6829  *  perform the 'test' shell command - do fix on success
6830  */
6831 tSCC zVxworks_Needs_VxworksTest0[] =
6832        " -r types/vxTypesOld.h";
6833 tSCC zVxworks_Needs_VxworksTest1[] =
6834        " -n \"`egrep '#include' $file`\"";
6835 tSCC zVxworks_Needs_VxworksTest2[] =
6836        " -n \"`egrep ULONG $file`\"";
6838 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
6839 static tTestDesc aVxworks_Needs_VxworksTests[] = {
6840   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
6841   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
6842   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
6843   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
6846  *  Fix Command Arguments for Vxworks_Needs_Vxworks
6847  */
6848 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
6849     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
6850 #include <types/vxTypesOld.h>\n",
6851     (char*)NULL };
6853 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6855  *  Description of Vxworks_Time fix
6856  */
6857 tSCC zVxworks_TimeName[] =
6858      "vxworks_time";
6861  *  File name selection pattern
6862  */
6863 tSCC zVxworks_TimeList[] =
6864   "|time.h|";
6866  *  Machine/OS name selection pattern
6867  */
6868 #define apzVxworks_TimeMachs (const char**)NULL
6871  *  content selection pattern - do fix if pattern found
6872  */
6873 tSCC zVxworks_TimeSelect0[] =
6874        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
6877  *  perform the 'test' shell command - do fix on success
6878  */
6879 tSCC zVxworks_TimeTest0[] =
6880        " -r vxWorks.h";
6882 #define    VXWORKS_TIME_TEST_CT  2
6883 static tTestDesc aVxworks_TimeTests[] = {
6884   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
6885   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
6888  *  Fix Command Arguments for Vxworks_Time
6889  */
6890 static const char* apzVxworks_TimePatch[] = {
6891     "format",
6892     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
6893 #ifdef __cplusplus\n\
6894 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
6895 #else\n\
6896 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
6897 #endif\n\
6898 #define __gcc_VOIDFUNCPTR_defined\n\
6899 #endif\n\
6900 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
6901     (char*)NULL };
6903 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6905  *  Description of Windiss_Math1 fix
6906  */
6907 tSCC zWindiss_Math1Name[] =
6908      "windiss_math1";
6911  *  File name selection pattern
6912  */
6913 tSCC zWindiss_Math1List[] =
6914   "|math.h|";
6916  *  Machine/OS name selection pattern
6917  */
6918 tSCC* apzWindiss_Math1Machs[] = {
6919         "*-*-windiss",
6920         (const char*)NULL };
6921 #define WINDISS_MATH1_TEST_CT  0
6922 #define aWindiss_Math1Tests   (tTestDesc*)NULL
6925  *  Fix Command Arguments for Windiss_Math1
6926  */
6927 static const char* apzWindiss_Math1Patch[] = { "sed",
6928     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
6929     (char*)NULL };
6931 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6933  *  Description of Windiss_Math2 fix
6934  */
6935 tSCC zWindiss_Math2Name[] =
6936      "windiss_math2";
6939  *  File name selection pattern
6940  */
6941 tSCC zWindiss_Math2List[] =
6942   "|math.h|";
6944  *  Machine/OS name selection pattern
6945  */
6946 tSCC* apzWindiss_Math2Machs[] = {
6947         "*-*-windiss",
6948         (const char*)NULL };
6949 #define WINDISS_MATH2_TEST_CT  0
6950 #define aWindiss_Math2Tests   (tTestDesc*)NULL
6953  *  Fix Command Arguments for Windiss_Math2
6954  */
6955 static const char* apzWindiss_Math2Patch[] = { "sed",
6956     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
6957     (char*)NULL };
6959 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6961  *  Description of Windiss_Valist fix
6962  */
6963 tSCC zWindiss_ValistName[] =
6964      "windiss_valist";
6967  *  File name selection pattern
6968  */
6969 #define zWindiss_ValistList (char*)NULL
6971  *  Machine/OS name selection pattern
6972  */
6973 tSCC* apzWindiss_ValistMachs[] = {
6974         "*-*-windiss",
6975         (const char*)NULL };
6978  *  content selection pattern - do fix if pattern found
6979  */
6980 tSCC zWindiss_ValistSelect0[] =
6981        "(#include.*)diab/va_list.h";
6983 #define    WINDISS_VALIST_TEST_CT  1
6984 static tTestDesc aWindiss_ValistTests[] = {
6985   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
6988  *  Fix Command Arguments for Windiss_Valist
6989  */
6990 static const char* apzWindiss_ValistPatch[] = { "sed",
6991     "-e", "s|diab/va_list.h|stdarg.h|",
6992     (char*)NULL };
6994 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6996  *  Description of X11_Class fix
6997  */
6998 tSCC zX11_ClassName[] =
6999      "x11_class";
7002  *  File name selection pattern
7003  */
7004 tSCC zX11_ClassList[] =
7005   "|X11/ShellP.h|";
7007  *  Machine/OS name selection pattern
7008  */
7009 #define apzX11_ClassMachs (const char**)NULL
7012  *  content selection pattern - do fix if pattern found
7013  */
7014 tSCC zX11_ClassSelect0[] =
7015        "^([ \t]*char \\*)class;(.*)";
7018  *  content bypass pattern - skip fix if pattern found
7019  */
7020 tSCC zX11_ClassBypass0[] =
7021        "__cplusplus";
7023 #define    X11_CLASS_TEST_CT  2
7024 static tTestDesc aX11_ClassTests[] = {
7025   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7026   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7029  *  Fix Command Arguments for X11_Class
7030  */
7031 static const char* apzX11_ClassPatch[] = {
7032     "format",
7033     "#ifdef __cplusplus\n\
7034 %1c_class;%2\n\
7035 #else\n\
7036 %1class;%2\n\
7037 #endif",
7038     (char*)NULL };
7040 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7042  *  Description of X11_Class_Usage fix
7043  */
7044 tSCC zX11_Class_UsageName[] =
7045      "x11_class_usage";
7048  *  File name selection pattern
7049  */
7050 tSCC zX11_Class_UsageList[] =
7051   "|Xm/BaseClassI.h|";
7053  *  Machine/OS name selection pattern
7054  */
7055 #define apzX11_Class_UsageMachs (const char**)NULL
7058  *  content selection pattern - do fix if pattern found
7059  */
7060 tSCC zX11_Class_UsageSelect0[] =
7061        " class\\)";
7064  *  content bypass pattern - skip fix if pattern found
7065  */
7066 tSCC zX11_Class_UsageBypass0[] =
7067        "__cplusplus";
7069 #define    X11_CLASS_USAGE_TEST_CT  2
7070 static tTestDesc aX11_Class_UsageTests[] = {
7071   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7072   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7075  *  Fix Command Arguments for X11_Class_Usage
7076  */
7077 static const char* apzX11_Class_UsagePatch[] = {
7078     "format",
7079     " c_class)",
7080     (char*)NULL };
7082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7084  *  Description of X11_New fix
7085  */
7086 tSCC zX11_NewName[] =
7087      "x11_new";
7090  *  File name selection pattern
7091  */
7092 tSCC zX11_NewList[] =
7093   "|Xm/Traversal.h|";
7095  *  Machine/OS name selection pattern
7096  */
7097 #define apzX11_NewMachs (const char**)NULL
7100  *  content bypass pattern - skip fix if pattern found
7101  */
7102 tSCC zX11_NewBypass0[] =
7103        "__cplusplus";
7105 #define    X11_NEW_TEST_CT  1
7106 static tTestDesc aX11_NewTests[] = {
7107   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7110  *  Fix Command Arguments for X11_New
7111  */
7112 static const char* apzX11_NewPatch[] = { "sed",
7113     "-e", "/Widget\told, new;/i\\\n\
7114 #ifdef __cplusplus\\\n\
7115 \tWidget\told, c_new;\\\n\
7116 #else\n",
7117     "-e", "/Widget\told, new;/a\\\n\
7118 #endif\n",
7119     "-e", "s/Widget new,/Widget c_new,/g",
7120     (char*)NULL };
7122 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7124  *  Description of X11_Sprintf fix
7125  */
7126 tSCC zX11_SprintfName[] =
7127      "x11_sprintf";
7130  *  File name selection pattern
7131  */
7132 tSCC zX11_SprintfList[] =
7133   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7135  *  Machine/OS name selection pattern
7136  */
7137 #define apzX11_SprintfMachs (const char**)NULL
7140  *  content selection pattern - do fix if pattern found
7141  */
7142 tSCC zX11_SprintfSelect0[] =
7143        "^extern char \\*\tsprintf\\(\\);$";
7145 #define    X11_SPRINTF_TEST_CT  1
7146 static tTestDesc aX11_SprintfTests[] = {
7147   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7150  *  Fix Command Arguments for X11_Sprintf
7151  */
7152 static const char* apzX11_SprintfPatch[] = {
7153     "format",
7154     "#ifndef __STDC__\n\
7155 %0\n\
7156 #endif /* !defined __STDC__ */",
7157     (char*)NULL };
7160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7162  *  List of all fixes
7163  */
7164 #define REGEX_COUNT          209
7165 #define MACH_LIST_SIZE_LIMIT 261
7166 #define FIX_COUNT            179
7169  *  Enumerate the fixes
7170  */
7171 typedef enum {
7172     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7173     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7174     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7175     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7176     AAB_SUN_MEMCPY_FIXIDX,
7177     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7178     AAB_ULTRIX_LIMITS_FIXIDX,
7179     AAB_ULTRIX_MEMORY_FIXIDX,
7180     AAB_ULTRIX_STRING_FIXIDX,
7181     AIX_PTHREAD_FIXIDX,
7182     AIX_SYSMACHINE_FIXIDX,
7183     AIX_SYSWAIT_FIXIDX,
7184     AIX_SYSWAIT_2_FIXIDX,
7185     AIX_VOLATILE_FIXIDX,
7186     ALPHA___ASSERT_FIXIDX,
7187     ALPHA___EXTERN_PREFIX_FIXIDX,
7188     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7189     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7190     ALPHA_ASSERT_FIXIDX,
7191     ALPHA_BAD_LVAL_FIXIDX,
7192     ALPHA_GETOPT_FIXIDX,
7193     ALPHA_PARENS_FIXIDX,
7194     ALPHA_PTHREAD_FIXIDX,
7195     ALPHA_PTHREAD_GCC_FIXIDX,
7196     ALPHA_PTHREAD_INIT_FIXIDX,
7197     ALPHA_SBRK_FIXIDX,
7198     ALPHA_WCHAR_FIXIDX,
7199     AVOID_BOOL_DEFINE_FIXIDX,
7200     AVOID_BOOL_TYPE_FIXIDX,
7201     AVOID_WCHAR_T_TYPE_FIXIDX,
7202     BAD_STRUCT_TERM_FIXIDX,
7203     BADQUOTE_FIXIDX,
7204     BROKEN_ASSERT_STDIO_FIXIDX,
7205     BROKEN_ASSERT_STDLIB_FIXIDX,
7206     BROKEN_CABS_FIXIDX,
7207     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7208     CTRL_QUOTES_DEF_FIXIDX,
7209     CTRL_QUOTES_USE_FIXIDX,
7210     CXX_UNREADY_FIXIDX,
7211     DARWIN_GCC4_BREAKAGE_FIXIDX,
7212     DARWIN_PRIVATE_EXTERN_FIXIDX,
7213     DEC_INTERN_ASM_FIXIDX,
7214     DJGPP_WCHAR_H_FIXIDX,
7215     ECD_CURSOR_FIXIDX,
7216     EXCEPTION_STRUCTURE_FIXIDX,
7217     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7218     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7219     GNU_TYPES_FIXIDX,
7220     HP_INLINE_FIXIDX,
7221     HP_SYSFILE_FIXIDX,
7222     HPUX10_CPP_POW_INLINE_FIXIDX,
7223     HPUX11_CPP_POW_INLINE_FIXIDX,
7224     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7225     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7226     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7227     HPUX11_ABS_FIXIDX,
7228     HPUX11_FABSF_FIXIDX,
7229     HPUX11_SIZE_T_FIXIDX,
7230     HPUX11_SNPRINTF_FIXIDX,
7231     HPUX11_UINT32_C_FIXIDX,
7232     HPUX11_VSNPRINTF_FIXIDX,
7233     HPUX8_BOGUS_INLINES_FIXIDX,
7234     HPUX_CTYPE_MACROS_FIXIDX,
7235     HPUX_HTONL_FIXIDX,
7236     HPUX_LONG_DOUBLE_FIXIDX,
7237     HPUX_SYSTIME_FIXIDX,
7238     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7239     IO_QUOTES_DEF_FIXIDX,
7240     IO_QUOTES_USE_FIXIDX,
7241     IP_MISSING_SEMI_FIXIDX,
7242     IRIX___RESTRICT_FIXIDX,
7243     IRIX___GENERIC1_FIXIDX,
7244     IRIX___GENERIC2_FIXIDX,
7245     IRIX_ASM_APOSTROPHE_FIXIDX,
7246     IRIX_LIMITS_CONST_FIXIDX,
7247     IRIX_SOCKLEN_T_FIXIDX,
7248     IRIX_STDIO_VA_LIST_FIXIDX,
7249     IRIX_WCSFTIME_FIXIDX,
7250     ISC_FMOD_FIXIDX,
7251     ISC_OMITS_WITH_STDC_FIXIDX,
7252     KANDR_CONCAT_FIXIDX,
7253     LIBC1_G_VA_LIST_FIXIDX,
7254     LIBC1_IFDEFD_MEMX_FIXIDX,
7255     LINUX_IA64_UCONTEXT_FIXIDX,
7256     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7257     LYNXOS_MISSING_PUTENV_FIXIDX,
7258     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7259     MACHINE_NAME_FIXIDX,
7260     MATH_EXCEPTION_FIXIDX,
7261     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7262     NESTED_AUTH_DES_FIXIDX,
7263     NESTED_MOTOROLA_FIXIDX,
7264     NESTED_SYS_LIMITS_FIXIDX,
7265     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7266     NEXT_MATH_PREFIX_FIXIDX,
7267     NEXT_TEMPLATE_FIXIDX,
7268     NEXT_VOLITILE_FIXIDX,
7269     NEXT_WAIT_UNION_FIXIDX,
7270     NODEENT_SYNTAX_FIXIDX,
7271     OBSTACK_LVALUE_CAST_FIXIDX,
7272     OSF_NAMESPACE_A_FIXIDX,
7273     OSF_NAMESPACE_C_FIXIDX,
7274     PTHREAD_PAGE_SIZE_FIXIDX,
7275     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
7276     READ_RET_TYPE_FIXIDX,
7277     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7278     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7279     RS6000_DOUBLE_FIXIDX,
7280     RS6000_FCHMOD_FIXIDX,
7281     RS6000_PARAM_FIXIDX,
7282     SCO_MATH_FIXIDX,
7283     SCO_REGSET_FIXIDX,
7284     SCO_STATIC_FUNC_FIXIDX,
7285     SCO_UTIME_FIXIDX,
7286     SOLARIS_MUTEX_INIT_1_FIXIDX,
7287     SOLARIS_MUTEX_INIT_2_FIXIDX,
7288     SOLARIS_SOCKET_FIXIDX,
7289     SOLARIS_STDIO_TAG_FIXIDX,
7290     SOLARIS_UNISTD_FIXIDX,
7291     SOLARIS_WIDEC_FIXIDX,
7292     STATSSWTCH_FIXIDX,
7293     STDIO_STDARG_H_FIXIDX,
7294     STDIO_VA_LIST_FIXIDX,
7295     STDIO_VA_LIST_CLIENTS_FIXIDX,
7296     STRICT_ANSI_NOT_FIXIDX,
7297     STRICT_ANSI_NOT_CTD_FIXIDX,
7298     STRICT_ANSI_ONLY_FIXIDX,
7299     STRUCT_FILE_FIXIDX,
7300     STRUCT_SOCKADDR_FIXIDX,
7301     SUN_AUTH_PROTO_FIXIDX,
7302     SUN_BOGUS_IFDEF_FIXIDX,
7303     SUN_CATMACRO_FIXIDX,
7304     SUN_MALLOC_FIXIDX,
7305     SUN_RUSERS_SEMI_FIXIDX,
7306     SUN_SIGNAL_FIXIDX,
7307     SUNOS_STRLEN_FIXIDX,
7308     SVR4_DISABLE_OPT_FIXIDX,
7309     SVR4_GETCWD_FIXIDX,
7310     SVR4_KRNL_FIXIDX,
7311     SVR4_PROFIL_FIXIDX,
7312     SVR4_SIGHANDLER_TYPE_FIXIDX,
7313     SVR4_UNDECLARED_GETRNGE_FIXIDX,
7314     SYSV68_STRING_FIXIDX,
7315     SYSZ_STDLIB_FOR_SUN_FIXIDX,
7316     THREAD_KEYWORD_FIXIDX,
7317     TINFO_CPLUSPLUS_FIXIDX,
7318     ULTRIX_ATEXIT_PARAM_FIXIDX,
7319     ULTRIX_ATOF_PARAM_FIXIDX,
7320     ULTRIX_CONST_FIXIDX,
7321     ULTRIX_CONST2_FIXIDX,
7322     ULTRIX_CONST3_FIXIDX,
7323     ULTRIX_FIX_FIXPROTO_FIXIDX,
7324     ULTRIX_IFDEF_FIXIDX,
7325     ULTRIX_LOCALE_FIXIDX,
7326     ULTRIX_MATH_IFDEF_FIXIDX,
7327     ULTRIX_NESTED_IOCTL_FIXIDX,
7328     ULTRIX_NESTED_SVC_FIXIDX,
7329     ULTRIX_STAT_FIXIDX,
7330     ULTRIX_STATIC_FIXIDX,
7331     ULTRIX_STDLIB_FIXIDX,
7332     ULTRIX_STRINGS_FIXIDX,
7333     ULTRIX_STRINGS2_FIXIDX,
7334     ULTRIX_SYS_TIME_FIXIDX,
7335     ULTRIX_UNISTD_FIXIDX,
7336     UNICOSMK_RESTRICT_FIXIDX,
7337     UW7_BYTEORDER_FIX_FIXIDX,
7338     VA_I960_MACRO_FIXIDX,
7339     VOID_NULL_FIXIDX,
7340     VXWORKS_GCC_PROBLEM_FIXIDX,
7341     VXWORKS_NEEDS_VXTYPES_FIXIDX,
7342     VXWORKS_NEEDS_VXWORKS_FIXIDX,
7343     VXWORKS_TIME_FIXIDX,
7344     WINDISS_MATH1_FIXIDX,
7345     WINDISS_MATH2_FIXIDX,
7346     WINDISS_VALIST_FIXIDX,
7347     X11_CLASS_FIXIDX,
7348     X11_CLASS_USAGE_FIXIDX,
7349     X11_NEW_FIXIDX,
7350     X11_SPRINTF_FIXIDX
7351 } t_fixinc_idx;
7353 tFixDesc fixDescList[ FIX_COUNT ] = {
7354   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
7355      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
7356      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7357      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
7359   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
7360      apzAab_Fd_Zero_Gnu_Types_HMachs,
7361      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7362      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
7364   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
7365      apzAab_Fd_Zero_Selectbits_HMachs,
7366      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7367      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
7369   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
7370      apzAab_Solaris_Sys_Varargs_HMachs,
7371      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7372      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
7374   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
7375      apzAab_Sun_MemcpyMachs,
7376      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7377      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
7379   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
7380      apzAab_Ultrix_Ansi_CompatMachs,
7381      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7382      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
7384   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
7385      apzAab_Ultrix_LimitsMachs,
7386      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7387      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
7389   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
7390      apzAab_Ultrix_MemoryMachs,
7391      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7392      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
7394   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
7395      apzAab_Ultrix_StringMachs,
7396      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7397      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
7399   {  zAix_PthreadName,    zAix_PthreadList,
7400      apzAix_PthreadMachs,
7401      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7402      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
7404   {  zAix_SysmachineName,    zAix_SysmachineList,
7405      apzAix_SysmachineMachs,
7406      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7407      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
7409   {  zAix_SyswaitName,    zAix_SyswaitList,
7410      apzAix_SyswaitMachs,
7411      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7412      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
7414   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
7415      apzAix_Syswait_2Machs,
7416      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7417      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
7419   {  zAix_VolatileName,    zAix_VolatileList,
7420      apzAix_VolatileMachs,
7421      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7422      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
7424   {  zAlpha___AssertName,    zAlpha___AssertList,
7425      apzAlpha___AssertMachs,
7426      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7427      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
7429   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
7430      apzAlpha___Extern_PrefixMachs,
7431      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7432      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
7434   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
7435      apzAlpha___Extern_Prefix_StandardsMachs,
7436      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7437      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
7439   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
7440      apzAlpha___Extern_Prefix_Sys_StatMachs,
7441      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7442      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
7444   {  zAlpha_AssertName,    zAlpha_AssertList,
7445      apzAlpha_AssertMachs,
7446      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7447      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
7449   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
7450      apzAlpha_Bad_LvalMachs,
7451      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
7452      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
7454   {  zAlpha_GetoptName,    zAlpha_GetoptList,
7455      apzAlpha_GetoptMachs,
7456      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7457      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
7459   {  zAlpha_ParensName,    zAlpha_ParensList,
7460      apzAlpha_ParensMachs,
7461      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7462      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
7464   {  zAlpha_PthreadName,    zAlpha_PthreadList,
7465      apzAlpha_PthreadMachs,
7466      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7467      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
7469   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
7470      apzAlpha_Pthread_GccMachs,
7471      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7472      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
7474   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
7475      apzAlpha_Pthread_InitMachs,
7476      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
7477      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
7479   {  zAlpha_SbrkName,    zAlpha_SbrkList,
7480      apzAlpha_SbrkMachs,
7481      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7482      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
7484   {  zAlpha_WcharName,    zAlpha_WcharList,
7485      apzAlpha_WcharMachs,
7486      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
7487      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
7489   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
7490      apzAvoid_Bool_DefineMachs,
7491      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7492      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
7494   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
7495      apzAvoid_Bool_TypeMachs,
7496      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7497      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
7499   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
7500      apzAvoid_Wchar_T_TypeMachs,
7501      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7502      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
7504   {  zBad_Struct_TermName,    zBad_Struct_TermList,
7505      apzBad_Struct_TermMachs,
7506      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7507      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
7509   {  zBadquoteName,    zBadquoteList,
7510      apzBadquoteMachs,
7511      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7512      aBadquoteTests,   apzBadquotePatch, 0 },
7514   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
7515      apzBroken_Assert_StdioMachs,
7516      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7517      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
7519   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
7520      apzBroken_Assert_StdlibMachs,
7521      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7522      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
7524   {  zBroken_CabsName,    zBroken_CabsList,
7525      apzBroken_CabsMachs,
7526      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7527      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
7529   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
7530      apzBsd_Stdio_Attrs_ConflictMachs,
7531      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7532      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
7534   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
7535      apzCtrl_Quotes_DefMachs,
7536      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7537      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
7539   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
7540      apzCtrl_Quotes_UseMachs,
7541      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7542      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
7544   {  zCxx_UnreadyName,    zCxx_UnreadyList,
7545      apzCxx_UnreadyMachs,
7546      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7547      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
7549   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
7550      apzDarwin_Gcc4_BreakageMachs,
7551      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7552      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
7554   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
7555      apzDarwin_Private_ExternMachs,
7556      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7557      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
7559   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
7560      apzDec_Intern_AsmMachs,
7561      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
7562      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
7564   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
7565      apzDjgpp_Wchar_HMachs,
7566      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7567      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
7569   {  zEcd_CursorName,    zEcd_CursorList,
7570      apzEcd_CursorMachs,
7571      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7572      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
7574   {  zException_StructureName,    zException_StructureList,
7575      apzException_StructureMachs,
7576      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7577      aException_StructureTests,   apzException_StructurePatch, 0 },
7579   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
7580      apzFreebsd_Gcc3_BreakageMachs,
7581      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7582      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
7584   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
7585      apzFreebsd_Gcc4_BreakageMachs,
7586      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7587      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
7589   {  zGnu_TypesName,    zGnu_TypesList,
7590      apzGnu_TypesMachs,
7591      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
7592      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
7594   {  zHp_InlineName,    zHp_InlineList,
7595      apzHp_InlineMachs,
7596      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7597      aHp_InlineTests,   apzHp_InlinePatch, 0 },
7599   {  zHp_SysfileName,    zHp_SysfileList,
7600      apzHp_SysfileMachs,
7601      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7602      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
7604   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
7605      apzHpux10_Cpp_Pow_InlineMachs,
7606      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7607      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
7609   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
7610      apzHpux11_Cpp_Pow_InlineMachs,
7611      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7612      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
7614   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
7615      apzHpux10_Ctype_Declarations1Machs,
7616      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7617      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
7619   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
7620      apzHpux10_Ctype_Declarations2Machs,
7621      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7622      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
7624   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
7625      apzHpux10_Stdio_DeclarationsMachs,
7626      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7627      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
7629   {  zHpux11_AbsName,    zHpux11_AbsList,
7630      apzHpux11_AbsMachs,
7631      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7632      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
7634   {  zHpux11_FabsfName,    zHpux11_FabsfList,
7635      apzHpux11_FabsfMachs,
7636      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7637      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
7639   {  zHpux11_Size_TName,    zHpux11_Size_TList,
7640      apzHpux11_Size_TMachs,
7641      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7642      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
7644   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
7645      apzHpux11_SnprintfMachs,
7646      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7647      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
7649   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
7650      apzHpux11_Uint32_CMachs,
7651      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7652      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
7654   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
7655      apzHpux11_VsnprintfMachs,
7656      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7657      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
7659   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
7660      apzHpux8_Bogus_InlinesMachs,
7661      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
7662      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
7664   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
7665      apzHpux_Ctype_MacrosMachs,
7666      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7667      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
7669   {  zHpux_HtonlName,    zHpux_HtonlList,
7670      apzHpux_HtonlMachs,
7671      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7672      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
7674   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
7675      apzHpux_Long_DoubleMachs,
7676      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
7677      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
7679   {  zHpux_SystimeName,    zHpux_SystimeList,
7680      apzHpux_SystimeMachs,
7681      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7682      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
7684   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
7685      apzInt_Abort_Free_And_ExitMachs,
7686      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7687      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
7689   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
7690      apzIo_Quotes_DefMachs,
7691      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7692      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
7694   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
7695      apzIo_Quotes_UseMachs,
7696      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7697      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
7699   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
7700      apzIp_Missing_SemiMachs,
7701      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
7702      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
7704   {  zIrix___RestrictName,    zIrix___RestrictList,
7705      apzIrix___RestrictMachs,
7706      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7707      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
7709   {  zIrix___Generic1Name,    zIrix___Generic1List,
7710      apzIrix___Generic1Machs,
7711      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7712      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
7714   {  zIrix___Generic2Name,    zIrix___Generic2List,
7715      apzIrix___Generic2Machs,
7716      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7717      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
7719   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
7720      apzIrix_Asm_ApostropheMachs,
7721      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7722      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
7724   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
7725      apzIrix_Limits_ConstMachs,
7726      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7727      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
7729   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
7730      apzIrix_Socklen_TMachs,
7731      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7732      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
7734   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
7735      apzIrix_Stdio_Va_ListMachs,
7736      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7737      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
7739   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
7740      apzIrix_WcsftimeMachs,
7741      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7742      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
7744   {  zIsc_FmodName,    zIsc_FmodList,
7745      apzIsc_FmodMachs,
7746      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7747      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
7749   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
7750      apzIsc_Omits_With_StdcMachs,
7751      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7752      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
7754   {  zKandr_ConcatName,    zKandr_ConcatList,
7755      apzKandr_ConcatMachs,
7756      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7757      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
7759   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
7760      apzLibc1_G_Va_ListMachs,
7761      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7762      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
7764   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
7765      apzLibc1_Ifdefd_MemxMachs,
7766      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7767      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
7769   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
7770      apzLinux_Ia64_UcontextMachs,
7771      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7772      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
7774   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
7775      apzLynxos_No_Warning_In_Sys_Time_HMachs,
7776      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7777      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
7779   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
7780      apzLynxos_Missing_PutenvMachs,
7781      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7782      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
7784   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
7785      apzMachine_Ansi_H_Va_ListMachs,
7786      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7787      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
7789   {  zMachine_NameName,    zMachine_NameList,
7790      apzMachine_NameMachs,
7791      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7792      aMachine_NameTests,   apzMachine_NamePatch, 0 },
7794   {  zMath_ExceptionName,    zMath_ExceptionList,
7795      apzMath_ExceptionMachs,
7796      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7797      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
7799   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
7800      apzMath_Huge_Val_From_Dbl_MaxMachs,
7801      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
7802      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
7804   {  zNested_Auth_DesName,    zNested_Auth_DesList,
7805      apzNested_Auth_DesMachs,
7806      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7807      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
7809   {  zNested_MotorolaName,    zNested_MotorolaList,
7810      apzNested_MotorolaMachs,
7811      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
7812      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
7814   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
7815      apzNested_Sys_LimitsMachs,
7816      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
7817      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
7819   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
7820      apzNetbsd_Extra_SemicolonMachs,
7821      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7822      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
7824   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
7825      apzNext_Math_PrefixMachs,
7826      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7827      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
7829   {  zNext_TemplateName,    zNext_TemplateList,
7830      apzNext_TemplateMachs,
7831      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7832      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
7834   {  zNext_VolitileName,    zNext_VolitileList,
7835      apzNext_VolitileMachs,
7836      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7837      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
7839   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
7840      apzNext_Wait_UnionMachs,
7841      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7842      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
7844   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
7845      apzNodeent_SyntaxMachs,
7846      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7847      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
7849   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
7850      apzObstack_Lvalue_CastMachs,
7851      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7852      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
7854   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
7855      apzOsf_Namespace_AMachs,
7856      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7857      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
7859   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
7860      apzOsf_Namespace_CMachs,
7861      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7862      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
7864   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
7865      apzPthread_Page_SizeMachs,
7866      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7867      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
7869   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
7870      apzPthread_Incomplete_Struct_ArgumentMachs,
7871      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7872      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
7874   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
7875      apzRead_Ret_TypeMachs,
7876      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7877      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
7879   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
7880      apzRpc_Xdr_Lvalue_Cast_AMachs,
7881      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7882      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
7884   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
7885      apzRpc_Xdr_Lvalue_Cast_BMachs,
7886      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7887      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
7889   {  zRs6000_DoubleName,    zRs6000_DoubleList,
7890      apzRs6000_DoubleMachs,
7891      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7892      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
7894   {  zRs6000_FchmodName,    zRs6000_FchmodList,
7895      apzRs6000_FchmodMachs,
7896      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7897      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
7899   {  zRs6000_ParamName,    zRs6000_ParamList,
7900      apzRs6000_ParamMachs,
7901      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7902      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
7904   {  zSco_MathName,    zSco_MathList,
7905      apzSco_MathMachs,
7906      SCO_MATH_TEST_CT, FD_MACH_ONLY,
7907      aSco_MathTests,   apzSco_MathPatch, 0 },
7909   {  zSco_RegsetName,    zSco_RegsetList,
7910      apzSco_RegsetMachs,
7911      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7912      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
7914   {  zSco_Static_FuncName,    zSco_Static_FuncList,
7915      apzSco_Static_FuncMachs,
7916      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
7917      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
7919   {  zSco_UtimeName,    zSco_UtimeList,
7920      apzSco_UtimeMachs,
7921      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7922      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
7924   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
7925      apzSolaris_Mutex_Init_1Machs,
7926      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
7927      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
7929   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
7930      apzSolaris_Mutex_Init_2Machs,
7931      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7932      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
7934   {  zSolaris_SocketName,    zSolaris_SocketList,
7935      apzSolaris_SocketMachs,
7936      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7937      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
7939   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
7940      apzSolaris_Stdio_TagMachs,
7941      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
7942      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
7944   {  zSolaris_UnistdName,    zSolaris_UnistdList,
7945      apzSolaris_UnistdMachs,
7946      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7947      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
7949   {  zSolaris_WidecName,    zSolaris_WidecList,
7950      apzSolaris_WidecMachs,
7951      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7952      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
7954   {  zStatsswtchName,    zStatsswtchList,
7955      apzStatsswtchMachs,
7956      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7957      aStatsswtchTests,   apzStatsswtchPatch, 0 },
7959   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
7960      apzStdio_Stdarg_HMachs,
7961      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
7962      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
7964   {  zStdio_Va_ListName,    zStdio_Va_ListList,
7965      apzStdio_Va_ListMachs,
7966      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
7967      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
7969   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
7970      apzStdio_Va_List_ClientsMachs,
7971      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
7972      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
7974   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
7975      apzStrict_Ansi_NotMachs,
7976      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7977      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
7979   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
7980      apzStrict_Ansi_Not_CtdMachs,
7981      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7982      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
7984   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
7985      apzStrict_Ansi_OnlyMachs,
7986      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7987      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
7989   {  zStruct_FileName,    zStruct_FileList,
7990      apzStruct_FileMachs,
7991      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7992      aStruct_FileTests,   apzStruct_FilePatch, 0 },
7994   {  zStruct_SockaddrName,    zStruct_SockaddrList,
7995      apzStruct_SockaddrMachs,
7996      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7997      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
7999   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8000      apzSun_Auth_ProtoMachs,
8001      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8002      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8004   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8005      apzSun_Bogus_IfdefMachs,
8006      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8007      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8009   {  zSun_CatmacroName,    zSun_CatmacroList,
8010      apzSun_CatmacroMachs,
8011      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8012      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8014   {  zSun_MallocName,    zSun_MallocList,
8015      apzSun_MallocMachs,
8016      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8017      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8019   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8020      apzSun_Rusers_SemiMachs,
8021      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8022      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8024   {  zSun_SignalName,    zSun_SignalList,
8025      apzSun_SignalMachs,
8026      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8027      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8029   {  zSunos_StrlenName,    zSunos_StrlenList,
8030      apzSunos_StrlenMachs,
8031      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8032      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8034   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8035      apzSvr4_Disable_OptMachs,
8036      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8037      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8039   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8040      apzSvr4_GetcwdMachs,
8041      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8042      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8044   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8045      apzSvr4_KrnlMachs,
8046      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8047      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8049   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8050      apzSvr4_ProfilMachs,
8051      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8052      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8054   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8055      apzSvr4_Sighandler_TypeMachs,
8056      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8057      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8059   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8060      apzSvr4_Undeclared_GetrngeMachs,
8061      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8062      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8064   {  zSysv68_StringName,    zSysv68_StringList,
8065      apzSysv68_StringMachs,
8066      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8067      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8069   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8070      apzSysz_Stdlib_For_SunMachs,
8071      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8072      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8074   {  zThread_KeywordName,    zThread_KeywordList,
8075      apzThread_KeywordMachs,
8076      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8077      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8079   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8080      apzTinfo_CplusplusMachs,
8081      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8082      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8084   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8085      apzUltrix_Atexit_ParamMachs,
8086      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8087      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8089   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8090      apzUltrix_Atof_ParamMachs,
8091      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8092      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8094   {  zUltrix_ConstName,    zUltrix_ConstList,
8095      apzUltrix_ConstMachs,
8096      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8097      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8099   {  zUltrix_Const2Name,    zUltrix_Const2List,
8100      apzUltrix_Const2Machs,
8101      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8102      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8104   {  zUltrix_Const3Name,    zUltrix_Const3List,
8105      apzUltrix_Const3Machs,
8106      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8107      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8109   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8110      apzUltrix_Fix_FixprotoMachs,
8111      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8112      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8114   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8115      apzUltrix_IfdefMachs,
8116      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8117      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8119   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8120      apzUltrix_LocaleMachs,
8121      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8122      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8124   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8125      apzUltrix_Math_IfdefMachs,
8126      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8127      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8129   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8130      apzUltrix_Nested_IoctlMachs,
8131      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8132      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8134   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8135      apzUltrix_Nested_SvcMachs,
8136      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8137      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8139   {  zUltrix_StatName,    zUltrix_StatList,
8140      apzUltrix_StatMachs,
8141      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8142      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8144   {  zUltrix_StaticName,    zUltrix_StaticList,
8145      apzUltrix_StaticMachs,
8146      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8147      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8149   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8150      apzUltrix_StdlibMachs,
8151      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8152      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8154   {  zUltrix_StringsName,    zUltrix_StringsList,
8155      apzUltrix_StringsMachs,
8156      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8157      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8159   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8160      apzUltrix_Strings2Machs,
8161      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8162      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8164   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8165      apzUltrix_Sys_TimeMachs,
8166      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8167      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8169   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8170      apzUltrix_UnistdMachs,
8171      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8172      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8174   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8175      apzUnicosmk_RestrictMachs,
8176      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8177      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8179   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8180      apzUw7_Byteorder_FixMachs,
8181      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8182      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8184   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8185      apzVa_I960_MacroMachs,
8186      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8187      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8189   {  zVoid_NullName,    zVoid_NullList,
8190      apzVoid_NullMachs,
8191      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8192      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8194   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8195      apzVxworks_Gcc_ProblemMachs,
8196      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8197      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8199   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8200      apzVxworks_Needs_VxtypesMachs,
8201      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8202      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8204   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8205      apzVxworks_Needs_VxworksMachs,
8206      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8207      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8209   {  zVxworks_TimeName,    zVxworks_TimeList,
8210      apzVxworks_TimeMachs,
8211      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8212      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8214   {  zWindiss_Math1Name,    zWindiss_Math1List,
8215      apzWindiss_Math1Machs,
8216      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8217      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8219   {  zWindiss_Math2Name,    zWindiss_Math2List,
8220      apzWindiss_Math2Machs,
8221      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8222      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8224   {  zWindiss_ValistName,    zWindiss_ValistList,
8225      apzWindiss_ValistMachs,
8226      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8227      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8229   {  zX11_ClassName,    zX11_ClassList,
8230      apzX11_ClassMachs,
8231      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8232      aX11_ClassTests,   apzX11_ClassPatch, 0 },
8234   {  zX11_Class_UsageName,    zX11_Class_UsageList,
8235      apzX11_Class_UsageMachs,
8236      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8237      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
8239   {  zX11_NewName,    zX11_NewList,
8240      apzX11_NewMachs,
8241      X11_NEW_TEST_CT, FD_MACH_ONLY,
8242      aX11_NewTests,   apzX11_NewPatch, 0 },
8244   {  zX11_SprintfName,    zX11_SprintfList,
8245      apzX11_SprintfMachs,
8246      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8247      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }