2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / fixinc / fixincl.x
blob160960563abbaeade2cb50c329d7b0ddf77a2ac6
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Thursday December 18, 2003 at 01:49:23 PM PST
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Dec 18 13:49:23 PST 2003
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 163 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_Volatile fix
653  */
654 tSCC zAix_VolatileName[] =
655      "aix_volatile";
658  *  File name selection pattern
659  */
660 tSCC zAix_VolatileList[] =
661   "|sys/signal.h|";
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_VolatileMachs (const char**)NULL
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_VolatileSelect0[] =
671        "typedef volatile int sig_atomic_t";
673 #define    AIX_VOLATILE_TEST_CT  1
674 static tTestDesc aAix_VolatileTests[] = {
675   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
678  *  Fix Command Arguments for Aix_Volatile
679  */
680 static const char* apzAix_VolatilePatch[] = {
681     "format",
682     "typedef int sig_atomic_t",
683     (char*)NULL };
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
687  *  Description of Alpha___Assert fix
688  */
689 tSCC zAlpha___AssertName[] =
690      "alpha___assert";
693  *  File name selection pattern
694  */
695 tSCC zAlpha___AssertList[] =
696   "|assert.h|";
698  *  Machine/OS name selection pattern
699  */
700 #define apzAlpha___AssertMachs (const char**)NULL
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAlpha___AssertSelect0[] =
706        "__assert\\(char \\*, char \\*, int\\)";
708 #define    ALPHA___ASSERT_TEST_CT  1
709 static tTestDesc aAlpha___AssertTests[] = {
710   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
713  *  Fix Command Arguments for Alpha___Assert
714  */
715 static const char* apzAlpha___AssertPatch[] = {
716     "format",
717     "__assert(const char *, const char *, int)",
718     (char*)NULL };
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
722  *  Description of Alpha___Extern_Prefix fix
723  */
724 tSCC zAlpha___Extern_PrefixName[] =
725      "alpha___extern_prefix";
728  *  File name selection pattern
729  */
730 tSCC zAlpha___Extern_PrefixList[] =
731   "|sys/stat.h|";
733  *  Machine/OS name selection pattern
734  */
735 tSCC* apzAlpha___Extern_PrefixMachs[] = {
736         "alpha*-dec-osf5*",
737         (const char*)NULL };
740  *  content selection pattern - do fix if pattern found
741  */
742 tSCC zAlpha___Extern_PrefixSelect0[] =
743        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
745 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
746 static tTestDesc aAlpha___Extern_PrefixTests[] = {
747   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
750  *  Fix Command Arguments for Alpha___Extern_Prefix
751  */
752 static const char* apzAlpha___Extern_PrefixPatch[] = {
753     "format",
754     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
755     (char*)NULL };
757 /* * * * * * * * * * * * * * * * * * * * * * * * * *
759  *  Description of Alpha_Assert fix
760  */
761 tSCC zAlpha_AssertName[] =
762      "alpha_assert";
765  *  File name selection pattern
766  */
767 tSCC zAlpha_AssertList[] =
768   "|assert.h|";
770  *  Machine/OS name selection pattern
771  */
772 #define apzAlpha_AssertMachs (const char**)NULL
775  *  content selection pattern - do fix if pattern found
776  */
777 tSCC zAlpha_AssertSelect0[] =
778        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
780 #define    ALPHA_ASSERT_TEST_CT  1
781 static tTestDesc aAlpha_AssertTests[] = {
782   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
785  *  Fix Command Arguments for Alpha_Assert
786  */
787 static const char* apzAlpha_AssertPatch[] = {
788     "format",
789     "%1(EX)",
790     (char*)NULL };
792 /* * * * * * * * * * * * * * * * * * * * * * * * * *
794  *  Description of Alpha_Getopt fix
795  */
796 tSCC zAlpha_GetoptName[] =
797      "alpha_getopt";
800  *  File name selection pattern
801  */
802 tSCC zAlpha_GetoptList[] =
803   "|stdio.h|stdlib.h|";
805  *  Machine/OS name selection pattern
806  */
807 #define apzAlpha_GetoptMachs (const char**)NULL
810  *  content selection pattern - do fix if pattern found
811  */
812 tSCC zAlpha_GetoptSelect0[] =
813        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
815 #define    ALPHA_GETOPT_TEST_CT  1
816 static tTestDesc aAlpha_GetoptTests[] = {
817   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
820  *  Fix Command Arguments for Alpha_Getopt
821  */
822 static const char* apzAlpha_GetoptPatch[] = {
823     "format",
824     "getopt(int, char *const[], const char *)",
825     (char*)NULL };
827 /* * * * * * * * * * * * * * * * * * * * * * * * * *
829  *  Description of Alpha_Parens fix
830  */
831 tSCC zAlpha_ParensName[] =
832      "alpha_parens";
835  *  File name selection pattern
836  */
837 tSCC zAlpha_ParensList[] =
838   "|sym.h|";
840  *  Machine/OS name selection pattern
841  */
842 #define apzAlpha_ParensMachs (const char**)NULL
845  *  content selection pattern - do fix if pattern found
846  */
847 tSCC zAlpha_ParensSelect0[] =
848        "#ifndef\\(__mips64\\)";
850 #define    ALPHA_PARENS_TEST_CT  1
851 static tTestDesc aAlpha_ParensTests[] = {
852   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
855  *  Fix Command Arguments for Alpha_Parens
856  */
857 static const char* apzAlpha_ParensPatch[] = {
858     "format",
859     "#ifndef __mips64",
860     (char*)NULL };
862 /* * * * * * * * * * * * * * * * * * * * * * * * * *
864  *  Description of Alpha_Pthread fix
865  */
866 tSCC zAlpha_PthreadName[] =
867      "alpha_pthread";
870  *  File name selection pattern
871  */
872 tSCC zAlpha_PthreadList[] =
873   "|pthread.h|";
875  *  Machine/OS name selection pattern
876  */
877 tSCC* apzAlpha_PthreadMachs[] = {
878         "alpha*-dec-osf*",
879         (const char*)NULL };
882  *  content selection pattern - do fix if pattern found
883  */
884 tSCC zAlpha_PthreadSelect0[] =
885        "(#[ \t]*if defined \\(_PTHREAD_ENV_DECC\\) || defined \\(_PTHREAD_ENV_EPCC\\))\n\
886 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
888 #define    ALPHA_PTHREAD_TEST_CT  1
889 static tTestDesc aAlpha_PthreadTests[] = {
890   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
893  *  Fix Command Arguments for Alpha_Pthread
894  */
895 static const char* apzAlpha_PthreadPatch[] = {
896     "format",
897     "%1 || defined (__PRAGMA_EXTERN_PREFIX)\n\
898 %2",
899     (char*)NULL };
901 /* * * * * * * * * * * * * * * * * * * * * * * * * *
903  *  Description of Alpha_Pthread_Gcc fix
904  */
905 tSCC zAlpha_Pthread_GccName[] =
906      "alpha_pthread_gcc";
909  *  File name selection pattern
910  */
911 tSCC zAlpha_Pthread_GccList[] =
912   "|pthread.h|";
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Pthread_GccMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Pthread_GccSelect0[] =
924        "#else\n\
925 # error <pthread.h>: unrecognized compiler.";
927 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
928 static tTestDesc aAlpha_Pthread_GccTests[] = {
929   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
932  *  Fix Command Arguments for Alpha_Pthread_Gcc
933  */
934 static const char* apzAlpha_Pthread_GccPatch[] = {
935     "format",
936     "#elif defined (__GNUC__)\n\
937 # define _PTHREAD_ENV_GCC\n\
938 %0",
939     (char*)NULL };
941 /* * * * * * * * * * * * * * * * * * * * * * * * * *
943  *  Description of Alpha_Sbrk fix
944  */
945 tSCC zAlpha_SbrkName[] =
946      "alpha_sbrk";
949  *  File name selection pattern
950  */
951 tSCC zAlpha_SbrkList[] =
952   "|unistd.h|";
954  *  Machine/OS name selection pattern
955  */
956 #define apzAlpha_SbrkMachs (const char**)NULL
959  *  content selection pattern - do fix if pattern found
960  */
961 tSCC zAlpha_SbrkSelect0[] =
962        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
964 #define    ALPHA_SBRK_TEST_CT  1
965 static tTestDesc aAlpha_SbrkTests[] = {
966   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
969  *  Fix Command Arguments for Alpha_Sbrk
970  */
971 static const char* apzAlpha_SbrkPatch[] = {
972     "format",
973     "void *sbrk(",
974     (char*)NULL };
976 /* * * * * * * * * * * * * * * * * * * * * * * * * *
978  *  Description of Alpha_Wchar fix
979  */
980 tSCC zAlpha_WcharName[] =
981      "alpha_wchar";
984  *  File name selection pattern
985  */
986 tSCC zAlpha_WcharList[] =
987   "|wchar.h|";
989  *  Machine/OS name selection pattern
990  */
991 tSCC* apzAlpha_WcharMachs[] = {
992         "alpha*-dec-osf4*",
993         (const char*)NULL };
996  *  content selection pattern - do fix if pattern found
997  */
998 tSCC zAlpha_WcharSelect0[] =
999        "#define wcstok wcstok_r";
1001 #define    ALPHA_WCHAR_TEST_CT  1
1002 static tTestDesc aAlpha_WcharTests[] = {
1003   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1006  *  Fix Command Arguments for Alpha_Wchar
1007  */
1008 static const char* apzAlpha_WcharPatch[] = { "sed",
1009     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1010     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1011     (char*)NULL };
1013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1015  *  Description of Avoid_Bool_Define fix
1016  */
1017 tSCC zAvoid_Bool_DefineName[] =
1018      "avoid_bool_define";
1021  *  File name selection pattern
1022  */
1023 tSCC zAvoid_Bool_DefineList[] =
1024   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1026  *  Machine/OS name selection pattern
1027  */
1028 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1031  *  content selection pattern - do fix if pattern found
1032  */
1033 tSCC zAvoid_Bool_DefineSelect0[] =
1034        "#[ \t]*define[ \t]+bool[ \t]";
1037  *  content bypass pattern - skip fix if pattern found
1038  */
1039 tSCC zAvoid_Bool_DefineBypass0[] =
1040        "__cplusplus";
1042 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1043 static tTestDesc aAvoid_Bool_DefineTests[] = {
1044   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1045   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1048  *  Fix Command Arguments for Avoid_Bool_Define
1049  */
1050 static const char* apzAvoid_Bool_DefinePatch[] = {
1051     "format",
1052     "#ifndef __cplusplus\n\
1053 %0\n\
1054 #endif",
1055     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1056     (char*)NULL };
1058 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1060  *  Description of Avoid_Bool_Type fix
1061  */
1062 tSCC zAvoid_Bool_TypeName[] =
1063      "avoid_bool_type";
1066  *  File name selection pattern
1067  */
1068 tSCC zAvoid_Bool_TypeList[] =
1069   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1071  *  Machine/OS name selection pattern
1072  */
1073 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1076  *  content selection pattern - do fix if pattern found
1077  */
1078 tSCC zAvoid_Bool_TypeSelect0[] =
1079        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1082  *  content bypass pattern - skip fix if pattern found
1083  */
1084 tSCC zAvoid_Bool_TypeBypass0[] =
1085        "__cplusplus";
1087 #define    AVOID_BOOL_TYPE_TEST_CT  2
1088 static tTestDesc aAvoid_Bool_TypeTests[] = {
1089   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1090   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1093  *  Fix Command Arguments for Avoid_Bool_Type
1094  */
1095 static const char* apzAvoid_Bool_TypePatch[] = {
1096     "format",
1097     "#ifndef __cplusplus\n\
1098 %0\n\
1099 #endif",
1100     (char*)NULL };
1102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1104  *  Description of Avoid_Wchar_T_Type fix
1105  */
1106 tSCC zAvoid_Wchar_T_TypeName[] =
1107      "avoid_wchar_t_type";
1110  *  File name selection pattern
1111  */
1112 #define zAvoid_Wchar_T_TypeList (char*)NULL
1114  *  Machine/OS name selection pattern
1115  */
1116 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1119  *  content selection pattern - do fix if pattern found
1120  */
1121 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1122        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1125  *  content bypass pattern - skip fix if pattern found
1126  */
1127 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1128        "__cplusplus";
1129 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1130        "_LINUX_NLS_H";
1131 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1132        "XFree86: xc/lib/X11/Xlib\\.h";
1134 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1135 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1136   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1137   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1138   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1139   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1142  *  Fix Command Arguments for Avoid_Wchar_T_Type
1143  */
1144 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1145     "format",
1146     "#ifndef __cplusplus\n\
1147 %0\n\
1148 #endif",
1149     (char*)NULL };
1151 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1153  *  Description of Bad_Lval fix
1154  */
1155 tSCC zBad_LvalName[] =
1156      "bad_lval";
1159  *  File name selection pattern
1160  */
1161 tSCC zBad_LvalList[] =
1162   "|libgen.h|dirent.h|ftw.h|grp.h|ndbm.h|pthread.h|pwd.h|signal.h|standards.h|stdlib.h|string.h|stropts.h|time.h|unistd.h|";
1164  *  Machine/OS name selection pattern
1165  */
1166 #define apzBad_LvalMachs (const char**)NULL
1169  *  content selection pattern - do fix if pattern found
1170  */
1171 tSCC zBad_LvalSelect0[] =
1172        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1174 #define    BAD_LVAL_TEST_CT  1
1175 static tTestDesc aBad_LvalTests[] = {
1176   { TT_EGREP,    zBad_LvalSelect0, (regex_t*)NULL }, };
1179  *  Fix Command Arguments for Bad_Lval
1180  */
1181 static const char* apzBad_LvalPatch[] = { "sed",
1182     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1183     (char*)NULL };
1185 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1187  *  Description of Bad_Struct_Term fix
1188  */
1189 tSCC zBad_Struct_TermName[] =
1190      "bad_struct_term";
1193  *  File name selection pattern
1194  */
1195 tSCC zBad_Struct_TermList[] =
1196   "|curses.h|";
1198  *  Machine/OS name selection pattern
1199  */
1200 #define apzBad_Struct_TermMachs (const char**)NULL
1203  *  content selection pattern - do fix if pattern found
1204  */
1205 tSCC zBad_Struct_TermSelect0[] =
1206        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1208 #define    BAD_STRUCT_TERM_TEST_CT  1
1209 static tTestDesc aBad_Struct_TermTests[] = {
1210   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1213  *  Fix Command Arguments for Bad_Struct_Term
1214  */
1215 static const char* apzBad_Struct_TermPatch[] = {
1216     "format",
1217     "struct term;",
1218     (char*)NULL };
1220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1222  *  Description of Badquote fix
1223  */
1224 tSCC zBadquoteName[] =
1225      "badquote";
1228  *  File name selection pattern
1229  */
1230 tSCC zBadquoteList[] =
1231   "|sundev/vuid_event.h|";
1233  *  Machine/OS name selection pattern
1234  */
1235 #define apzBadquoteMachs (const char**)NULL
1238  *  content selection pattern - do fix if pattern found
1239  */
1240 tSCC zBadquoteSelect0[] =
1241        "doesn't";
1243 #define    BADQUOTE_TEST_CT  1
1244 static tTestDesc aBadquoteTests[] = {
1245   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1248  *  Fix Command Arguments for Badquote
1249  */
1250 static const char* apzBadquotePatch[] = {
1251     "format",
1252     "does not",
1253     (char*)NULL };
1255 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1257  *  Description of Broken_Assert_Stdio fix
1258  */
1259 tSCC zBroken_Assert_StdioName[] =
1260      "broken_assert_stdio";
1263  *  File name selection pattern
1264  */
1265 tSCC zBroken_Assert_StdioList[] =
1266   "|assert.h|";
1268  *  Machine/OS name selection pattern
1269  */
1270 #define apzBroken_Assert_StdioMachs (const char**)NULL
1273  *  content selection pattern - do fix if pattern found
1274  */
1275 tSCC zBroken_Assert_StdioSelect0[] =
1276        "stderr";
1279  *  content bypass pattern - skip fix if pattern found
1280  */
1281 tSCC zBroken_Assert_StdioBypass0[] =
1282        "include.*stdio\\.h";
1284 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1285 static tTestDesc aBroken_Assert_StdioTests[] = {
1286   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1287   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1290  *  Fix Command Arguments for Broken_Assert_Stdio
1291  */
1292 static const char* apzBroken_Assert_StdioPatch[] = {
1293     "wrap",
1294     "#include <stdio.h>\n",
1295     (char*)NULL };
1297 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1299  *  Description of Broken_Assert_Stdlib fix
1300  */
1301 tSCC zBroken_Assert_StdlibName[] =
1302      "broken_assert_stdlib";
1305  *  File name selection pattern
1306  */
1307 tSCC zBroken_Assert_StdlibList[] =
1308   "|assert.h|";
1310  *  Machine/OS name selection pattern
1311  */
1312 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1315  *  content selection pattern - do fix if pattern found
1316  */
1317 tSCC zBroken_Assert_StdlibSelect0[] =
1318        "exit *\\(|abort *\\(";
1321  *  content bypass pattern - skip fix if pattern found
1322  */
1323 tSCC zBroken_Assert_StdlibBypass0[] =
1324        "include.*stdlib\\.h";
1326 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1327 static tTestDesc aBroken_Assert_StdlibTests[] = {
1328   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1329   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1332  *  Fix Command Arguments for Broken_Assert_Stdlib
1333  */
1334 static const char* apzBroken_Assert_StdlibPatch[] = {
1335     "wrap",
1336     "#ifdef __cplusplus\n\
1337 #include <stdlib.h>\n\
1338 #endif\n",
1339     (char*)NULL };
1341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1343  *  Description of Broken_Cabs fix
1344  */
1345 tSCC zBroken_CabsName[] =
1346      "broken_cabs";
1349  *  File name selection pattern
1350  */
1351 tSCC zBroken_CabsList[] =
1352   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1354  *  Machine/OS name selection pattern
1355  */
1356 #define apzBroken_CabsMachs (const char**)NULL
1359  *  content selection pattern - do fix if pattern found
1360  */
1361 tSCC zBroken_CabsSelect0[] =
1362        "^extern[ \\t]+double[ \\t]+cabs";
1364 #define    BROKEN_CABS_TEST_CT  1
1365 static tTestDesc aBroken_CabsTests[] = {
1366   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1369  *  Fix Command Arguments for Broken_Cabs
1370  */
1371 static const char* apzBroken_CabsPatch[] = {
1372     "format",
1373     "",
1374     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1375     (char*)NULL };
1377 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1379  *  Description of Bsd_Stdio_Attrs_Conflict fix
1380  */
1381 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1382      "bsd_stdio_attrs_conflict";
1385  *  File name selection pattern
1386  */
1387 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1388   "|stdio.h|";
1390  *  Machine/OS name selection pattern
1391  */
1392 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1393         "*-*-*bsd*",
1394         "*-*-*darwin*",
1395         (const char*)NULL };
1398  *  content selection pattern - do fix if pattern found
1399  */
1400 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1401        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1403 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1404 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1405   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1408  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1409  */
1410 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1411     "format",
1412     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1413 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1414 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1415     (char*)NULL };
1417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1419  *  Description of Ctrl_Quotes_Def fix
1420  */
1421 tSCC zCtrl_Quotes_DefName[] =
1422      "ctrl_quotes_def";
1425  *  File name selection pattern
1426  */
1427 #define zCtrl_Quotes_DefList (char*)NULL
1429  *  Machine/OS name selection pattern
1430  */
1431 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1434  *  content selection pattern - do fix if pattern found
1435  */
1436 tSCC zCtrl_Quotes_DefSelect0[] =
1437        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1439 #define    CTRL_QUOTES_DEF_TEST_CT  1
1440 static tTestDesc aCtrl_Quotes_DefTests[] = {
1441   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1444  *  Fix Command Arguments for Ctrl_Quotes_Def
1445  */
1446 static const char* apzCtrl_Quotes_DefPatch[] = {
1447     "char_macro_def",
1448     "CTRL",
1449     (char*)NULL };
1451 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1453  *  Description of Ctrl_Quotes_Use fix
1454  */
1455 tSCC zCtrl_Quotes_UseName[] =
1456      "ctrl_quotes_use";
1459  *  File name selection pattern
1460  */
1461 #define zCtrl_Quotes_UseList (char*)NULL
1463  *  Machine/OS name selection pattern
1464  */
1465 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1468  *  content selection pattern - do fix if pattern found
1469  */
1470 tSCC zCtrl_Quotes_UseSelect0[] =
1471        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1473 #define    CTRL_QUOTES_USE_TEST_CT  1
1474 static tTestDesc aCtrl_Quotes_UseTests[] = {
1475   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1478  *  Fix Command Arguments for Ctrl_Quotes_Use
1479  */
1480 static const char* apzCtrl_Quotes_UsePatch[] = {
1481     "char_macro_use",
1482     "CTRL",
1483     (char*)NULL };
1485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1487  *  Description of Cxx_Unready fix
1488  */
1489 tSCC zCxx_UnreadyName[] =
1490      "cxx_unready";
1493  *  File name selection pattern
1494  */
1495 tSCC zCxx_UnreadyList[] =
1496   "|sys/mman.h|rpc/types.h|";
1498  *  Machine/OS name selection pattern
1499  */
1500 #define apzCxx_UnreadyMachs (const char**)NULL
1503  *  content selection pattern - do fix if pattern found
1504  */
1505 tSCC zCxx_UnreadySelect0[] =
1506        "[^#]+malloc.*;";
1509  *  content bypass pattern - skip fix if pattern found
1510  */
1511 tSCC zCxx_UnreadyBypass0[] =
1512        "\"C\"|__BEGIN_DECLS";
1514 #define    CXX_UNREADY_TEST_CT  2
1515 static tTestDesc aCxx_UnreadyTests[] = {
1516   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1517   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1520  *  Fix Command Arguments for Cxx_Unready
1521  */
1522 static const char* apzCxx_UnreadyPatch[] = {
1523     "wrap",
1524     "#ifdef __cplusplus\n\
1525 extern \"C\" {\n\
1526 #endif\n",
1527     "#ifdef __cplusplus\n\
1528 }\n\
1529 #endif\n",
1530     (char*)NULL };
1532 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1534  *  Description of Darwin_Private_Extern fix
1535  */
1536 tSCC zDarwin_Private_ExternName[] =
1537      "darwin_private_extern";
1540  *  File name selection pattern
1541  */
1542 tSCC zDarwin_Private_ExternList[] =
1543   "|mach-o/dyld.h|";
1545  *  Machine/OS name selection pattern
1546  */
1547 tSCC* apzDarwin_Private_ExternMachs[] = {
1548         "*-*-darwin*",
1549         (const char*)NULL };
1552  *  content selection pattern - do fix if pattern found
1553  */
1554 tSCC zDarwin_Private_ExternSelect0[] =
1555        "__private_extern__ [a-z_]+ _dyld_";
1557 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1558 static tTestDesc aDarwin_Private_ExternTests[] = {
1559   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1562  *  Fix Command Arguments for Darwin_Private_Extern
1563  */
1564 static const char* apzDarwin_Private_ExternPatch[] = {
1565     "format",
1566     "extern",
1567     "__private_extern__",
1568     (char*)NULL };
1570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1572  *  Description of Dec_Intern_Asm fix
1573  */
1574 tSCC zDec_Intern_AsmName[] =
1575      "dec_intern_asm";
1578  *  File name selection pattern
1579  */
1580 tSCC zDec_Intern_AsmList[] =
1581   "|c_asm.h|";
1583  *  Machine/OS name selection pattern
1584  */
1585 #define apzDec_Intern_AsmMachs (const char**)NULL
1586 #define DEC_INTERN_ASM_TEST_CT  0
1587 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1590  *  Fix Command Arguments for Dec_Intern_Asm
1591  */
1592 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1593     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1594 #ifdef __DECC\n",
1595     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1596 #endif\n",
1597     (char*)NULL };
1599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1601  *  Description of Djgpp_Wchar_H fix
1602  */
1603 tSCC zDjgpp_Wchar_HName[] =
1604      "djgpp_wchar_h";
1607  *  File name selection pattern
1608  */
1609 #define zDjgpp_Wchar_HList (char*)NULL
1611  *  Machine/OS name selection pattern
1612  */
1613 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1616  *  content selection pattern - do fix if pattern found
1617  */
1618 tSCC zDjgpp_Wchar_HSelect0[] =
1619        "__DJ_wint_t";
1622  *  content bypass pattern - skip fix if pattern found
1623  */
1624 tSCC zDjgpp_Wchar_HBypass0[] =
1625        "sys/djtypes.h";
1627 #define    DJGPP_WCHAR_H_TEST_CT  2
1628 static tTestDesc aDjgpp_Wchar_HTests[] = {
1629   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1630   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1633  *  Fix Command Arguments for Djgpp_Wchar_H
1634  */
1635 static const char* apzDjgpp_Wchar_HPatch[] = {
1636     "format",
1637     "%0\n\
1638 #include <sys/djtypes.h>",
1639     "#include <stddef.h>",
1640     (char*)NULL };
1642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1644  *  Description of Ecd_Cursor fix
1645  */
1646 tSCC zEcd_CursorName[] =
1647      "ecd_cursor";
1650  *  File name selection pattern
1651  */
1652 tSCC zEcd_CursorList[] =
1653   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1655  *  Machine/OS name selection pattern
1656  */
1657 #define apzEcd_CursorMachs (const char**)NULL
1660  *  content selection pattern - do fix if pattern found
1661  */
1662 tSCC zEcd_CursorSelect0[] =
1663        "ecd\\.cursor";
1665 #define    ECD_CURSOR_TEST_CT  1
1666 static tTestDesc aEcd_CursorTests[] = {
1667   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1670  *  Fix Command Arguments for Ecd_Cursor
1671  */
1672 static const char* apzEcd_CursorPatch[] = {
1673     "format",
1674     "ecd_cursor",
1675     (char*)NULL };
1677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1679  *  Description of Freebsd_Gcc3_Breakage fix
1680  */
1681 tSCC zFreebsd_Gcc3_BreakageName[] =
1682      "freebsd_gcc3_breakage";
1685  *  File name selection pattern
1686  */
1687 tSCC zFreebsd_Gcc3_BreakageList[] =
1688   "|sys/cdefs.h|";
1690  *  Machine/OS name selection pattern
1691  */
1692 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1693         "*-*-freebsd*",
1694         (const char*)NULL };
1697  *  content selection pattern - do fix if pattern found
1698  */
1699 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1700        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1703  *  content bypass pattern - skip fix if pattern found
1704  */
1705 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1706        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1708 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1709 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1710   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1711   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1714  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1715  */
1716 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1717     "format",
1718     "%0 || __GNUC__ >= 3",
1719     (char*)NULL };
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1723  *  Description of Gnu_Types fix
1724  */
1725 tSCC zGnu_TypesName[] =
1726      "gnu_types";
1729  *  File name selection pattern
1730  */
1731 tSCC zGnu_TypesList[] =
1732   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1734  *  Machine/OS name selection pattern
1735  */
1736 #define apzGnu_TypesMachs (const char**)NULL
1739  *  content selection pattern - do fix if pattern found
1740  */
1741 tSCC zGnu_TypesSelect0[] =
1742        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1745  *  content bypass pattern - skip fix if pattern found
1746  */
1747 tSCC zGnu_TypesBypass0[] =
1748        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1750 #define    GNU_TYPES_TEST_CT  2
1751 static tTestDesc aGnu_TypesTests[] = {
1752   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
1753   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
1756  *  Fix Command Arguments for Gnu_Types
1757  */
1758 static const char* apzGnu_TypesPatch[] = {
1759     "gnu_type",
1760     (char*)NULL };
1762 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1764  *  Description of Hp_Inline fix
1765  */
1766 tSCC zHp_InlineName[] =
1767      "hp_inline";
1770  *  File name selection pattern
1771  */
1772 tSCC zHp_InlineList[] =
1773   "|sys/spinlock.h|machine/machparam.h|";
1775  *  Machine/OS name selection pattern
1776  */
1777 #define apzHp_InlineMachs (const char**)NULL
1780  *  content selection pattern - do fix if pattern found
1781  */
1782 tSCC zHp_InlineSelect0[] =
1783        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1785 #define    HP_INLINE_TEST_CT  1
1786 static tTestDesc aHp_InlineTests[] = {
1787   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
1790  *  Fix Command Arguments for Hp_Inline
1791  */
1792 static const char* apzHp_InlinePatch[] = {
1793     "format",
1794     "%1<machine/%2.h>",
1795     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1796     (char*)NULL };
1798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1800  *  Description of Hp_Sysfile fix
1801  */
1802 tSCC zHp_SysfileName[] =
1803      "hp_sysfile";
1806  *  File name selection pattern
1807  */
1808 tSCC zHp_SysfileList[] =
1809   "|sys/file.h|";
1811  *  Machine/OS name selection pattern
1812  */
1813 #define apzHp_SysfileMachs (const char**)NULL
1816  *  content selection pattern - do fix if pattern found
1817  */
1818 tSCC zHp_SysfileSelect0[] =
1819        "HPUX_SOURCE";
1821 #define    HP_SYSFILE_TEST_CT  1
1822 static tTestDesc aHp_SysfileTests[] = {
1823   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
1826  *  Fix Command Arguments for Hp_Sysfile
1827  */
1828 static const char* apzHp_SysfilePatch[] = {
1829     "format",
1830     "(struct file *, ...)",
1831     "\\(\\.\\.\\.\\)",
1832     (char*)NULL };
1834 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1836  *  Description of Hpux10_Cpp_Pow_Inline fix
1837  */
1838 tSCC zHpux10_Cpp_Pow_InlineName[] =
1839      "hpux10_cpp_pow_inline";
1842  *  File name selection pattern
1843  */
1844 tSCC zHpux10_Cpp_Pow_InlineList[] =
1845   "|fixinc-test-limits.h|math.h|";
1847  *  Machine/OS name selection pattern
1848  */
1849 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1852  *  content selection pattern - do fix if pattern found
1853  */
1854 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1855        "^# +ifdef +__cplusplus\n\
1856  +\\}\n\
1857  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
1858 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1859  +\\}\n\
1860  +extern +\"C\" +\\{\n\
1861 #else\n\
1862 # +endif";
1864 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
1865 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1866   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1869  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1870  */
1871 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1872     "format",
1873     "",
1874     (char*)NULL };
1876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1878  *  Description of Hpux11_Cpp_Pow_Inline fix
1879  */
1880 tSCC zHpux11_Cpp_Pow_InlineName[] =
1881      "hpux11_cpp_pow_inline";
1884  *  File name selection pattern
1885  */
1886 tSCC zHpux11_Cpp_Pow_InlineList[] =
1887   "|math.h|";
1889  *  Machine/OS name selection pattern
1890  */
1891 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
1894  *  content selection pattern - do fix if pattern found
1895  */
1896 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
1897        " +inline double pow\\(double d,int expon\\) \\{\n\
1898  +return pow\\(d, \\(double\\)expon\\);\n\
1899  +\\}\n";
1901 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
1902 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
1903   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1906  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
1907  */
1908 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
1909     "format",
1910     "",
1911     (char*)NULL };
1913 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1915  *  Description of Hpux10_Ctype_Declarations1 fix
1916  */
1917 tSCC zHpux10_Ctype_Declarations1Name[] =
1918      "hpux10_ctype_declarations1";
1921  *  File name selection pattern
1922  */
1923 tSCC zHpux10_Ctype_Declarations1List[] =
1924   "|ctype.h|";
1926  *  Machine/OS name selection pattern
1927  */
1928 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
1931  *  content selection pattern - do fix if pattern found
1932  */
1933 tSCC zHpux10_Ctype_Declarations1Select0[] =
1934        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
1937  *  content bypass pattern - skip fix if pattern found
1938  */
1939 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
1940        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
1942 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
1943 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
1944   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
1945   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
1948  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
1949  */
1950 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
1951     "format",
1952     "#ifdef _PROTOTYPES\n\
1953 extern int __tolower(int);\n\
1954 extern int __toupper(int);\n\
1955 #else /* NOT _PROTOTYPES */\n\
1956 extern int __tolower();\n\
1957 extern int __toupper();\n\
1958 #endif /* _PROTOTYPES */\n\n\
1959 %0\n",
1960     (char*)NULL };
1962 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1964  *  Description of Hpux10_Ctype_Declarations2 fix
1965  */
1966 tSCC zHpux10_Ctype_Declarations2Name[] =
1967      "hpux10_ctype_declarations2";
1970  *  File name selection pattern
1971  */
1972 tSCC zHpux10_Ctype_Declarations2List[] =
1973   "|ctype.h|";
1975  *  Machine/OS name selection pattern
1976  */
1977 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
1980  *  content selection pattern - do fix if pattern found
1981  */
1982 tSCC zHpux10_Ctype_Declarations2Select0[] =
1983        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
1986  *  content bypass pattern - skip fix if pattern found
1987  */
1988 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
1989        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
1991 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
1992 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
1993   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
1994   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
1997  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
1998  */
1999 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2000     "format",
2001     "%0\n\n\
2002 #ifdef _PROTOTYPES\n\
2003      extern int _isalnum(int);\n\
2004      extern int _isalpha(int);\n\
2005      extern int _iscntrl(int);\n\
2006      extern int _isdigit(int);\n\
2007      extern int _isgraph(int);\n\
2008      extern int _islower(int);\n\
2009      extern int _isprint(int);\n\
2010      extern int _ispunct(int);\n\
2011      extern int _isspace(int);\n\
2012      extern int _isupper(int);\n\
2013      extern int _isxdigit(int);\n\
2014 #  else /* not _PROTOTYPES */\n\
2015      extern int _isalnum();\n\
2016      extern int _isalpha();\n\
2017      extern int _iscntrl();\n\
2018      extern int _isdigit();\n\
2019      extern int _isgraph();\n\
2020      extern int _islower();\n\
2021      extern int _isprint();\n\
2022      extern int _ispunct();\n\
2023      extern int _isspace();\n\
2024      extern int _isupper();\n\
2025      extern int _isxdigit();\n\
2026 #endif /* _PROTOTYPES */\n",
2027     (char*)NULL };
2029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2031  *  Description of Hpux11_Abs fix
2032  */
2033 tSCC zHpux11_AbsName[] =
2034      "hpux11_abs";
2037  *  File name selection pattern
2038  */
2039 tSCC zHpux11_AbsList[] =
2040   "|stdlib.h|";
2042  *  Machine/OS name selection pattern
2043  */
2044 tSCC* apzHpux11_AbsMachs[] = {
2045         "ia64-hp-hpux11*",
2046         (const char*)NULL };
2049  *  content selection pattern - do fix if pattern found
2050  */
2051 tSCC zHpux11_AbsSelect0[] =
2052        "ifndef _MATH_INCLUDED";
2054 #define    HPUX11_ABS_TEST_CT  1
2055 static tTestDesc aHpux11_AbsTests[] = {
2056   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2059  *  Fix Command Arguments for Hpux11_Abs
2060  */
2061 static const char* apzHpux11_AbsPatch[] = {
2062     "format",
2063     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2064     (char*)NULL };
2066 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2068  *  Description of Hpux11_Fabsf fix
2069  */
2070 tSCC zHpux11_FabsfName[] =
2071      "hpux11_fabsf";
2074  *  File name selection pattern
2075  */
2076 tSCC zHpux11_FabsfList[] =
2077   "|math.h|";
2079  *  Machine/OS name selection pattern
2080  */
2081 #define apzHpux11_FabsfMachs (const char**)NULL
2084  *  content selection pattern - do fix if pattern found
2085  */
2086 tSCC zHpux11_FabsfSelect0[] =
2087        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2090  *  content bypass pattern - skip fix if pattern found
2091  */
2092 tSCC zHpux11_FabsfBypass0[] =
2093        "__cplusplus";
2095 #define    HPUX11_FABSF_TEST_CT  2
2096 static tTestDesc aHpux11_FabsfTests[] = {
2097   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2098   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2101  *  Fix Command Arguments for Hpux11_Fabsf
2102  */
2103 static const char* apzHpux11_FabsfPatch[] = {
2104     "format",
2105     "#ifndef __cplusplus\n\
2106 %0\n\
2107 #endif",
2108     (char*)NULL };
2110 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2112  *  Description of Hpux11_Size_T fix
2113  */
2114 tSCC zHpux11_Size_TName[] =
2115      "hpux11_size_t";
2118  *  File name selection pattern
2119  */
2120 #define zHpux11_Size_TList (char*)NULL
2122  *  Machine/OS name selection pattern
2123  */
2124 tSCC* apzHpux11_Size_TMachs[] = {
2125         "*-hp-hpux11*",
2126         (const char*)NULL };
2129  *  content selection pattern - do fix if pattern found
2130  */
2131 tSCC zHpux11_Size_TSelect0[] =
2132        "__size_t";
2134 #define    HPUX11_SIZE_T_TEST_CT  1
2135 static tTestDesc aHpux11_Size_TTests[] = {
2136   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2139  *  Fix Command Arguments for Hpux11_Size_T
2140  */
2141 static const char* apzHpux11_Size_TPatch[] = {
2142     "format",
2143     "_hpux_size_t",
2144     (char*)NULL };
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2148  *  Description of Hpux11_Snprintf fix
2149  */
2150 tSCC zHpux11_SnprintfName[] =
2151      "hpux11_snprintf";
2154  *  File name selection pattern
2155  */
2156 tSCC zHpux11_SnprintfList[] =
2157   "|stdio.h|";
2159  *  Machine/OS name selection pattern
2160  */
2161 #define apzHpux11_SnprintfMachs (const char**)NULL
2164  *  content selection pattern - do fix if pattern found
2165  */
2166 tSCC zHpux11_SnprintfSelect0[] =
2167        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2169 #define    HPUX11_SNPRINTF_TEST_CT  1
2170 static tTestDesc aHpux11_SnprintfTests[] = {
2171   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2174  *  Fix Command Arguments for Hpux11_Snprintf
2175  */
2176 static const char* apzHpux11_SnprintfPatch[] = {
2177     "format",
2178     "%1 const %3",
2179     (char*)NULL };
2181 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2183  *  Description of Hpux11_Uint32_C fix
2184  */
2185 tSCC zHpux11_Uint32_CName[] =
2186      "hpux11_uint32_c";
2189  *  File name selection pattern
2190  */
2191 tSCC zHpux11_Uint32_CList[] =
2192   "|inttypes.h|";
2194  *  Machine/OS name selection pattern
2195  */
2196 #define apzHpux11_Uint32_CMachs (const char**)NULL
2199  *  content selection pattern - do fix if pattern found
2200  */
2201 tSCC zHpux11_Uint32_CSelect0[] =
2202        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2204 #define    HPUX11_UINT32_C_TEST_CT  1
2205 static tTestDesc aHpux11_Uint32_CTests[] = {
2206   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2209  *  Fix Command Arguments for Hpux11_Uint32_C
2210  */
2211 static const char* apzHpux11_Uint32_CPatch[] = {
2212     "format",
2213     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2214     (char*)NULL };
2216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2218  *  Description of Hpux11_Vsnprintf fix
2219  */
2220 tSCC zHpux11_VsnprintfName[] =
2221      "hpux11_vsnprintf";
2224  *  File name selection pattern
2225  */
2226 tSCC zHpux11_VsnprintfList[] =
2227   "|stdio.h|";
2229  *  Machine/OS name selection pattern
2230  */
2231 #define apzHpux11_VsnprintfMachs (const char**)NULL
2234  *  content selection pattern - do fix if pattern found
2235  */
2236 tSCC zHpux11_VsnprintfSelect0[] =
2237        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2239 #define    HPUX11_VSNPRINTF_TEST_CT  1
2240 static tTestDesc aHpux11_VsnprintfTests[] = {
2241   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2244  *  Fix Command Arguments for Hpux11_Vsnprintf
2245  */
2246 static const char* apzHpux11_VsnprintfPatch[] = {
2247     "format",
2248     "%1 __va_list);",
2249     (char*)NULL };
2251 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2253  *  Description of Hpux8_Bogus_Inlines fix
2254  */
2255 tSCC zHpux8_Bogus_InlinesName[] =
2256      "hpux8_bogus_inlines";
2259  *  File name selection pattern
2260  */
2261 tSCC zHpux8_Bogus_InlinesList[] =
2262   "|math.h|";
2264  *  Machine/OS name selection pattern
2265  */
2266 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2269  *  content selection pattern - do fix if pattern found
2270  */
2271 tSCC zHpux8_Bogus_InlinesSelect0[] =
2272        "inline";
2274 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
2275 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2276   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2279  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2280  */
2281 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2282     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2283     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2284     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2285     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2286     (char*)NULL };
2288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2290  *  Description of Hpux_Ctype_Macros fix
2291  */
2292 tSCC zHpux_Ctype_MacrosName[] =
2293      "hpux_ctype_macros";
2296  *  File name selection pattern
2297  */
2298 tSCC zHpux_Ctype_MacrosList[] =
2299   "|ctype.h|";
2301  *  Machine/OS name selection pattern
2302  */
2303 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2306  *  content selection pattern - do fix if pattern found
2307  */
2308 tSCC zHpux_Ctype_MacrosSelect0[] =
2309        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2311 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2312 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2313   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2316  *  Fix Command Arguments for Hpux_Ctype_Macros
2317  */
2318 static const char* apzHpux_Ctype_MacrosPatch[] = {
2319     "format",
2320     "%1(int)%3",
2321     (char*)NULL };
2323 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2325  *  Description of Hpux_Long_Double fix
2326  */
2327 tSCC zHpux_Long_DoubleName[] =
2328      "hpux_long_double";
2331  *  File name selection pattern
2332  */
2333 tSCC zHpux_Long_DoubleList[] =
2334   "|stdlib.h|";
2336  *  Machine/OS name selection pattern
2337  */
2338 #define apzHpux_Long_DoubleMachs (const char**)NULL
2341  *  content selection pattern - do fix if pattern found
2342  */
2343 tSCC zHpux_Long_DoubleSelect0[] =
2344        "extern[ \t]long_double[ \t]strtold";
2347  *  content bypass pattern - skip fix if pattern found
2348  */
2349 tSCC zHpux_Long_DoubleBypass0[] =
2350        "long_double_t";
2352 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2353 static tTestDesc aHpux_Long_DoubleTests[] = {
2354   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2355   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2358  *  Fix Command Arguments for Hpux_Long_Double
2359  */
2360 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2361     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2362     "-e", "s/long_double/long double/g",
2363     (char*)NULL };
2365 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2367  *  Description of Hpux_Maxint fix
2368  */
2369 tSCC zHpux_MaxintName[] =
2370      "hpux_maxint";
2373  *  File name selection pattern
2374  */
2375 tSCC zHpux_MaxintList[] =
2376   "|sys/param.h|values.h|";
2378  *  Machine/OS name selection pattern
2379  */
2380 #define apzHpux_MaxintMachs (const char**)NULL
2383  *  content selection pattern - do fix if pattern found
2384  */
2385 tSCC zHpux_MaxintSelect0[] =
2386        "^#[ \t]*define[ \t]+MAXINT[ \t]";
2389  *  content bypass pattern - skip fix if pattern found
2390  */
2391 tSCC zHpux_MaxintBypass0[] =
2392        "^#[ \t]*ifndef[ \t]+MAXINT";
2395  *  perform the 'test' shell command - do fix on success
2396  */
2397 tSCC zHpux_MaxintTest0[] =
2398        "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2400 #define    HPUX_MAXINT_TEST_CT  3
2401 static tTestDesc aHpux_MaxintTests[] = {
2402   { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
2403   { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
2404   { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
2407  *  Fix Command Arguments for Hpux_Maxint
2408  */
2409 static const char* apzHpux_MaxintPatch[] = {
2410     "format",
2411     "#ifndef MAXINT\n\
2412 %0\n\
2413 #endif",
2414     "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2415     (char*)NULL };
2417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2419  *  Description of Hpux_Systime fix
2420  */
2421 tSCC zHpux_SystimeName[] =
2422      "hpux_systime";
2425  *  File name selection pattern
2426  */
2427 tSCC zHpux_SystimeList[] =
2428   "|sys/time.h|";
2430  *  Machine/OS name selection pattern
2431  */
2432 #define apzHpux_SystimeMachs (const char**)NULL
2435  *  content selection pattern - do fix if pattern found
2436  */
2437 tSCC zHpux_SystimeSelect0[] =
2438        "^extern struct sigevent;";
2440 #define    HPUX_SYSTIME_TEST_CT  1
2441 static tTestDesc aHpux_SystimeTests[] = {
2442   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2445  *  Fix Command Arguments for Hpux_Systime
2446  */
2447 static const char* apzHpux_SystimePatch[] = {
2448     "format",
2449     "struct sigevent;",
2450     (char*)NULL };
2452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2454  *  Description of Int_Abort_Free_And_Exit fix
2455  */
2456 tSCC zInt_Abort_Free_And_ExitName[] =
2457      "int_abort_free_and_exit";
2460  *  File name selection pattern
2461  */
2462 tSCC zInt_Abort_Free_And_ExitList[] =
2463   "|stdlib.h|";
2465  *  Machine/OS name selection pattern
2466  */
2467 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2470  *  content selection pattern - do fix if pattern found
2471  */
2472 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2473        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2475 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
2476 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2477   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2480  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2481  */
2482 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2483     "format",
2484     "void\t%1(",
2485     (char*)NULL };
2487 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2489  *  Description of Io_Quotes_Def fix
2490  */
2491 tSCC zIo_Quotes_DefName[] =
2492      "io_quotes_def";
2495  *  File name selection pattern
2496  */
2497 #define zIo_Quotes_DefList (char*)NULL
2499  *  Machine/OS name selection pattern
2500  */
2501 #define apzIo_Quotes_DefMachs (const char**)NULL
2504  *  content selection pattern - do fix if pattern found
2505  */
2506 tSCC zIo_Quotes_DefSelect0[] =
2507        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2509 #define    IO_QUOTES_DEF_TEST_CT  1
2510 static tTestDesc aIo_Quotes_DefTests[] = {
2511   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2514  *  Fix Command Arguments for Io_Quotes_Def
2515  */
2516 static const char* apzIo_Quotes_DefPatch[] = {
2517     "char_macro_def",
2518     "IO",
2519     (char*)NULL };
2521 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2523  *  Description of Io_Quotes_Use fix
2524  */
2525 tSCC zIo_Quotes_UseName[] =
2526      "io_quotes_use";
2529  *  File name selection pattern
2530  */
2531 #define zIo_Quotes_UseList (char*)NULL
2533  *  Machine/OS name selection pattern
2534  */
2535 #define apzIo_Quotes_UseMachs (const char**)NULL
2538  *  content selection pattern - do fix if pattern found
2539  */
2540 tSCC zIo_Quotes_UseSelect0[] =
2541        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2543 #define    IO_QUOTES_USE_TEST_CT  1
2544 static tTestDesc aIo_Quotes_UseTests[] = {
2545   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2548  *  Fix Command Arguments for Io_Quotes_Use
2549  */
2550 static const char* apzIo_Quotes_UsePatch[] = {
2551     "char_macro_use",
2552     "IO",
2553     (char*)NULL };
2555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2557  *  Description of Ip_Missing_Semi fix
2558  */
2559 tSCC zIp_Missing_SemiName[] =
2560      "ip_missing_semi";
2563  *  File name selection pattern
2564  */
2565 tSCC zIp_Missing_SemiList[] =
2566   "|netinet/ip.h|";
2568  *  Machine/OS name selection pattern
2569  */
2570 #define apzIp_Missing_SemiMachs (const char**)NULL
2573  *  content selection pattern - do fix if pattern found
2574  */
2575 tSCC zIp_Missing_SemiSelect0[] =
2576        "}$";
2578 #define    IP_MISSING_SEMI_TEST_CT  1
2579 static tTestDesc aIp_Missing_SemiTests[] = {
2580   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2583  *  Fix Command Arguments for Ip_Missing_Semi
2584  */
2585 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2586     "-e", "/^struct/,/^};/s/}$/};/",
2587     (char*)NULL };
2589 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2591  *  Description of Irix___Restrict fix
2592  */
2593 tSCC zIrix___RestrictName[] =
2594      "irix___restrict";
2597  *  File name selection pattern
2598  */
2599 tSCC zIrix___RestrictList[] =
2600   "|internal/sgimacros.h|";
2602  *  Machine/OS name selection pattern
2603  */
2604 tSCC* apzIrix___RestrictMachs[] = {
2605         "mips-sgi-irix6.5",
2606         (const char*)NULL };
2609  *  content selection pattern - do fix if pattern found
2610  */
2611 tSCC zIrix___RestrictSelect0[] =
2612        "(#ifdef __c99\n\
2613 )(#[ \t]*define __restrict restrict)";
2615 #define    IRIX___RESTRICT_TEST_CT  1
2616 static tTestDesc aIrix___RestrictTests[] = {
2617   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2620  *  Fix Command Arguments for Irix___Restrict
2621  */
2622 static const char* apzIrix___RestrictPatch[] = {
2623     "format",
2624     "%1#  ifndef __cplusplus\n\
2625 %2\n\
2626 #  endif",
2627     (char*)NULL };
2629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2631  *  Description of Irix_Asm_Apostrophe fix
2632  */
2633 tSCC zIrix_Asm_ApostropheName[] =
2634      "irix_asm_apostrophe";
2637  *  File name selection pattern
2638  */
2639 tSCC zIrix_Asm_ApostropheList[] =
2640   "|sys/asm.h|";
2642  *  Machine/OS name selection pattern
2643  */
2644 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2647  *  content selection pattern - do fix if pattern found
2648  */
2649 tSCC zIrix_Asm_ApostropheSelect0[] =
2650        "^[ \t]*#.*[Ww]e're";
2652 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
2653 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2654   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2657  *  Fix Command Arguments for Irix_Asm_Apostrophe
2658  */
2659 static const char* apzIrix_Asm_ApostrophePatch[] = {
2660     "format",
2661     "%1 are",
2662     "^([ \t]*#.*[Ww]e)'re",
2663     (char*)NULL };
2665 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2667  *  Description of Irix_Limits_Const fix
2668  */
2669 tSCC zIrix_Limits_ConstName[] =
2670      "irix_limits_const";
2673  *  File name selection pattern
2674  */
2675 tSCC zIrix_Limits_ConstList[] =
2676   "|fixinc-test-limits.h|limits.h|";
2678  *  Machine/OS name selection pattern
2679  */
2680 #define apzIrix_Limits_ConstMachs (const char**)NULL
2683  *  content selection pattern - do fix if pattern found
2684  */
2685 tSCC zIrix_Limits_ConstSelect0[] =
2686        "^extern const ";
2688 #define    IRIX_LIMITS_CONST_TEST_CT  1
2689 static tTestDesc aIrix_Limits_ConstTests[] = {
2690   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2693  *  Fix Command Arguments for Irix_Limits_Const
2694  */
2695 static const char* apzIrix_Limits_ConstPatch[] = {
2696     "format",
2697     "extern __const ",
2698     (char*)NULL };
2700 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2702  *  Description of Irix_Socklen_T fix
2703  */
2704 tSCC zIrix_Socklen_TName[] =
2705      "irix_socklen_t";
2708  *  File name selection pattern
2709  */
2710 tSCC zIrix_Socklen_TList[] =
2711   "|sys/socket.h|";
2713  *  Machine/OS name selection pattern
2714  */
2715 tSCC* apzIrix_Socklen_TMachs[] = {
2716         "mips-sgi-irix6.5",
2717         (const char*)NULL };
2720  *  content selection pattern - do fix if pattern found
2721  */
2722 tSCC zIrix_Socklen_TSelect0[] =
2723        "(#define _SOCKLEN_T\n\
2724 )(typedef u_int32_t socklen_t;)";
2726 #define    IRIX_SOCKLEN_T_TEST_CT  1
2727 static tTestDesc aIrix_Socklen_TTests[] = {
2728   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
2731  *  Fix Command Arguments for Irix_Socklen_T
2732  */
2733 static const char* apzIrix_Socklen_TPatch[] = {
2734     "format",
2735     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
2736 typedef int socklen_t;\n\
2737 #else\n\
2738 %2\n\
2739 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
2740     (char*)NULL };
2742 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2744  *  Description of Irix_Stdio_Va_List fix
2745  */
2746 tSCC zIrix_Stdio_Va_ListName[] =
2747      "irix_stdio_va_list";
2750  *  File name selection pattern
2751  */
2752 tSCC zIrix_Stdio_Va_ListList[] =
2753   "|stdio.h|internal/stdio_core.h|";
2755  *  Machine/OS name selection pattern
2756  */
2757 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2760  *  content selection pattern - do fix if pattern found
2761  */
2762 tSCC zIrix_Stdio_Va_ListSelect0[] =
2763        "/\\* va_list \\*/ char \\*";
2765 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
2766 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2767   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2770  *  Fix Command Arguments for Irix_Stdio_Va_List
2771  */
2772 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2773     "format",
2774     "__gnuc_va_list",
2775     (char*)NULL };
2777 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2779  *  Description of Irix_Wcsftime fix
2780  */
2781 tSCC zIrix_WcsftimeName[] =
2782      "irix_wcsftime";
2785  *  File name selection pattern
2786  */
2787 tSCC zIrix_WcsftimeList[] =
2788   "|internal/wchar_core.h|";
2790  *  Machine/OS name selection pattern
2791  */
2792 tSCC* apzIrix_WcsftimeMachs[] = {
2793         "mips-sgi-irix6.5",
2794         (const char*)NULL };
2797  *  content selection pattern - do fix if pattern found
2798  */
2799 tSCC zIrix_WcsftimeSelect0[] =
2800        "#if _NO_XOPEN5\n\
2801 (extern size_t[ \t]+wcsftime.*const char *.*)";
2803 #define    IRIX_WCSFTIME_TEST_CT  1
2804 static tTestDesc aIrix_WcsftimeTests[] = {
2805   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
2808  *  Fix Command Arguments for Irix_Wcsftime
2809  */
2810 static const char* apzIrix_WcsftimePatch[] = {
2811     "format",
2812     "#if _NO_XOPEN5 && !defined(__c99)\n\
2813 %1",
2814     (char*)NULL };
2816 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2818  *  Description of Isc_Fmod fix
2819  */
2820 tSCC zIsc_FmodName[] =
2821      "isc_fmod";
2824  *  File name selection pattern
2825  */
2826 tSCC zIsc_FmodList[] =
2827   "|math.h|";
2829  *  Machine/OS name selection pattern
2830  */
2831 #define apzIsc_FmodMachs (const char**)NULL
2834  *  content selection pattern - do fix if pattern found
2835  */
2836 tSCC zIsc_FmodSelect0[] =
2837        "fmod\\(double\\)";
2839 #define    ISC_FMOD_TEST_CT  1
2840 static tTestDesc aIsc_FmodTests[] = {
2841   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
2844  *  Fix Command Arguments for Isc_Fmod
2845  */
2846 static const char* apzIsc_FmodPatch[] = {
2847     "format",
2848     "fmod(double, double)",
2849     (char*)NULL };
2851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2853  *  Description of Isc_Omits_With_Stdc fix
2854  */
2855 tSCC zIsc_Omits_With_StdcName[] =
2856      "isc_omits_with_stdc";
2859  *  File name selection pattern
2860  */
2861 tSCC zIsc_Omits_With_StdcList[] =
2862   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2864  *  Machine/OS name selection pattern
2865  */
2866 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2869  *  content selection pattern - do fix if pattern found
2870  */
2871 tSCC zIsc_Omits_With_StdcSelect0[] =
2872        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2874 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
2875 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2876   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2879  *  Fix Command Arguments for Isc_Omits_With_Stdc
2880  */
2881 static const char* apzIsc_Omits_With_StdcPatch[] = {
2882     "format",
2883     "!defined(_POSIX_SOURCE)",
2884     (char*)NULL };
2886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2888  *  Description of Kandr_Concat fix
2889  */
2890 tSCC zKandr_ConcatName[] =
2891      "kandr_concat";
2894  *  File name selection pattern
2895  */
2896 tSCC zKandr_ConcatList[] =
2897   "|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|";
2899  *  Machine/OS name selection pattern
2900  */
2901 #define apzKandr_ConcatMachs (const char**)NULL
2904  *  content selection pattern - do fix if pattern found
2905  */
2906 tSCC zKandr_ConcatSelect0[] =
2907        "/\\*\\*/";
2909 #define    KANDR_CONCAT_TEST_CT  1
2910 static tTestDesc aKandr_ConcatTests[] = {
2911   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
2914  *  Fix Command Arguments for Kandr_Concat
2915  */
2916 static const char* apzKandr_ConcatPatch[] = {
2917     "format",
2918     "##",
2919     (char*)NULL };
2921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2923  *  Description of Libc1_G_Va_List fix
2924  */
2925 tSCC zLibc1_G_Va_ListName[] =
2926      "libc1_G_va_list";
2929  *  File name selection pattern
2930  */
2931 tSCC zLibc1_G_Va_ListList[] =
2932   "|_G_config.h|";
2934  *  Machine/OS name selection pattern
2935  */
2936 tSCC* apzLibc1_G_Va_ListMachs[] = {
2937         "*-*-linux*libc1",
2938         (const char*)NULL };
2941  *  content selection pattern - do fix if pattern found
2942  */
2943 tSCC zLibc1_G_Va_ListSelect0[] =
2944        "typedef void \\* _G_va_list;";
2946 #define    LIBC1_G_VA_LIST_TEST_CT  1
2947 static tTestDesc aLibc1_G_Va_ListTests[] = {
2948   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
2951  *  Fix Command Arguments for Libc1_G_Va_List
2952  */
2953 static const char* apzLibc1_G_Va_ListPatch[] = {
2954     "format",
2955     "typedef __builtin_va_list _G_va_list;",
2956     (char*)NULL };
2958 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2960  *  Description of Libc1_Ifdefd_Memx fix
2961  */
2962 tSCC zLibc1_Ifdefd_MemxName[] =
2963      "libc1_ifdefd_memx";
2966  *  File name selection pattern
2967  */
2968 tSCC zLibc1_Ifdefd_MemxList[] =
2969   "|testing.h|string.h|";
2971  *  Machine/OS name selection pattern
2972  */
2973 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2976  *  content selection pattern - do fix if pattern found
2977  */
2978 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2979        "' is a built-in function for gcc 2\\.x\\. \\*/";
2982  *  content bypass pattern - skip fix if pattern found
2983  */
2984 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2985        "__cplusplus";
2987 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
2988 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2989   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2990   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2993  *  Fix Command Arguments for Libc1_Ifdefd_Memx
2994  */
2995 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2996     "format",
2997     "%1",
2998     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2999 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3000 (/\\* .* \\*/\n\
3001 extern [a-z_]+ mem.*(\n\
3002 [^#].*)*;)\n\
3003 #endif",
3004     (char*)NULL };
3006 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3008  *  Description of Limits_Ifndefs fix
3009  */
3010 tSCC zLimits_IfndefsName[] =
3011      "limits_ifndefs";
3014  *  File name selection pattern
3015  */
3016 tSCC zLimits_IfndefsList[] =
3017   "|sys/limits.h|limits.h|";
3019  *  Machine/OS name selection pattern
3020  */
3021 #define apzLimits_IfndefsMachs (const char**)NULL
3024  *  content selection pattern - do fix if pattern found
3025  */
3026 tSCC zLimits_IfndefsSelect0[] =
3027        "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*";
3030  *  content bypass pattern - skip fix if pattern found
3031  */
3032 tSCC zLimits_IfndefsBypass0[] =
3033        "ifndef[ \t]+FLT_(MIN|MAX)";
3035 #define    LIMITS_IFNDEFS_TEST_CT  2
3036 static tTestDesc aLimits_IfndefsTests[] = {
3037   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL },
3038   { TT_EGREP,    zLimits_IfndefsSelect0, (regex_t*)NULL }, };
3041  *  Fix Command Arguments for Limits_Ifndefs
3042  */
3043 static const char* apzLimits_IfndefsPatch[] = {
3044     "format",
3045     "#ifndef %1\n\
3046 %0\n\
3047 #endif",
3048     (char*)NULL };
3050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3052  *  Description of Lynx_Void_Int fix
3053  */
3054 tSCC zLynx_Void_IntName[] =
3055      "lynx_void_int";
3058  *  File name selection pattern
3059  */
3060 tSCC zLynx_Void_IntList[] =
3061   "|curses.h|";
3063  *  Machine/OS name selection pattern
3064  */
3065 #define apzLynx_Void_IntMachs (const char**)NULL
3068  *  content selection pattern - do fix if pattern found
3069  */
3070 tSCC zLynx_Void_IntSelect0[] =
3071        "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
3073 #define    LYNX_VOID_INT_TEST_CT  1
3074 static tTestDesc aLynx_Void_IntTests[] = {
3075   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
3078  *  Fix Command Arguments for Lynx_Void_Int
3079  */
3080 static const char* apzLynx_Void_IntPatch[] = {
3081     "format",
3082     "",
3083     (char*)NULL };
3085 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3087  *  Description of Lynxos_Fcntl_Proto fix
3088  */
3089 tSCC zLynxos_Fcntl_ProtoName[] =
3090      "lynxos_fcntl_proto";
3093  *  File name selection pattern
3094  */
3095 tSCC zLynxos_Fcntl_ProtoList[] =
3096   "|fcntl.h|";
3098  *  Machine/OS name selection pattern
3099  */
3100 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
3103  *  content selection pattern - do fix if pattern found
3104  */
3105 tSCC zLynxos_Fcntl_ProtoSelect0[] =
3106        "fcntl[ \t]*\\(int, int, int\\)";
3108 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
3109 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
3110   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
3113  *  Fix Command Arguments for Lynxos_Fcntl_Proto
3114  */
3115 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
3116     "format",
3117     "%1...)",
3118     "(fcntl[ \t]*\\(int, int, )int\\)",
3119     (char*)NULL };
3121 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3123  *  Description of Machine_Ansi_H_Va_List fix
3124  */
3125 tSCC zMachine_Ansi_H_Va_ListName[] =
3126      "machine_ansi_h_va_list";
3129  *  File name selection pattern
3130  */
3131 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3133  *  Machine/OS name selection pattern
3134  */
3135 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3138  *  content selection pattern - do fix if pattern found
3139  */
3140 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3141        "define[ \t]+_BSD_VA_LIST_[ \t]";
3144  *  content bypass pattern - skip fix if pattern found
3145  */
3146 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3147        "__builtin_va_list";
3149 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3150 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3151   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3152   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3155  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3156  */
3157 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3158     "format",
3159     "%1__builtin_va_list",
3160     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3161     (char*)NULL };
3163 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3165  *  Description of Machine_Name fix
3166  */
3167 tSCC zMachine_NameName[] =
3168      "machine_name";
3171  *  File name selection pattern
3172  */
3173 #define zMachine_NameList (char*)NULL
3175  *  Machine/OS name selection pattern
3176  */
3177 #define apzMachine_NameMachs (const char**)NULL
3180  *  perform the C function call test
3181  */
3182 tSCC zMachine_NameFTst0[] = "machine_name";
3184 #define    MACHINE_NAME_TEST_CT  1
3185 static tTestDesc aMachine_NameTests[] = {
3186   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3189  *  Fix Command Arguments for Machine_Name
3190  */
3191 static const char* apzMachine_NamePatch[] = {
3192     "machine_name",
3193     (char*)NULL };
3195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3197  *  Description of Math_Exception fix
3198  */
3199 tSCC zMath_ExceptionName[] =
3200      "math_exception";
3203  *  File name selection pattern
3204  */
3205 tSCC zMath_ExceptionList[] =
3206   "|math.h|";
3208  *  Machine/OS name selection pattern
3209  */
3210 #define apzMath_ExceptionMachs (const char**)NULL
3213  *  content selection pattern - do fix if pattern found
3214  */
3215 tSCC zMath_ExceptionSelect0[] =
3216        "struct exception";
3219  *  content bypass pattern - skip fix if pattern found
3220  */
3221 tSCC zMath_ExceptionBypass0[] =
3222        "__cplusplus";
3224 #define    MATH_EXCEPTION_TEST_CT  2
3225 static tTestDesc aMath_ExceptionTests[] = {
3226   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3227   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3230  *  Fix Command Arguments for Math_Exception
3231  */
3232 static const char* apzMath_ExceptionPatch[] = {
3233     "wrap",
3234     "#ifdef __cplusplus\n\
3235 #define exception __math_exception\n\
3236 #endif\n",
3237     "#ifdef __cplusplus\n\
3238 #undef exception\n\
3239 #endif\n",
3240     (char*)NULL };
3242 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3244  *  Description of Math_Huge_Val_From_Dbl_Max fix
3245  */
3246 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3247      "math_huge_val_from_dbl_max";
3250  *  File name selection pattern
3251  */
3252 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3253   "|math.h|";
3255  *  Machine/OS name selection pattern
3256  */
3257 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3260  *  content selection pattern - do fix if pattern found
3261  */
3262 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3263        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3266  *  content bypass pattern - skip fix if pattern found
3267  */
3268 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3269        "define[ \t]+DBL_MAX";
3271 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3272 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3273   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3274   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3277  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3278  */
3279 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3280     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3281 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3282 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3283 \telse cat\n\
3284 \tfi",
3285     (char*)NULL };
3287 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3289  *  Description of Math_Huge_Val_Ifndef fix
3290  */
3291 tSCC zMath_Huge_Val_IfndefName[] =
3292      "math_huge_val_ifndef";
3295  *  File name selection pattern
3296  */
3297 tSCC zMath_Huge_Val_IfndefList[] =
3298   "|math.h|math/math.h|";
3300  *  Machine/OS name selection pattern
3301  */
3302 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
3305  *  content selection pattern - do fix if pattern found
3306  */
3307 tSCC zMath_Huge_Val_IfndefSelect0[] =
3308        "define[ \t]+HUGE_VAL";
3310 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
3311 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3312   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3315  *  Fix Command Arguments for Math_Huge_Val_Ifndef
3316  */
3317 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3318     "format",
3319     "#ifndef HUGE_VAL\n\
3320 %0\n\
3321 #endif",
3322     "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3323     (char*)NULL };
3325 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3327  *  Description of Nested_Auth_Des fix
3328  */
3329 tSCC zNested_Auth_DesName[] =
3330      "nested_auth_des";
3333  *  File name selection pattern
3334  */
3335 tSCC zNested_Auth_DesList[] =
3336   "|rpc/rpc.h|";
3338  *  Machine/OS name selection pattern
3339  */
3340 #define apzNested_Auth_DesMachs (const char**)NULL
3343  *  content selection pattern - do fix if pattern found
3344  */
3345 tSCC zNested_Auth_DesSelect0[] =
3346        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3348 #define    NESTED_AUTH_DES_TEST_CT  1
3349 static tTestDesc aNested_Auth_DesTests[] = {
3350   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3353  *  Fix Command Arguments for Nested_Auth_Des
3354  */
3355 static const char* apzNested_Auth_DesPatch[] = {
3356     "format",
3357     "%1*/ /*",
3358     (char*)NULL };
3360 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3362  *  Description of Nested_Motorola fix
3363  */
3364 tSCC zNested_MotorolaName[] =
3365      "nested_motorola";
3368  *  File name selection pattern
3369  */
3370 tSCC zNested_MotorolaList[] =
3371   "|sys/limits.h|limits.h|";
3373  *  Machine/OS name selection pattern
3374  */
3375 tSCC* apzNested_MotorolaMachs[] = {
3376         "m68k-motorola-sysv*",
3377         (const char*)NULL };
3380  *  content selection pattern - do fix if pattern found
3381  */
3382 tSCC zNested_MotorolaSelect0[] =
3383        "max # bytes atomic in write|error value returned by Math lib";
3385 #define    NESTED_MOTOROLA_TEST_CT  1
3386 static tTestDesc aNested_MotorolaTests[] = {
3387   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3390  *  Fix Command Arguments for Nested_Motorola
3391  */
3392 static const char* apzNested_MotorolaPatch[] = { "sed",
3393     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3394     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3395     (char*)NULL };
3397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3399  *  Description of Nested_Sys_Limits fix
3400  */
3401 tSCC zNested_Sys_LimitsName[] =
3402      "nested_sys_limits";
3405  *  File name selection pattern
3406  */
3407 tSCC zNested_Sys_LimitsList[] =
3408   "|sys/limits.h|";
3410  *  Machine/OS name selection pattern
3411  */
3412 #define apzNested_Sys_LimitsMachs (const char**)NULL
3415  *  content selection pattern - do fix if pattern found
3416  */
3417 tSCC zNested_Sys_LimitsSelect0[] =
3418        "CHILD_MAX";
3420 #define    NESTED_SYS_LIMITS_TEST_CT  1
3421 static tTestDesc aNested_Sys_LimitsTests[] = {
3422   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3425  *  Fix Command Arguments for Nested_Sys_Limits
3426  */
3427 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3428     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3429     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3430     (char*)NULL };
3432 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3434  *  Description of Netbsd_Extra_Semicolon fix
3435  */
3436 tSCC zNetbsd_Extra_SemicolonName[] =
3437      "netbsd_extra_semicolon";
3440  *  File name selection pattern
3441  */
3442 tSCC zNetbsd_Extra_SemicolonList[] =
3443   "|sys/cdefs.h|";
3445  *  Machine/OS name selection pattern
3446  */
3447 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3448         "*-*-netbsd*",
3449         (const char*)NULL };
3452  *  content selection pattern - do fix if pattern found
3453  */
3454 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3455        "#define[ \t]*__END_DECLS[ \t]*};";
3457 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3458 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3459   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3462  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3463  */
3464 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3465     "format",
3466     "#define __END_DECLS }",
3467     (char*)NULL };
3469 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3471  *  Description of Next_Math_Prefix fix
3472  */
3473 tSCC zNext_Math_PrefixName[] =
3474      "next_math_prefix";
3477  *  File name selection pattern
3478  */
3479 tSCC zNext_Math_PrefixList[] =
3480   "|ansi/math.h|";
3482  *  Machine/OS name selection pattern
3483  */
3484 #define apzNext_Math_PrefixMachs (const char**)NULL
3487  *  content selection pattern - do fix if pattern found
3488  */
3489 tSCC zNext_Math_PrefixSelect0[] =
3490        "^extern[ \t]+double[ \t]+__const__[ \t]";
3492 #define    NEXT_MATH_PREFIX_TEST_CT  1
3493 static tTestDesc aNext_Math_PrefixTests[] = {
3494   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3497  *  Fix Command Arguments for Next_Math_Prefix
3498  */
3499 static const char* apzNext_Math_PrefixPatch[] = {
3500     "format",
3501     "extern double %1(",
3502     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3503     (char*)NULL };
3505 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3507  *  Description of Next_Template fix
3508  */
3509 tSCC zNext_TemplateName[] =
3510      "next_template";
3513  *  File name selection pattern
3514  */
3515 tSCC zNext_TemplateList[] =
3516   "|bsd/libc.h|";
3518  *  Machine/OS name selection pattern
3519  */
3520 #define apzNext_TemplateMachs (const char**)NULL
3523  *  content selection pattern - do fix if pattern found
3524  */
3525 tSCC zNext_TemplateSelect0[] =
3526        "[ \t]template\\)";
3528 #define    NEXT_TEMPLATE_TEST_CT  1
3529 static tTestDesc aNext_TemplateTests[] = {
3530   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3533  *  Fix Command Arguments for Next_Template
3534  */
3535 static const char* apzNext_TemplatePatch[] = {
3536     "format",
3537     "(%1)",
3538     "\\(([^)]*)[ \t]template\\)",
3539     (char*)NULL };
3541 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3543  *  Description of Next_Volitile fix
3544  */
3545 tSCC zNext_VolitileName[] =
3546      "next_volitile";
3549  *  File name selection pattern
3550  */
3551 tSCC zNext_VolitileList[] =
3552   "|ansi/stdlib.h|";
3554  *  Machine/OS name selection pattern
3555  */
3556 #define apzNext_VolitileMachs (const char**)NULL
3559  *  content selection pattern - do fix if pattern found
3560  */
3561 tSCC zNext_VolitileSelect0[] =
3562        "^extern[ \t]+volatile[ \t]+void[ \t]";
3564 #define    NEXT_VOLITILE_TEST_CT  1
3565 static tTestDesc aNext_VolitileTests[] = {
3566   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3569  *  Fix Command Arguments for Next_Volitile
3570  */
3571 static const char* apzNext_VolitilePatch[] = {
3572     "format",
3573     "extern void %1(",
3574     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3575     (char*)NULL };
3577 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3579  *  Description of Next_Wait_Union fix
3580  */
3581 tSCC zNext_Wait_UnionName[] =
3582      "next_wait_union";
3585  *  File name selection pattern
3586  */
3587 tSCC zNext_Wait_UnionList[] =
3588   "|sys/wait.h|";
3590  *  Machine/OS name selection pattern
3591  */
3592 #define apzNext_Wait_UnionMachs (const char**)NULL
3595  *  content selection pattern - do fix if pattern found
3596  */
3597 tSCC zNext_Wait_UnionSelect0[] =
3598        "wait\\(union wait";
3600 #define    NEXT_WAIT_UNION_TEST_CT  1
3601 static tTestDesc aNext_Wait_UnionTests[] = {
3602   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3605  *  Fix Command Arguments for Next_Wait_Union
3606  */
3607 static const char* apzNext_Wait_UnionPatch[] = {
3608     "format",
3609     "wait(void",
3610     (char*)NULL };
3612 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3614  *  Description of Nodeent_Syntax fix
3615  */
3616 tSCC zNodeent_SyntaxName[] =
3617      "nodeent_syntax";
3620  *  File name selection pattern
3621  */
3622 tSCC zNodeent_SyntaxList[] =
3623   "|netdnet/dnetdb.h|";
3625  *  Machine/OS name selection pattern
3626  */
3627 #define apzNodeent_SyntaxMachs (const char**)NULL
3630  *  content selection pattern - do fix if pattern found
3631  */
3632 tSCC zNodeent_SyntaxSelect0[] =
3633        "char[ \t]*\\*na_addr[ \t]*$";
3635 #define    NODEENT_SYNTAX_TEST_CT  1
3636 static tTestDesc aNodeent_SyntaxTests[] = {
3637   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3640  *  Fix Command Arguments for Nodeent_Syntax
3641  */
3642 static const char* apzNodeent_SyntaxPatch[] = {
3643     "format",
3644     "%0;",
3645     (char*)NULL };
3647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3649  *  Description of Obstack_Lvalue_Cast fix
3650  */
3651 tSCC zObstack_Lvalue_CastName[] =
3652      "obstack_lvalue_cast";
3655  *  File name selection pattern
3656  */
3657 tSCC zObstack_Lvalue_CastList[] =
3658   "|obstack.h|";
3660  *  Machine/OS name selection pattern
3661  */
3662 #define apzObstack_Lvalue_CastMachs (const char**)NULL
3665  *  content selection pattern - do fix if pattern found
3666  */
3667 tSCC zObstack_Lvalue_CastSelect0[] =
3668        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
3670 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
3671 static tTestDesc aObstack_Lvalue_CastTests[] = {
3672   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
3675  *  Fix Command Arguments for Obstack_Lvalue_Cast
3676  */
3677 static const char* apzObstack_Lvalue_CastPatch[] = {
3678     "format",
3679     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
3680     (char*)NULL };
3682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3684  *  Description of Osf_Namespace_A fix
3685  */
3686 tSCC zOsf_Namespace_AName[] =
3687      "osf_namespace_a";
3690  *  File name selection pattern
3691  */
3692 tSCC zOsf_Namespace_AList[] =
3693   "|reg_types.h|sys/lc_core.h|";
3695  *  Machine/OS name selection pattern
3696  */
3697 #define apzOsf_Namespace_AMachs (const char**)NULL
3700  *  perform the 'test' shell command - do fix on success
3701  */
3702 tSCC zOsf_Namespace_ATest0[] =
3703        " -r reg_types.h";
3704 tSCC zOsf_Namespace_ATest1[] =
3705        " -r sys/lc_core.h";
3706 tSCC zOsf_Namespace_ATest2[] =
3707        " -n \"`grep '} regex_t;' reg_types.h`\"";
3708 tSCC zOsf_Namespace_ATest3[] =
3709        " -z \"`grep __regex_t regex.h`\"";
3711 #define    OSF_NAMESPACE_A_TEST_CT  4
3712 static tTestDesc aOsf_Namespace_ATests[] = {
3713   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
3714   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
3715   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
3716   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
3719  *  Fix Command Arguments for Osf_Namespace_A
3720  */
3721 static const char* apzOsf_Namespace_APatch[] = {
3722     "format",
3723     "__%0",
3724     "reg(ex|off|match)_t",
3725     (char*)NULL };
3727 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3729  *  Description of Osf_Namespace_C fix
3730  */
3731 tSCC zOsf_Namespace_CName[] =
3732      "osf_namespace_c";
3735  *  File name selection pattern
3736  */
3737 tSCC zOsf_Namespace_CList[] =
3738   "|regex.h|";
3740  *  Machine/OS name selection pattern
3741  */
3742 #define apzOsf_Namespace_CMachs (const char**)NULL
3745  *  content selection pattern - do fix if pattern found
3746  */
3747 tSCC zOsf_Namespace_CSelect0[] =
3748        "#include <reg_types.h>.*";
3751  *  perform the 'test' shell command - do fix on success
3752  */
3753 tSCC zOsf_Namespace_CTest0[] =
3754        " -r reg_types.h";
3755 tSCC zOsf_Namespace_CTest1[] =
3756        " -r sys/lc_core.h";
3757 tSCC zOsf_Namespace_CTest2[] =
3758        " -n \"`grep '} regex_t;' reg_types.h`\"";
3759 tSCC zOsf_Namespace_CTest3[] =
3760        " -z \"`grep __regex_t regex.h`\"";
3762 #define    OSF_NAMESPACE_C_TEST_CT  5
3763 static tTestDesc aOsf_Namespace_CTests[] = {
3764   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
3765   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
3766   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
3767   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
3768   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3771  *  Fix Command Arguments for Osf_Namespace_C
3772  */
3773 static const char* apzOsf_Namespace_CPatch[] = {
3774     "format",
3775     "%0\n\
3776 typedef __regex_t\tregex_t;\n\
3777 typedef __regoff_t\tregoff_t;\n\
3778 typedef __regmatch_t\tregmatch_t;",
3779     (char*)NULL };
3781 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3783  *  Description of Pthread_Page_Size fix
3784  */
3785 tSCC zPthread_Page_SizeName[] =
3786      "pthread_page_size";
3789  *  File name selection pattern
3790  */
3791 tSCC zPthread_Page_SizeList[] =
3792   "|pthread.h|";
3794  *  Machine/OS name selection pattern
3795  */
3796 #define apzPthread_Page_SizeMachs (const char**)NULL
3799  *  content selection pattern - do fix if pattern found
3800  */
3801 tSCC zPthread_Page_SizeSelect0[] =
3802        "^int __page_size";
3804 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
3805 static tTestDesc aPthread_Page_SizeTests[] = {
3806   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3809  *  Fix Command Arguments for Pthread_Page_Size
3810  */
3811 static const char* apzPthread_Page_SizePatch[] = {
3812     "format",
3813     "extern %0",
3814     (char*)NULL };
3816 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3818  *  Description of Read_Ret_Type fix
3819  */
3820 tSCC zRead_Ret_TypeName[] =
3821      "read_ret_type";
3824  *  File name selection pattern
3825  */
3826 tSCC zRead_Ret_TypeList[] =
3827   "|stdio.h|";
3829  *  Machine/OS name selection pattern
3830  */
3831 #define apzRead_Ret_TypeMachs (const char**)NULL
3834  *  content selection pattern - do fix if pattern found
3835  */
3836 tSCC zRead_Ret_TypeSelect0[] =
3837        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3839 #define    READ_RET_TYPE_TEST_CT  1
3840 static tTestDesc aRead_Ret_TypeTests[] = {
3841   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3844  *  Fix Command Arguments for Read_Ret_Type
3845  */
3846 static const char* apzRead_Ret_TypePatch[] = {
3847     "format",
3848     "extern unsigned int fread(), fwrite();\n\
3849 %1%2",
3850     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3851     (char*)NULL };
3853 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3855  *  Description of Rs6000_Double fix
3856  */
3857 tSCC zRs6000_DoubleName[] =
3858      "rs6000_double";
3861  *  File name selection pattern
3862  */
3863 tSCC zRs6000_DoubleList[] =
3864   "|math.h|";
3866  *  Machine/OS name selection pattern
3867  */
3868 #define apzRs6000_DoubleMachs (const char**)NULL
3871  *  content selection pattern - do fix if pattern found
3872  */
3873 tSCC zRs6000_DoubleSelect0[] =
3874        "[^a-zA-Z_]class\\(";
3876 #define    RS6000_DOUBLE_TEST_CT  1
3877 static tTestDesc aRs6000_DoubleTests[] = {
3878   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3881  *  Fix Command Arguments for Rs6000_Double
3882  */
3883 static const char* apzRs6000_DoublePatch[] = {
3884     "format",
3885     "#ifndef __cplusplus\n\
3886 %0\n\
3887 #endif",
3888     "^.*[^a-zA-Z_]class\\(.*",
3889     (char*)NULL };
3891 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3893  *  Description of Rs6000_Fchmod fix
3894  */
3895 tSCC zRs6000_FchmodName[] =
3896      "rs6000_fchmod";
3899  *  File name selection pattern
3900  */
3901 tSCC zRs6000_FchmodList[] =
3902   "|sys/stat.h|";
3904  *  Machine/OS name selection pattern
3905  */
3906 #define apzRs6000_FchmodMachs (const char**)NULL
3909  *  content selection pattern - do fix if pattern found
3910  */
3911 tSCC zRs6000_FchmodSelect0[] =
3912        "fchmod\\(char \\*";
3914 #define    RS6000_FCHMOD_TEST_CT  1
3915 static tTestDesc aRs6000_FchmodTests[] = {
3916   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3919  *  Fix Command Arguments for Rs6000_Fchmod
3920  */
3921 static const char* apzRs6000_FchmodPatch[] = {
3922     "format",
3923     "fchmod(int",
3924     (char*)NULL };
3926 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3928  *  Description of Rs6000_Param fix
3929  */
3930 tSCC zRs6000_ParamName[] =
3931      "rs6000_param";
3934  *  File name selection pattern
3935  */
3936 tSCC zRs6000_ParamList[] =
3937   "|stdio.h|unistd.h|";
3939  *  Machine/OS name selection pattern
3940  */
3941 #define apzRs6000_ParamMachs (const char**)NULL
3944  *  content selection pattern - do fix if pattern found
3945  */
3946 tSCC zRs6000_ParamSelect0[] =
3947        "rename\\(const char \\*old, const char \\*new\\)";
3949 #define    RS6000_PARAM_TEST_CT  1
3950 static tTestDesc aRs6000_ParamTests[] = {
3951   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
3954  *  Fix Command Arguments for Rs6000_Param
3955  */
3956 static const char* apzRs6000_ParamPatch[] = {
3957     "format",
3958     "rename(const char *_old, const char *_new)",
3959     (char*)NULL };
3961 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3963  *  Description of Sco_Math fix
3964  */
3965 tSCC zSco_MathName[] =
3966      "sco_math";
3969  *  File name selection pattern
3970  */
3971 tSCC zSco_MathList[] =
3972   "|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|";
3974  *  Machine/OS name selection pattern
3975  */
3976 #define apzSco_MathMachs (const char**)NULL
3979  *  content selection pattern - do fix if pattern found
3980  */
3981 tSCC zSco_MathSelect0[] =
3982        "inline double abs";
3984 #define    SCO_MATH_TEST_CT  1
3985 static tTestDesc aSco_MathTests[] = {
3986   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
3989  *  Fix Command Arguments for Sco_Math
3990  */
3991 static const char* apzSco_MathPatch[] = { "sed",
3992     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
3993 #ifndef __GNUC__\n",
3994     "-e", "/.*__builtin_generic/a\\\n\
3995 #else\\\n\
3996 #define __fp_class(a) \\\\\\\n\
3997   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
3998    __fpclassifyl(a), \\\\\\\n\
3999     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4000       __fpclassifyf(a),__fpclassify(a)))\\\n\
4001 #endif",
4002     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4003 #ifndef __GNUC__\n",
4004     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4005 #endif /* ! __GNUC__ */",
4006     (char*)NULL };
4008 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4010  *  Description of Sco_Regset fix
4011  */
4012 tSCC zSco_RegsetName[] =
4013      "sco_regset";
4016  *  File name selection pattern
4017  */
4018 tSCC zSco_RegsetList[] =
4019   "|sys/regset.h|";
4021  *  Machine/OS name selection pattern
4022  */
4023 tSCC* apzSco_RegsetMachs[] = {
4024         "*-*-sco3.2v5*",
4025         (const char*)NULL };
4028  *  content selection pattern - do fix if pattern found
4029  */
4030 tSCC zSco_RegsetSelect0[] =
4031        "(struct[ \t]+.*)fpstate";
4033 #define    SCO_REGSET_TEST_CT  1
4034 static tTestDesc aSco_RegsetTests[] = {
4035   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4038  *  Fix Command Arguments for Sco_Regset
4039  */
4040 static const char* apzSco_RegsetPatch[] = {
4041     "format",
4042     "%1rsfpstate",
4043     (char*)NULL };
4045 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4047  *  Description of Sco_Static_Func fix
4048  */
4049 tSCC zSco_Static_FuncName[] =
4050      "sco_static_func";
4053  *  File name selection pattern
4054  */
4055 tSCC zSco_Static_FuncList[] =
4056   "|sys/stat.h|";
4058  *  Machine/OS name selection pattern
4059  */
4060 tSCC* apzSco_Static_FuncMachs[] = {
4061         "i?86-*-sco3.2*",
4062         (const char*)NULL };
4065  *  content selection pattern - do fix if pattern found
4066  */
4067 tSCC zSco_Static_FuncSelect0[] =
4068        "^static int";
4070 #define    SCO_STATIC_FUNC_TEST_CT  1
4071 static tTestDesc aSco_Static_FuncTests[] = {
4072   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4075  *  Fix Command Arguments for Sco_Static_Func
4076  */
4077 static const char* apzSco_Static_FuncPatch[] = { "sed",
4078     "-e", "/^static int/i\\\n\
4079 #if __cplusplus\\\n\
4080 extern \"C\" {\\\n\
4081 #endif /* __cplusplus */",
4082     "-e", "/^}$/a\\\n\
4083 #if __cplusplus\\\n\
4084  }\\\n\
4085 #endif /* __cplusplus */",
4086     (char*)NULL };
4088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4090  *  Description of Sco_Utime fix
4091  */
4092 tSCC zSco_UtimeName[] =
4093      "sco_utime";
4096  *  File name selection pattern
4097  */
4098 tSCC zSco_UtimeList[] =
4099   "|sys/times.h|";
4101  *  Machine/OS name selection pattern
4102  */
4103 tSCC* apzSco_UtimeMachs[] = {
4104         "i?86-*-sco3.2v4*",
4105         (const char*)NULL };
4108  *  content selection pattern - do fix if pattern found
4109  */
4110 tSCC zSco_UtimeSelect0[] =
4111        "\\(const char \\*, struct utimbuf \\*\\);";
4113 #define    SCO_UTIME_TEST_CT  1
4114 static tTestDesc aSco_UtimeTests[] = {
4115   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4118  *  Fix Command Arguments for Sco_Utime
4119  */
4120 static const char* apzSco_UtimePatch[] = {
4121     "format",
4122     "(const char *, const struct utimbuf *);",
4123     (char*)NULL };
4125 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4127  *  Description of Solaris_Mutex_Init_1 fix
4128  */
4129 tSCC zSolaris_Mutex_Init_1Name[] =
4130      "solaris_mutex_init_1";
4133  *  File name selection pattern
4134  */
4135 tSCC zSolaris_Mutex_Init_1List[] =
4136   "|pthread.h|";
4138  *  Machine/OS name selection pattern
4139  */
4140 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
4143  *  content selection pattern - do fix if pattern found
4144  */
4145 tSCC zSolaris_Mutex_Init_1Select0[] =
4146        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
4148 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
4149 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
4150   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
4153  *  Fix Command Arguments for Solaris_Mutex_Init_1
4154  */
4155 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
4156     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
4157 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
4158     (char*)NULL };
4160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4162  *  Description of Solaris_Mutex_Init_2 fix
4163  */
4164 tSCC zSolaris_Mutex_Init_2Name[] =
4165      "solaris_mutex_init_2";
4168  *  File name selection pattern
4169  */
4170 tSCC zSolaris_Mutex_Init_2List[] =
4171   "|pthread.h|";
4173  *  Machine/OS name selection pattern
4174  */
4175 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
4178  *  content selection pattern - do fix if pattern found
4179  */
4180 tSCC zSolaris_Mutex_Init_2Select0[] =
4181        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4183 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
4184 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
4185   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
4188  *  Fix Command Arguments for Solaris_Mutex_Init_2
4189  */
4190 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4191     "format",
4192     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4193 %0\n\
4194 #else\n\
4195 %1, {0}}%3\n\
4196 #endif",
4197     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4198     (char*)NULL };
4200 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4202  *  Description of Solaris_Socket fix
4203  */
4204 tSCC zSolaris_SocketName[] =
4205      "solaris_socket";
4208  *  File name selection pattern
4209  */
4210 tSCC zSolaris_SocketList[] =
4211   "|sys/socket.h|";
4213  *  Machine/OS name selection pattern
4214  */
4215 #define apzSolaris_SocketMachs (const char**)NULL
4218  *  content selection pattern - do fix if pattern found
4219  */
4220 tSCC zSolaris_SocketSelect0[] =
4221        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4223 #define    SOLARIS_SOCKET_TEST_CT  1
4224 static tTestDesc aSolaris_SocketTests[] = {
4225   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
4228  *  Fix Command Arguments for Solaris_Socket
4229  */
4230 static const char* apzSolaris_SocketPatch[] = {
4231     "format",
4232     "extern int %1(int, %2void *, int, int);",
4233     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4234     (char*)NULL };
4236 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4238  *  Description of Solaris_Stdio_Tag fix
4239  */
4240 tSCC zSolaris_Stdio_TagName[] =
4241      "solaris_stdio_tag";
4244  *  File name selection pattern
4245  */
4246 tSCC zSolaris_Stdio_TagList[] =
4247   "|stdio_tag.h|";
4249  *  Machine/OS name selection pattern
4250  */
4251 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4254  *  content selection pattern - do fix if pattern found
4255  */
4256 tSCC zSolaris_Stdio_TagSelect0[] =
4257        "__cplusplus < 54321L";
4259 #define    SOLARIS_STDIO_TAG_TEST_CT  1
4260 static tTestDesc aSolaris_Stdio_TagTests[] = {
4261   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4264  *  Fix Command Arguments for Solaris_Stdio_Tag
4265  */
4266 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4267     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4268     (char*)NULL };
4270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4272  *  Description of Solaris_Unistd fix
4273  */
4274 tSCC zSolaris_UnistdName[] =
4275      "solaris_unistd";
4278  *  File name selection pattern
4279  */
4280 tSCC zSolaris_UnistdList[] =
4281   "|unistd.h|";
4283  *  Machine/OS name selection pattern
4284  */
4285 #define apzSolaris_UnistdMachs (const char**)NULL
4288  *  content selection pattern - do fix if pattern found
4289  */
4290 tSCC zSolaris_UnistdSelect0[] =
4291        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4294  *  content bypass pattern - skip fix if pattern found
4295  */
4296 tSCC zSolaris_UnistdBypass0[] =
4297        "getpagesize";
4299 #define    SOLARIS_UNISTD_TEST_CT  2
4300 static tTestDesc aSolaris_UnistdTests[] = {
4301   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
4302   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4305  *  Fix Command Arguments for Solaris_Unistd
4306  */
4307 static const char* apzSolaris_UnistdPatch[] = {
4308     "format",
4309     "extern int getpagesize();\n\
4310 %0",
4311     "^extern (pid_t|int) getpgid\\(.*\\);",
4312     (char*)NULL };
4314 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4316  *  Description of Solaris_Widec fix
4317  */
4318 tSCC zSolaris_WidecName[] =
4319      "solaris_widec";
4322  *  File name selection pattern
4323  */
4324 tSCC zSolaris_WidecList[] =
4325   "|widec.h|";
4327  *  Machine/OS name selection pattern
4328  */
4329 tSCC* apzSolaris_WidecMachs[] = {
4330         "*-*-solaris2.[0-5]",
4331         "*-*-solaris2.[0-5].*",
4332         (const char*)NULL };
4335  *  content selection pattern - do fix if pattern found
4336  */
4337 tSCC zSolaris_WidecSelect0[] =
4338        "#include <euc.h>";
4341  *  content bypass pattern - skip fix if pattern found
4342  */
4343 tSCC zSolaris_WidecBypass0[] =
4344        "include.*wchar\\.h";
4346 #define    SOLARIS_WIDEC_TEST_CT  2
4347 static tTestDesc aSolaris_WidecTests[] = {
4348   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
4349   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
4352  *  Fix Command Arguments for Solaris_Widec
4353  */
4354 static const char* apzSolaris_WidecPatch[] = {
4355     "format",
4356     "%0\n\
4357 #include <wchar.h>",
4358     (char*)NULL };
4360 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4362  *  Description of Statsswtch fix
4363  */
4364 tSCC zStatsswtchName[] =
4365      "statsswtch";
4368  *  File name selection pattern
4369  */
4370 tSCC zStatsswtchList[] =
4371   "|rpcsvc/rstat.h|";
4373  *  Machine/OS name selection pattern
4374  */
4375 #define apzStatsswtchMachs (const char**)NULL
4378  *  content selection pattern - do fix if pattern found
4379  */
4380 tSCC zStatsswtchSelect0[] =
4381        "boottime$";
4383 #define    STATSSWTCH_TEST_CT  1
4384 static tTestDesc aStatsswtchTests[] = {
4385   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
4388  *  Fix Command Arguments for Statsswtch
4389  */
4390 static const char* apzStatsswtchPatch[] = {
4391     "format",
4392     "boottime;",
4393     (char*)NULL };
4395 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4397  *  Description of Stdio_Stdarg_H fix
4398  */
4399 tSCC zStdio_Stdarg_HName[] =
4400      "stdio_stdarg_h";
4403  *  File name selection pattern
4404  */
4405 tSCC zStdio_Stdarg_HList[] =
4406   "|stdio.h|";
4408  *  Machine/OS name selection pattern
4409  */
4410 #define apzStdio_Stdarg_HMachs (const char**)NULL
4413  *  content bypass pattern - skip fix if pattern found
4414  */
4415 tSCC zStdio_Stdarg_HBypass0[] =
4416        "include.*(stdarg.h|machine/ansi.h)";
4418 #define    STDIO_STDARG_H_TEST_CT  1
4419 static tTestDesc aStdio_Stdarg_HTests[] = {
4420   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4423  *  Fix Command Arguments for Stdio_Stdarg_H
4424  */
4425 static const char* apzStdio_Stdarg_HPatch[] = {
4426     "wrap",
4427     "#define __need___va_list\n\
4428 #include <stdarg.h>\n",
4429     (char*)NULL };
4431 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4433  *  Description of Stdio_Va_List fix
4434  */
4435 tSCC zStdio_Va_ListName[] =
4436      "stdio_va_list";
4439  *  File name selection pattern
4440  */
4441 tSCC zStdio_Va_ListList[] =
4442   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
4444  *  Machine/OS name selection pattern
4445  */
4446 #define apzStdio_Va_ListMachs (const char**)NULL
4449  *  content bypass pattern - skip fix if pattern found
4450  */
4451 tSCC zStdio_Va_ListBypass0[] =
4452        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4454 #define    STDIO_VA_LIST_TEST_CT  1
4455 static tTestDesc aStdio_Va_ListTests[] = {
4456   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
4459  *  Fix Command Arguments for Stdio_Va_List
4460  */
4461 static const char* apzStdio_Va_ListPatch[] = { "sed",
4462     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4463 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4464 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4465 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4466 s@ va_list@ __not_va_list__@\n\
4467 s@\\*va_list@*__not_va_list__@\n\
4468 s@ __va_list)@ __gnuc_va_list)@\n\
4469 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4470 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4471 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4472 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
4473 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4474 s@VA_LIST@DUMMY_VA_LIST@\n\
4475 s@_Va_LIST@_VA_LIST@",
4476     (char*)NULL };
4478 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4480  *  Description of Strict_Ansi_Not fix
4481  */
4482 tSCC zStrict_Ansi_NotName[] =
4483      "strict_ansi_not";
4486  *  File name selection pattern
4487  */
4488 #define zStrict_Ansi_NotList (char*)NULL
4490  *  Machine/OS name selection pattern
4491  */
4492 #define apzStrict_Ansi_NotMachs (const char**)NULL
4495  *  content selection pattern - do fix if pattern found
4496  */
4497 tSCC zStrict_Ansi_NotSelect0[] =
4498        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
4501  *  content bypass pattern - skip fix if pattern found
4502  */
4503 tSCC zStrict_Ansi_NotBypass0[] =
4504        "GNU and MIPS C compilers define __STDC__ differently";
4505 tSCC zStrict_Ansi_NotBypass1[] =
4506        "__SCO_VERSION__.*__STDC__ != 1";
4509  *  perform the C function call test
4510  */
4511 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
4513 #define    STRICT_ANSI_NOT_TEST_CT  4
4514 static tTestDesc aStrict_Ansi_NotTests[] = {
4515   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
4516   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
4517   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
4518   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
4521  *  Fix Command Arguments for Strict_Ansi_Not
4522  */
4523 static const char* apzStrict_Ansi_NotPatch[] = {
4524     "format",
4525     "%1 !defined(__STRICT_ANSI__)",
4526     (char*)NULL };
4528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4530  *  Description of Strict_Ansi_Not_Ctd fix
4531  */
4532 tSCC zStrict_Ansi_Not_CtdName[] =
4533      "strict_ansi_not_ctd";
4536  *  File name selection pattern
4537  */
4538 tSCC zStrict_Ansi_Not_CtdList[] =
4539   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
4541  *  Machine/OS name selection pattern
4542  */
4543 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
4546  *  content selection pattern - do fix if pattern found
4547  */
4548 tSCC zStrict_Ansi_Not_CtdSelect0[] =
4549        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
4552  *  perform the C function call test
4553  */
4554 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
4556 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
4557 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
4558   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
4559   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
4562  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
4563  */
4564 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
4565     "format",
4566     "%1 !defined(__STRICT_ANSI__)",
4567     (char*)NULL };
4569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4571  *  Description of Strict_Ansi_Only fix
4572  */
4573 tSCC zStrict_Ansi_OnlyName[] =
4574      "strict_ansi_only";
4577  *  File name selection pattern
4578  */
4579 #define zStrict_Ansi_OnlyList (char*)NULL
4581  *  Machine/OS name selection pattern
4582  */
4583 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
4586  *  content selection pattern - do fix if pattern found
4587  */
4588 tSCC zStrict_Ansi_OnlySelect0[] =
4589        "^([ \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)";
4592  *  perform the C function call test
4593  */
4594 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
4596 #define    STRICT_ANSI_ONLY_TEST_CT  2
4597 static tTestDesc aStrict_Ansi_OnlyTests[] = {
4598   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
4599   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
4602  *  Fix Command Arguments for Strict_Ansi_Only
4603  */
4604 static const char* apzStrict_Ansi_OnlyPatch[] = {
4605     "format",
4606     "%1 defined(__STRICT_ANSI__)",
4607     (char*)NULL };
4609 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4611  *  Description of Struct_File fix
4612  */
4613 tSCC zStruct_FileName[] =
4614      "struct_file";
4617  *  File name selection pattern
4618  */
4619 tSCC zStruct_FileList[] =
4620   "|rpc/xdr.h|";
4622  *  Machine/OS name selection pattern
4623  */
4624 #define apzStruct_FileMachs (const char**)NULL
4627  *  content selection pattern - do fix if pattern found
4628  */
4629 tSCC zStruct_FileSelect0[] =
4630        "^.*xdrstdio_create.*struct __file_s";
4632 #define    STRUCT_FILE_TEST_CT  1
4633 static tTestDesc aStruct_FileTests[] = {
4634   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
4637  *  Fix Command Arguments for Struct_File
4638  */
4639 static const char* apzStruct_FilePatch[] = {
4640     "format",
4641     "struct __file_s;\n\
4642 %0",
4643     (char*)NULL };
4645 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4647  *  Description of Struct_Sockaddr fix
4648  */
4649 tSCC zStruct_SockaddrName[] =
4650      "struct_sockaddr";
4653  *  File name selection pattern
4654  */
4655 tSCC zStruct_SockaddrList[] =
4656   "|rpc/auth.h|";
4658  *  Machine/OS name selection pattern
4659  */
4660 #define apzStruct_SockaddrMachs (const char**)NULL
4663  *  content selection pattern - do fix if pattern found
4664  */
4665 tSCC zStruct_SockaddrSelect0[] =
4666        "^.*authdes_create.*struct sockaddr[^_]";
4669  *  content bypass pattern - skip fix if pattern found
4670  */
4671 tSCC zStruct_SockaddrBypass0[] =
4672        "<sys/socket.h>";
4673 tSCC zStruct_SockaddrBypass1[] =
4674        "struct sockaddr;\n";
4676 #define    STRUCT_SOCKADDR_TEST_CT  3
4677 static tTestDesc aStruct_SockaddrTests[] = {
4678   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
4679   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
4680   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4683  *  Fix Command Arguments for Struct_Sockaddr
4684  */
4685 static const char* apzStruct_SockaddrPatch[] = {
4686     "format",
4687     "struct sockaddr;\n\
4688 %0",
4689     (char*)NULL };
4691 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4693  *  Description of Sun_Auth_Proto fix
4694  */
4695 tSCC zSun_Auth_ProtoName[] =
4696      "sun_auth_proto";
4699  *  File name selection pattern
4700  */
4701 tSCC zSun_Auth_ProtoList[] =
4702   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4704  *  Machine/OS name selection pattern
4705  */
4706 #define apzSun_Auth_ProtoMachs (const char**)NULL
4709  *  content selection pattern - do fix if pattern found
4710  */
4711 tSCC zSun_Auth_ProtoSelect0[] =
4712        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4714 #define    SUN_AUTH_PROTO_TEST_CT  1
4715 static tTestDesc aSun_Auth_ProtoTests[] = {
4716   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4719  *  Fix Command Arguments for Sun_Auth_Proto
4720  */
4721 static const char* apzSun_Auth_ProtoPatch[] = {
4722     "format",
4723     "#ifdef __cplusplus\n\
4724 %1(...);%2\n\
4725 #else\n\
4726 %1();%2\n\
4727 #endif",
4728     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4729     (char*)NULL };
4731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4733  *  Description of Sun_Bogus_Ifdef fix
4734  */
4735 tSCC zSun_Bogus_IfdefName[] =
4736      "sun_bogus_ifdef";
4739  *  File name selection pattern
4740  */
4741 tSCC zSun_Bogus_IfdefList[] =
4742   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
4744  *  Machine/OS name selection pattern
4745  */
4746 #define apzSun_Bogus_IfdefMachs (const char**)NULL
4749  *  content selection pattern - do fix if pattern found
4750  */
4751 tSCC zSun_Bogus_IfdefSelect0[] =
4752        "#ifdef(.*\\|\\|.*)";
4754 #define    SUN_BOGUS_IFDEF_TEST_CT  1
4755 static tTestDesc aSun_Bogus_IfdefTests[] = {
4756   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
4759  *  Fix Command Arguments for Sun_Bogus_Ifdef
4760  */
4761 static const char* apzSun_Bogus_IfdefPatch[] = {
4762     "format",
4763     "#if%1",
4764     (char*)NULL };
4766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4768  *  Description of Sun_Catmacro fix
4769  */
4770 tSCC zSun_CatmacroName[] =
4771      "sun_catmacro";
4774  *  File name selection pattern
4775  */
4776 tSCC zSun_CatmacroList[] =
4777   "|pixrect/memvar.h|";
4779  *  Machine/OS name selection pattern
4780  */
4781 #define apzSun_CatmacroMachs (const char**)NULL
4784  *  content selection pattern - do fix if pattern found
4785  */
4786 tSCC zSun_CatmacroSelect0[] =
4787        "^#define[ \t]+CAT\\(a,b\\).*";
4789 #define    SUN_CATMACRO_TEST_CT  1
4790 static tTestDesc aSun_CatmacroTests[] = {
4791   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
4794  *  Fix Command Arguments for Sun_Catmacro
4795  */
4796 static const char* apzSun_CatmacroPatch[] = {
4797     "format",
4798     "#ifdef __STDC__\n\
4799 #  define CAT(a,b) a##b\n\
4800 #else\n\
4801 %0\n\
4802 #endif",
4803     (char*)NULL };
4805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4807  *  Description of Sun_Malloc fix
4808  */
4809 tSCC zSun_MallocName[] =
4810      "sun_malloc";
4813  *  File name selection pattern
4814  */
4815 tSCC zSun_MallocList[] =
4816   "|malloc.h|";
4818  *  Machine/OS name selection pattern
4819  */
4820 #define apzSun_MallocMachs (const char**)NULL
4821 #define SUN_MALLOC_TEST_CT  0
4822 #define aSun_MallocTests   (tTestDesc*)NULL
4825  *  Fix Command Arguments for Sun_Malloc
4826  */
4827 static const char* apzSun_MallocPatch[] = { "sed",
4828     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4829     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4830     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4831     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
4832     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
4833     (char*)NULL };
4835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4837  *  Description of Sun_Rusers_Semi fix
4838  */
4839 tSCC zSun_Rusers_SemiName[] =
4840      "sun_rusers_semi";
4843  *  File name selection pattern
4844  */
4845 tSCC zSun_Rusers_SemiList[] =
4846   "|rpcsvc/rusers.h|";
4848  *  Machine/OS name selection pattern
4849  */
4850 #define apzSun_Rusers_SemiMachs (const char**)NULL
4853  *  content selection pattern - do fix if pattern found
4854  */
4855 tSCC zSun_Rusers_SemiSelect0[] =
4856        "_cnt$";
4858 #define    SUN_RUSERS_SEMI_TEST_CT  1
4859 static tTestDesc aSun_Rusers_SemiTests[] = {
4860   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
4863  *  Fix Command Arguments for Sun_Rusers_Semi
4864  */
4865 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
4866     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
4867     (char*)NULL };
4869 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4871  *  Description of Sun_Signal fix
4872  */
4873 tSCC zSun_SignalName[] =
4874      "sun_signal";
4877  *  File name selection pattern
4878  */
4879 tSCC zSun_SignalList[] =
4880   "|sys/signal.h|signal.h|";
4882  *  Machine/OS name selection pattern
4883  */
4884 #define apzSun_SignalMachs (const char**)NULL
4887  *  content selection pattern - do fix if pattern found
4888  */
4889 tSCC zSun_SignalSelect0[] =
4890        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
4892 #define    SUN_SIGNAL_TEST_CT  1
4893 static tTestDesc aSun_SignalTests[] = {
4894   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
4897  *  Fix Command Arguments for Sun_Signal
4898  */
4899 static const char* apzSun_SignalPatch[] = {
4900     "format",
4901     "#ifdef __cplusplus\n\
4902 void\t(*signal(...))(...);\n\
4903 #else\n\
4904 %0\n\
4905 #endif",
4906     (char*)NULL };
4908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4910  *  Description of Sunos_Matherr_Decl fix
4911  */
4912 tSCC zSunos_Matherr_DeclName[] =
4913      "sunos_matherr_decl";
4916  *  File name selection pattern
4917  */
4918 tSCC zSunos_Matherr_DeclList[] =
4919   "|math.h|";
4921  *  Machine/OS name selection pattern
4922  */
4923 #define apzSunos_Matherr_DeclMachs (const char**)NULL
4926  *  content selection pattern - do fix if pattern found
4927  */
4928 tSCC zSunos_Matherr_DeclSelect0[] =
4929        "matherr";
4932  *  content bypass pattern - skip fix if pattern found
4933  */
4934 tSCC zSunos_Matherr_DeclBypass0[] =
4935        "matherr.*(struct exception|__MATH_EXCEPTION)";
4937 #define    SUNOS_MATHERR_DECL_TEST_CT  2
4938 static tTestDesc aSunos_Matherr_DeclTests[] = {
4939   { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4940   { TT_EGREP,    zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
4943  *  Fix Command Arguments for Sunos_Matherr_Decl
4944  */
4945 static const char* apzSunos_Matherr_DeclPatch[] = {
4946     "wrap",
4947     "struct exception;\n",
4948     (char*)NULL };
4950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4952  *  Description of Sunos_Strlen fix
4953  */
4954 tSCC zSunos_StrlenName[] =
4955      "sunos_strlen";
4958  *  File name selection pattern
4959  */
4960 tSCC zSunos_StrlenList[] =
4961   "|strings.h|";
4963  *  Machine/OS name selection pattern
4964  */
4965 #define apzSunos_StrlenMachs (const char**)NULL
4968  *  content selection pattern - do fix if pattern found
4969  */
4970 tSCC zSunos_StrlenSelect0[] =
4971        "int[ \t]*strlen\\(\\);(.*)";
4973 #define    SUNOS_STRLEN_TEST_CT  1
4974 static tTestDesc aSunos_StrlenTests[] = {
4975   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
4978  *  Fix Command Arguments for Sunos_Strlen
4979  */
4980 static const char* apzSunos_StrlenPatch[] = {
4981     "format",
4982     "__SIZE_TYPE__ strlen();%1",
4983     (char*)NULL };
4985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4987  *  Description of Svr4__P fix
4988  */
4989 tSCC zSvr4__PName[] =
4990      "svr4__p";
4993  *  File name selection pattern
4994  */
4995 tSCC zSvr4__PList[] =
4996   "|math.h|floatingpoint.h|";
4998  *  Machine/OS name selection pattern
4999  */
5000 #define apzSvr4__PMachs (const char**)NULL
5003  *  content selection pattern - do fix if pattern found
5004  */
5005 tSCC zSvr4__PSelect0[] =
5006        "^#define[ \t]+__P.*";
5008 #define    SVR4__P_TEST_CT  1
5009 static tTestDesc aSvr4__PTests[] = {
5010   { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
5013  *  Fix Command Arguments for Svr4__P
5014  */
5015 static const char* apzSvr4__PPatch[] = {
5016     "format",
5017     "#ifndef __P\n\
5018 %0\n\
5019 #endif",
5020     (char*)NULL };
5022 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5024  *  Description of Svr4_Disable_Opt fix
5025  */
5026 tSCC zSvr4_Disable_OptName[] =
5027      "svr4_disable_opt";
5030  *  File name selection pattern
5031  */
5032 tSCC zSvr4_Disable_OptList[] =
5033   "|string.h|";
5035  *  Machine/OS name selection pattern
5036  */
5037 #define apzSvr4_Disable_OptMachs (const char**)NULL
5040  *  content selection pattern - do fix if pattern found
5041  */
5042 tSCC zSvr4_Disable_OptSelect0[] =
5043        "#define.*__std_hdr_";
5045 #define    SVR4_DISABLE_OPT_TEST_CT  1
5046 static tTestDesc aSvr4_Disable_OptTests[] = {
5047   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5050  *  Fix Command Arguments for Svr4_Disable_Opt
5051  */
5052 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5053     "-e", "/#define.*__std_hdr_/d",
5054     (char*)NULL };
5056 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5058  *  Description of Svr4_Getcwd fix
5059  */
5060 tSCC zSvr4_GetcwdName[] =
5061      "svr4_getcwd";
5064  *  File name selection pattern
5065  */
5066 tSCC zSvr4_GetcwdList[] =
5067   "|stdlib.h|unistd.h|prototypes.h|";
5069  *  Machine/OS name selection pattern
5070  */
5071 #define apzSvr4_GetcwdMachs (const char**)NULL
5074  *  content selection pattern - do fix if pattern found
5075  */
5076 tSCC zSvr4_GetcwdSelect0[] =
5077        "getcwd\\(char \\*, int\\)";
5079 #define    SVR4_GETCWD_TEST_CT  1
5080 static tTestDesc aSvr4_GetcwdTests[] = {
5081   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5084  *  Fix Command Arguments for Svr4_Getcwd
5085  */
5086 static const char* apzSvr4_GetcwdPatch[] = {
5087     "format",
5088     "getcwd(char *, size_t)",
5089     (char*)NULL };
5091 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5093  *  Description of Svr4_Krnl fix
5094  */
5095 tSCC zSvr4_KrnlName[] =
5096      "svr4_krnl";
5099  *  File name selection pattern
5100  */
5101 tSCC zSvr4_KrnlList[] =
5102   "|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|";
5104  *  Machine/OS name selection pattern
5105  */
5106 tSCC* apzSvr4_KrnlMachs[] = {
5107         "*-*-sysv4*",
5108         "i?86-sequent-ptx*",
5109         (const char*)NULL };
5112  *  content bypass pattern - skip fix if pattern found
5113  */
5114 tSCC zSvr4_KrnlBypass0[] =
5115        "_KERNEL";
5117 #define    SVR4_KRNL_TEST_CT  1
5118 static tTestDesc aSvr4_KrnlTests[] = {
5119   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
5122  *  Fix Command Arguments for Svr4_Krnl
5123  */
5124 static const char* apzSvr4_KrnlPatch[] = {
5125     "wrap",
5126     "#ifdef _KERNEL\n",
5127     "#endif /* _KERNEL */\n",
5128     (char*)NULL };
5130 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5132  *  Description of Svr4_Profil fix
5133  */
5134 tSCC zSvr4_ProfilName[] =
5135      "svr4_profil";
5138  *  File name selection pattern
5139  */
5140 tSCC zSvr4_ProfilList[] =
5141   "|stdlib.h|unistd.h|";
5143  *  Machine/OS name selection pattern
5144  */
5145 #define apzSvr4_ProfilMachs (const char**)NULL
5148  *  content selection pattern - do fix if pattern found
5149  */
5150 tSCC zSvr4_ProfilSelect0[] =
5151        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
5153 #define    SVR4_PROFIL_TEST_CT  1
5154 static tTestDesc aSvr4_ProfilTests[] = {
5155   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
5158  *  Fix Command Arguments for Svr4_Profil
5159  */
5160 static const char* apzSvr4_ProfilPatch[] = {
5161     "format",
5162     "profil(unsigned short *, size_t, int, unsigned int)",
5163     (char*)NULL };
5165 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5167  *  Description of Svr4_Sighandler_Type fix
5168  */
5169 tSCC zSvr4_Sighandler_TypeName[] =
5170      "svr4_sighandler_type";
5173  *  File name selection pattern
5174  */
5175 tSCC zSvr4_Sighandler_TypeList[] =
5176   "|sys/signal.h|";
5178  *  Machine/OS name selection pattern
5179  */
5180 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
5183  *  content selection pattern - do fix if pattern found
5184  */
5185 tSCC zSvr4_Sighandler_TypeSelect0[] =
5186        "void *\\(\\*\\)\\(\\)";
5188 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
5189 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
5190   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
5193  *  Fix Command Arguments for Svr4_Sighandler_Type
5194  */
5195 static const char* apzSvr4_Sighandler_TypePatch[] = {
5196     "format",
5197     "void (*)(int)",
5198     (char*)NULL };
5200 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5202  *  Description of Svr4_Undeclared_Getrnge fix
5203  */
5204 tSCC zSvr4_Undeclared_GetrngeName[] =
5205      "svr4_undeclared_getrnge";
5208  *  File name selection pattern
5209  */
5210 tSCC zSvr4_Undeclared_GetrngeList[] =
5211   "|regexp.h|";
5213  *  Machine/OS name selection pattern
5214  */
5215 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
5218  *  content selection pattern - do fix if pattern found
5219  */
5220 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
5221        "getrnge";
5224  *  content bypass pattern - skip fix if pattern found
5225  */
5226 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
5227        "static void getrnge";
5229 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
5230 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
5231   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
5232   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
5235  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
5236  */
5237 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
5238     "format",
5239     "%0\n\
5240 static int getrnge ();",
5241     "^static int[ \t]+size;",
5242     (char*)NULL };
5244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5246  *  Description of Sysv68_String fix
5247  */
5248 tSCC zSysv68_StringName[] =
5249      "sysv68_string";
5252  *  File name selection pattern
5253  */
5254 tSCC zSysv68_StringList[] =
5255   "|testing.h|string.h|";
5257  *  Machine/OS name selection pattern
5258  */
5259 #define apzSysv68_StringMachs (const char**)NULL
5260 #define SYSV68_STRING_TEST_CT  0
5261 #define aSysv68_StringTests   (tTestDesc*)NULL
5264  *  Fix Command Arguments for Sysv68_String
5265  */
5266 static const char* apzSysv68_StringPatch[] = { "sed",
5267     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
5268     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
5269     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
5270     "-e", "/^extern char$/N",
5271     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
5272     "-e", "/^extern int$/N",
5273     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
5274     "-e", "/^\tstrncmp(),$/N",
5275     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
5276 extern unsigned int\\\n\
5277 \\2/",
5278     (char*)NULL };
5280 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5282  *  Description of Sysz_Stdlib_For_Sun fix
5283  */
5284 tSCC zSysz_Stdlib_For_SunName[] =
5285      "sysz_stdlib_for_sun";
5288  *  File name selection pattern
5289  */
5290 tSCC zSysz_Stdlib_For_SunList[] =
5291   "|stdlib.h|";
5293  *  Machine/OS name selection pattern
5294  */
5295 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
5298  *  content selection pattern - do fix if pattern found
5299  */
5300 tSCC zSysz_Stdlib_For_SunSelect0[] =
5301        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
5303 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
5304 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5305   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5308  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
5309  */
5310 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5311     "format",
5312     "void *\t%1(",
5313     (char*)NULL };
5315 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5317  *  Description of Thread_Keyword fix
5318  */
5319 tSCC zThread_KeywordName[] =
5320      "thread_keyword";
5323  *  File name selection pattern
5324  */
5325 tSCC zThread_KeywordList[] =
5326   "|pthread.h|bits/sigthread.h|";
5328  *  Machine/OS name selection pattern
5329  */
5330 #define apzThread_KeywordMachs (const char**)NULL
5333  *  content selection pattern - do fix if pattern found
5334  */
5335 tSCC zThread_KeywordSelect0[] =
5336        "([* ])__thread([,)])";
5338 #define    THREAD_KEYWORD_TEST_CT  1
5339 static tTestDesc aThread_KeywordTests[] = {
5340   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
5343  *  Fix Command Arguments for Thread_Keyword
5344  */
5345 static const char* apzThread_KeywordPatch[] = {
5346     "format",
5347     "%1__thr%2",
5348     (char*)NULL };
5350 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5352  *  Description of Tinfo_Cplusplus fix
5353  */
5354 tSCC zTinfo_CplusplusName[] =
5355      "tinfo_cplusplus";
5358  *  File name selection pattern
5359  */
5360 tSCC zTinfo_CplusplusList[] =
5361   "|tinfo.h|";
5363  *  Machine/OS name selection pattern
5364  */
5365 #define apzTinfo_CplusplusMachs (const char**)NULL
5368  *  content selection pattern - do fix if pattern found
5369  */
5370 tSCC zTinfo_CplusplusSelect0[] =
5371        "[ \t]_cplusplus";
5373 #define    TINFO_CPLUSPLUS_TEST_CT  1
5374 static tTestDesc aTinfo_CplusplusTests[] = {
5375   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5378  *  Fix Command Arguments for Tinfo_Cplusplus
5379  */
5380 static const char* apzTinfo_CplusplusPatch[] = {
5381     "format",
5382     " __cplusplus",
5383     (char*)NULL };
5385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5387  *  Description of Ultrix_Atexit_Param fix
5388  */
5389 tSCC zUltrix_Atexit_ParamName[] =
5390      "ultrix_atexit_param";
5393  *  File name selection pattern
5394  */
5395 tSCC zUltrix_Atexit_ParamList[] =
5396   "|stdlib.h|";
5398  *  Machine/OS name selection pattern
5399  */
5400 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5403  *  content selection pattern - do fix if pattern found
5404  */
5405 tSCC zUltrix_Atexit_ParamSelect0[] =
5406        "atexit\\(.*\\(\\)";
5408 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
5409 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5410   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5413  *  Fix Command Arguments for Ultrix_Atexit_Param
5414  */
5415 static const char* apzUltrix_Atexit_ParamPatch[] = {
5416     "format",
5417     "atexit( void (*__func)( void )",
5418     (char*)NULL };
5420 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5422  *  Description of Ultrix_Atof_Param fix
5423  */
5424 tSCC zUltrix_Atof_ParamName[] =
5425      "ultrix_atof_param";
5428  *  File name selection pattern
5429  */
5430 tSCC zUltrix_Atof_ParamList[] =
5431   "|math.h|";
5433  *  Machine/OS name selection pattern
5434  */
5435 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5438  *  content selection pattern - do fix if pattern found
5439  */
5440 tSCC zUltrix_Atof_ParamSelect0[] =
5441        "atof\\([ \t]*char";
5443 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
5444 static tTestDesc aUltrix_Atof_ParamTests[] = {
5445   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5448  *  Fix Command Arguments for Ultrix_Atof_Param
5449  */
5450 static const char* apzUltrix_Atof_ParamPatch[] = {
5451     "format",
5452     "atof(const char",
5453     (char*)NULL };
5455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5457  *  Description of Ultrix_Const fix
5458  */
5459 tSCC zUltrix_ConstName[] =
5460      "ultrix_const";
5463  *  File name selection pattern
5464  */
5465 tSCC zUltrix_ConstList[] =
5466   "|stdio.h|";
5468  *  Machine/OS name selection pattern
5469  */
5470 #define apzUltrix_ConstMachs (const char**)NULL
5473  *  content selection pattern - do fix if pattern found
5474  */
5475 tSCC zUltrix_ConstSelect0[] =
5476        "perror\\( char \\*";
5478 #define    ULTRIX_CONST_TEST_CT  1
5479 static tTestDesc aUltrix_ConstTests[] = {
5480   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
5483  *  Fix Command Arguments for Ultrix_Const
5484  */
5485 static const char* apzUltrix_ConstPatch[] = {
5486     "format",
5487     "%1 const %3 *__",
5488     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5489     (char*)NULL };
5491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5493  *  Description of Ultrix_Const2 fix
5494  */
5495 tSCC zUltrix_Const2Name[] =
5496      "ultrix_const2";
5499  *  File name selection pattern
5500  */
5501 tSCC zUltrix_Const2List[] =
5502   "|stdio.h|";
5504  *  Machine/OS name selection pattern
5505  */
5506 #define apzUltrix_Const2Machs (const char**)NULL
5509  *  content selection pattern - do fix if pattern found
5510  */
5511 tSCC zUltrix_Const2Select0[] =
5512        "\\*fopen\\( char \\*";
5514 #define    ULTRIX_CONST2_TEST_CT  1
5515 static tTestDesc aUltrix_Const2Tests[] = {
5516   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
5519  *  Fix Command Arguments for Ultrix_Const2
5520  */
5521 static const char* apzUltrix_Const2Patch[] = {
5522     "format",
5523     "%1( const char *%3, const char *",
5524     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
5525     (char*)NULL };
5527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5529  *  Description of Ultrix_Fix_Fixproto fix
5530  */
5531 tSCC zUltrix_Fix_FixprotoName[] =
5532      "ultrix_fix_fixproto";
5535  *  File name selection pattern
5536  */
5537 tSCC zUltrix_Fix_FixprotoList[] =
5538   "|sys/utsname.h|";
5540  *  Machine/OS name selection pattern
5541  */
5542 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
5545  *  content selection pattern - do fix if pattern found
5546  */
5547 tSCC zUltrix_Fix_FixprotoSelect0[] =
5548        "ULTRIX";
5550 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
5551 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
5552   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
5555  *  Fix Command Arguments for Ultrix_Fix_Fixproto
5556  */
5557 static const char* apzUltrix_Fix_FixprotoPatch[] = {
5558     "format",
5559     "struct utsname;\n\
5560 %0",
5561     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
5562     (char*)NULL };
5564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5566  *  Description of Ultrix_Ifdef fix
5567  */
5568 tSCC zUltrix_IfdefName[] =
5569      "ultrix_ifdef";
5572  *  File name selection pattern
5573  */
5574 tSCC zUltrix_IfdefList[] =
5575   "|sys/file.h|";
5577  *  Machine/OS name selection pattern
5578  */
5579 #define apzUltrix_IfdefMachs (const char**)NULL
5582  *  content selection pattern - do fix if pattern found
5583  */
5584 tSCC zUltrix_IfdefSelect0[] =
5585        "^#ifdef KERNEL[ \t]+&&";
5587 #define    ULTRIX_IFDEF_TEST_CT  1
5588 static tTestDesc aUltrix_IfdefTests[] = {
5589   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
5592  *  Fix Command Arguments for Ultrix_Ifdef
5593  */
5594 static const char* apzUltrix_IfdefPatch[] = {
5595     "format",
5596     "#if defined(KERNEL) &&",
5597     (char*)NULL };
5599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5601  *  Description of Ultrix_Math_Ifdef fix
5602  */
5603 tSCC zUltrix_Math_IfdefName[] =
5604      "ultrix_math_ifdef";
5607  *  File name selection pattern
5608  */
5609 tSCC zUltrix_Math_IfdefList[] =
5610   "|sys/limits.h|float.h|math.h|";
5612  *  Machine/OS name selection pattern
5613  */
5614 #define apzUltrix_Math_IfdefMachs (const char**)NULL
5617  *  content selection pattern - do fix if pattern found
5618  */
5619 tSCC zUltrix_Math_IfdefSelect0[] =
5620        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
5622 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
5623 static tTestDesc aUltrix_Math_IfdefTests[] = {
5624   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
5627  *  Fix Command Arguments for Ultrix_Math_Ifdef
5628  */
5629 static const char* apzUltrix_Math_IfdefPatch[] = {
5630     "format",
5631     "%1",
5632     (char*)NULL };
5634 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5636  *  Description of Ultrix_Nested_Ioctl fix
5637  */
5638 tSCC zUltrix_Nested_IoctlName[] =
5639      "ultrix_nested_ioctl";
5642  *  File name selection pattern
5643  */
5644 tSCC zUltrix_Nested_IoctlList[] =
5645   "|sys/ioctl.h|";
5647  *  Machine/OS name selection pattern
5648  */
5649 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
5652  *  content selection pattern - do fix if pattern found
5653  */
5654 tSCC zUltrix_Nested_IoctlSelect0[] =
5655        "^/\\* #define SIOCSCREEN";
5657 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
5658 static tTestDesc aUltrix_Nested_IoctlTests[] = {
5659   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
5662  *  Fix Command Arguments for Ultrix_Nested_Ioctl
5663  */
5664 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
5665     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
5666     (char*)NULL };
5668 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5670  *  Description of Ultrix_Nested_Svc fix
5671  */
5672 tSCC zUltrix_Nested_SvcName[] =
5673      "ultrix_nested_svc";
5676  *  File name selection pattern
5677  */
5678 tSCC zUltrix_Nested_SvcList[] =
5679   "|rpc/svc.h|";
5681  *  Machine/OS name selection pattern
5682  */
5683 #define apzUltrix_Nested_SvcMachs (const char**)NULL
5686  *  content selection pattern - do fix if pattern found
5687  */
5688 tSCC zUltrix_Nested_SvcSelect0[] =
5689        "^ \\*[ \t]*int protocol;  */\\*";
5691 #define    ULTRIX_NESTED_SVC_TEST_CT  1
5692 static tTestDesc aUltrix_Nested_SvcTests[] = {
5693   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
5696  *  Fix Command Arguments for Ultrix_Nested_Svc
5697  */
5698 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
5699     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
5700     (char*)NULL };
5702 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5704  *  Description of Ultrix_Stat fix
5705  */
5706 tSCC zUltrix_StatName[] =
5707      "ultrix_stat";
5710  *  File name selection pattern
5711  */
5712 tSCC zUltrix_StatList[] =
5713   "|sys/stat.h|";
5715  *  Machine/OS name selection pattern
5716  */
5717 #define apzUltrix_StatMachs (const char**)NULL
5720  *  content selection pattern - do fix if pattern found
5721  */
5722 tSCC zUltrix_StatSelect0[] =
5723        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
5725 #define    ULTRIX_STAT_TEST_CT  1
5726 static tTestDesc aUltrix_StatTests[] = {
5727   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
5730  *  Fix Command Arguments for Ultrix_Stat
5731  */
5732 static const char* apzUltrix_StatPatch[] = { "sed",
5733     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
5734 \\\n\
5735 /* macro to test for symbolic link */\\\n\
5736 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
5737     "-e", "/^[ \t]*fstat(),$/a\\\n\
5738 \tlstat(),\n",
5739     (char*)NULL };
5741 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5743  *  Description of Ultrix_Static fix
5744  */
5745 tSCC zUltrix_StaticName[] =
5746      "ultrix_static";
5749  *  File name selection pattern
5750  */
5751 tSCC zUltrix_StaticList[] =
5752   "|machine/cpu.h|";
5754  *  Machine/OS name selection pattern
5755  */
5756 #define apzUltrix_StaticMachs (const char**)NULL
5759  *  content selection pattern - do fix if pattern found
5760  */
5761 tSCC zUltrix_StaticSelect0[] =
5762        "#include \"r[34]_cpu";
5764 #define    ULTRIX_STATIC_TEST_CT  1
5765 static tTestDesc aUltrix_StaticTests[] = {
5766   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
5769  *  Fix Command Arguments for Ultrix_Static
5770  */
5771 static const char* apzUltrix_StaticPatch[] = { "sed",
5772     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
5773     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
5774     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
5775     (char*)NULL };
5777 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5779  *  Description of Ultrix_Strings fix
5780  */
5781 tSCC zUltrix_StringsName[] =
5782      "ultrix_strings";
5785  *  File name selection pattern
5786  */
5787 tSCC zUltrix_StringsList[] =
5788   "|strings.h|";
5790  *  Machine/OS name selection pattern
5791  */
5792 #define apzUltrix_StringsMachs (const char**)NULL
5795  *  content selection pattern - do fix if pattern found
5796  */
5797 tSCC zUltrix_StringsSelect0[] =
5798        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
5800 #define    ULTRIX_STRINGS_TEST_CT  1
5801 static tTestDesc aUltrix_StringsTests[] = {
5802   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
5805  *  Fix Command Arguments for Ultrix_Strings
5806  */
5807 static const char* apzUltrix_StringsPatch[] = {
5808     "wrap",
5809     (char*)NULL };
5811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5813  *  Description of Undefine_Null fix
5814  */
5815 tSCC zUndefine_NullName[] =
5816      "undefine_null";
5819  *  File name selection pattern
5820  */
5821 #define zUndefine_NullList (char*)NULL
5823  *  Machine/OS name selection pattern
5824  */
5825 #define apzUndefine_NullMachs (const char**)NULL
5828  *  content selection pattern - do fix if pattern found
5829  */
5830 tSCC zUndefine_NullSelect0[] =
5831        "^#[ \t]*define[ \t]+NULL[ \t]";
5834  *  content bypass pattern - skip fix if pattern found
5835  */
5836 tSCC zUndefine_NullBypass0[] =
5837        "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
5839 #define    UNDEFINE_NULL_TEST_CT  2
5840 static tTestDesc aUndefine_NullTests[] = {
5841   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
5842   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
5845  *  Fix Command Arguments for Undefine_Null
5846  */
5847 static const char* apzUndefine_NullPatch[] = {
5848     "format",
5849     "#ifndef NULL\n\
5850 #define NULL%1\n\
5851 #endif\n",
5852     "^#[ \t]*define[ \t]+NULL([^\r\n\
5853 ]+)[\r]*\n",
5854     (char*)NULL };
5856 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5858  *  Description of Unicosmk_Restrict fix
5859  */
5860 tSCC zUnicosmk_RestrictName[] =
5861      "unicosmk_restrict";
5864  *  File name selection pattern
5865  */
5866 tSCC zUnicosmk_RestrictList[] =
5867   "|stdio.h|stdlib.h|wchar.h|";
5869  *  Machine/OS name selection pattern
5870  */
5871 tSCC* apzUnicosmk_RestrictMachs[] = {
5872         "*-*-unicosmk*",
5873         (const char*)NULL };
5876  *  content selection pattern - do fix if pattern found
5877  */
5878 tSCC zUnicosmk_RestrictSelect0[] =
5879        "(\\*[ \t]*)restrict([ \t]+)";
5881 #define    UNICOSMK_RESTRICT_TEST_CT  1
5882 static tTestDesc aUnicosmk_RestrictTests[] = {
5883   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
5886  *  Fix Command Arguments for Unicosmk_Restrict
5887  */
5888 static const char* apzUnicosmk_RestrictPatch[] = {
5889     "format",
5890     "%1__restrict__%2",
5891     (char*)NULL };
5893 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5895  *  Description of Uw7_Byteorder_Fix fix
5896  */
5897 tSCC zUw7_Byteorder_FixName[] =
5898      "uw7_byteorder_fix";
5901  *  File name selection pattern
5902  */
5903 tSCC zUw7_Byteorder_FixList[] =
5904   "|arpa/inet.h|";
5906  *  Machine/OS name selection pattern
5907  */
5908 tSCC* apzUw7_Byteorder_FixMachs[] = {
5909         "*-*-sysv4*",
5910         "i?86-*-sysv5*",
5911         "i?86-*-udk*",
5912         "i?86-*-solaris2.[0-4]",
5913         "powerpcle-*-solaris2.[0-4]",
5914         "sparc-*-solaris2.[0-4]",
5915         (const char*)NULL };
5918  *  content selection pattern - do fix if pattern found
5919  */
5920 tSCC zUw7_Byteorder_FixSelect0[] =
5921        "in_port_t";
5924  *  perform the 'test' shell command - do fix on success
5925  */
5926 tSCC zUw7_Byteorder_FixTest0[] =
5927        "-f sys/byteorder.h";
5929 #define    UW7_BYTEORDER_FIX_TEST_CT  2
5930 static tTestDesc aUw7_Byteorder_FixTests[] = {
5931   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
5932   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
5935  *  Fix Command Arguments for Uw7_Byteorder_Fix
5936  */
5937 static const char* apzUw7_Byteorder_FixPatch[] = {
5938     "format",
5939     "",
5940     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
5941     (char*)NULL };
5943 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5945  *  Description of Va_I960_Macro fix
5946  */
5947 tSCC zVa_I960_MacroName[] =
5948      "va_i960_macro";
5951  *  File name selection pattern
5952  */
5953 tSCC zVa_I960_MacroList[] =
5954   "|arch/i960/archI960.h|";
5956  *  Machine/OS name selection pattern
5957  */
5958 #define apzVa_I960_MacroMachs (const char**)NULL
5961  *  content selection pattern - do fix if pattern found
5962  */
5963 tSCC zVa_I960_MacroSelect0[] =
5964        "__(vsiz|vali|vpad|alignof__)";
5966 #define    VA_I960_MACRO_TEST_CT  1
5967 static tTestDesc aVa_I960_MacroTests[] = {
5968   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
5971  *  Fix Command Arguments for Va_I960_Macro
5972  */
5973 static const char* apzVa_I960_MacroPatch[] = {
5974     "format",
5975     "__vx%1",
5976     (char*)NULL };
5978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5980  *  Description of Void_Null fix
5981  */
5982 tSCC zVoid_NullName[] =
5983      "void_null";
5986  *  File name selection pattern
5987  */
5988 tSCC zVoid_NullList[] =
5989   "|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|";
5991  *  Machine/OS name selection pattern
5992  */
5993 #define apzVoid_NullMachs (const char**)NULL
5996  *  content selection pattern - do fix if pattern found
5997  */
5998 tSCC zVoid_NullSelect0[] =
5999        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
6001 #define    VOID_NULL_TEST_CT  1
6002 static tTestDesc aVoid_NullTests[] = {
6003   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
6006  *  Fix Command Arguments for Void_Null
6007  */
6008 static const char* apzVoid_NullPatch[] = {
6009     "format",
6010     "#define NULL 0",
6011     (char*)NULL };
6013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6015  *  Description of Vxworks_Gcc_Problem fix
6016  */
6017 tSCC zVxworks_Gcc_ProblemName[] =
6018      "vxworks_gcc_problem";
6021  *  File name selection pattern
6022  */
6023 tSCC zVxworks_Gcc_ProblemList[] =
6024   "|types/vxTypesBase.h|";
6026  *  Machine/OS name selection pattern
6027  */
6028 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
6031  *  content selection pattern - do fix if pattern found
6032  */
6033 tSCC zVxworks_Gcc_ProblemSelect0[] =
6034        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
6036 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
6037 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
6038   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
6041  *  Fix Command Arguments for Vxworks_Gcc_Problem
6042  */
6043 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
6044     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
6045     "-e", "/[ \t]size_t/i\\\n\
6046 #ifndef _GCC_SIZE_T\\\n\
6047 #define _GCC_SIZE_T\n",
6048     "-e", "/[ \t]size_t/a\\\n\
6049 #endif\n",
6050     "-e", "/[ \t]ptrdiff_t/i\\\n\
6051 #ifndef _GCC_PTRDIFF_T\\\n\
6052 #define _GCC_PTRDIFF_T\n",
6053     "-e", "/[ \t]ptrdiff_t/a\\\n\
6054 #endif\n",
6055     "-e", "/[ \t]wchar_t/i\\\n\
6056 #ifndef _GCC_WCHAR_T\\\n\
6057 #define _GCC_WCHAR_T\n",
6058     "-e", "/[ \t]wchar_t/a\\\n\
6059 #endif\n",
6060     (char*)NULL };
6062 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6064  *  Description of Vxworks_Needs_Vxtypes fix
6065  */
6066 tSCC zVxworks_Needs_VxtypesName[] =
6067      "vxworks_needs_vxtypes";
6070  *  File name selection pattern
6071  */
6072 tSCC zVxworks_Needs_VxtypesList[] =
6073   "|time.h|";
6075  *  Machine/OS name selection pattern
6076  */
6077 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
6080  *  content selection pattern - do fix if pattern found
6081  */
6082 tSCC zVxworks_Needs_VxtypesSelect0[] =
6083        "uint_t([ \t]+_clocks_per_sec)";
6085 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
6086 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
6087   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
6090  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
6091  */
6092 static const char* apzVxworks_Needs_VxtypesPatch[] = {
6093     "format",
6094     "unsigned int%1",
6095     (char*)NULL };
6097 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6099  *  Description of Vxworks_Needs_Vxworks fix
6100  */
6101 tSCC zVxworks_Needs_VxworksName[] =
6102      "vxworks_needs_vxworks";
6105  *  File name selection pattern
6106  */
6107 tSCC zVxworks_Needs_VxworksList[] =
6108   "|sys/stat.h|";
6110  *  Machine/OS name selection pattern
6111  */
6112 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
6115  *  content selection pattern - do fix if pattern found
6116  */
6117 tSCC zVxworks_Needs_VxworksSelect0[] =
6118        "#[ \t]define[ \t]+__INCstath";
6121  *  perform the 'test' shell command - do fix on success
6122  */
6123 tSCC zVxworks_Needs_VxworksTest0[] =
6124        " -r types/vxTypesOld.h";
6125 tSCC zVxworks_Needs_VxworksTest1[] =
6126        " -n \"`egrep '#include' $file`\"";
6127 tSCC zVxworks_Needs_VxworksTest2[] =
6128        " -n \"`egrep ULONG $file`\"";
6130 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
6131 static tTestDesc aVxworks_Needs_VxworksTests[] = {
6132   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
6133   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
6134   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
6135   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
6138  *  Fix Command Arguments for Vxworks_Needs_Vxworks
6139  */
6140 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
6141     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
6142 #include <types/vxTypesOld.h>\n",
6143     (char*)NULL };
6145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6147  *  Description of Vxworks_Time fix
6148  */
6149 tSCC zVxworks_TimeName[] =
6150      "vxworks_time";
6153  *  File name selection pattern
6154  */
6155 tSCC zVxworks_TimeList[] =
6156   "|time.h|";
6158  *  Machine/OS name selection pattern
6159  */
6160 #define apzVxworks_TimeMachs (const char**)NULL
6163  *  content selection pattern - do fix if pattern found
6164  */
6165 tSCC zVxworks_TimeSelect0[] =
6166        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
6169  *  perform the 'test' shell command - do fix on success
6170  */
6171 tSCC zVxworks_TimeTest0[] =
6172        " -r vxWorks.h";
6174 #define    VXWORKS_TIME_TEST_CT  2
6175 static tTestDesc aVxworks_TimeTests[] = {
6176   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
6177   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
6180  *  Fix Command Arguments for Vxworks_Time
6181  */
6182 static const char* apzVxworks_TimePatch[] = {
6183     "format",
6184     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
6185 #ifdef __cplusplus\n\
6186 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
6187 #else\n\
6188 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
6189 #endif\n\
6190 #define __gcc_VOIDFUNCPTR_defined\n\
6191 #endif\n\
6192 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
6193     (char*)NULL };
6195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6197  *  Description of Windiss_Math1 fix
6198  */
6199 tSCC zWindiss_Math1Name[] =
6200      "windiss_math1";
6203  *  File name selection pattern
6204  */
6205 tSCC zWindiss_Math1List[] =
6206   "|math.h|";
6208  *  Machine/OS name selection pattern
6209  */
6210 tSCC* apzWindiss_Math1Machs[] = {
6211         "*-*-windiss",
6212         (const char*)NULL };
6213 #define WINDISS_MATH1_TEST_CT  0
6214 #define aWindiss_Math1Tests   (tTestDesc*)NULL
6217  *  Fix Command Arguments for Windiss_Math1
6218  */
6219 static const char* apzWindiss_Math1Patch[] = { "sed",
6220     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
6221     (char*)NULL };
6223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6225  *  Description of Windiss_Math2 fix
6226  */
6227 tSCC zWindiss_Math2Name[] =
6228      "windiss_math2";
6231  *  File name selection pattern
6232  */
6233 tSCC zWindiss_Math2List[] =
6234   "|math.h|";
6236  *  Machine/OS name selection pattern
6237  */
6238 tSCC* apzWindiss_Math2Machs[] = {
6239         "*-*-windiss",
6240         (const char*)NULL };
6241 #define WINDISS_MATH2_TEST_CT  0
6242 #define aWindiss_Math2Tests   (tTestDesc*)NULL
6245  *  Fix Command Arguments for Windiss_Math2
6246  */
6247 static const char* apzWindiss_Math2Patch[] = { "sed",
6248     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
6249     (char*)NULL };
6251 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6253  *  Description of Windiss_Valist fix
6254  */
6255 tSCC zWindiss_ValistName[] =
6256      "windiss_valist";
6259  *  File name selection pattern
6260  */
6261 #define zWindiss_ValistList (char*)NULL
6263  *  Machine/OS name selection pattern
6264  */
6265 tSCC* apzWindiss_ValistMachs[] = {
6266         "*-*-windiss",
6267         (const char*)NULL };
6270  *  content selection pattern - do fix if pattern found
6271  */
6272 tSCC zWindiss_ValistSelect0[] =
6273        "(#include.*)diab/va_list.h";
6275 #define    WINDISS_VALIST_TEST_CT  1
6276 static tTestDesc aWindiss_ValistTests[] = {
6277   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
6280  *  Fix Command Arguments for Windiss_Valist
6281  */
6282 static const char* apzWindiss_ValistPatch[] = { "sed",
6283     "-e", "s|diab/va_list.h|stdarg.h|",
6284     (char*)NULL };
6286 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6288  *  Description of X11_Class fix
6289  */
6290 tSCC zX11_ClassName[] =
6291      "x11_class";
6294  *  File name selection pattern
6295  */
6296 tSCC zX11_ClassList[] =
6297   "|X11/ShellP.h|";
6299  *  Machine/OS name selection pattern
6300  */
6301 #define apzX11_ClassMachs (const char**)NULL
6304  *  content selection pattern - do fix if pattern found
6305  */
6306 tSCC zX11_ClassSelect0[] =
6307        "^([ \t]*char \\*)class;(.*)";
6310  *  content bypass pattern - skip fix if pattern found
6311  */
6312 tSCC zX11_ClassBypass0[] =
6313        "__cplusplus";
6315 #define    X11_CLASS_TEST_CT  2
6316 static tTestDesc aX11_ClassTests[] = {
6317   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
6318   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
6321  *  Fix Command Arguments for X11_Class
6322  */
6323 static const char* apzX11_ClassPatch[] = {
6324     "format",
6325     "#ifdef __cplusplus\n\
6326 %1c_class;%2\n\
6327 #else\n\
6328 %1class;%2\n\
6329 #endif",
6330     (char*)NULL };
6332 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6334  *  Description of X11_Class_Usage fix
6335  */
6336 tSCC zX11_Class_UsageName[] =
6337      "x11_class_usage";
6340  *  File name selection pattern
6341  */
6342 tSCC zX11_Class_UsageList[] =
6343   "|Xm/BaseClassI.h|";
6345  *  Machine/OS name selection pattern
6346  */
6347 #define apzX11_Class_UsageMachs (const char**)NULL
6350  *  content selection pattern - do fix if pattern found
6351  */
6352 tSCC zX11_Class_UsageSelect0[] =
6353        " class\\)";
6356  *  content bypass pattern - skip fix if pattern found
6357  */
6358 tSCC zX11_Class_UsageBypass0[] =
6359        "__cplusplus";
6361 #define    X11_CLASS_USAGE_TEST_CT  2
6362 static tTestDesc aX11_Class_UsageTests[] = {
6363   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
6364   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
6367  *  Fix Command Arguments for X11_Class_Usage
6368  */
6369 static const char* apzX11_Class_UsagePatch[] = {
6370     "format",
6371     " c_class)",
6372     (char*)NULL };
6374 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6376  *  Description of X11_New fix
6377  */
6378 tSCC zX11_NewName[] =
6379      "x11_new";
6382  *  File name selection pattern
6383  */
6384 tSCC zX11_NewList[] =
6385   "|Xm/Traversal.h|";
6387  *  Machine/OS name selection pattern
6388  */
6389 #define apzX11_NewMachs (const char**)NULL
6392  *  content bypass pattern - skip fix if pattern found
6393  */
6394 tSCC zX11_NewBypass0[] =
6395        "__cplusplus";
6397 #define    X11_NEW_TEST_CT  1
6398 static tTestDesc aX11_NewTests[] = {
6399   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
6402  *  Fix Command Arguments for X11_New
6403  */
6404 static const char* apzX11_NewPatch[] = { "sed",
6405     "-e", "/Widget\told, new;/i\\\n\
6406 #ifdef __cplusplus\\\n\
6407 \tWidget\told, c_new;\\\n\
6408 #else\n",
6409     "-e", "/Widget\told, new;/a\\\n\
6410 #endif\n",
6411     "-e", "s/Widget new,/Widget c_new,/g",
6412     (char*)NULL };
6414 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6416  *  Description of X11_Sprintf fix
6417  */
6418 tSCC zX11_SprintfName[] =
6419      "x11_sprintf";
6422  *  File name selection pattern
6423  */
6424 tSCC zX11_SprintfList[] =
6425   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
6427  *  Machine/OS name selection pattern
6428  */
6429 #define apzX11_SprintfMachs (const char**)NULL
6432  *  content selection pattern - do fix if pattern found
6433  */
6434 tSCC zX11_SprintfSelect0[] =
6435        "^extern char \\*\tsprintf\\(\\);$";
6437 #define    X11_SPRINTF_TEST_CT  1
6438 static tTestDesc aX11_SprintfTests[] = {
6439   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
6442  *  Fix Command Arguments for X11_Sprintf
6443  */
6444 static const char* apzX11_SprintfPatch[] = {
6445     "format",
6446     "#ifndef __STDC__\n\
6447 %0\n\
6448 #endif /* !defined __STDC__ */",
6449     (char*)NULL };
6452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6454  *  List of all fixes
6455  */
6456 #define REGEX_COUNT          183
6457 #define MACH_LIST_SIZE_LIMIT 261
6458 #define FIX_COUNT            163
6461  *  Enumerate the fixes
6462  */
6463 typedef enum {
6464     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
6465     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
6466     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
6467     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
6468     AAB_SUN_MEMCPY_FIXIDX,
6469     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
6470     AAB_ULTRIX_LIMITS_FIXIDX,
6471     AAB_ULTRIX_MEMORY_FIXIDX,
6472     AAB_ULTRIX_STRING_FIXIDX,
6473     AIX_PTHREAD_FIXIDX,
6474     AIX_SYSMACHINE_FIXIDX,
6475     AIX_SYSWAIT_FIXIDX,
6476     AIX_VOLATILE_FIXIDX,
6477     ALPHA___ASSERT_FIXIDX,
6478     ALPHA___EXTERN_PREFIX_FIXIDX,
6479     ALPHA_ASSERT_FIXIDX,
6480     ALPHA_GETOPT_FIXIDX,
6481     ALPHA_PARENS_FIXIDX,
6482     ALPHA_PTHREAD_FIXIDX,
6483     ALPHA_PTHREAD_GCC_FIXIDX,
6484     ALPHA_SBRK_FIXIDX,
6485     ALPHA_WCHAR_FIXIDX,
6486     AVOID_BOOL_DEFINE_FIXIDX,
6487     AVOID_BOOL_TYPE_FIXIDX,
6488     AVOID_WCHAR_T_TYPE_FIXIDX,
6489     BAD_LVAL_FIXIDX,
6490     BAD_STRUCT_TERM_FIXIDX,
6491     BADQUOTE_FIXIDX,
6492     BROKEN_ASSERT_STDIO_FIXIDX,
6493     BROKEN_ASSERT_STDLIB_FIXIDX,
6494     BROKEN_CABS_FIXIDX,
6495     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
6496     CTRL_QUOTES_DEF_FIXIDX,
6497     CTRL_QUOTES_USE_FIXIDX,
6498     CXX_UNREADY_FIXIDX,
6499     DARWIN_PRIVATE_EXTERN_FIXIDX,
6500     DEC_INTERN_ASM_FIXIDX,
6501     DJGPP_WCHAR_H_FIXIDX,
6502     ECD_CURSOR_FIXIDX,
6503     FREEBSD_GCC3_BREAKAGE_FIXIDX,
6504     GNU_TYPES_FIXIDX,
6505     HP_INLINE_FIXIDX,
6506     HP_SYSFILE_FIXIDX,
6507     HPUX10_CPP_POW_INLINE_FIXIDX,
6508     HPUX11_CPP_POW_INLINE_FIXIDX,
6509     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
6510     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
6511     HPUX11_ABS_FIXIDX,
6512     HPUX11_FABSF_FIXIDX,
6513     HPUX11_SIZE_T_FIXIDX,
6514     HPUX11_SNPRINTF_FIXIDX,
6515     HPUX11_UINT32_C_FIXIDX,
6516     HPUX11_VSNPRINTF_FIXIDX,
6517     HPUX8_BOGUS_INLINES_FIXIDX,
6518     HPUX_CTYPE_MACROS_FIXIDX,
6519     HPUX_LONG_DOUBLE_FIXIDX,
6520     HPUX_MAXINT_FIXIDX,
6521     HPUX_SYSTIME_FIXIDX,
6522     INT_ABORT_FREE_AND_EXIT_FIXIDX,
6523     IO_QUOTES_DEF_FIXIDX,
6524     IO_QUOTES_USE_FIXIDX,
6525     IP_MISSING_SEMI_FIXIDX,
6526     IRIX___RESTRICT_FIXIDX,
6527     IRIX_ASM_APOSTROPHE_FIXIDX,
6528     IRIX_LIMITS_CONST_FIXIDX,
6529     IRIX_SOCKLEN_T_FIXIDX,
6530     IRIX_STDIO_VA_LIST_FIXIDX,
6531     IRIX_WCSFTIME_FIXIDX,
6532     ISC_FMOD_FIXIDX,
6533     ISC_OMITS_WITH_STDC_FIXIDX,
6534     KANDR_CONCAT_FIXIDX,
6535     LIBC1_G_VA_LIST_FIXIDX,
6536     LIBC1_IFDEFD_MEMX_FIXIDX,
6537     LIMITS_IFNDEFS_FIXIDX,
6538     LYNX_VOID_INT_FIXIDX,
6539     LYNXOS_FCNTL_PROTO_FIXIDX,
6540     MACHINE_ANSI_H_VA_LIST_FIXIDX,
6541     MACHINE_NAME_FIXIDX,
6542     MATH_EXCEPTION_FIXIDX,
6543     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
6544     MATH_HUGE_VAL_IFNDEF_FIXIDX,
6545     NESTED_AUTH_DES_FIXIDX,
6546     NESTED_MOTOROLA_FIXIDX,
6547     NESTED_SYS_LIMITS_FIXIDX,
6548     NETBSD_EXTRA_SEMICOLON_FIXIDX,
6549     NEXT_MATH_PREFIX_FIXIDX,
6550     NEXT_TEMPLATE_FIXIDX,
6551     NEXT_VOLITILE_FIXIDX,
6552     NEXT_WAIT_UNION_FIXIDX,
6553     NODEENT_SYNTAX_FIXIDX,
6554     OBSTACK_LVALUE_CAST_FIXIDX,
6555     OSF_NAMESPACE_A_FIXIDX,
6556     OSF_NAMESPACE_C_FIXIDX,
6557     PTHREAD_PAGE_SIZE_FIXIDX,
6558     READ_RET_TYPE_FIXIDX,
6559     RS6000_DOUBLE_FIXIDX,
6560     RS6000_FCHMOD_FIXIDX,
6561     RS6000_PARAM_FIXIDX,
6562     SCO_MATH_FIXIDX,
6563     SCO_REGSET_FIXIDX,
6564     SCO_STATIC_FUNC_FIXIDX,
6565     SCO_UTIME_FIXIDX,
6566     SOLARIS_MUTEX_INIT_1_FIXIDX,
6567     SOLARIS_MUTEX_INIT_2_FIXIDX,
6568     SOLARIS_SOCKET_FIXIDX,
6569     SOLARIS_STDIO_TAG_FIXIDX,
6570     SOLARIS_UNISTD_FIXIDX,
6571     SOLARIS_WIDEC_FIXIDX,
6572     STATSSWTCH_FIXIDX,
6573     STDIO_STDARG_H_FIXIDX,
6574     STDIO_VA_LIST_FIXIDX,
6575     STRICT_ANSI_NOT_FIXIDX,
6576     STRICT_ANSI_NOT_CTD_FIXIDX,
6577     STRICT_ANSI_ONLY_FIXIDX,
6578     STRUCT_FILE_FIXIDX,
6579     STRUCT_SOCKADDR_FIXIDX,
6580     SUN_AUTH_PROTO_FIXIDX,
6581     SUN_BOGUS_IFDEF_FIXIDX,
6582     SUN_CATMACRO_FIXIDX,
6583     SUN_MALLOC_FIXIDX,
6584     SUN_RUSERS_SEMI_FIXIDX,
6585     SUN_SIGNAL_FIXIDX,
6586     SUNOS_MATHERR_DECL_FIXIDX,
6587     SUNOS_STRLEN_FIXIDX,
6588     SVR4__P_FIXIDX,
6589     SVR4_DISABLE_OPT_FIXIDX,
6590     SVR4_GETCWD_FIXIDX,
6591     SVR4_KRNL_FIXIDX,
6592     SVR4_PROFIL_FIXIDX,
6593     SVR4_SIGHANDLER_TYPE_FIXIDX,
6594     SVR4_UNDECLARED_GETRNGE_FIXIDX,
6595     SYSV68_STRING_FIXIDX,
6596     SYSZ_STDLIB_FOR_SUN_FIXIDX,
6597     THREAD_KEYWORD_FIXIDX,
6598     TINFO_CPLUSPLUS_FIXIDX,
6599     ULTRIX_ATEXIT_PARAM_FIXIDX,
6600     ULTRIX_ATOF_PARAM_FIXIDX,
6601     ULTRIX_CONST_FIXIDX,
6602     ULTRIX_CONST2_FIXIDX,
6603     ULTRIX_FIX_FIXPROTO_FIXIDX,
6604     ULTRIX_IFDEF_FIXIDX,
6605     ULTRIX_MATH_IFDEF_FIXIDX,
6606     ULTRIX_NESTED_IOCTL_FIXIDX,
6607     ULTRIX_NESTED_SVC_FIXIDX,
6608     ULTRIX_STAT_FIXIDX,
6609     ULTRIX_STATIC_FIXIDX,
6610     ULTRIX_STRINGS_FIXIDX,
6611     UNDEFINE_NULL_FIXIDX,
6612     UNICOSMK_RESTRICT_FIXIDX,
6613     UW7_BYTEORDER_FIX_FIXIDX,
6614     VA_I960_MACRO_FIXIDX,
6615     VOID_NULL_FIXIDX,
6616     VXWORKS_GCC_PROBLEM_FIXIDX,
6617     VXWORKS_NEEDS_VXTYPES_FIXIDX,
6618     VXWORKS_NEEDS_VXWORKS_FIXIDX,
6619     VXWORKS_TIME_FIXIDX,
6620     WINDISS_MATH1_FIXIDX,
6621     WINDISS_MATH2_FIXIDX,
6622     WINDISS_VALIST_FIXIDX,
6623     X11_CLASS_FIXIDX,
6624     X11_CLASS_USAGE_FIXIDX,
6625     X11_NEW_FIXIDX,
6626     X11_SPRINTF_FIXIDX
6627 } t_fixinc_idx;
6629 tFixDesc fixDescList[ FIX_COUNT ] = {
6630   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
6631      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
6632      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6633      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
6635   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
6636      apzAab_Fd_Zero_Gnu_Types_HMachs,
6637      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6638      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
6640   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
6641      apzAab_Fd_Zero_Selectbits_HMachs,
6642      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6643      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
6645   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
6646      apzAab_Solaris_Sys_Varargs_HMachs,
6647      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6648      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
6650   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
6651      apzAab_Sun_MemcpyMachs,
6652      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6653      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
6655   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
6656      apzAab_Ultrix_Ansi_CompatMachs,
6657      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6658      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
6660   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
6661      apzAab_Ultrix_LimitsMachs,
6662      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6663      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
6665   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
6666      apzAab_Ultrix_MemoryMachs,
6667      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6668      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
6670   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
6671      apzAab_Ultrix_StringMachs,
6672      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6673      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
6675   {  zAix_PthreadName,    zAix_PthreadList,
6676      apzAix_PthreadMachs,
6677      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6678      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
6680   {  zAix_SysmachineName,    zAix_SysmachineList,
6681      apzAix_SysmachineMachs,
6682      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6683      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
6685   {  zAix_SyswaitName,    zAix_SyswaitList,
6686      apzAix_SyswaitMachs,
6687      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6688      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
6690   {  zAix_VolatileName,    zAix_VolatileList,
6691      apzAix_VolatileMachs,
6692      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6693      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
6695   {  zAlpha___AssertName,    zAlpha___AssertList,
6696      apzAlpha___AssertMachs,
6697      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6698      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
6700   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
6701      apzAlpha___Extern_PrefixMachs,
6702      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6703      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
6705   {  zAlpha_AssertName,    zAlpha_AssertList,
6706      apzAlpha_AssertMachs,
6707      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6708      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
6710   {  zAlpha_GetoptName,    zAlpha_GetoptList,
6711      apzAlpha_GetoptMachs,
6712      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6713      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
6715   {  zAlpha_ParensName,    zAlpha_ParensList,
6716      apzAlpha_ParensMachs,
6717      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6718      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
6720   {  zAlpha_PthreadName,    zAlpha_PthreadList,
6721      apzAlpha_PthreadMachs,
6722      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6723      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
6725   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
6726      apzAlpha_Pthread_GccMachs,
6727      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6728      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
6730   {  zAlpha_SbrkName,    zAlpha_SbrkList,
6731      apzAlpha_SbrkMachs,
6732      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6733      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
6735   {  zAlpha_WcharName,    zAlpha_WcharList,
6736      apzAlpha_WcharMachs,
6737      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
6738      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
6740   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
6741      apzAvoid_Bool_DefineMachs,
6742      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6743      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
6745   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
6746      apzAvoid_Bool_TypeMachs,
6747      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6748      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
6750   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
6751      apzAvoid_Wchar_T_TypeMachs,
6752      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6753      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
6755   {  zBad_LvalName,    zBad_LvalList,
6756      apzBad_LvalMachs,
6757      BAD_LVAL_TEST_CT, FD_MACH_ONLY,
6758      aBad_LvalTests,   apzBad_LvalPatch, 0 },
6760   {  zBad_Struct_TermName,    zBad_Struct_TermList,
6761      apzBad_Struct_TermMachs,
6762      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6763      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
6765   {  zBadquoteName,    zBadquoteList,
6766      apzBadquoteMachs,
6767      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6768      aBadquoteTests,   apzBadquotePatch, 0 },
6770   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
6771      apzBroken_Assert_StdioMachs,
6772      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6773      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
6775   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
6776      apzBroken_Assert_StdlibMachs,
6777      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6778      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
6780   {  zBroken_CabsName,    zBroken_CabsList,
6781      apzBroken_CabsMachs,
6782      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6783      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
6785   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
6786      apzBsd_Stdio_Attrs_ConflictMachs,
6787      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6788      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
6790   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
6791      apzCtrl_Quotes_DefMachs,
6792      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6793      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
6795   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
6796      apzCtrl_Quotes_UseMachs,
6797      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6798      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
6800   {  zCxx_UnreadyName,    zCxx_UnreadyList,
6801      apzCxx_UnreadyMachs,
6802      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6803      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
6805   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
6806      apzDarwin_Private_ExternMachs,
6807      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6808      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
6810   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
6811      apzDec_Intern_AsmMachs,
6812      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
6813      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
6815   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
6816      apzDjgpp_Wchar_HMachs,
6817      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6818      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
6820   {  zEcd_CursorName,    zEcd_CursorList,
6821      apzEcd_CursorMachs,
6822      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6823      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
6825   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
6826      apzFreebsd_Gcc3_BreakageMachs,
6827      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6828      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
6830   {  zGnu_TypesName,    zGnu_TypesList,
6831      apzGnu_TypesMachs,
6832      GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6833      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
6835   {  zHp_InlineName,    zHp_InlineList,
6836      apzHp_InlineMachs,
6837      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6838      aHp_InlineTests,   apzHp_InlinePatch, 0 },
6840   {  zHp_SysfileName,    zHp_SysfileList,
6841      apzHp_SysfileMachs,
6842      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6843      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
6845   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
6846      apzHpux10_Cpp_Pow_InlineMachs,
6847      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6848      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
6850   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
6851      apzHpux11_Cpp_Pow_InlineMachs,
6852      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6853      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
6855   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
6856      apzHpux10_Ctype_Declarations1Machs,
6857      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6858      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
6860   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
6861      apzHpux10_Ctype_Declarations2Machs,
6862      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6863      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
6865   {  zHpux11_AbsName,    zHpux11_AbsList,
6866      apzHpux11_AbsMachs,
6867      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6868      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
6870   {  zHpux11_FabsfName,    zHpux11_FabsfList,
6871      apzHpux11_FabsfMachs,
6872      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6873      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
6875   {  zHpux11_Size_TName,    zHpux11_Size_TList,
6876      apzHpux11_Size_TMachs,
6877      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6878      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
6880   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
6881      apzHpux11_SnprintfMachs,
6882      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6883      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
6885   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
6886      apzHpux11_Uint32_CMachs,
6887      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6888      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
6890   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
6891      apzHpux11_VsnprintfMachs,
6892      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6893      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
6895   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
6896      apzHpux8_Bogus_InlinesMachs,
6897      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
6898      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
6900   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
6901      apzHpux_Ctype_MacrosMachs,
6902      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6903      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
6905   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
6906      apzHpux_Long_DoubleMachs,
6907      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
6908      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
6910   {  zHpux_MaxintName,    zHpux_MaxintList,
6911      apzHpux_MaxintMachs,
6912      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6913      aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
6915   {  zHpux_SystimeName,    zHpux_SystimeList,
6916      apzHpux_SystimeMachs,
6917      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6918      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
6920   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
6921      apzInt_Abort_Free_And_ExitMachs,
6922      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6923      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
6925   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
6926      apzIo_Quotes_DefMachs,
6927      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6928      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
6930   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
6931      apzIo_Quotes_UseMachs,
6932      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6933      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
6935   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
6936      apzIp_Missing_SemiMachs,
6937      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
6938      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
6940   {  zIrix___RestrictName,    zIrix___RestrictList,
6941      apzIrix___RestrictMachs,
6942      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6943      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
6945   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
6946      apzIrix_Asm_ApostropheMachs,
6947      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6948      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
6950   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
6951      apzIrix_Limits_ConstMachs,
6952      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6953      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
6955   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
6956      apzIrix_Socklen_TMachs,
6957      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6958      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
6960   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
6961      apzIrix_Stdio_Va_ListMachs,
6962      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6963      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
6965   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
6966      apzIrix_WcsftimeMachs,
6967      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6968      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
6970   {  zIsc_FmodName,    zIsc_FmodList,
6971      apzIsc_FmodMachs,
6972      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6973      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
6975   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
6976      apzIsc_Omits_With_StdcMachs,
6977      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6978      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
6980   {  zKandr_ConcatName,    zKandr_ConcatList,
6981      apzKandr_ConcatMachs,
6982      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6983      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
6985   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
6986      apzLibc1_G_Va_ListMachs,
6987      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6988      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
6990   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
6991      apzLibc1_Ifdefd_MemxMachs,
6992      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6993      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
6995   {  zLimits_IfndefsName,    zLimits_IfndefsList,
6996      apzLimits_IfndefsMachs,
6997      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6998      aLimits_IfndefsTests,   apzLimits_IfndefsPatch, 0 },
7000   {  zLynx_Void_IntName,    zLynx_Void_IntList,
7001      apzLynx_Void_IntMachs,
7002      LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7003      aLynx_Void_IntTests,   apzLynx_Void_IntPatch, 0 },
7005   {  zLynxos_Fcntl_ProtoName,    zLynxos_Fcntl_ProtoList,
7006      apzLynxos_Fcntl_ProtoMachs,
7007      LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7008      aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch, 0 },
7010   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
7011      apzMachine_Ansi_H_Va_ListMachs,
7012      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7013      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
7015   {  zMachine_NameName,    zMachine_NameList,
7016      apzMachine_NameMachs,
7017      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7018      aMachine_NameTests,   apzMachine_NamePatch, 0 },
7020   {  zMath_ExceptionName,    zMath_ExceptionList,
7021      apzMath_ExceptionMachs,
7022      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7023      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
7025   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
7026      apzMath_Huge_Val_From_Dbl_MaxMachs,
7027      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
7028      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
7030   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
7031      apzMath_Huge_Val_IfndefMachs,
7032      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7033      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
7035   {  zNested_Auth_DesName,    zNested_Auth_DesList,
7036      apzNested_Auth_DesMachs,
7037      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7038      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
7040   {  zNested_MotorolaName,    zNested_MotorolaList,
7041      apzNested_MotorolaMachs,
7042      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
7043      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
7045   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
7046      apzNested_Sys_LimitsMachs,
7047      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
7048      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
7050   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
7051      apzNetbsd_Extra_SemicolonMachs,
7052      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7053      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
7055   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
7056      apzNext_Math_PrefixMachs,
7057      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7058      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
7060   {  zNext_TemplateName,    zNext_TemplateList,
7061      apzNext_TemplateMachs,
7062      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7063      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
7065   {  zNext_VolitileName,    zNext_VolitileList,
7066      apzNext_VolitileMachs,
7067      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7068      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
7070   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
7071      apzNext_Wait_UnionMachs,
7072      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7073      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
7075   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
7076      apzNodeent_SyntaxMachs,
7077      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7078      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
7080   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
7081      apzObstack_Lvalue_CastMachs,
7082      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7083      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
7085   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
7086      apzOsf_Namespace_AMachs,
7087      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7088      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
7090   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
7091      apzOsf_Namespace_CMachs,
7092      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7093      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
7095   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
7096      apzPthread_Page_SizeMachs,
7097      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7098      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
7100   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
7101      apzRead_Ret_TypeMachs,
7102      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7103      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
7105   {  zRs6000_DoubleName,    zRs6000_DoubleList,
7106      apzRs6000_DoubleMachs,
7107      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7108      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
7110   {  zRs6000_FchmodName,    zRs6000_FchmodList,
7111      apzRs6000_FchmodMachs,
7112      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7113      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
7115   {  zRs6000_ParamName,    zRs6000_ParamList,
7116      apzRs6000_ParamMachs,
7117      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7118      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
7120   {  zSco_MathName,    zSco_MathList,
7121      apzSco_MathMachs,
7122      SCO_MATH_TEST_CT, FD_MACH_ONLY,
7123      aSco_MathTests,   apzSco_MathPatch, 0 },
7125   {  zSco_RegsetName,    zSco_RegsetList,
7126      apzSco_RegsetMachs,
7127      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7128      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
7130   {  zSco_Static_FuncName,    zSco_Static_FuncList,
7131      apzSco_Static_FuncMachs,
7132      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
7133      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
7135   {  zSco_UtimeName,    zSco_UtimeList,
7136      apzSco_UtimeMachs,
7137      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7138      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
7140   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
7141      apzSolaris_Mutex_Init_1Machs,
7142      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
7143      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
7145   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
7146      apzSolaris_Mutex_Init_2Machs,
7147      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7148      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
7150   {  zSolaris_SocketName,    zSolaris_SocketList,
7151      apzSolaris_SocketMachs,
7152      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7153      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
7155   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
7156      apzSolaris_Stdio_TagMachs,
7157      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
7158      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
7160   {  zSolaris_UnistdName,    zSolaris_UnistdList,
7161      apzSolaris_UnistdMachs,
7162      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7163      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
7165   {  zSolaris_WidecName,    zSolaris_WidecList,
7166      apzSolaris_WidecMachs,
7167      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7168      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
7170   {  zStatsswtchName,    zStatsswtchList,
7171      apzStatsswtchMachs,
7172      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7173      aStatsswtchTests,   apzStatsswtchPatch, 0 },
7175   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
7176      apzStdio_Stdarg_HMachs,
7177      STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7178      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
7180   {  zStdio_Va_ListName,    zStdio_Va_ListList,
7181      apzStdio_Va_ListMachs,
7182      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
7183      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
7185   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
7186      apzStrict_Ansi_NotMachs,
7187      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7188      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
7190   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
7191      apzStrict_Ansi_Not_CtdMachs,
7192      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7193      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
7195   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
7196      apzStrict_Ansi_OnlyMachs,
7197      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7198      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
7200   {  zStruct_FileName,    zStruct_FileList,
7201      apzStruct_FileMachs,
7202      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7203      aStruct_FileTests,   apzStruct_FilePatch, 0 },
7205   {  zStruct_SockaddrName,    zStruct_SockaddrList,
7206      apzStruct_SockaddrMachs,
7207      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7208      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
7210   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
7211      apzSun_Auth_ProtoMachs,
7212      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7213      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
7215   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
7216      apzSun_Bogus_IfdefMachs,
7217      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7218      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
7220   {  zSun_CatmacroName,    zSun_CatmacroList,
7221      apzSun_CatmacroMachs,
7222      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7223      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
7225   {  zSun_MallocName,    zSun_MallocList,
7226      apzSun_MallocMachs,
7227      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
7228      aSun_MallocTests,   apzSun_MallocPatch, 0 },
7230   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
7231      apzSun_Rusers_SemiMachs,
7232      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
7233      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
7235   {  zSun_SignalName,    zSun_SignalList,
7236      apzSun_SignalMachs,
7237      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7238      aSun_SignalTests,   apzSun_SignalPatch, 0 },
7240   {  zSunos_Matherr_DeclName,    zSunos_Matherr_DeclList,
7241      apzSunos_Matherr_DeclMachs,
7242      SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7243      aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch, 0 },
7245   {  zSunos_StrlenName,    zSunos_StrlenList,
7246      apzSunos_StrlenMachs,
7247      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7248      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
7250   {  zSvr4__PName,    zSvr4__PList,
7251      apzSvr4__PMachs,
7252      SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7253      aSvr4__PTests,   apzSvr4__PPatch, 0 },
7255   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
7256      apzSvr4_Disable_OptMachs,
7257      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
7258      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
7260   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
7261      apzSvr4_GetcwdMachs,
7262      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7263      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
7265   {  zSvr4_KrnlName,    zSvr4_KrnlList,
7266      apzSvr4_KrnlMachs,
7267      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7268      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
7270   {  zSvr4_ProfilName,    zSvr4_ProfilList,
7271      apzSvr4_ProfilMachs,
7272      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7273      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
7275   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
7276      apzSvr4_Sighandler_TypeMachs,
7277      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7278      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
7280   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
7281      apzSvr4_Undeclared_GetrngeMachs,
7282      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7283      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
7285   {  zSysv68_StringName,    zSysv68_StringList,
7286      apzSysv68_StringMachs,
7287      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
7288      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
7290   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
7291      apzSysz_Stdlib_For_SunMachs,
7292      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7293      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
7295   {  zThread_KeywordName,    zThread_KeywordList,
7296      apzThread_KeywordMachs,
7297      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7298      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
7300   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
7301      apzTinfo_CplusplusMachs,
7302      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7303      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
7305   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
7306      apzUltrix_Atexit_ParamMachs,
7307      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7308      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
7310   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
7311      apzUltrix_Atof_ParamMachs,
7312      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7313      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
7315   {  zUltrix_ConstName,    zUltrix_ConstList,
7316      apzUltrix_ConstMachs,
7317      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7318      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
7320   {  zUltrix_Const2Name,    zUltrix_Const2List,
7321      apzUltrix_Const2Machs,
7322      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7323      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
7325   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
7326      apzUltrix_Fix_FixprotoMachs,
7327      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7328      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
7330   {  zUltrix_IfdefName,    zUltrix_IfdefList,
7331      apzUltrix_IfdefMachs,
7332      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7333      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
7335   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
7336      apzUltrix_Math_IfdefMachs,
7337      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7338      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
7340   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
7341      apzUltrix_Nested_IoctlMachs,
7342      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
7343      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
7345   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
7346      apzUltrix_Nested_SvcMachs,
7347      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
7348      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
7350   {  zUltrix_StatName,    zUltrix_StatList,
7351      apzUltrix_StatMachs,
7352      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
7353      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
7355   {  zUltrix_StaticName,    zUltrix_StaticList,
7356      apzUltrix_StaticMachs,
7357      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
7358      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
7360   {  zUltrix_StringsName,    zUltrix_StringsList,
7361      apzUltrix_StringsMachs,
7362      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7363      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
7365   {  zUndefine_NullName,    zUndefine_NullList,
7366      apzUndefine_NullMachs,
7367      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7368      aUndefine_NullTests,   apzUndefine_NullPatch, 0 },
7370   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
7371      apzUnicosmk_RestrictMachs,
7372      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7373      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
7375   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
7376      apzUw7_Byteorder_FixMachs,
7377      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7378      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
7380   {  zVa_I960_MacroName,    zVa_I960_MacroList,
7381      apzVa_I960_MacroMachs,
7382      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7383      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
7385   {  zVoid_NullName,    zVoid_NullList,
7386      apzVoid_NullMachs,
7387      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7388      aVoid_NullTests,   apzVoid_NullPatch, 0 },
7390   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
7391      apzVxworks_Gcc_ProblemMachs,
7392      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
7393      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
7395   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
7396      apzVxworks_Needs_VxtypesMachs,
7397      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7398      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
7400   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
7401      apzVxworks_Needs_VxworksMachs,
7402      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
7403      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
7405   {  zVxworks_TimeName,    zVxworks_TimeList,
7406      apzVxworks_TimeMachs,
7407      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7408      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
7410   {  zWindiss_Math1Name,    zWindiss_Math1List,
7411      apzWindiss_Math1Machs,
7412      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
7413      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
7415   {  zWindiss_Math2Name,    zWindiss_Math2List,
7416      apzWindiss_Math2Machs,
7417      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
7418      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
7420   {  zWindiss_ValistName,    zWindiss_ValistList,
7421      apzWindiss_ValistMachs,
7422      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
7423      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
7425   {  zX11_ClassName,    zX11_ClassList,
7426      apzX11_ClassMachs,
7427      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7428      aX11_ClassTests,   apzX11_ClassPatch, 0 },
7430   {  zX11_Class_UsageName,    zX11_Class_UsageList,
7431      apzX11_Class_UsageMachs,
7432      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7433      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
7435   {  zX11_NewName,    zX11_NewList,
7436      apzX11_NewMachs,
7437      X11_NEW_TEST_CT, FD_MACH_ONLY,
7438      aX11_NewTests,   apzX11_NewPatch, 0 },
7440   {  zX11_SprintfName,    zX11_SprintfList,
7441      apzX11_SprintfMachs,
7442      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7443      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }