Merge reload-branch up to revision 101000
[official-gcc.git] / fixincludes / fixincl.x
bloba91d8e3b74bba68cfcd0a020f1ac6bab8c5d3dae
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Wednesday June  8, 2005 at 12:02:02 AM MEST
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Wed Jun  8 00:02:03 MEST 2005
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 188 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         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
132         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
133           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
134   } while (0)\n\
135 #endif\n\n\
136 #define _TYPES_H_WRAPPER\n\
137 #endif /* _TYPES_H_WRAPPER */",
138     (char*)NULL };
140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
142  *  Description of Aab_Fd_Zero_Selectbits_H fix
143  */
144 tSCC zAab_Fd_Zero_Selectbits_HName[] =
145      "AAB_fd_zero_selectbits_h";
148  *  File name selection pattern
149  */
150 tSCC zAab_Fd_Zero_Selectbits_HList[] =
151   "|selectbits.h|";
153  *  Machine/OS name selection pattern
154  */
155 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
156         "i[34567]86-*-linux*",
157         (const char*)NULL };
158 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
159 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
162  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
163  */
164 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
165 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
166 #ifndef _SELECTBITS_H_WRAPPER\n\
167   #include <features.h>\n\
168   #include_next <selectbits.h>\n\n\
169   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
170   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
171   && __GLIBC_MINOR__ == 0\n\
172      #undef __FD_ZERO\n\
173      #define __FD_ZERO(fdsetp) \\\\\n\
174      do { \\\\\n\
175         int __d0, __d1; \\\\\n\
176       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
177                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
178                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
179                                         / sizeof (__fd_mask)), \\\\\n\
180                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
181                         : \"memory\"); \\\\\n\
182       } while (0)\n\
183   #endif\n\n\
184   #define _SELECTBITS_H_WRAPPER\n\
185 #endif /* _SELECTBITS_H_WRAPPER */",
186     (char*)NULL };
188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
190  *  Description of Aab_Solaris_Sys_Varargs_H fix
191  */
192 tSCC zAab_Solaris_Sys_Varargs_HName[] =
193      "AAB_solaris_sys_varargs_h";
196  *  File name selection pattern
197  */
198 tSCC zAab_Solaris_Sys_Varargs_HList[] =
199   "|sys/varargs.h|";
201  *  Machine/OS name selection pattern
202  */
203 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
204         "*-*-solaris*",
205         (const char*)NULL };
206 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
207 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
210  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
211  */
212 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
213 "#ifdef __STDC__\n\
214   #include <stdarg.h>\n\
215 #else\n\
216   #include <varargs.h>\n\
217 #endif",
218     (char*)NULL };
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
222  *  Description of Aab_Sun_Memcpy fix
223  */
224 tSCC zAab_Sun_MemcpyName[] =
225      "AAB_sun_memcpy";
228  *  File name selection pattern
229  */
230 tSCC zAab_Sun_MemcpyList[] =
231   "|memory.h|";
233  *  Machine/OS name selection pattern
234  */
235 #define apzAab_Sun_MemcpyMachs (const char**)NULL
238  *  content selection pattern - do fix if pattern found
239  */
240 tSCC zAab_Sun_MemcpySelect0[] =
241        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
243 #define    AAB_SUN_MEMCPY_TEST_CT  1
244 static tTestDesc aAab_Sun_MemcpyTests[] = {
245   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
248  *  Fix Command Arguments for Aab_Sun_Memcpy
249  */
250 static const char* apzAab_Sun_MemcpyPatch[] = {
251 "/* This file was generated by fixincludes */\n\
252 #ifndef __memory_h__\n\
253   #define __memory_h__\n\n\
254   #ifdef __STDC__\n\
255     extern void *memccpy();\n\
256     extern void *memchr();\n\
257     extern void *memcpy();\n\
258     extern void *memset();\n\
259   #else\n\
260     extern char *memccpy();\n\
261     extern char *memchr();\n\
262     extern char *memcpy();\n\
263     extern char *memset();\n\
264   #endif /* __STDC__ */\n\n\
265   extern int memcmp();\n\n\
266 #endif /* __memory_h__ */\n\
267 _EndOfHeader;\n\
268 };\n\n\n\
269 /*\n\
270  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
271  *  stdarg.h or varargs.h files as appropriate.\n\
272  */\n\
273 #ifdef SVR4\n\
274 fix = {\n\
275     hackname = AAB_svr4_no_varargs;\n\
276     files    = sys/varargs.h;\n\
277     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
278                \"#ifndef _SYS_VARARGS_H\\n\"\n\
279                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
280                \"#ifdef __STDC__\\n\"\n\
281                \"#include <stdarg.h>\\n\"\n\
282                \"#else\\n\"\n\
283                \"#include <varargs.h>\\n\"\n\
284                \"#endif\\n\\n\"\n\n\
285                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
286 };\n\
287 #endif\n\n\n\
288 /*\n\
289  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
290  *  optimized byteswapping.  (The original probably implemented some\n\
291  *  incompatible optimized byteswapping.)\n\
292  */\n\
293 fix = {\n\
294     hackname = AAB_svr4_replace_byteorder;\n\
295     mach     = \"*-*-sysv4*\";\n\
296     mach     = \"i[34567]86-*-sysv5*\";\n\
297     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
298     mach     = \"i[34567]86-*-udk*\";\n\
299     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
300     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
301     mach     = \"sparc-*-solaris2.[0-4]\";\n\
302     mach     = \"i[34567]86-sequent-ptx*\";\n\
303     files    = sys/byteorder.h;\n\
304     replace  = <<-  _EndOfHeader_\n\
305 #ifndef _SYS_BYTEORDER_H\n\
306 #define _SYS_BYTEORDER_H\n\n\
307 /* Functions to convert `short' and `long' quantities from host byte order\n\
308    to (internet) network byte order (i.e. big-endian).\n\n\
309    Written by Ron Guilmette (rfg@ncd.com).\n\n\
310    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
311    For big-endian machines these functions are essentially no-ops.\n\n\
312    For little-endian machines, we define the functions using specialized\n\
313    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
314 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
315   #error You lose!  This file is only useful with GNU compilers.\n\
316 #endif\n\n\
317 #ifndef __BYTE_ORDER__\n\
318   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
319      double underscores added at the front and back.  */\n\
320   #define __LITTLE_ENDIAN__   1234\n\
321   #define __BIG_ENDIAN__      4321\n\
322   #define __PDP_ENDIAN__      3412\n\
323 #endif\n\n\
324 #ifdef __STDC__\n\
325   static __inline__ unsigned long htonl (unsigned long);\n\
326   static __inline__ unsigned short htons (unsigned int);\n\
327   static __inline__ unsigned long ntohl (unsigned long);\n\
328   static __inline__ unsigned short ntohs (unsigned int);\n\
329 #endif /* defined (__STDC__) */\n\n\
330 #if defined (__i386__)\n\n\
331   #ifndef __BYTE_ORDER__\n\
332     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
333   #endif\n\n\
334   /* Convert a host long to a network long.  */\n\n\
335   /* We must use a new-style function definition, so that this will also\n\
336      be valid for C++.  */\n\
337   static __inline__ unsigned long\n\
338   htonl (unsigned long __arg)\n\
339   {\n\
340     register unsigned long __result;\n\n\
341     __asm__ (\"xchg%B0 %b0,%h0\n\
342   ror%L0 $16,%0\n\
343   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
344     return __result;\n\
345   }\n\n\
346   /* Convert a host short to a network short.  */\n\n\
347   static __inline__ unsigned short\n\
348   htons (unsigned int __arg)\n\
349   {\n\
350     register unsigned short __result;\n\n\
351     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
352     return __result;\n\
353   }\n\n\
354 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
355   #ifndef __BYTE_ORDER__\n\
356     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
357   #endif\n\n\
358   /* For other little-endian machines, using C code is just as efficient as\n\
359      using assembly code.  */\n\n\
360   /* Convert a host long to a network long.  */\n\n\
361   static __inline__ unsigned long\n\
362   htonl (unsigned long __arg)\n\
363   {\n\
364     register unsigned long __result;\n\n\
365     __result = (__arg >> 24) & 0x000000ff;\n\
366     __result |= (__arg >> 8) & 0x0000ff00;\n\
367     __result |= (__arg << 8) & 0x00ff0000;\n\
368     __result |= (__arg << 24) & 0xff000000;\n\
369     return __result;\n\
370   }\n\n\
371   /* Convert a host short to a network short.  */\n\n\
372   static __inline__ unsigned short\n\
373   htons (unsigned int __arg)\n\
374   {\n\
375     register unsigned short __result;\n\n\
376     __result = (__arg << 8) & 0xff00;\n\
377     __result |= (__arg >> 8) & 0x00ff;\n\
378     return __result;\n\
379   }\n\n\
380 #else /* must be a big-endian machine */\n\n\
381   #ifndef __BYTE_ORDER__\n\
382     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
383   #endif\n\n\
384   /* Convert a host long to a network long.  */\n\n\
385   static __inline__ unsigned long\n\
386   htonl (unsigned long __arg)\n\
387   {\n\
388     return __arg;\n\
389   }\n\n\
390   /* Convert a host short to a network short.  */\n\n\
391   static __inline__ unsigned short\n\
392   htons (unsigned int __arg)\n\
393   {\n\
394     return __arg;\n\
395   }\n\n\
396 #endif /* big-endian */\n\n\
397 /* Convert a network long to a host long.  */\n\n\
398 static __inline__ unsigned long\n\
399 ntohl (unsigned long __arg)\n\
400 {\n\
401   return htonl (__arg);\n\
402 }\n\n\
403 /* Convert a network short to a host short.  */\n\n\
404 static __inline__ unsigned short\n\
405 ntohs (unsigned int __arg)\n\
406 {\n\
407   return htons (__arg);\n\
408 }\n\
409 #endif",
410     (char*)NULL };
412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
414  *  Description of Aab_Ultrix_Ansi_Compat fix
415  */
416 tSCC zAab_Ultrix_Ansi_CompatName[] =
417      "AAB_ultrix_ansi_compat";
420  *  File name selection pattern
421  */
422 tSCC zAab_Ultrix_Ansi_CompatList[] =
423   "|ansi_compat.h|";
425  *  Machine/OS name selection pattern
426  */
427 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
430  *  content selection pattern - do fix if pattern found
431  */
432 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
433        "ULTRIX";
435 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
436 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
437   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
440  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
441  */
442 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
443 "/* This file intentionally left blank.  */\n",
444     (char*)NULL };
446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
448  *  Description of Aab_Ultrix_Limits fix
449  */
450 tSCC zAab_Ultrix_LimitsName[] =
451      "AAB_ultrix_limits";
454  *  File name selection pattern
455  */
456 tSCC zAab_Ultrix_LimitsList[] =
457   "|limits.h|";
459  *  Machine/OS name selection pattern
460  */
461 tSCC* apzAab_Ultrix_LimitsMachs[] = {
462         "*-*-ultrix4.3",
463         (const char*)NULL };
464 #define AAB_ULTRIX_LIMITS_TEST_CT  0
465 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
468  *  Fix Command Arguments for Aab_Ultrix_Limits
469  */
470 static const char* apzAab_Ultrix_LimitsPatch[] = {
471 "#ifndef _LIMITS_INCLUDED\n\
472   #define _LIMITS_INCLUDED\n\
473   #include <sys/limits.h>\n\
474 #endif /* _LIMITS_INCLUDED */",
475     (char*)NULL };
477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
479  *  Description of Aab_Ultrix_Memory fix
480  */
481 tSCC zAab_Ultrix_MemoryName[] =
482      "AAB_ultrix_memory";
485  *  File name selection pattern
486  */
487 tSCC zAab_Ultrix_MemoryList[] =
488   "|memory.h|";
490  *  Machine/OS name selection pattern
491  */
492 tSCC* apzAab_Ultrix_MemoryMachs[] = {
493         "*-*-ultrix4.3",
494         (const char*)NULL };
495 #define AAB_ULTRIX_MEMORY_TEST_CT  0
496 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
499  *  Fix Command Arguments for Aab_Ultrix_Memory
500  */
501 static const char* apzAab_Ultrix_MemoryPatch[] = {
502 "#ifndef _MEMORY_INCLUDED\n\
503   #define _MEMORY_INCLUDED\n\
504   #include <strings.h>\n\
505 #endif /* _MEMORY_INCLUDED */",
506     (char*)NULL };
508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
510  *  Description of Aab_Ultrix_String fix
511  */
512 tSCC zAab_Ultrix_StringName[] =
513      "AAB_ultrix_string";
516  *  File name selection pattern
517  */
518 tSCC zAab_Ultrix_StringList[] =
519   "|string.h|";
521  *  Machine/OS name selection pattern
522  */
523 tSCC* apzAab_Ultrix_StringMachs[] = {
524         "*-*-ultrix4.3",
525         (const char*)NULL };
526 #define AAB_ULTRIX_STRING_TEST_CT  0
527 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
530  *  Fix Command Arguments for Aab_Ultrix_String
531  */
532 static const char* apzAab_Ultrix_StringPatch[] = {
533 "#ifndef _STRING_INCLUDED\n\
534   #define _STRING_INCLUDED\n\
535   #include <strings.h>\n\
536 #endif /* _STRING_INCLUDED */",
537     (char*)NULL };
539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
541  *  Description of Aix_Pthread fix
542  */
543 tSCC zAix_PthreadName[] =
544      "aix_pthread";
547  *  File name selection pattern
548  */
549 tSCC zAix_PthreadList[] =
550   "|pthread.h|";
552  *  Machine/OS name selection pattern
553  */
554 #define apzAix_PthreadMachs (const char**)NULL
557  *  content selection pattern - do fix if pattern found
558  */
559 tSCC zAix_PthreadSelect0[] =
560        "(#define [A-Za-z_0-9]+)(\\\\\n\
561 [^A-Za-z_0-9 \t\n\
562 (])";
564 #define    AIX_PTHREAD_TEST_CT  1
565 static tTestDesc aAix_PthreadTests[] = {
566   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
569  *  Fix Command Arguments for Aix_Pthread
570  */
571 static const char* apzAix_PthreadPatch[] = {
572     "format",
573     "%1 %2",
574     (char*)NULL };
576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
578  *  Description of Aix_Sysmachine fix
579  */
580 tSCC zAix_SysmachineName[] =
581      "aix_sysmachine";
584  *  File name selection pattern
585  */
586 tSCC zAix_SysmachineList[] =
587   "|sys/machine.h|";
589  *  Machine/OS name selection pattern
590  */
591 #define apzAix_SysmachineMachs (const char**)NULL
594  *  content selection pattern - do fix if pattern found
595  */
596 tSCC zAix_SysmachineSelect0[] =
597        "\\\\ +\n";
599 #define    AIX_SYSMACHINE_TEST_CT  1
600 static tTestDesc aAix_SysmachineTests[] = {
601   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
604  *  Fix Command Arguments for Aix_Sysmachine
605  */
606 static const char* apzAix_SysmachinePatch[] = {
607     "format",
608     "\\\n",
609     (char*)NULL };
611 /* * * * * * * * * * * * * * * * * * * * * * * * * *
613  *  Description of Aix_Syswait fix
614  */
615 tSCC zAix_SyswaitName[] =
616      "aix_syswait";
619  *  File name selection pattern
620  */
621 tSCC zAix_SyswaitList[] =
622   "|sys/wait.h|";
624  *  Machine/OS name selection pattern
625  */
626 #define apzAix_SyswaitMachs (const char**)NULL
629  *  content selection pattern - do fix if pattern found
630  */
631 tSCC zAix_SyswaitSelect0[] =
632        "^extern pid_t wait3\\(\\);\n";
633 tSCC zAix_SyswaitSelect1[] =
634        "bos325,";
636 #define    AIX_SYSWAIT_TEST_CT  2
637 static tTestDesc aAix_SyswaitTests[] = {
638   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
639   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
642  *  Fix Command Arguments for Aix_Syswait
643  */
644 static const char* apzAix_SyswaitPatch[] = {
645     "format",
646     "struct rusage;\n\
647 %0",
648     (char*)NULL };
650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
652  *  Description of Aix_Syswait_2 fix
653  */
654 tSCC zAix_Syswait_2Name[] =
655      "aix_syswait_2";
658  *  File name selection pattern
659  */
660 tSCC zAix_Syswait_2List[] =
661   "|sys/wait.h|";
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_Syswait_2Machs (const char**)NULL
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_Syswait_2Select0[] =
671        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
673 #define    AIX_SYSWAIT_2_TEST_CT  1
674 static tTestDesc aAix_Syswait_2Tests[] = {
675   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
678  *  Fix Command Arguments for Aix_Syswait_2
679  */
680 static const char* apzAix_Syswait_2Patch[] = {
681     "format",
682     "? (int)%1",
683     (char*)NULL };
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
687  *  Description of Aix_Volatile fix
688  */
689 tSCC zAix_VolatileName[] =
690      "aix_volatile";
693  *  File name selection pattern
694  */
695 tSCC zAix_VolatileList[] =
696   "|sys/signal.h|";
698  *  Machine/OS name selection pattern
699  */
700 #define apzAix_VolatileMachs (const char**)NULL
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAix_VolatileSelect0[] =
706        "typedef volatile int sig_atomic_t";
708 #define    AIX_VOLATILE_TEST_CT  1
709 static tTestDesc aAix_VolatileTests[] = {
710   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
713  *  Fix Command Arguments for Aix_Volatile
714  */
715 static const char* apzAix_VolatilePatch[] = {
716     "format",
717     "typedef int sig_atomic_t",
718     (char*)NULL };
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
722  *  Description of Alpha___Assert fix
723  */
724 tSCC zAlpha___AssertName[] =
725      "alpha___assert";
728  *  File name selection pattern
729  */
730 tSCC zAlpha___AssertList[] =
731   "|assert.h|";
733  *  Machine/OS name selection pattern
734  */
735 #define apzAlpha___AssertMachs (const char**)NULL
738  *  content selection pattern - do fix if pattern found
739  */
740 tSCC zAlpha___AssertSelect0[] =
741        "__assert\\(char \\*, char \\*, int\\)";
743 #define    ALPHA___ASSERT_TEST_CT  1
744 static tTestDesc aAlpha___AssertTests[] = {
745   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
748  *  Fix Command Arguments for Alpha___Assert
749  */
750 static const char* apzAlpha___AssertPatch[] = {
751     "format",
752     "__assert(const char *, const char *, int)",
753     (char*)NULL };
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
757  *  Description of Alpha___Extern_Prefix fix
758  */
759 tSCC zAlpha___Extern_PrefixName[] =
760      "alpha___extern_prefix";
763  *  File name selection pattern
764  */
765 #define zAlpha___Extern_PrefixList (char*)NULL
767  *  Machine/OS name selection pattern
768  */
769 tSCC* apzAlpha___Extern_PrefixMachs[] = {
770         "alpha*-dec-osf*",
771         (const char*)NULL };
774  *  content selection pattern - do fix if pattern found
775  */
776 tSCC zAlpha___Extern_PrefixSelect0[] =
777        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
778 (#[ \t]*pragma[ \t]*extern_prefix.*)";
780 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
781 static tTestDesc aAlpha___Extern_PrefixTests[] = {
782   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
785  *  Fix Command Arguments for Alpha___Extern_Prefix
786  */
787 static const char* apzAlpha___Extern_PrefixPatch[] = {
788     "format",
789     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
790 %3",
791     (char*)NULL };
793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
795  *  Description of Alpha___Extern_Prefix_Standards fix
796  */
797 tSCC zAlpha___Extern_Prefix_StandardsName[] =
798      "alpha___extern_prefix_standards";
801  *  File name selection pattern
802  */
803 tSCC zAlpha___Extern_Prefix_StandardsList[] =
804   "|standards.h|";
806  *  Machine/OS name selection pattern
807  */
808 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
809         "alpha*-dec-osf*",
810         (const char*)NULL };
813  *  content selection pattern - do fix if pattern found
814  */
815 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
816        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
818 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
819 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
820   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
823  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
824  */
825 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
826     "format",
827     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
828     (char*)NULL };
830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
832  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
833  */
834 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
835      "alpha___extern_prefix_sys_stat";
838  *  File name selection pattern
839  */
840 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
841   "|sys/stat.h|sys/mount.h|";
843  *  Machine/OS name selection pattern
844  */
845 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
846         "alpha*-dec-osf5*",
847         (const char*)NULL };
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
853        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
855 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
856 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
857   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
860  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
861  */
862 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
863     "format",
864     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
865     (char*)NULL };
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
869  *  Description of Alpha_Assert fix
870  */
871 tSCC zAlpha_AssertName[] =
872      "alpha_assert";
875  *  File name selection pattern
876  */
877 tSCC zAlpha_AssertList[] =
878   "|assert.h|";
880  *  Machine/OS name selection pattern
881  */
882 #define apzAlpha_AssertMachs (const char**)NULL
885  *  content selection pattern - do fix if pattern found
886  */
887 tSCC zAlpha_AssertSelect0[] =
888        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
890 #define    ALPHA_ASSERT_TEST_CT  1
891 static tTestDesc aAlpha_AssertTests[] = {
892   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
895  *  Fix Command Arguments for Alpha_Assert
896  */
897 static const char* apzAlpha_AssertPatch[] = {
898     "format",
899     "%1(EX)",
900     (char*)NULL };
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
904  *  Description of Alpha_Bad_Lval fix
905  */
906 tSCC zAlpha_Bad_LvalName[] =
907      "alpha_bad_lval";
910  *  File name selection pattern
911  */
912 #define zAlpha_Bad_LvalList (char*)NULL
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Bad_LvalMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Bad_LvalSelect0[] =
924        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
926 #define    ALPHA_BAD_LVAL_TEST_CT  1
927 static tTestDesc aAlpha_Bad_LvalTests[] = {
928   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
931  *  Fix Command Arguments for Alpha_Bad_Lval
932  */
933 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
934     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
935     (char*)NULL };
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
939  *  Description of Alpha_Getopt fix
940  */
941 tSCC zAlpha_GetoptName[] =
942      "alpha_getopt";
945  *  File name selection pattern
946  */
947 tSCC zAlpha_GetoptList[] =
948   "|stdio.h|stdlib.h|";
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_GetoptMachs (const char**)NULL
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_GetoptSelect0[] =
958        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
960 #define    ALPHA_GETOPT_TEST_CT  1
961 static tTestDesc aAlpha_GetoptTests[] = {
962   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
965  *  Fix Command Arguments for Alpha_Getopt
966  */
967 static const char* apzAlpha_GetoptPatch[] = {
968     "format",
969     "getopt(int, char *const[], const char *)",
970     (char*)NULL };
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
974  *  Description of Alpha_Parens fix
975  */
976 tSCC zAlpha_ParensName[] =
977      "alpha_parens";
980  *  File name selection pattern
981  */
982 tSCC zAlpha_ParensList[] =
983   "|sym.h|";
985  *  Machine/OS name selection pattern
986  */
987 #define apzAlpha_ParensMachs (const char**)NULL
990  *  content selection pattern - do fix if pattern found
991  */
992 tSCC zAlpha_ParensSelect0[] =
993        "#ifndef\\(__mips64\\)";
995 #define    ALPHA_PARENS_TEST_CT  1
996 static tTestDesc aAlpha_ParensTests[] = {
997   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1000  *  Fix Command Arguments for Alpha_Parens
1001  */
1002 static const char* apzAlpha_ParensPatch[] = {
1003     "format",
1004     "#ifndef __mips64",
1005     (char*)NULL };
1007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1009  *  Description of Alpha_Pthread fix
1010  */
1011 tSCC zAlpha_PthreadName[] =
1012      "alpha_pthread";
1015  *  File name selection pattern
1016  */
1017 tSCC zAlpha_PthreadList[] =
1018   "|pthread.h|";
1020  *  Machine/OS name selection pattern
1021  */
1022 tSCC* apzAlpha_PthreadMachs[] = {
1023         "alpha*-dec-osf*",
1024         (const char*)NULL };
1027  *  content selection pattern - do fix if pattern found
1028  */
1029 tSCC zAlpha_PthreadSelect0[] =
1030        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1031 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1033 #define    ALPHA_PTHREAD_TEST_CT  1
1034 static tTestDesc aAlpha_PthreadTests[] = {
1035   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1038  *  Fix Command Arguments for Alpha_Pthread
1039  */
1040 static const char* apzAlpha_PthreadPatch[] = {
1041     "format",
1042     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1043 %5",
1044     (char*)NULL };
1046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1048  *  Description of Alpha_Pthread_Gcc fix
1049  */
1050 tSCC zAlpha_Pthread_GccName[] =
1051      "alpha_pthread_gcc";
1054  *  File name selection pattern
1055  */
1056 tSCC zAlpha_Pthread_GccList[] =
1057   "|pthread.h|";
1059  *  Machine/OS name selection pattern
1060  */
1061 tSCC* apzAlpha_Pthread_GccMachs[] = {
1062         "alpha*-dec-osf*",
1063         (const char*)NULL };
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zAlpha_Pthread_GccSelect0[] =
1069        "#else\n\
1070 # error <pthread.h>: unrecognized compiler.";
1072 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1073 static tTestDesc aAlpha_Pthread_GccTests[] = {
1074   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1077  *  Fix Command Arguments for Alpha_Pthread_Gcc
1078  */
1079 static const char* apzAlpha_Pthread_GccPatch[] = {
1080     "format",
1081     "#elif defined (__GNUC__)\n\
1082 # define _PTHREAD_ENV_GCC\n\
1083 %0",
1084     (char*)NULL };
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1088  *  Description of Alpha_Pthread_Init fix
1089  */
1090 tSCC zAlpha_Pthread_InitName[] =
1091      "alpha_pthread_init";
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_Pthread_InitList[] =
1097   "|pthread.h|";
1099  *  Machine/OS name selection pattern
1100  */
1101 tSCC* apzAlpha_Pthread_InitMachs[] = {
1102         "alpha*-dec-osf*",
1103         (const char*)NULL };
1106  *  content selection pattern - do fix if pattern found
1107  */
1108 tSCC zAlpha_Pthread_InitSelect0[] =
1109        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1111 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1112 static tTestDesc aAlpha_Pthread_InitTests[] = {
1113   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1116  *  Fix Command Arguments for Alpha_Pthread_Init
1117  */
1118 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1119     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1120 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1121 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1122 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1123 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1124 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1125     (char*)NULL };
1127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1129  *  Description of Alpha_Sbrk fix
1130  */
1131 tSCC zAlpha_SbrkName[] =
1132      "alpha_sbrk";
1135  *  File name selection pattern
1136  */
1137 tSCC zAlpha_SbrkList[] =
1138   "|unistd.h|";
1140  *  Machine/OS name selection pattern
1141  */
1142 #define apzAlpha_SbrkMachs (const char**)NULL
1145  *  content selection pattern - do fix if pattern found
1146  */
1147 tSCC zAlpha_SbrkSelect0[] =
1148        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1150 #define    ALPHA_SBRK_TEST_CT  1
1151 static tTestDesc aAlpha_SbrkTests[] = {
1152   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1155  *  Fix Command Arguments for Alpha_Sbrk
1156  */
1157 static const char* apzAlpha_SbrkPatch[] = {
1158     "format",
1159     "void *sbrk(",
1160     (char*)NULL };
1162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1164  *  Description of Alpha_Wchar fix
1165  */
1166 tSCC zAlpha_WcharName[] =
1167      "alpha_wchar";
1170  *  File name selection pattern
1171  */
1172 tSCC zAlpha_WcharList[] =
1173   "|wchar.h|";
1175  *  Machine/OS name selection pattern
1176  */
1177 tSCC* apzAlpha_WcharMachs[] = {
1178         "alpha*-dec-osf4*",
1179         (const char*)NULL };
1182  *  content selection pattern - do fix if pattern found
1183  */
1184 tSCC zAlpha_WcharSelect0[] =
1185        "#define wcstok wcstok_r";
1187 #define    ALPHA_WCHAR_TEST_CT  1
1188 static tTestDesc aAlpha_WcharTests[] = {
1189   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1192  *  Fix Command Arguments for Alpha_Wchar
1193  */
1194 static const char* apzAlpha_WcharPatch[] = { "sed",
1195     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1196     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1197     (char*)NULL };
1199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1201  *  Description of Avoid_Bool_Define fix
1202  */
1203 tSCC zAvoid_Bool_DefineName[] =
1204      "avoid_bool_define";
1207  *  File name selection pattern
1208  */
1209 tSCC zAvoid_Bool_DefineList[] =
1210   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1212  *  Machine/OS name selection pattern
1213  */
1214 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1217  *  content selection pattern - do fix if pattern found
1218  */
1219 tSCC zAvoid_Bool_DefineSelect0[] =
1220        "#[ \t]*define[ \t]+bool[ \t]";
1223  *  content bypass pattern - skip fix if pattern found
1224  */
1225 tSCC zAvoid_Bool_DefineBypass0[] =
1226        "__cplusplus";
1228 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1229 static tTestDesc aAvoid_Bool_DefineTests[] = {
1230   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1231   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1234  *  Fix Command Arguments for Avoid_Bool_Define
1235  */
1236 static const char* apzAvoid_Bool_DefinePatch[] = {
1237     "format",
1238     "#ifndef __cplusplus\n\
1239 %0\n\
1240 #endif",
1241     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1242     (char*)NULL };
1244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1246  *  Description of Avoid_Bool_Type fix
1247  */
1248 tSCC zAvoid_Bool_TypeName[] =
1249      "avoid_bool_type";
1252  *  File name selection pattern
1253  */
1254 tSCC zAvoid_Bool_TypeList[] =
1255   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1257  *  Machine/OS name selection pattern
1258  */
1259 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1262  *  content selection pattern - do fix if pattern found
1263  */
1264 tSCC zAvoid_Bool_TypeSelect0[] =
1265        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1268  *  content bypass pattern - skip fix if pattern found
1269  */
1270 tSCC zAvoid_Bool_TypeBypass0[] =
1271        "__cplusplus";
1273 #define    AVOID_BOOL_TYPE_TEST_CT  2
1274 static tTestDesc aAvoid_Bool_TypeTests[] = {
1275   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1276   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1279  *  Fix Command Arguments for Avoid_Bool_Type
1280  */
1281 static const char* apzAvoid_Bool_TypePatch[] = {
1282     "format",
1283     "#ifndef __cplusplus\n\
1284 %0\n\
1285 #endif",
1286     (char*)NULL };
1288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1290  *  Description of Avoid_Wchar_T_Type fix
1291  */
1292 tSCC zAvoid_Wchar_T_TypeName[] =
1293      "avoid_wchar_t_type";
1296  *  File name selection pattern
1297  */
1298 #define zAvoid_Wchar_T_TypeList (char*)NULL
1300  *  Machine/OS name selection pattern
1301  */
1302 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1305  *  content selection pattern - do fix if pattern found
1306  */
1307 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1308        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1311  *  content bypass pattern - skip fix if pattern found
1312  */
1313 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1314        "__cplusplus";
1315 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1316        "_LINUX_NLS_H";
1317 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1318        "XFree86: xc/lib/X11/Xlib\\.h";
1320 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1321 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1322   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1323   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1324   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1325   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1328  *  Fix Command Arguments for Avoid_Wchar_T_Type
1329  */
1330 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1331     "format",
1332     "#ifndef __cplusplus\n\
1333 %0\n\
1334 #endif",
1335     (char*)NULL };
1337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1339  *  Description of Bad_Struct_Term fix
1340  */
1341 tSCC zBad_Struct_TermName[] =
1342      "bad_struct_term";
1345  *  File name selection pattern
1346  */
1347 tSCC zBad_Struct_TermList[] =
1348   "|curses.h|";
1350  *  Machine/OS name selection pattern
1351  */
1352 #define apzBad_Struct_TermMachs (const char**)NULL
1355  *  content selection pattern - do fix if pattern found
1356  */
1357 tSCC zBad_Struct_TermSelect0[] =
1358        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1360 #define    BAD_STRUCT_TERM_TEST_CT  1
1361 static tTestDesc aBad_Struct_TermTests[] = {
1362   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1365  *  Fix Command Arguments for Bad_Struct_Term
1366  */
1367 static const char* apzBad_Struct_TermPatch[] = {
1368     "format",
1369     "struct term;",
1370     (char*)NULL };
1372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1374  *  Description of Badquote fix
1375  */
1376 tSCC zBadquoteName[] =
1377      "badquote";
1380  *  File name selection pattern
1381  */
1382 tSCC zBadquoteList[] =
1383   "|sundev/vuid_event.h|";
1385  *  Machine/OS name selection pattern
1386  */
1387 #define apzBadquoteMachs (const char**)NULL
1390  *  content selection pattern - do fix if pattern found
1391  */
1392 tSCC zBadquoteSelect0[] =
1393        "doesn't";
1395 #define    BADQUOTE_TEST_CT  1
1396 static tTestDesc aBadquoteTests[] = {
1397   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1400  *  Fix Command Arguments for Badquote
1401  */
1402 static const char* apzBadquotePatch[] = {
1403     "format",
1404     "does not",
1405     (char*)NULL };
1407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1409  *  Description of Broken_Assert_Stdio fix
1410  */
1411 tSCC zBroken_Assert_StdioName[] =
1412      "broken_assert_stdio";
1415  *  File name selection pattern
1416  */
1417 tSCC zBroken_Assert_StdioList[] =
1418   "|assert.h|";
1420  *  Machine/OS name selection pattern
1421  */
1422 #define apzBroken_Assert_StdioMachs (const char**)NULL
1425  *  content selection pattern - do fix if pattern found
1426  */
1427 tSCC zBroken_Assert_StdioSelect0[] =
1428        "stderr";
1431  *  content bypass pattern - skip fix if pattern found
1432  */
1433 tSCC zBroken_Assert_StdioBypass0[] =
1434        "include.*stdio\\.h";
1436 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1437 static tTestDesc aBroken_Assert_StdioTests[] = {
1438   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1439   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1442  *  Fix Command Arguments for Broken_Assert_Stdio
1443  */
1444 static const char* apzBroken_Assert_StdioPatch[] = {
1445     "wrap",
1446     "#include <stdio.h>\n",
1447     (char*)NULL };
1449 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1451  *  Description of Broken_Assert_Stdlib fix
1452  */
1453 tSCC zBroken_Assert_StdlibName[] =
1454      "broken_assert_stdlib";
1457  *  File name selection pattern
1458  */
1459 tSCC zBroken_Assert_StdlibList[] =
1460   "|assert.h|";
1462  *  Machine/OS name selection pattern
1463  */
1464 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1467  *  content selection pattern - do fix if pattern found
1468  */
1469 tSCC zBroken_Assert_StdlibSelect0[] =
1470        "exit *\\(|abort *\\(";
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zBroken_Assert_StdlibBypass0[] =
1476        "include.*stdlib\\.h";
1478 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1479 static tTestDesc aBroken_Assert_StdlibTests[] = {
1480   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1481   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1484  *  Fix Command Arguments for Broken_Assert_Stdlib
1485  */
1486 static const char* apzBroken_Assert_StdlibPatch[] = {
1487     "wrap",
1488     "#ifdef __cplusplus\n\
1489 #include <stdlib.h>\n\
1490 #endif\n",
1491     (char*)NULL };
1493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1495  *  Description of Broken_Cabs fix
1496  */
1497 tSCC zBroken_CabsName[] =
1498      "broken_cabs";
1501  *  File name selection pattern
1502  */
1503 tSCC zBroken_CabsList[] =
1504   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1506  *  Machine/OS name selection pattern
1507  */
1508 #define apzBroken_CabsMachs (const char**)NULL
1511  *  content selection pattern - do fix if pattern found
1512  */
1513 tSCC zBroken_CabsSelect0[] =
1514        "^extern[ \t]+double[ \t]+cabs";
1516 #define    BROKEN_CABS_TEST_CT  1
1517 static tTestDesc aBroken_CabsTests[] = {
1518   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1521  *  Fix Command Arguments for Broken_Cabs
1522  */
1523 static const char* apzBroken_CabsPatch[] = {
1524     "format",
1525     "",
1526     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1527     (char*)NULL };
1529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1531  *  Description of Bsd_Stdio_Attrs_Conflict fix
1532  */
1533 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1534      "bsd_stdio_attrs_conflict";
1537  *  File name selection pattern
1538  */
1539 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1540   "|stdio.h|";
1542  *  Machine/OS name selection pattern
1543  */
1544 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1545         "*-*-*bsd*",
1546         "*-*-*darwin*",
1547         (const char*)NULL };
1550  *  content selection pattern - do fix if pattern found
1551  */
1552 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1553        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1555 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1556 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1557   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1560  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1561  */
1562 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1563     "format",
1564     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1565 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1566 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1567     (char*)NULL };
1569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1571  *  Description of Ctrl_Quotes_Def fix
1572  */
1573 tSCC zCtrl_Quotes_DefName[] =
1574      "ctrl_quotes_def";
1577  *  File name selection pattern
1578  */
1579 #define zCtrl_Quotes_DefList (char*)NULL
1581  *  Machine/OS name selection pattern
1582  */
1583 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1586  *  content selection pattern - do fix if pattern found
1587  */
1588 tSCC zCtrl_Quotes_DefSelect0[] =
1589        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1591 #define    CTRL_QUOTES_DEF_TEST_CT  1
1592 static tTestDesc aCtrl_Quotes_DefTests[] = {
1593   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1596  *  Fix Command Arguments for Ctrl_Quotes_Def
1597  */
1598 static const char* apzCtrl_Quotes_DefPatch[] = {
1599     "char_macro_def",
1600     "CTRL",
1601     (char*)NULL };
1603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1605  *  Description of Ctrl_Quotes_Use fix
1606  */
1607 tSCC zCtrl_Quotes_UseName[] =
1608      "ctrl_quotes_use";
1611  *  File name selection pattern
1612  */
1613 #define zCtrl_Quotes_UseList (char*)NULL
1615  *  Machine/OS name selection pattern
1616  */
1617 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1620  *  content selection pattern - do fix if pattern found
1621  */
1622 tSCC zCtrl_Quotes_UseSelect0[] =
1623        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1625 #define    CTRL_QUOTES_USE_TEST_CT  1
1626 static tTestDesc aCtrl_Quotes_UseTests[] = {
1627   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1630  *  Fix Command Arguments for Ctrl_Quotes_Use
1631  */
1632 static const char* apzCtrl_Quotes_UsePatch[] = {
1633     "char_macro_use",
1634     "CTRL",
1635     (char*)NULL };
1637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1639  *  Description of Cxx_Unready fix
1640  */
1641 tSCC zCxx_UnreadyName[] =
1642      "cxx_unready";
1645  *  File name selection pattern
1646  */
1647 tSCC zCxx_UnreadyList[] =
1648   "|sys/mman.h|rpc/types.h|";
1650  *  Machine/OS name selection pattern
1651  */
1652 #define apzCxx_UnreadyMachs (const char**)NULL
1655  *  content selection pattern - do fix if pattern found
1656  */
1657 tSCC zCxx_UnreadySelect0[] =
1658        "[^#]+malloc.*;";
1661  *  content bypass pattern - skip fix if pattern found
1662  */
1663 tSCC zCxx_UnreadyBypass0[] =
1664        "\"C\"|__BEGIN_DECLS";
1666 #define    CXX_UNREADY_TEST_CT  2
1667 static tTestDesc aCxx_UnreadyTests[] = {
1668   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1669   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1672  *  Fix Command Arguments for Cxx_Unready
1673  */
1674 static const char* apzCxx_UnreadyPatch[] = {
1675     "wrap",
1676     "#ifdef __cplusplus\n\
1677 extern \"C\" {\n\
1678 #endif\n",
1679     "#ifdef __cplusplus\n\
1680 }\n\
1681 #endif\n",
1682     (char*)NULL };
1684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1686  *  Description of Darwin_Gcc4_Breakage fix
1687  */
1688 tSCC zDarwin_Gcc4_BreakageName[] =
1689      "darwin_gcc4_breakage";
1692  *  File name selection pattern
1693  */
1694 tSCC zDarwin_Gcc4_BreakageList[] =
1695   "|AvailabilityMacros.h|";
1697  *  Machine/OS name selection pattern
1698  */
1699 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1700         "*-*-darwin*",
1701         (const char*)NULL };
1704  *  content selection pattern - do fix if pattern found
1705  */
1706 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1707        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1709 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1710 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1711   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1714  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1715  */
1716 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1717     "format",
1718     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1719     (char*)NULL };
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1723  *  Description of Darwin_Private_Extern fix
1724  */
1725 tSCC zDarwin_Private_ExternName[] =
1726      "darwin_private_extern";
1729  *  File name selection pattern
1730  */
1731 tSCC zDarwin_Private_ExternList[] =
1732   "|mach-o/dyld.h|";
1734  *  Machine/OS name selection pattern
1735  */
1736 tSCC* apzDarwin_Private_ExternMachs[] = {
1737         "*-*-darwin*",
1738         (const char*)NULL };
1741  *  content selection pattern - do fix if pattern found
1742  */
1743 tSCC zDarwin_Private_ExternSelect0[] =
1744        "__private_extern__ [a-z_]+ _dyld_";
1746 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1747 static tTestDesc aDarwin_Private_ExternTests[] = {
1748   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1751  *  Fix Command Arguments for Darwin_Private_Extern
1752  */
1753 static const char* apzDarwin_Private_ExternPatch[] = {
1754     "format",
1755     "extern",
1756     "__private_extern__",
1757     (char*)NULL };
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1761  *  Description of Dec_Intern_Asm fix
1762  */
1763 tSCC zDec_Intern_AsmName[] =
1764      "dec_intern_asm";
1767  *  File name selection pattern
1768  */
1769 tSCC zDec_Intern_AsmList[] =
1770   "|c_asm.h|";
1772  *  Machine/OS name selection pattern
1773  */
1774 #define apzDec_Intern_AsmMachs (const char**)NULL
1775 #define DEC_INTERN_ASM_TEST_CT  0
1776 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1779  *  Fix Command Arguments for Dec_Intern_Asm
1780  */
1781 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1782     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1783 #ifdef __DECC\n",
1784     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1785 #endif\n",
1786     (char*)NULL };
1788 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1790  *  Description of Djgpp_Wchar_H fix
1791  */
1792 tSCC zDjgpp_Wchar_HName[] =
1793      "djgpp_wchar_h";
1796  *  File name selection pattern
1797  */
1798 #define zDjgpp_Wchar_HList (char*)NULL
1800  *  Machine/OS name selection pattern
1801  */
1802 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1805  *  content selection pattern - do fix if pattern found
1806  */
1807 tSCC zDjgpp_Wchar_HSelect0[] =
1808        "__DJ_wint_t";
1811  *  content bypass pattern - skip fix if pattern found
1812  */
1813 tSCC zDjgpp_Wchar_HBypass0[] =
1814        "sys/djtypes.h";
1816 #define    DJGPP_WCHAR_H_TEST_CT  2
1817 static tTestDesc aDjgpp_Wchar_HTests[] = {
1818   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1819   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1822  *  Fix Command Arguments for Djgpp_Wchar_H
1823  */
1824 static const char* apzDjgpp_Wchar_HPatch[] = {
1825     "format",
1826     "%0\n\
1827 #include <sys/djtypes.h>",
1828     "#include <stddef.h>",
1829     (char*)NULL };
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1833  *  Description of Ecd_Cursor fix
1834  */
1835 tSCC zEcd_CursorName[] =
1836      "ecd_cursor";
1839  *  File name selection pattern
1840  */
1841 tSCC zEcd_CursorList[] =
1842   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1844  *  Machine/OS name selection pattern
1845  */
1846 #define apzEcd_CursorMachs (const char**)NULL
1849  *  content selection pattern - do fix if pattern found
1850  */
1851 tSCC zEcd_CursorSelect0[] =
1852        "ecd\\.cursor";
1854 #define    ECD_CURSOR_TEST_CT  1
1855 static tTestDesc aEcd_CursorTests[] = {
1856   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1859  *  Fix Command Arguments for Ecd_Cursor
1860  */
1861 static const char* apzEcd_CursorPatch[] = {
1862     "format",
1863     "ecd_cursor",
1864     (char*)NULL };
1866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1868  *  Description of Exception_Structure fix
1869  */
1870 tSCC zException_StructureName[] =
1871      "exception_structure";
1874  *  File name selection pattern
1875  */
1876 tSCC zException_StructureList[] =
1877   "|math.h|";
1879  *  Machine/OS name selection pattern
1880  */
1881 #define apzException_StructureMachs (const char**)NULL
1884  *  content selection pattern - do fix if pattern found
1885  */
1886 tSCC zException_StructureSelect0[] =
1887        "matherr";
1890  *  content bypass pattern - skip fix if pattern found
1891  */
1892 tSCC zException_StructureBypass0[] =
1893        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
1895 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1896 static tTestDesc aException_StructureTests[] = {
1897   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1898   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1901  *  Fix Command Arguments for Exception_Structure
1902  */
1903 static const char* apzException_StructurePatch[] = {
1904     "wrap",
1905     "struct exception;\n",
1906     (char*)NULL };
1908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1910  *  Description of Freebsd_Gcc3_Breakage fix
1911  */
1912 tSCC zFreebsd_Gcc3_BreakageName[] =
1913      "freebsd_gcc3_breakage";
1916  *  File name selection pattern
1917  */
1918 tSCC zFreebsd_Gcc3_BreakageList[] =
1919   "|sys/cdefs.h|";
1921  *  Machine/OS name selection pattern
1922  */
1923 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1924         "*-*-freebsd*",
1925         (const char*)NULL };
1928  *  content selection pattern - do fix if pattern found
1929  */
1930 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1931        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1934  *  content bypass pattern - skip fix if pattern found
1935  */
1936 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1937        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1939 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1940 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1941   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1942   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1945  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1946  */
1947 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1948     "format",
1949     "%0 || __GNUC__ >= 3",
1950     (char*)NULL };
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1954  *  Description of Freebsd_Gcc4_Breakage fix
1955  */
1956 tSCC zFreebsd_Gcc4_BreakageName[] =
1957      "freebsd_gcc4_breakage";
1960  *  File name selection pattern
1961  */
1962 tSCC zFreebsd_Gcc4_BreakageList[] =
1963   "|sys/cdefs.h|";
1965  *  Machine/OS name selection pattern
1966  */
1967 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
1968         "*-*-freebsd*",
1969         (const char*)NULL };
1972  *  content selection pattern - do fix if pattern found
1973  */
1974 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
1975        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
1977 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
1978 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
1979   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1982  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
1983  */
1984 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
1985     "format",
1986     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
1987     (char*)NULL };
1989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1991  *  Description of Gnu_Types fix
1992  */
1993 tSCC zGnu_TypesName[] =
1994      "gnu_types";
1997  *  File name selection pattern
1998  */
1999 tSCC zGnu_TypesList[] =
2000   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2002  *  Machine/OS name selection pattern
2003  */
2004 tSCC* apzGnu_TypesMachs[] = {
2005         "*-*-solaris2.1[0-9]*",
2006         (const char*)NULL };
2009  *  content selection pattern - do fix if pattern found
2010  */
2011 tSCC zGnu_TypesSelect0[] =
2012        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2015  *  content bypass pattern - skip fix if pattern found
2016  */
2017 tSCC zGnu_TypesBypass0[] =
2018        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2020 #define    GNU_TYPES_TEST_CT  2
2021 static tTestDesc aGnu_TypesTests[] = {
2022   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2023   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2026  *  Fix Command Arguments for Gnu_Types
2027  */
2028 static const char* apzGnu_TypesPatch[] = {
2029     "gnu_type",
2030     (char*)NULL };
2032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2034  *  Description of Hp_Inline fix
2035  */
2036 tSCC zHp_InlineName[] =
2037      "hp_inline";
2040  *  File name selection pattern
2041  */
2042 tSCC zHp_InlineList[] =
2043   "|sys/spinlock.h|machine/machparam.h|";
2045  *  Machine/OS name selection pattern
2046  */
2047 #define apzHp_InlineMachs (const char**)NULL
2050  *  content selection pattern - do fix if pattern found
2051  */
2052 tSCC zHp_InlineSelect0[] =
2053        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2055 #define    HP_INLINE_TEST_CT  1
2056 static tTestDesc aHp_InlineTests[] = {
2057   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2060  *  Fix Command Arguments for Hp_Inline
2061  */
2062 static const char* apzHp_InlinePatch[] = {
2063     "format",
2064     "%1<machine/%2.h>",
2065     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2066     (char*)NULL };
2068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2070  *  Description of Hp_Sysfile fix
2071  */
2072 tSCC zHp_SysfileName[] =
2073      "hp_sysfile";
2076  *  File name selection pattern
2077  */
2078 tSCC zHp_SysfileList[] =
2079   "|sys/file.h|";
2081  *  Machine/OS name selection pattern
2082  */
2083 #define apzHp_SysfileMachs (const char**)NULL
2086  *  content selection pattern - do fix if pattern found
2087  */
2088 tSCC zHp_SysfileSelect0[] =
2089        "HPUX_SOURCE";
2091 #define    HP_SYSFILE_TEST_CT  1
2092 static tTestDesc aHp_SysfileTests[] = {
2093   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2096  *  Fix Command Arguments for Hp_Sysfile
2097  */
2098 static const char* apzHp_SysfilePatch[] = {
2099     "format",
2100     "(struct file *, ...)",
2101     "\\(\\.\\.\\.\\)",
2102     (char*)NULL };
2104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2106  *  Description of Hpux10_Cpp_Pow_Inline fix
2107  */
2108 tSCC zHpux10_Cpp_Pow_InlineName[] =
2109      "hpux10_cpp_pow_inline";
2112  *  File name selection pattern
2113  */
2114 tSCC zHpux10_Cpp_Pow_InlineList[] =
2115   "|fixinc-test-limits.h|math.h|";
2117  *  Machine/OS name selection pattern
2118  */
2119 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2122  *  content selection pattern - do fix if pattern found
2123  */
2124 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2125        "^# +ifdef +__cplusplus\n\
2126  +\\}\n\
2127  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2128 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2129  +\\}\n\
2130  +extern +\"C\" +\\{\n\
2131 #else\n\
2132 # +endif";
2134 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2135 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2136   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2139  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2140  */
2141 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2142     "format",
2143     "",
2144     (char*)NULL };
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2148  *  Description of Hpux11_Cpp_Pow_Inline fix
2149  */
2150 tSCC zHpux11_Cpp_Pow_InlineName[] =
2151      "hpux11_cpp_pow_inline";
2154  *  File name selection pattern
2155  */
2156 tSCC zHpux11_Cpp_Pow_InlineList[] =
2157   "|math.h|";
2159  *  Machine/OS name selection pattern
2160  */
2161 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2164  *  content selection pattern - do fix if pattern found
2165  */
2166 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2167        " +inline double pow\\(double d,int expon\\) \\{\n\
2168  +return pow\\(d, \\(double\\)expon\\);\n\
2169  +\\}\n";
2171 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2172 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2173   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2176  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2177  */
2178 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2179     "format",
2180     "",
2181     (char*)NULL };
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2185  *  Description of Hpux10_Ctype_Declarations1 fix
2186  */
2187 tSCC zHpux10_Ctype_Declarations1Name[] =
2188      "hpux10_ctype_declarations1";
2191  *  File name selection pattern
2192  */
2193 tSCC zHpux10_Ctype_Declarations1List[] =
2194   "|ctype.h|";
2196  *  Machine/OS name selection pattern
2197  */
2198 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2201  *  content selection pattern - do fix if pattern found
2202  */
2203 tSCC zHpux10_Ctype_Declarations1Select0[] =
2204        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2207  *  content bypass pattern - skip fix if pattern found
2208  */
2209 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2210        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2212 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2213 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2214   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2215   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2218  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2219  */
2220 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2221     "format",
2222     "#ifdef _PROTOTYPES\n\
2223 extern int __tolower(int);\n\
2224 extern int __toupper(int);\n\
2225 #else /* NOT _PROTOTYPES */\n\
2226 extern int __tolower();\n\
2227 extern int __toupper();\n\
2228 #endif /* _PROTOTYPES */\n\n\
2229 %0\n",
2230     (char*)NULL };
2232 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2234  *  Description of Hpux10_Ctype_Declarations2 fix
2235  */
2236 tSCC zHpux10_Ctype_Declarations2Name[] =
2237      "hpux10_ctype_declarations2";
2240  *  File name selection pattern
2241  */
2242 tSCC zHpux10_Ctype_Declarations2List[] =
2243   "|ctype.h|";
2245  *  Machine/OS name selection pattern
2246  */
2247 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2250  *  content selection pattern - do fix if pattern found
2251  */
2252 tSCC zHpux10_Ctype_Declarations2Select0[] =
2253        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2256  *  content bypass pattern - skip fix if pattern found
2257  */
2258 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2259        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2261 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2262 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2263   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2264   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2267  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2268  */
2269 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2270     "format",
2271     "%0\n\n\
2272 #ifdef _PROTOTYPES\n\
2273      extern int _isalnum(int);\n\
2274      extern int _isalpha(int);\n\
2275      extern int _iscntrl(int);\n\
2276      extern int _isdigit(int);\n\
2277      extern int _isgraph(int);\n\
2278      extern int _islower(int);\n\
2279      extern int _isprint(int);\n\
2280      extern int _ispunct(int);\n\
2281      extern int _isspace(int);\n\
2282      extern int _isupper(int);\n\
2283      extern int _isxdigit(int);\n\
2284 #  else /* not _PROTOTYPES */\n\
2285      extern int _isalnum();\n\
2286      extern int _isalpha();\n\
2287      extern int _iscntrl();\n\
2288      extern int _isdigit();\n\
2289      extern int _isgraph();\n\
2290      extern int _islower();\n\
2291      extern int _isprint();\n\
2292      extern int _ispunct();\n\
2293      extern int _isspace();\n\
2294      extern int _isupper();\n\
2295      extern int _isxdigit();\n\
2296 #endif /* _PROTOTYPES */\n",
2297     (char*)NULL };
2299 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2301  *  Description of Hpux10_Stdio_Declarations fix
2302  */
2303 tSCC zHpux10_Stdio_DeclarationsName[] =
2304      "hpux10_stdio_declarations";
2307  *  File name selection pattern
2308  */
2309 tSCC zHpux10_Stdio_DeclarationsList[] =
2310   "|stdio.h|";
2312  *  Machine/OS name selection pattern
2313  */
2314 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2317  *  content selection pattern - do fix if pattern found
2318  */
2319 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2320        "^#[ \t]*define _iob[ \t]*__iob";
2323  *  content bypass pattern - skip fix if pattern found
2324  */
2325 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2326        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2328 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2329 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2330   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2331   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2334  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2335  */
2336 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2337     "format",
2338     "%0\n\n\
2339 #  if defined(__STDC__) || defined(__cplusplus)\n\
2340      extern int snprintf(char *, size_t, const char *, ...);\n\
2341      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2342 #  else /* not __STDC__) || __cplusplus */\n\
2343      extern int snprintf();\n\
2344      extern int vsnprintf();\n\
2345 #  endif /* __STDC__) || __cplusplus */\n",
2346     (char*)NULL };
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2350  *  Description of Hpux11_Abs fix
2351  */
2352 tSCC zHpux11_AbsName[] =
2353      "hpux11_abs";
2356  *  File name selection pattern
2357  */
2358 tSCC zHpux11_AbsList[] =
2359   "|stdlib.h|";
2361  *  Machine/OS name selection pattern
2362  */
2363 tSCC* apzHpux11_AbsMachs[] = {
2364         "ia64-hp-hpux11*",
2365         (const char*)NULL };
2368  *  content selection pattern - do fix if pattern found
2369  */
2370 tSCC zHpux11_AbsSelect0[] =
2371        "ifndef _MATH_INCLUDED";
2373 #define    HPUX11_ABS_TEST_CT  1
2374 static tTestDesc aHpux11_AbsTests[] = {
2375   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2378  *  Fix Command Arguments for Hpux11_Abs
2379  */
2380 static const char* apzHpux11_AbsPatch[] = {
2381     "format",
2382     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2383     (char*)NULL };
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2387  *  Description of Hpux11_Fabsf fix
2388  */
2389 tSCC zHpux11_FabsfName[] =
2390      "hpux11_fabsf";
2393  *  File name selection pattern
2394  */
2395 tSCC zHpux11_FabsfList[] =
2396   "|math.h|";
2398  *  Machine/OS name selection pattern
2399  */
2400 #define apzHpux11_FabsfMachs (const char**)NULL
2403  *  content selection pattern - do fix if pattern found
2404  */
2405 tSCC zHpux11_FabsfSelect0[] =
2406        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2409  *  content bypass pattern - skip fix if pattern found
2410  */
2411 tSCC zHpux11_FabsfBypass0[] =
2412        "__cplusplus";
2414 #define    HPUX11_FABSF_TEST_CT  2
2415 static tTestDesc aHpux11_FabsfTests[] = {
2416   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2417   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2420  *  Fix Command Arguments for Hpux11_Fabsf
2421  */
2422 static const char* apzHpux11_FabsfPatch[] = {
2423     "format",
2424     "#ifndef __cplusplus\n\
2425 %0\n\
2426 #endif",
2427     (char*)NULL };
2429 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2431  *  Description of Hpux11_Size_T fix
2432  */
2433 tSCC zHpux11_Size_TName[] =
2434      "hpux11_size_t";
2437  *  File name selection pattern
2438  */
2439 #define zHpux11_Size_TList (char*)NULL
2441  *  Machine/OS name selection pattern
2442  */
2443 tSCC* apzHpux11_Size_TMachs[] = {
2444         "*-hp-hpux11*",
2445         (const char*)NULL };
2448  *  content selection pattern - do fix if pattern found
2449  */
2450 tSCC zHpux11_Size_TSelect0[] =
2451        "__size_t";
2453 #define    HPUX11_SIZE_T_TEST_CT  1
2454 static tTestDesc aHpux11_Size_TTests[] = {
2455   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2458  *  Fix Command Arguments for Hpux11_Size_T
2459  */
2460 static const char* apzHpux11_Size_TPatch[] = {
2461     "format",
2462     "_hpux_size_t",
2463     (char*)NULL };
2465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2467  *  Description of Hpux11_Snprintf fix
2468  */
2469 tSCC zHpux11_SnprintfName[] =
2470      "hpux11_snprintf";
2473  *  File name selection pattern
2474  */
2475 tSCC zHpux11_SnprintfList[] =
2476   "|stdio.h|";
2478  *  Machine/OS name selection pattern
2479  */
2480 #define apzHpux11_SnprintfMachs (const char**)NULL
2483  *  content selection pattern - do fix if pattern found
2484  */
2485 tSCC zHpux11_SnprintfSelect0[] =
2486        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2488 #define    HPUX11_SNPRINTF_TEST_CT  1
2489 static tTestDesc aHpux11_SnprintfTests[] = {
2490   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2493  *  Fix Command Arguments for Hpux11_Snprintf
2494  */
2495 static const char* apzHpux11_SnprintfPatch[] = {
2496     "format",
2497     "%1 const %3",
2498     (char*)NULL };
2500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2502  *  Description of Hpux11_Uint32_C fix
2503  */
2504 tSCC zHpux11_Uint32_CName[] =
2505      "hpux11_uint32_c";
2508  *  File name selection pattern
2509  */
2510 tSCC zHpux11_Uint32_CList[] =
2511   "|inttypes.h|";
2513  *  Machine/OS name selection pattern
2514  */
2515 #define apzHpux11_Uint32_CMachs (const char**)NULL
2518  *  content selection pattern - do fix if pattern found
2519  */
2520 tSCC zHpux11_Uint32_CSelect0[] =
2521        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2523 #define    HPUX11_UINT32_C_TEST_CT  1
2524 static tTestDesc aHpux11_Uint32_CTests[] = {
2525   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2528  *  Fix Command Arguments for Hpux11_Uint32_C
2529  */
2530 static const char* apzHpux11_Uint32_CPatch[] = {
2531     "format",
2532     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2533     (char*)NULL };
2535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2537  *  Description of Hpux11_Vsnprintf fix
2538  */
2539 tSCC zHpux11_VsnprintfName[] =
2540      "hpux11_vsnprintf";
2543  *  File name selection pattern
2544  */
2545 tSCC zHpux11_VsnprintfList[] =
2546   "|stdio.h|";
2548  *  Machine/OS name selection pattern
2549  */
2550 #define apzHpux11_VsnprintfMachs (const char**)NULL
2553  *  content selection pattern - do fix if pattern found
2554  */
2555 tSCC zHpux11_VsnprintfSelect0[] =
2556        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2558 #define    HPUX11_VSNPRINTF_TEST_CT  1
2559 static tTestDesc aHpux11_VsnprintfTests[] = {
2560   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2563  *  Fix Command Arguments for Hpux11_Vsnprintf
2564  */
2565 static const char* apzHpux11_VsnprintfPatch[] = {
2566     "format",
2567     "%1 __va_list);",
2568     (char*)NULL };
2570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2572  *  Description of Hpux8_Bogus_Inlines fix
2573  */
2574 tSCC zHpux8_Bogus_InlinesName[] =
2575      "hpux8_bogus_inlines";
2578  *  File name selection pattern
2579  */
2580 tSCC zHpux8_Bogus_InlinesList[] =
2581   "|math.h|";
2583  *  Machine/OS name selection pattern
2584  */
2585 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2588  *  content selection pattern - do fix if pattern found
2589  */
2590 tSCC zHpux8_Bogus_InlinesSelect0[] =
2591        "inline";
2594  *  content bypass pattern - skip fix if pattern found
2595  */
2596 tSCC zHpux8_Bogus_InlinesBypass0[] =
2597        "__GNUG__";
2599 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2600 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2601   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2602   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2605  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2606  */
2607 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2608     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2609     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2610     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2611     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2612     (char*)NULL };
2614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2616  *  Description of Hpux_Ctype_Macros fix
2617  */
2618 tSCC zHpux_Ctype_MacrosName[] =
2619      "hpux_ctype_macros";
2622  *  File name selection pattern
2623  */
2624 tSCC zHpux_Ctype_MacrosList[] =
2625   "|ctype.h|";
2627  *  Machine/OS name selection pattern
2628  */
2629 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2632  *  content selection pattern - do fix if pattern found
2633  */
2634 tSCC zHpux_Ctype_MacrosSelect0[] =
2635        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2637 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2638 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2639   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2642  *  Fix Command Arguments for Hpux_Ctype_Macros
2643  */
2644 static const char* apzHpux_Ctype_MacrosPatch[] = {
2645     "format",
2646     "%1(int)%3",
2647     (char*)NULL };
2649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2651  *  Description of Hpux_Htonl fix
2652  */
2653 tSCC zHpux_HtonlName[] =
2654      "hpux_htonl";
2657  *  File name selection pattern
2658  */
2659 tSCC zHpux_HtonlList[] =
2660   "|netinet/in.h|";
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzHpux_HtonlMachs (const char**)NULL
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zHpux_HtonlSelect0[] =
2670        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2671 (/\\*\n\
2672  \\* Macros for number representation conversion\\.\n\
2673  \\*/\n\
2674 #ifndef ntohl)";
2676 #define    HPUX_HTONL_TEST_CT  1
2677 static tTestDesc aHpux_HtonlTests[] = {
2678   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2681  *  Fix Command Arguments for Hpux_Htonl
2682  */
2683 static const char* apzHpux_HtonlPatch[] = {
2684     "format",
2685     "#if 1\n\
2686 %1",
2687     (char*)NULL };
2689 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2691  *  Description of Hpux_Long_Double fix
2692  */
2693 tSCC zHpux_Long_DoubleName[] =
2694      "hpux_long_double";
2697  *  File name selection pattern
2698  */
2699 tSCC zHpux_Long_DoubleList[] =
2700   "|stdlib.h|";
2702  *  Machine/OS name selection pattern
2703  */
2704 #define apzHpux_Long_DoubleMachs (const char**)NULL
2707  *  content selection pattern - do fix if pattern found
2708  */
2709 tSCC zHpux_Long_DoubleSelect0[] =
2710        "extern[ \t]long_double[ \t]strtold";
2713  *  content bypass pattern - skip fix if pattern found
2714  */
2715 tSCC zHpux_Long_DoubleBypass0[] =
2716        "long_double_t";
2718 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2719 static tTestDesc aHpux_Long_DoubleTests[] = {
2720   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2721   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2724  *  Fix Command Arguments for Hpux_Long_Double
2725  */
2726 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2727     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2728     "-e", "s/long_double/long double/g",
2729     (char*)NULL };
2731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2733  *  Description of Hpux_Systime fix
2734  */
2735 tSCC zHpux_SystimeName[] =
2736      "hpux_systime";
2739  *  File name selection pattern
2740  */
2741 tSCC zHpux_SystimeList[] =
2742   "|sys/time.h|";
2744  *  Machine/OS name selection pattern
2745  */
2746 #define apzHpux_SystimeMachs (const char**)NULL
2749  *  content selection pattern - do fix if pattern found
2750  */
2751 tSCC zHpux_SystimeSelect0[] =
2752        "^extern struct sigevent;";
2754 #define    HPUX_SYSTIME_TEST_CT  1
2755 static tTestDesc aHpux_SystimeTests[] = {
2756   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2759  *  Fix Command Arguments for Hpux_Systime
2760  */
2761 static const char* apzHpux_SystimePatch[] = {
2762     "format",
2763     "struct sigevent;",
2764     (char*)NULL };
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2768  *  Description of Int_Abort_Free_And_Exit fix
2769  */
2770 tSCC zInt_Abort_Free_And_ExitName[] =
2771      "int_abort_free_and_exit";
2774  *  File name selection pattern
2775  */
2776 tSCC zInt_Abort_Free_And_ExitList[] =
2777   "|stdlib.h|";
2779  *  Machine/OS name selection pattern
2780  */
2781 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2784  *  content selection pattern - do fix if pattern found
2785  */
2786 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2787        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2790  *  content bypass pattern - skip fix if pattern found
2791  */
2792 tSCC zInt_Abort_Free_And_ExitBypass0[] =
2793        "_CLASSIC_ANSI_TYPES";
2795 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
2796 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2797   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
2798   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2801  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2802  */
2803 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2804     "format",
2805     "void\t%1(",
2806     (char*)NULL };
2808 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2810  *  Description of Io_Quotes_Def fix
2811  */
2812 tSCC zIo_Quotes_DefName[] =
2813      "io_quotes_def";
2816  *  File name selection pattern
2817  */
2818 #define zIo_Quotes_DefList (char*)NULL
2820  *  Machine/OS name selection pattern
2821  */
2822 #define apzIo_Quotes_DefMachs (const char**)NULL
2825  *  content selection pattern - do fix if pattern found
2826  */
2827 tSCC zIo_Quotes_DefSelect0[] =
2828        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2830 #define    IO_QUOTES_DEF_TEST_CT  1
2831 static tTestDesc aIo_Quotes_DefTests[] = {
2832   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2835  *  Fix Command Arguments for Io_Quotes_Def
2836  */
2837 static const char* apzIo_Quotes_DefPatch[] = {
2838     "char_macro_def",
2839     "IO",
2840     (char*)NULL };
2842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2844  *  Description of Io_Quotes_Use fix
2845  */
2846 tSCC zIo_Quotes_UseName[] =
2847      "io_quotes_use";
2850  *  File name selection pattern
2851  */
2852 #define zIo_Quotes_UseList (char*)NULL
2854  *  Machine/OS name selection pattern
2855  */
2856 #define apzIo_Quotes_UseMachs (const char**)NULL
2859  *  content selection pattern - do fix if pattern found
2860  */
2861 tSCC zIo_Quotes_UseSelect0[] =
2862        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2864 #define    IO_QUOTES_USE_TEST_CT  1
2865 static tTestDesc aIo_Quotes_UseTests[] = {
2866   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2869  *  Fix Command Arguments for Io_Quotes_Use
2870  */
2871 static const char* apzIo_Quotes_UsePatch[] = {
2872     "char_macro_use",
2873     "IO",
2874     (char*)NULL };
2876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2878  *  Description of Ip_Missing_Semi fix
2879  */
2880 tSCC zIp_Missing_SemiName[] =
2881      "ip_missing_semi";
2884  *  File name selection pattern
2885  */
2886 tSCC zIp_Missing_SemiList[] =
2887   "|netinet/ip.h|";
2889  *  Machine/OS name selection pattern
2890  */
2891 #define apzIp_Missing_SemiMachs (const char**)NULL
2894  *  content selection pattern - do fix if pattern found
2895  */
2896 tSCC zIp_Missing_SemiSelect0[] =
2897        "}$";
2899 #define    IP_MISSING_SEMI_TEST_CT  1
2900 static tTestDesc aIp_Missing_SemiTests[] = {
2901   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2904  *  Fix Command Arguments for Ip_Missing_Semi
2905  */
2906 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2907     "-e", "/^struct/,/^};/s/}$/};/",
2908     (char*)NULL };
2910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2912  *  Description of Irix___Restrict fix
2913  */
2914 tSCC zIrix___RestrictName[] =
2915      "irix___restrict";
2918  *  File name selection pattern
2919  */
2920 tSCC zIrix___RestrictList[] =
2921   "|internal/sgimacros.h|";
2923  *  Machine/OS name selection pattern
2924  */
2925 tSCC* apzIrix___RestrictMachs[] = {
2926         "mips-sgi-irix6.5",
2927         (const char*)NULL };
2930  *  content selection pattern - do fix if pattern found
2931  */
2932 tSCC zIrix___RestrictSelect0[] =
2933        "(#ifdef __c99\n\
2934 )(#[ \t]*define __restrict restrict)";
2936 #define    IRIX___RESTRICT_TEST_CT  1
2937 static tTestDesc aIrix___RestrictTests[] = {
2938   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2941  *  Fix Command Arguments for Irix___Restrict
2942  */
2943 static const char* apzIrix___RestrictPatch[] = {
2944     "format",
2945     "%1#  ifndef __cplusplus\n\
2946 %2\n\
2947 #  endif",
2948     (char*)NULL };
2950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2952  *  Description of Irix___Generic1 fix
2953  */
2954 tSCC zIrix___Generic1Name[] =
2955      "irix___generic1";
2958  *  File name selection pattern
2959  */
2960 tSCC zIrix___Generic1List[] =
2961   "|internal/math_core.h|";
2963  *  Machine/OS name selection pattern
2964  */
2965 tSCC* apzIrix___Generic1Machs[] = {
2966         "mips-sgi-irix6.5",
2967         (const char*)NULL };
2970  *  content selection pattern - do fix if pattern found
2971  */
2972 tSCC zIrix___Generic1Select0[] =
2973        "#define ([a-z]+)\\(x\\) *__generic.*";
2975 #define    IRIX___GENERIC1_TEST_CT  1
2976 static tTestDesc aIrix___Generic1Tests[] = {
2977   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
2980  *  Fix Command Arguments for Irix___Generic1
2981  */
2982 static const char* apzIrix___Generic1Patch[] = {
2983     "format",
2984     "extern int %1(double);\n\
2985 extern int %1f(float);\n\
2986 extern int %1l(long double);\n\
2987 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
2988                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
2989                : _%1l(x))\n",
2990     (char*)NULL };
2992 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2994  *  Description of Irix___Generic2 fix
2995  */
2996 tSCC zIrix___Generic2Name[] =
2997      "irix___generic2";
3000  *  File name selection pattern
3001  */
3002 tSCC zIrix___Generic2List[] =
3003   "|internal/math_core.h|";
3005  *  Machine/OS name selection pattern
3006  */
3007 tSCC* apzIrix___Generic2Machs[] = {
3008         "mips-sgi-irix6.5",
3009         (const char*)NULL };
3012  *  content selection pattern - do fix if pattern found
3013  */
3014 tSCC zIrix___Generic2Select0[] =
3015        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3017 #define    IRIX___GENERIC2_TEST_CT  1
3018 static tTestDesc aIrix___Generic2Tests[] = {
3019   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3022  *  Fix Command Arguments for Irix___Generic2
3023  */
3024 static const char* apzIrix___Generic2Patch[] = {
3025     "format",
3026     "#define %1(x,y) \\\n\
3027   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3028    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3029    : _%1l(x,y))\n",
3030     (char*)NULL };
3032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3034  *  Description of Irix_Asm_Apostrophe fix
3035  */
3036 tSCC zIrix_Asm_ApostropheName[] =
3037      "irix_asm_apostrophe";
3040  *  File name selection pattern
3041  */
3042 tSCC zIrix_Asm_ApostropheList[] =
3043   "|sys/asm.h|";
3045  *  Machine/OS name selection pattern
3046  */
3047 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3050  *  content selection pattern - do fix if pattern found
3051  */
3052 tSCC zIrix_Asm_ApostropheSelect0[] =
3053        "^[ \t]*#.*[Ww]e're";
3055 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3056 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3057   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3060  *  Fix Command Arguments for Irix_Asm_Apostrophe
3061  */
3062 static const char* apzIrix_Asm_ApostrophePatch[] = {
3063     "format",
3064     "%1 are",
3065     "^([ \t]*#.*[Ww]e)'re",
3066     (char*)NULL };
3068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3070  *  Description of Irix_Limits_Const fix
3071  */
3072 tSCC zIrix_Limits_ConstName[] =
3073      "irix_limits_const";
3076  *  File name selection pattern
3077  */
3078 tSCC zIrix_Limits_ConstList[] =
3079   "|fixinc-test-limits.h|limits.h|";
3081  *  Machine/OS name selection pattern
3082  */
3083 #define apzIrix_Limits_ConstMachs (const char**)NULL
3086  *  content selection pattern - do fix if pattern found
3087  */
3088 tSCC zIrix_Limits_ConstSelect0[] =
3089        "^extern const ";
3091 #define    IRIX_LIMITS_CONST_TEST_CT  1
3092 static tTestDesc aIrix_Limits_ConstTests[] = {
3093   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3096  *  Fix Command Arguments for Irix_Limits_Const
3097  */
3098 static const char* apzIrix_Limits_ConstPatch[] = {
3099     "format",
3100     "extern __const ",
3101     (char*)NULL };
3103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3105  *  Description of Irix_Socklen_T fix
3106  */
3107 tSCC zIrix_Socklen_TName[] =
3108      "irix_socklen_t";
3111  *  File name selection pattern
3112  */
3113 tSCC zIrix_Socklen_TList[] =
3114   "|sys/socket.h|";
3116  *  Machine/OS name selection pattern
3117  */
3118 tSCC* apzIrix_Socklen_TMachs[] = {
3119         "mips-sgi-irix6.5",
3120         (const char*)NULL };
3123  *  content selection pattern - do fix if pattern found
3124  */
3125 tSCC zIrix_Socklen_TSelect0[] =
3126        "(#define _SOCKLEN_T\n\
3127 )(typedef u_int32_t socklen_t;)";
3129 #define    IRIX_SOCKLEN_T_TEST_CT  1
3130 static tTestDesc aIrix_Socklen_TTests[] = {
3131   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3134  *  Fix Command Arguments for Irix_Socklen_T
3135  */
3136 static const char* apzIrix_Socklen_TPatch[] = {
3137     "format",
3138     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3139 typedef int socklen_t;\n\
3140 #else\n\
3141 %2\n\
3142 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3143     (char*)NULL };
3145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3147  *  Description of Irix_Stdio_Va_List fix
3148  */
3149 tSCC zIrix_Stdio_Va_ListName[] =
3150      "irix_stdio_va_list";
3153  *  File name selection pattern
3154  */
3155 tSCC zIrix_Stdio_Va_ListList[] =
3156   "|stdio.h|internal/stdio_core.h|";
3158  *  Machine/OS name selection pattern
3159  */
3160 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3163  *  content selection pattern - do fix if pattern found
3164  */
3165 tSCC zIrix_Stdio_Va_ListSelect0[] =
3166        "/\\* va_list \\*/ char \\*";
3168 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3169 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3170   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3173  *  Fix Command Arguments for Irix_Stdio_Va_List
3174  */
3175 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3176     "format",
3177     "__gnuc_va_list",
3178     (char*)NULL };
3180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3182  *  Description of Irix_Wcsftime fix
3183  */
3184 tSCC zIrix_WcsftimeName[] =
3185      "irix_wcsftime";
3188  *  File name selection pattern
3189  */
3190 tSCC zIrix_WcsftimeList[] =
3191   "|internal/wchar_core.h|";
3193  *  Machine/OS name selection pattern
3194  */
3195 tSCC* apzIrix_WcsftimeMachs[] = {
3196         "mips-sgi-irix6.5",
3197         (const char*)NULL };
3200  *  content selection pattern - do fix if pattern found
3201  */
3202 tSCC zIrix_WcsftimeSelect0[] =
3203        "#if _NO_XOPEN5\n\
3204 (extern size_t[ \t]+wcsftime.*const char *.*)";
3206 #define    IRIX_WCSFTIME_TEST_CT  1
3207 static tTestDesc aIrix_WcsftimeTests[] = {
3208   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3211  *  Fix Command Arguments for Irix_Wcsftime
3212  */
3213 static const char* apzIrix_WcsftimePatch[] = {
3214     "format",
3215     "#if _NO_XOPEN5 && !defined(__c99)\n\
3216 %1",
3217     (char*)NULL };
3219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3221  *  Description of Isc_Fmod fix
3222  */
3223 tSCC zIsc_FmodName[] =
3224      "isc_fmod";
3227  *  File name selection pattern
3228  */
3229 tSCC zIsc_FmodList[] =
3230   "|math.h|";
3232  *  Machine/OS name selection pattern
3233  */
3234 #define apzIsc_FmodMachs (const char**)NULL
3237  *  content selection pattern - do fix if pattern found
3238  */
3239 tSCC zIsc_FmodSelect0[] =
3240        "fmod\\(double\\)";
3242 #define    ISC_FMOD_TEST_CT  1
3243 static tTestDesc aIsc_FmodTests[] = {
3244   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3247  *  Fix Command Arguments for Isc_Fmod
3248  */
3249 static const char* apzIsc_FmodPatch[] = {
3250     "format",
3251     "fmod(double, double)",
3252     (char*)NULL };
3254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3256  *  Description of Isc_Omits_With_Stdc fix
3257  */
3258 tSCC zIsc_Omits_With_StdcName[] =
3259      "isc_omits_with_stdc";
3262  *  File name selection pattern
3263  */
3264 tSCC zIsc_Omits_With_StdcList[] =
3265   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3267  *  Machine/OS name selection pattern
3268  */
3269 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3272  *  content selection pattern - do fix if pattern found
3273  */
3274 tSCC zIsc_Omits_With_StdcSelect0[] =
3275        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3277 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3278 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3279   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3282  *  Fix Command Arguments for Isc_Omits_With_Stdc
3283  */
3284 static const char* apzIsc_Omits_With_StdcPatch[] = {
3285     "format",
3286     "!defined(_POSIX_SOURCE)",
3287     (char*)NULL };
3289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3291  *  Description of Kandr_Concat fix
3292  */
3293 tSCC zKandr_ConcatName[] =
3294      "kandr_concat";
3297  *  File name selection pattern
3298  */
3299 tSCC zKandr_ConcatList[] =
3300   "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
3302  *  Machine/OS name selection pattern
3303  */
3304 #define apzKandr_ConcatMachs (const char**)NULL
3307  *  content selection pattern - do fix if pattern found
3308  */
3309 tSCC zKandr_ConcatSelect0[] =
3310        "/\\*\\*/";
3312 #define    KANDR_CONCAT_TEST_CT  1
3313 static tTestDesc aKandr_ConcatTests[] = {
3314   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3317  *  Fix Command Arguments for Kandr_Concat
3318  */
3319 static const char* apzKandr_ConcatPatch[] = {
3320     "format",
3321     "##",
3322     (char*)NULL };
3324 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3326  *  Description of Libc1_G_Va_List fix
3327  */
3328 tSCC zLibc1_G_Va_ListName[] =
3329      "libc1_G_va_list";
3332  *  File name selection pattern
3333  */
3334 tSCC zLibc1_G_Va_ListList[] =
3335   "|_G_config.h|";
3337  *  Machine/OS name selection pattern
3338  */
3339 tSCC* apzLibc1_G_Va_ListMachs[] = {
3340         "*-*-linux*libc1",
3341         (const char*)NULL };
3344  *  content selection pattern - do fix if pattern found
3345  */
3346 tSCC zLibc1_G_Va_ListSelect0[] =
3347        "typedef void \\* _G_va_list;";
3349 #define    LIBC1_G_VA_LIST_TEST_CT  1
3350 static tTestDesc aLibc1_G_Va_ListTests[] = {
3351   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3354  *  Fix Command Arguments for Libc1_G_Va_List
3355  */
3356 static const char* apzLibc1_G_Va_ListPatch[] = {
3357     "format",
3358     "typedef __builtin_va_list _G_va_list;",
3359     (char*)NULL };
3361 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3363  *  Description of Libc1_Ifdefd_Memx fix
3364  */
3365 tSCC zLibc1_Ifdefd_MemxName[] =
3366      "libc1_ifdefd_memx";
3369  *  File name selection pattern
3370  */
3371 tSCC zLibc1_Ifdefd_MemxList[] =
3372   "|testing.h|string.h|";
3374  *  Machine/OS name selection pattern
3375  */
3376 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3379  *  content selection pattern - do fix if pattern found
3380  */
3381 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3382        "' is a built-in function for gcc 2\\.x\\. \\*/";
3385  *  content bypass pattern - skip fix if pattern found
3386  */
3387 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3388        "__cplusplus";
3390 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3391 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3392   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3393   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3396  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3397  */
3398 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3399     "format",
3400     "%1",
3401     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3402 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3403 (/\\* .* \\*/\n\
3404 extern [a-z_]+ mem.*(\n\
3405 [^#].*)*;)\n\
3406 #endif",
3407     (char*)NULL };
3409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3411  *  Description of Linux_Ia64_Ucontext fix
3412  */
3413 tSCC zLinux_Ia64_UcontextName[] =
3414      "linux_ia64_ucontext";
3417  *  File name selection pattern
3418  */
3419 tSCC zLinux_Ia64_UcontextList[] =
3420   "|sys/ucontext.h|";
3422  *  Machine/OS name selection pattern
3423  */
3424 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3425         "ia64-*-linux*",
3426         (const char*)NULL };
3429  *  content selection pattern - do fix if pattern found
3430  */
3431 tSCC zLinux_Ia64_UcontextSelect0[] =
3432        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3434 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3435 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3436   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3439  *  Fix Command Arguments for Linux_Ia64_Ucontext
3440  */
3441 static const char* apzLinux_Ia64_UcontextPatch[] = {
3442     "format",
3443     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3444     (char*)NULL };
3446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3448  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3449  */
3450 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3451      "lynxos_no_warning_in_sys_time_h";
3454  *  File name selection pattern
3455  */
3456 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3457   "|sys/time.h|";
3459  *  Machine/OS name selection pattern
3460  */
3461 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3464  *  content selection pattern - do fix if pattern found
3465  */
3466 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3467        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3469 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3470 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3471   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3474  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3475  */
3476 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3477     "format",
3478     "",
3479     (char*)NULL };
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3483  *  Description of Lynxos_Missing_Putenv fix
3484  */
3485 tSCC zLynxos_Missing_PutenvName[] =
3486      "lynxos_missing_putenv";
3489  *  File name selection pattern
3490  */
3491 tSCC zLynxos_Missing_PutenvList[] =
3492   "|stdlib.h|";
3494  *  Machine/OS name selection pattern
3495  */
3496 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3497         "*-*-lynxos*",
3498         (const char*)NULL };
3501  *  content selection pattern - do fix if pattern found
3502  */
3503 tSCC zLynxos_Missing_PutenvSelect0[] =
3504        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3507  *  content bypass pattern - skip fix if pattern found
3508  */
3509 tSCC zLynxos_Missing_PutenvBypass0[] =
3510        "putenv[ \\t]*\\(";
3512 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3513 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3514   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3515   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3518  *  Fix Command Arguments for Lynxos_Missing_Putenv
3519  */
3520 static const char* apzLynxos_Missing_PutenvPatch[] = {
3521     "format",
3522     "%0\n\
3523 extern int putenv\t\t\t\t_AP((char *));",
3524     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3525     (char*)NULL };
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3529  *  Description of Machine_Ansi_H_Va_List fix
3530  */
3531 tSCC zMachine_Ansi_H_Va_ListName[] =
3532      "machine_ansi_h_va_list";
3535  *  File name selection pattern
3536  */
3537 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3547        "define[ \t]+_BSD_VA_LIST_[ \t]";
3550  *  content bypass pattern - skip fix if pattern found
3551  */
3552 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3553        "__builtin_va_list";
3555 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3556 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3557   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3558   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3561  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3562  */
3563 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3564     "format",
3565     "%1__builtin_va_list",
3566     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3567     (char*)NULL };
3569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3571  *  Description of Machine_Name fix
3572  */
3573 tSCC zMachine_NameName[] =
3574      "machine_name";
3577  *  File name selection pattern
3578  */
3579 #define zMachine_NameList (char*)NULL
3581  *  Machine/OS name selection pattern
3582  */
3583 #define apzMachine_NameMachs (const char**)NULL
3586  *  perform the C function call test
3587  */
3588 tSCC zMachine_NameFTst0[] = "machine_name";
3590 #define    MACHINE_NAME_TEST_CT  1
3591 static tTestDesc aMachine_NameTests[] = {
3592   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3595  *  Fix Command Arguments for Machine_Name
3596  */
3597 static const char* apzMachine_NamePatch[] = {
3598     "machine_name",
3599     (char*)NULL };
3601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3603  *  Description of Math_Exception fix
3604  */
3605 tSCC zMath_ExceptionName[] =
3606      "math_exception";
3609  *  File name selection pattern
3610  */
3611 tSCC zMath_ExceptionList[] =
3612   "|math.h|";
3614  *  Machine/OS name selection pattern
3615  */
3616 #define apzMath_ExceptionMachs (const char**)NULL
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zMath_ExceptionSelect0[] =
3622        "struct exception";
3625  *  content bypass pattern - skip fix if pattern found
3626  */
3627 tSCC zMath_ExceptionBypass0[] =
3628        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3630 #define    MATH_EXCEPTION_TEST_CT  2
3631 static tTestDesc aMath_ExceptionTests[] = {
3632   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3633   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3636  *  Fix Command Arguments for Math_Exception
3637  */
3638 static const char* apzMath_ExceptionPatch[] = {
3639     "wrap",
3640     "#ifdef __cplusplus\n\
3641 #define exception __math_exception\n\
3642 #endif\n",
3643     "#ifdef __cplusplus\n\
3644 #undef exception\n\
3645 #endif\n",
3646     (char*)NULL };
3648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3650  *  Description of Math_Huge_Val_From_Dbl_Max fix
3651  */
3652 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3653      "math_huge_val_from_dbl_max";
3656  *  File name selection pattern
3657  */
3658 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3659   "|math.h|";
3661  *  Machine/OS name selection pattern
3662  */
3663 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3666  *  content selection pattern - do fix if pattern found
3667  */
3668 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3669        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3672  *  content bypass pattern - skip fix if pattern found
3673  */
3674 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3675        "define[ \t]+DBL_MAX";
3677 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3678 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3679   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3680   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3683  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3684  */
3685 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3686     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3687 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3688 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3689 \telse cat\n\
3690 \tfi",
3691     (char*)NULL };
3693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3695  *  Description of Nested_Auth_Des fix
3696  */
3697 tSCC zNested_Auth_DesName[] =
3698      "nested_auth_des";
3701  *  File name selection pattern
3702  */
3703 tSCC zNested_Auth_DesList[] =
3704   "|rpc/rpc.h|";
3706  *  Machine/OS name selection pattern
3707  */
3708 #define apzNested_Auth_DesMachs (const char**)NULL
3711  *  content selection pattern - do fix if pattern found
3712  */
3713 tSCC zNested_Auth_DesSelect0[] =
3714        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3716 #define    NESTED_AUTH_DES_TEST_CT  1
3717 static tTestDesc aNested_Auth_DesTests[] = {
3718   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3721  *  Fix Command Arguments for Nested_Auth_Des
3722  */
3723 static const char* apzNested_Auth_DesPatch[] = {
3724     "format",
3725     "%1*/ /*",
3726     (char*)NULL };
3728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3730  *  Description of Nested_Motorola fix
3731  */
3732 tSCC zNested_MotorolaName[] =
3733      "nested_motorola";
3736  *  File name selection pattern
3737  */
3738 tSCC zNested_MotorolaList[] =
3739   "|sys/limits.h|limits.h|";
3741  *  Machine/OS name selection pattern
3742  */
3743 tSCC* apzNested_MotorolaMachs[] = {
3744         "m68k-motorola-sysv*",
3745         (const char*)NULL };
3748  *  content selection pattern - do fix if pattern found
3749  */
3750 tSCC zNested_MotorolaSelect0[] =
3751        "max # bytes atomic in write|error value returned by Math lib";
3753 #define    NESTED_MOTOROLA_TEST_CT  1
3754 static tTestDesc aNested_MotorolaTests[] = {
3755   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3758  *  Fix Command Arguments for Nested_Motorola
3759  */
3760 static const char* apzNested_MotorolaPatch[] = { "sed",
3761     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3762     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3763     (char*)NULL };
3765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3767  *  Description of Nested_Sys_Limits fix
3768  */
3769 tSCC zNested_Sys_LimitsName[] =
3770      "nested_sys_limits";
3773  *  File name selection pattern
3774  */
3775 tSCC zNested_Sys_LimitsList[] =
3776   "|sys/limits.h|";
3778  *  Machine/OS name selection pattern
3779  */
3780 #define apzNested_Sys_LimitsMachs (const char**)NULL
3783  *  content selection pattern - do fix if pattern found
3784  */
3785 tSCC zNested_Sys_LimitsSelect0[] =
3786        "CHILD_MAX";
3788 #define    NESTED_SYS_LIMITS_TEST_CT  1
3789 static tTestDesc aNested_Sys_LimitsTests[] = {
3790   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3793  *  Fix Command Arguments for Nested_Sys_Limits
3794  */
3795 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3796     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3797     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3798     (char*)NULL };
3800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3802  *  Description of Netbsd_Extra_Semicolon fix
3803  */
3804 tSCC zNetbsd_Extra_SemicolonName[] =
3805      "netbsd_extra_semicolon";
3808  *  File name selection pattern
3809  */
3810 tSCC zNetbsd_Extra_SemicolonList[] =
3811   "|sys/cdefs.h|";
3813  *  Machine/OS name selection pattern
3814  */
3815 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3816         "*-*-netbsd*",
3817         (const char*)NULL };
3820  *  content selection pattern - do fix if pattern found
3821  */
3822 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3823        "#define[ \t]*__END_DECLS[ \t]*};";
3825 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3826 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3827   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3830  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3831  */
3832 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3833     "format",
3834     "#define __END_DECLS }",
3835     (char*)NULL };
3837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3839  *  Description of Next_Math_Prefix fix
3840  */
3841 tSCC zNext_Math_PrefixName[] =
3842      "next_math_prefix";
3845  *  File name selection pattern
3846  */
3847 tSCC zNext_Math_PrefixList[] =
3848   "|ansi/math.h|";
3850  *  Machine/OS name selection pattern
3851  */
3852 #define apzNext_Math_PrefixMachs (const char**)NULL
3855  *  content selection pattern - do fix if pattern found
3856  */
3857 tSCC zNext_Math_PrefixSelect0[] =
3858        "^extern[ \t]+double[ \t]+__const__[ \t]";
3860 #define    NEXT_MATH_PREFIX_TEST_CT  1
3861 static tTestDesc aNext_Math_PrefixTests[] = {
3862   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3865  *  Fix Command Arguments for Next_Math_Prefix
3866  */
3867 static const char* apzNext_Math_PrefixPatch[] = {
3868     "format",
3869     "extern double %1(",
3870     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3871     (char*)NULL };
3873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3875  *  Description of Next_Template fix
3876  */
3877 tSCC zNext_TemplateName[] =
3878      "next_template";
3881  *  File name selection pattern
3882  */
3883 tSCC zNext_TemplateList[] =
3884   "|bsd/libc.h|";
3886  *  Machine/OS name selection pattern
3887  */
3888 #define apzNext_TemplateMachs (const char**)NULL
3891  *  content selection pattern - do fix if pattern found
3892  */
3893 tSCC zNext_TemplateSelect0[] =
3894        "[ \t]template\\)";
3896 #define    NEXT_TEMPLATE_TEST_CT  1
3897 static tTestDesc aNext_TemplateTests[] = {
3898   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3901  *  Fix Command Arguments for Next_Template
3902  */
3903 static const char* apzNext_TemplatePatch[] = {
3904     "format",
3905     "(%1)",
3906     "\\(([^)]*)[ \t]template\\)",
3907     (char*)NULL };
3909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3911  *  Description of Next_Volitile fix
3912  */
3913 tSCC zNext_VolitileName[] =
3914      "next_volitile";
3917  *  File name selection pattern
3918  */
3919 tSCC zNext_VolitileList[] =
3920   "|ansi/stdlib.h|";
3922  *  Machine/OS name selection pattern
3923  */
3924 #define apzNext_VolitileMachs (const char**)NULL
3927  *  content selection pattern - do fix if pattern found
3928  */
3929 tSCC zNext_VolitileSelect0[] =
3930        "^extern[ \t]+volatile[ \t]+void[ \t]";
3932 #define    NEXT_VOLITILE_TEST_CT  1
3933 static tTestDesc aNext_VolitileTests[] = {
3934   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3937  *  Fix Command Arguments for Next_Volitile
3938  */
3939 static const char* apzNext_VolitilePatch[] = {
3940     "format",
3941     "extern void %1(",
3942     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3943     (char*)NULL };
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3947  *  Description of Next_Wait_Union fix
3948  */
3949 tSCC zNext_Wait_UnionName[] =
3950      "next_wait_union";
3953  *  File name selection pattern
3954  */
3955 tSCC zNext_Wait_UnionList[] =
3956   "|sys/wait.h|";
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzNext_Wait_UnionMachs (const char**)NULL
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zNext_Wait_UnionSelect0[] =
3966        "wait\\(union wait";
3968 #define    NEXT_WAIT_UNION_TEST_CT  1
3969 static tTestDesc aNext_Wait_UnionTests[] = {
3970   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3973  *  Fix Command Arguments for Next_Wait_Union
3974  */
3975 static const char* apzNext_Wait_UnionPatch[] = {
3976     "format",
3977     "wait(void",
3978     (char*)NULL };
3980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3982  *  Description of Nodeent_Syntax fix
3983  */
3984 tSCC zNodeent_SyntaxName[] =
3985      "nodeent_syntax";
3988  *  File name selection pattern
3989  */
3990 tSCC zNodeent_SyntaxList[] =
3991   "|netdnet/dnetdb.h|";
3993  *  Machine/OS name selection pattern
3994  */
3995 #define apzNodeent_SyntaxMachs (const char**)NULL
3998  *  content selection pattern - do fix if pattern found
3999  */
4000 tSCC zNodeent_SyntaxSelect0[] =
4001        "char[ \t]*\\*na_addr[ \t]*$";
4003 #define    NODEENT_SYNTAX_TEST_CT  1
4004 static tTestDesc aNodeent_SyntaxTests[] = {
4005   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4008  *  Fix Command Arguments for Nodeent_Syntax
4009  */
4010 static const char* apzNodeent_SyntaxPatch[] = {
4011     "format",
4012     "%0;",
4013     (char*)NULL };
4015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4017  *  Description of Obstack_Lvalue_Cast fix
4018  */
4019 tSCC zObstack_Lvalue_CastName[] =
4020      "obstack_lvalue_cast";
4023  *  File name selection pattern
4024  */
4025 tSCC zObstack_Lvalue_CastList[] =
4026   "|obstack.h|";
4028  *  Machine/OS name selection pattern
4029  */
4030 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4033  *  content selection pattern - do fix if pattern found
4034  */
4035 tSCC zObstack_Lvalue_CastSelect0[] =
4036        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4038 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4039 static tTestDesc aObstack_Lvalue_CastTests[] = {
4040   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4043  *  Fix Command Arguments for Obstack_Lvalue_Cast
4044  */
4045 static const char* apzObstack_Lvalue_CastPatch[] = {
4046     "format",
4047     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4048     (char*)NULL };
4050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4052  *  Description of Osf_Namespace_A fix
4053  */
4054 tSCC zOsf_Namespace_AName[] =
4055      "osf_namespace_a";
4058  *  File name selection pattern
4059  */
4060 tSCC zOsf_Namespace_AList[] =
4061   "|reg_types.h|sys/lc_core.h|";
4063  *  Machine/OS name selection pattern
4064  */
4065 #define apzOsf_Namespace_AMachs (const char**)NULL
4068  *  perform the 'test' shell command - do fix on success
4069  */
4070 tSCC zOsf_Namespace_ATest0[] =
4071        " -r reg_types.h";
4072 tSCC zOsf_Namespace_ATest1[] =
4073        " -r sys/lc_core.h";
4074 tSCC zOsf_Namespace_ATest2[] =
4075        " -n \"`grep '} regex_t;' reg_types.h`\"";
4076 tSCC zOsf_Namespace_ATest3[] =
4077        " -z \"`grep __regex_t regex.h`\"";
4079 #define    OSF_NAMESPACE_A_TEST_CT  4
4080 static tTestDesc aOsf_Namespace_ATests[] = {
4081   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4082   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4083   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4084   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4087  *  Fix Command Arguments for Osf_Namespace_A
4088  */
4089 static const char* apzOsf_Namespace_APatch[] = {
4090     "format",
4091     "__%0",
4092     "reg(ex|off|match)_t",
4093     (char*)NULL };
4095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4097  *  Description of Osf_Namespace_C fix
4098  */
4099 tSCC zOsf_Namespace_CName[] =
4100      "osf_namespace_c";
4103  *  File name selection pattern
4104  */
4105 tSCC zOsf_Namespace_CList[] =
4106   "|regex.h|";
4108  *  Machine/OS name selection pattern
4109  */
4110 #define apzOsf_Namespace_CMachs (const char**)NULL
4113  *  content selection pattern - do fix if pattern found
4114  */
4115 tSCC zOsf_Namespace_CSelect0[] =
4116        "#include <reg_types.h>.*";
4119  *  perform the 'test' shell command - do fix on success
4120  */
4121 tSCC zOsf_Namespace_CTest0[] =
4122        " -r reg_types.h";
4123 tSCC zOsf_Namespace_CTest1[] =
4124        " -r sys/lc_core.h";
4125 tSCC zOsf_Namespace_CTest2[] =
4126        " -n \"`grep '} regex_t;' reg_types.h`\"";
4127 tSCC zOsf_Namespace_CTest3[] =
4128        " -z \"`grep __regex_t regex.h`\"";
4130 #define    OSF_NAMESPACE_C_TEST_CT  5
4131 static tTestDesc aOsf_Namespace_CTests[] = {
4132   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4133   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4134   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4135   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4136   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4139  *  Fix Command Arguments for Osf_Namespace_C
4140  */
4141 static const char* apzOsf_Namespace_CPatch[] = {
4142     "format",
4143     "%0\n\
4144 typedef __regex_t\tregex_t;\n\
4145 typedef __regoff_t\tregoff_t;\n\
4146 typedef __regmatch_t\tregmatch_t;",
4147     (char*)NULL };
4149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4151  *  Description of Pthread_Page_Size fix
4152  */
4153 tSCC zPthread_Page_SizeName[] =
4154      "pthread_page_size";
4157  *  File name selection pattern
4158  */
4159 tSCC zPthread_Page_SizeList[] =
4160   "|pthread.h|";
4162  *  Machine/OS name selection pattern
4163  */
4164 #define apzPthread_Page_SizeMachs (const char**)NULL
4167  *  content selection pattern - do fix if pattern found
4168  */
4169 tSCC zPthread_Page_SizeSelect0[] =
4170        "^int __page_size";
4172 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4173 static tTestDesc aPthread_Page_SizeTests[] = {
4174   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4177  *  Fix Command Arguments for Pthread_Page_Size
4178  */
4179 static const char* apzPthread_Page_SizePatch[] = {
4180     "format",
4181     "extern %0",
4182     (char*)NULL };
4184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4186  *  Description of Pthread_Incomplete_Struct_Argument fix
4187  */
4188 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4189      "pthread_incomplete_struct_argument";
4192  *  File name selection pattern
4193  */
4194 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4195   "|pthread.h|";
4197  *  Machine/OS name selection pattern
4198  */
4199 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4202  *  content selection pattern - do fix if pattern found
4203  */
4204 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4205        "struct __jmp_buf_tag";
4207 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4208 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4209   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4212  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4213  */
4214 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4215     "format",
4216     "%1 *%2%3",
4217     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4218     (char*)NULL };
4220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4222  *  Description of Read_Ret_Type fix
4223  */
4224 tSCC zRead_Ret_TypeName[] =
4225      "read_ret_type";
4228  *  File name selection pattern
4229  */
4230 tSCC zRead_Ret_TypeList[] =
4231   "|stdio.h|";
4233  *  Machine/OS name selection pattern
4234  */
4235 #define apzRead_Ret_TypeMachs (const char**)NULL
4238  *  content selection pattern - do fix if pattern found
4239  */
4240 tSCC zRead_Ret_TypeSelect0[] =
4241        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4243 #define    READ_RET_TYPE_TEST_CT  1
4244 static tTestDesc aRead_Ret_TypeTests[] = {
4245   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4248  *  Fix Command Arguments for Read_Ret_Type
4249  */
4250 static const char* apzRead_Ret_TypePatch[] = {
4251     "format",
4252     "extern unsigned int fread(), fwrite();\n\
4253 %1%2",
4254     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4255     (char*)NULL };
4257 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4259  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4260  */
4261 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4262      "rpc_xdr_lvalue_cast_a";
4265  *  File name selection pattern
4266  */
4267 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4268   "|rpc/xdr.h|";
4270  *  Machine/OS name selection pattern
4271  */
4272 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4278        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4279 .*__extension__.*";
4281 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4282 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4283   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4286  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4287  */
4288 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4289     "format",
4290     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4291     (char*)NULL };
4293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4295  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4296  */
4297 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4298      "rpc_xdr_lvalue_cast_b";
4301  *  File name selection pattern
4302  */
4303 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4304   "|rpc/xdr.h|";
4306  *  Machine/OS name selection pattern
4307  */
4308 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4311  *  content selection pattern - do fix if pattern found
4312  */
4313 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4314        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4315 .*__extension__.*";
4317 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4318 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4319   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4322  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4323  */
4324 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4325     "format",
4326     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4327     (char*)NULL };
4329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4331  *  Description of Rs6000_Double fix
4332  */
4333 tSCC zRs6000_DoubleName[] =
4334      "rs6000_double";
4337  *  File name selection pattern
4338  */
4339 tSCC zRs6000_DoubleList[] =
4340   "|math.h|";
4342  *  Machine/OS name selection pattern
4343  */
4344 #define apzRs6000_DoubleMachs (const char**)NULL
4347  *  content selection pattern - do fix if pattern found
4348  */
4349 tSCC zRs6000_DoubleSelect0[] =
4350        "[^a-zA-Z_]class\\(";
4352 #define    RS6000_DOUBLE_TEST_CT  1
4353 static tTestDesc aRs6000_DoubleTests[] = {
4354   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4357  *  Fix Command Arguments for Rs6000_Double
4358  */
4359 static const char* apzRs6000_DoublePatch[] = {
4360     "format",
4361     "#ifndef __cplusplus\n\
4362 %0\n\
4363 #endif",
4364     "^.*[^a-zA-Z_]class\\(.*",
4365     (char*)NULL };
4367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4369  *  Description of Rs6000_Fchmod fix
4370  */
4371 tSCC zRs6000_FchmodName[] =
4372      "rs6000_fchmod";
4375  *  File name selection pattern
4376  */
4377 tSCC zRs6000_FchmodList[] =
4378   "|sys/stat.h|";
4380  *  Machine/OS name selection pattern
4381  */
4382 #define apzRs6000_FchmodMachs (const char**)NULL
4385  *  content selection pattern - do fix if pattern found
4386  */
4387 tSCC zRs6000_FchmodSelect0[] =
4388        "fchmod\\(char \\*";
4390 #define    RS6000_FCHMOD_TEST_CT  1
4391 static tTestDesc aRs6000_FchmodTests[] = {
4392   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4395  *  Fix Command Arguments for Rs6000_Fchmod
4396  */
4397 static const char* apzRs6000_FchmodPatch[] = {
4398     "format",
4399     "fchmod(int",
4400     (char*)NULL };
4402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4404  *  Description of Rs6000_Param fix
4405  */
4406 tSCC zRs6000_ParamName[] =
4407      "rs6000_param";
4410  *  File name selection pattern
4411  */
4412 tSCC zRs6000_ParamList[] =
4413   "|stdio.h|unistd.h|";
4415  *  Machine/OS name selection pattern
4416  */
4417 #define apzRs6000_ParamMachs (const char**)NULL
4420  *  content selection pattern - do fix if pattern found
4421  */
4422 tSCC zRs6000_ParamSelect0[] =
4423        "rename\\(const char \\*old, const char \\*new\\)";
4425 #define    RS6000_PARAM_TEST_CT  1
4426 static tTestDesc aRs6000_ParamTests[] = {
4427   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4430  *  Fix Command Arguments for Rs6000_Param
4431  */
4432 static const char* apzRs6000_ParamPatch[] = {
4433     "format",
4434     "rename(const char *_old, const char *_new)",
4435     (char*)NULL };
4437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4439  *  Description of Sco_Math fix
4440  */
4441 tSCC zSco_MathName[] =
4442      "sco_math";
4445  *  File name selection pattern
4446  */
4447 tSCC zSco_MathList[] =
4448   "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
4450  *  Machine/OS name selection pattern
4451  */
4452 #define apzSco_MathMachs (const char**)NULL
4455  *  content selection pattern - do fix if pattern found
4456  */
4457 tSCC zSco_MathSelect0[] =
4458        "inline double abs";
4461  *  content bypass pattern - skip fix if pattern found
4462  */
4463 tSCC zSco_MathBypass0[] =
4464        "__GNUG__";
4466 #define    SCO_MATH_TEST_CT  2
4467 static tTestDesc aSco_MathTests[] = {
4468   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4469   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4472  *  Fix Command Arguments for Sco_Math
4473  */
4474 static const char* apzSco_MathPatch[] = { "sed",
4475     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4476 #ifndef __GNUC__\n",
4477     "-e", "/.*__builtin_generic/a\\\n\
4478 #else\\\n\
4479 #define __fp_class(a) \\\\\\\n\
4480   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4481    __fpclassifyl(a), \\\\\\\n\
4482     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4483       __fpclassifyf(a),__fpclassify(a)))\\\n\
4484 #endif",
4485     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4486 #ifndef __GNUC__\n",
4487     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4488 #endif /* ! __GNUC__ */",
4489     (char*)NULL };
4491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4493  *  Description of Sco_Regset fix
4494  */
4495 tSCC zSco_RegsetName[] =
4496      "sco_regset";
4499  *  File name selection pattern
4500  */
4501 tSCC zSco_RegsetList[] =
4502   "|sys/regset.h|";
4504  *  Machine/OS name selection pattern
4505  */
4506 tSCC* apzSco_RegsetMachs[] = {
4507         "*-*-sco3.2v5*",
4508         (const char*)NULL };
4511  *  content selection pattern - do fix if pattern found
4512  */
4513 tSCC zSco_RegsetSelect0[] =
4514        "(struct[ \t]+.*)fpstate";
4516 #define    SCO_REGSET_TEST_CT  1
4517 static tTestDesc aSco_RegsetTests[] = {
4518   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4521  *  Fix Command Arguments for Sco_Regset
4522  */
4523 static const char* apzSco_RegsetPatch[] = {
4524     "format",
4525     "%1rsfpstate",
4526     (char*)NULL };
4528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4530  *  Description of Sco_Static_Func fix
4531  */
4532 tSCC zSco_Static_FuncName[] =
4533      "sco_static_func";
4536  *  File name selection pattern
4537  */
4538 tSCC zSco_Static_FuncList[] =
4539   "|sys/stat.h|";
4541  *  Machine/OS name selection pattern
4542  */
4543 tSCC* apzSco_Static_FuncMachs[] = {
4544         "i?86-*-sco3.2*",
4545         (const char*)NULL };
4548  *  content selection pattern - do fix if pattern found
4549  */
4550 tSCC zSco_Static_FuncSelect0[] =
4551        "^static int";
4553 #define    SCO_STATIC_FUNC_TEST_CT  1
4554 static tTestDesc aSco_Static_FuncTests[] = {
4555   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4558  *  Fix Command Arguments for Sco_Static_Func
4559  */
4560 static const char* apzSco_Static_FuncPatch[] = { "sed",
4561     "-e", "/^static int/i\\\n\
4562 #if __cplusplus\\\n\
4563 extern \"C\" {\\\n\
4564 #endif /* __cplusplus */",
4565     "-e", "/^}$/a\\\n\
4566 #if __cplusplus\\\n\
4567  }\\\n\
4568 #endif /* __cplusplus */",
4569     (char*)NULL };
4571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4573  *  Description of Sco_Utime fix
4574  */
4575 tSCC zSco_UtimeName[] =
4576      "sco_utime";
4579  *  File name selection pattern
4580  */
4581 tSCC zSco_UtimeList[] =
4582   "|sys/times.h|";
4584  *  Machine/OS name selection pattern
4585  */
4586 tSCC* apzSco_UtimeMachs[] = {
4587         "i?86-*-sco3.2v4*",
4588         (const char*)NULL };
4591  *  content selection pattern - do fix if pattern found
4592  */
4593 tSCC zSco_UtimeSelect0[] =
4594        "\\(const char \\*, struct utimbuf \\*\\);";
4596 #define    SCO_UTIME_TEST_CT  1
4597 static tTestDesc aSco_UtimeTests[] = {
4598   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4601  *  Fix Command Arguments for Sco_Utime
4602  */
4603 static const char* apzSco_UtimePatch[] = {
4604     "format",
4605     "(const char *, const struct utimbuf *);",
4606     (char*)NULL };
4608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4610  *  Description of Solaris_Math_1 fix
4611  */
4612 tSCC zSolaris_Math_1Name[] =
4613      "solaris_math_1";
4616  *  File name selection pattern
4617  */
4618 tSCC zSolaris_Math_1List[] =
4619   "|iso/math_c99.h|";
4621  *  Machine/OS name selection pattern
4622  */
4623 #define apzSolaris_Math_1Machs (const char**)NULL
4626  *  content selection pattern - do fix if pattern found
4627  */
4628 tSCC zSolaris_Math_1Select0[] =
4629        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4632  *  content bypass pattern - skip fix if pattern found
4633  */
4634 tSCC zSolaris_Math_1Bypass0[] =
4635        "__GNUC__";
4637 #define    SOLARIS_MATH_1_TEST_CT  2
4638 static tTestDesc aSolaris_Math_1Tests[] = {
4639   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
4640   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
4643  *  Fix Command Arguments for Solaris_Math_1
4644  */
4645 static const char* apzSolaris_Math_1Patch[] = {
4646     "format",
4647     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
4648     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
4649     (char*)NULL };
4651 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4653  *  Description of Solaris_Math_2 fix
4654  */
4655 tSCC zSolaris_Math_2Name[] =
4656      "solaris_math_2";
4659  *  File name selection pattern
4660  */
4661 tSCC zSolaris_Math_2List[] =
4662   "|iso/math_c99.h|";
4664  *  Machine/OS name selection pattern
4665  */
4666 #define apzSolaris_Math_2Machs (const char**)NULL
4669  *  content selection pattern - do fix if pattern found
4670  */
4671 tSCC zSolaris_Math_2Select0[] =
4672        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4675  *  content bypass pattern - skip fix if pattern found
4676  */
4677 tSCC zSolaris_Math_2Bypass0[] =
4678        "__GNUC__";
4680 #define    SOLARIS_MATH_2_TEST_CT  2
4681 static tTestDesc aSolaris_Math_2Tests[] = {
4682   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
4683   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
4686  *  Fix Command Arguments for Solaris_Math_2
4687  */
4688 static const char* apzSolaris_Math_2Patch[] = {
4689     "format",
4690     "#define\tINFINITY\t(__builtin_inff())",
4691     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
4692     (char*)NULL };
4694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4696  *  Description of Solaris_Math_3 fix
4697  */
4698 tSCC zSolaris_Math_3Name[] =
4699      "solaris_math_3";
4702  *  File name selection pattern
4703  */
4704 tSCC zSolaris_Math_3List[] =
4705   "|iso/math_c99.h|";
4707  *  Machine/OS name selection pattern
4708  */
4709 #define apzSolaris_Math_3Machs (const char**)NULL
4712  *  content selection pattern - do fix if pattern found
4713  */
4714 tSCC zSolaris_Math_3Select0[] =
4715        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4718  *  content bypass pattern - skip fix if pattern found
4719  */
4720 tSCC zSolaris_Math_3Bypass0[] =
4721        "__GNUC__";
4723 #define    SOLARIS_MATH_3_TEST_CT  2
4724 static tTestDesc aSolaris_Math_3Tests[] = {
4725   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
4726   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
4729  *  Fix Command Arguments for Solaris_Math_3
4730  */
4731 static const char* apzSolaris_Math_3Patch[] = {
4732     "format",
4733     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
4734     "^#define[ \t]+NAN[ \t]+__builtin_nan",
4735     (char*)NULL };
4737 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4739  *  Description of Solaris_Math_4 fix
4740  */
4741 tSCC zSolaris_Math_4Name[] =
4742      "solaris_math_4";
4745  *  File name selection pattern
4746  */
4747 tSCC zSolaris_Math_4List[] =
4748   "|iso/math_c99.h|";
4750  *  Machine/OS name selection pattern
4751  */
4752 #define apzSolaris_Math_4Machs (const char**)NULL
4755  *  content selection pattern - do fix if pattern found
4756  */
4757 tSCC zSolaris_Math_4Select0[] =
4758        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4761  *  content bypass pattern - skip fix if pattern found
4762  */
4763 tSCC zSolaris_Math_4Bypass0[] =
4764        "__GNUC__";
4766 #define    SOLARIS_MATH_4_TEST_CT  2
4767 static tTestDesc aSolaris_Math_4Tests[] = {
4768   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
4769   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
4772  *  Fix Command Arguments for Solaris_Math_4
4773  */
4774 static const char* apzSolaris_Math_4Patch[] = {
4775     "format",
4776     "#define\tfpclassify(x) \\\n\
4777   __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
4778 \t\t   isnan(__x_fp) \\\n\
4779 \t\t     ? FP_NAN \\\n\
4780 \t\t     : isinf(__x_fp) \\\n\
4781 \t\t       ? FP_INFINITE \\\n\
4782 \t\t       : isnormal(__x_fp) \\\n\
4783 \t\t\t ? FP_NORMAL \\\n\
4784 \t\t\t : __x_fp == 0.0 \\\n\
4785 \t\t\t   ? FP_ZERO \\\n\
4786 \t\t\t   : FP_SUBNORMAL; })",
4787     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
4788     (char*)NULL };
4790 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4792  *  Description of Solaris_Math_5 fix
4793  */
4794 tSCC zSolaris_Math_5Name[] =
4795      "solaris_math_5";
4798  *  File name selection pattern
4799  */
4800 tSCC zSolaris_Math_5List[] =
4801   "|iso/math_c99.h|";
4803  *  Machine/OS name selection pattern
4804  */
4805 #define apzSolaris_Math_5Machs (const char**)NULL
4808  *  content selection pattern - do fix if pattern found
4809  */
4810 tSCC zSolaris_Math_5Select0[] =
4811        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4814  *  content bypass pattern - skip fix if pattern found
4815  */
4816 tSCC zSolaris_Math_5Bypass0[] =
4817        "__GNUC__";
4819 #define    SOLARIS_MATH_5_TEST_CT  2
4820 static tTestDesc aSolaris_Math_5Tests[] = {
4821   { TT_NEGREP,   zSolaris_Math_5Bypass0, (regex_t*)NULL },
4822   { TT_EGREP,    zSolaris_Math_5Select0, (regex_t*)NULL }, };
4825  *  Fix Command Arguments for Solaris_Math_5
4826  */
4827 static const char* apzSolaris_Math_5Patch[] = {
4828     "format",
4829     "#define\tisfinite(x) \\\n\
4830   __extension__ ({ __typeof (x) __x_f = (x); \\\n\
4831 \t\t   __builtin_expect(!isnan(__x_f - __x_f), 1); })",
4832     "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
4833     (char*)NULL };
4835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4837  *  Description of Solaris_Math_6 fix
4838  */
4839 tSCC zSolaris_Math_6Name[] =
4840      "solaris_math_6";
4843  *  File name selection pattern
4844  */
4845 tSCC zSolaris_Math_6List[] =
4846   "|iso/math_c99.h|";
4848  *  Machine/OS name selection pattern
4849  */
4850 #define apzSolaris_Math_6Machs (const char**)NULL
4853  *  content selection pattern - do fix if pattern found
4854  */
4855 tSCC zSolaris_Math_6Select0[] =
4856        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4859  *  content bypass pattern - skip fix if pattern found
4860  */
4861 tSCC zSolaris_Math_6Bypass0[] =
4862        "__GNUC__";
4864 #define    SOLARIS_MATH_6_TEST_CT  2
4865 static tTestDesc aSolaris_Math_6Tests[] = {
4866   { TT_NEGREP,   zSolaris_Math_6Bypass0, (regex_t*)NULL },
4867   { TT_EGREP,    zSolaris_Math_6Select0, (regex_t*)NULL }, };
4870  *  Fix Command Arguments for Solaris_Math_6
4871  */
4872 static const char* apzSolaris_Math_6Patch[] = {
4873     "format",
4874     "#define\tisinf(x) \\\n\
4875   __extension__ ({ __typeof (x) __x_i = (x); \\\n\
4876 \t\t   __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
4877     "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
4878     (char*)NULL };
4880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4882  *  Description of Solaris_Math_7 fix
4883  */
4884 tSCC zSolaris_Math_7Name[] =
4885      "solaris_math_7";
4888  *  File name selection pattern
4889  */
4890 tSCC zSolaris_Math_7List[] =
4891   "|iso/math_c99.h|";
4893  *  Machine/OS name selection pattern
4894  */
4895 #define apzSolaris_Math_7Machs (const char**)NULL
4898  *  content selection pattern - do fix if pattern found
4899  */
4900 tSCC zSolaris_Math_7Select0[] =
4901        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4904  *  content bypass pattern - skip fix if pattern found
4905  */
4906 tSCC zSolaris_Math_7Bypass0[] =
4907        "__GNUC__";
4909 #define    SOLARIS_MATH_7_TEST_CT  2
4910 static tTestDesc aSolaris_Math_7Tests[] = {
4911   { TT_NEGREP,   zSolaris_Math_7Bypass0, (regex_t*)NULL },
4912   { TT_EGREP,    zSolaris_Math_7Select0, (regex_t*)NULL }, };
4915  *  Fix Command Arguments for Solaris_Math_7
4916  */
4917 static const char* apzSolaris_Math_7Patch[] = {
4918     "format",
4919     "#define\tisnormal(x) \\\n\
4920   __extension__ ({ __typeof(x) __x_n = (x); \\\n\
4921 \t\t   if (__x_n < 0.0) __x_n = -__x_n; \\\n\
4922 \t\t   __builtin_expect(isfinite(__x_n) \\\n\
4923 \t\t\t\t    && (sizeof(__x_n) == sizeof(float) \\\n\
4924 \t\t\t\t\t  ? __x_n >= __FLT_MIN__ \\\n\
4925 \t\t\t\t\t  : sizeof(__x_n) == sizeof(long double) \\\n\
4926 \t\t\t\t\t    ? __x_n >= __LDBL_MIN__ \\\n\
4927 \t\t\t\t\t    : __x_n >= __DBL_MIN__), 1); })",
4928     "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
4929     (char*)NULL };
4931 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4933  *  Description of Solaris_Math_8 fix
4934  */
4935 tSCC zSolaris_Math_8Name[] =
4936      "solaris_math_8";
4939  *  File name selection pattern
4940  */
4941 tSCC zSolaris_Math_8List[] =
4942   "|iso/math_c99.h|";
4944  *  Machine/OS name selection pattern
4945  */
4946 #define apzSolaris_Math_8Machs (const char**)NULL
4949  *  content selection pattern - do fix if pattern found
4950  */
4951 tSCC zSolaris_Math_8Select0[] =
4952        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4955  *  content bypass pattern - skip fix if pattern found
4956  */
4957 tSCC zSolaris_Math_8Bypass0[] =
4958        "__GNUC__";
4960 #define    SOLARIS_MATH_8_TEST_CT  2
4961 static tTestDesc aSolaris_Math_8Tests[] = {
4962   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
4963   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
4966  *  Fix Command Arguments for Solaris_Math_8
4967  */
4968 static const char* apzSolaris_Math_8Patch[] = {
4969     "format",
4970     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
4971 \t\t\t   ? __builtin_signbitf(x) \\\n\
4972 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
4973 \t\t\t     ? __builtin_signbitl(x) \\\n\
4974 \t\t\t     : __builtin_signbit(x))",
4975     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
4976     (char*)NULL };
4978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4980  *  Description of Solaris_Math_9 fix
4981  */
4982 tSCC zSolaris_Math_9Name[] =
4983      "solaris_math_9";
4986  *  File name selection pattern
4987  */
4988 tSCC zSolaris_Math_9List[] =
4989   "|iso/math_c99.h|";
4991  *  Machine/OS name selection pattern
4992  */
4993 #define apzSolaris_Math_9Machs (const char**)NULL
4996  *  content selection pattern - do fix if pattern found
4997  */
4998 tSCC zSolaris_Math_9Select0[] =
4999        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5002  *  content bypass pattern - skip fix if pattern found
5003  */
5004 tSCC zSolaris_Math_9Bypass0[] =
5005        "__GNUC__";
5007 #define    SOLARIS_MATH_9_TEST_CT  2
5008 static tTestDesc aSolaris_Math_9Tests[] = {
5009   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
5010   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
5013  *  Fix Command Arguments for Solaris_Math_9
5014  */
5015 static const char* apzSolaris_Math_9Patch[] = {
5016     "format",
5017     "#define\t%1(x, y)%2__builtin_%1(x, y)",
5018     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
5019     (char*)NULL };
5021 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5023  *  Description of Solaris_Mutex_Init_1 fix
5024  */
5025 tSCC zSolaris_Mutex_Init_1Name[] =
5026      "solaris_mutex_init_1";
5029  *  File name selection pattern
5030  */
5031 tSCC zSolaris_Mutex_Init_1List[] =
5032   "|pthread.h|";
5034  *  Machine/OS name selection pattern
5035  */
5036 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
5039  *  content selection pattern - do fix if pattern found
5040  */
5041 tSCC zSolaris_Mutex_Init_1Select0[] =
5042        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
5044 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
5045 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
5046   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
5049  *  Fix Command Arguments for Solaris_Mutex_Init_1
5050  */
5051 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
5052     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
5053 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
5054     (char*)NULL };
5056 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5058  *  Description of Solaris_Mutex_Init_2 fix
5059  */
5060 tSCC zSolaris_Mutex_Init_2Name[] =
5061      "solaris_mutex_init_2";
5064  *  File name selection pattern
5065  */
5066 tSCC zSolaris_Mutex_Init_2List[] =
5067   "|pthread.h|";
5069  *  Machine/OS name selection pattern
5070  */
5071 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
5074  *  content selection pattern - do fix if pattern found
5075  */
5076 tSCC zSolaris_Mutex_Init_2Select0[] =
5077        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5079 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
5080 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
5081   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
5084  *  Fix Command Arguments for Solaris_Mutex_Init_2
5085  */
5086 static const char* apzSolaris_Mutex_Init_2Patch[] = {
5087     "format",
5088     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5089 %0\n\
5090 #else\n\
5091 %1, {0}}%3\n\
5092 #endif",
5093     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
5094     (char*)NULL };
5096 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5098  *  Description of Solaris_Socket fix
5099  */
5100 tSCC zSolaris_SocketName[] =
5101      "solaris_socket";
5104  *  File name selection pattern
5105  */
5106 tSCC zSolaris_SocketList[] =
5107   "|sys/socket.h|";
5109  *  Machine/OS name selection pattern
5110  */
5111 #define apzSolaris_SocketMachs (const char**)NULL
5114  *  content selection pattern - do fix if pattern found
5115  */
5116 tSCC zSolaris_SocketSelect0[] =
5117        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
5119 #define    SOLARIS_SOCKET_TEST_CT  1
5120 static tTestDesc aSolaris_SocketTests[] = {
5121   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
5124  *  Fix Command Arguments for Solaris_Socket
5125  */
5126 static const char* apzSolaris_SocketPatch[] = {
5127     "format",
5128     "extern int %1(int, %2void *, int, int);",
5129     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
5130     (char*)NULL };
5132 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5134  *  Description of Solaris_Stdio_Tag fix
5135  */
5136 tSCC zSolaris_Stdio_TagName[] =
5137      "solaris_stdio_tag";
5140  *  File name selection pattern
5141  */
5142 tSCC zSolaris_Stdio_TagList[] =
5143   "|stdio_tag.h|";
5145  *  Machine/OS name selection pattern
5146  */
5147 #define apzSolaris_Stdio_TagMachs (const char**)NULL
5150  *  content selection pattern - do fix if pattern found
5151  */
5152 tSCC zSolaris_Stdio_TagSelect0[] =
5153        "__cplusplus < 54321L";
5156  *  content bypass pattern - skip fix if pattern found
5157  */
5158 tSCC zSolaris_Stdio_TagBypass0[] =
5159        "__GNUC__";
5161 #define    SOLARIS_STDIO_TAG_TEST_CT  2
5162 static tTestDesc aSolaris_Stdio_TagTests[] = {
5163   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
5164   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
5167  *  Fix Command Arguments for Solaris_Stdio_Tag
5168  */
5169 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
5170     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
5171     (char*)NULL };
5173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5175  *  Description of Solaris_Unistd fix
5176  */
5177 tSCC zSolaris_UnistdName[] =
5178      "solaris_unistd";
5181  *  File name selection pattern
5182  */
5183 tSCC zSolaris_UnistdList[] =
5184   "|unistd.h|";
5186  *  Machine/OS name selection pattern
5187  */
5188 #define apzSolaris_UnistdMachs (const char**)NULL
5191  *  content selection pattern - do fix if pattern found
5192  */
5193 tSCC zSolaris_UnistdSelect0[] =
5194        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
5197  *  content bypass pattern - skip fix if pattern found
5198  */
5199 tSCC zSolaris_UnistdBypass0[] =
5200        "getpagesize";
5202 #define    SOLARIS_UNISTD_TEST_CT  2
5203 static tTestDesc aSolaris_UnistdTests[] = {
5204   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
5205   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
5208  *  Fix Command Arguments for Solaris_Unistd
5209  */
5210 static const char* apzSolaris_UnistdPatch[] = {
5211     "format",
5212     "extern int getpagesize();\n\
5213 %0",
5214     "^extern (pid_t|int) getpgid\\(.*\\);",
5215     (char*)NULL };
5217 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5219  *  Description of Solaris_Widec fix
5220  */
5221 tSCC zSolaris_WidecName[] =
5222      "solaris_widec";
5225  *  File name selection pattern
5226  */
5227 tSCC zSolaris_WidecList[] =
5228   "|widec.h|";
5230  *  Machine/OS name selection pattern
5231  */
5232 tSCC* apzSolaris_WidecMachs[] = {
5233         "*-*-solaris2.[0-5]",
5234         "*-*-solaris2.[0-5].*",
5235         (const char*)NULL };
5238  *  content selection pattern - do fix if pattern found
5239  */
5240 tSCC zSolaris_WidecSelect0[] =
5241        "#include <euc.h>";
5244  *  content bypass pattern - skip fix if pattern found
5245  */
5246 tSCC zSolaris_WidecBypass0[] =
5247        "include.*wchar\\.h";
5249 #define    SOLARIS_WIDEC_TEST_CT  2
5250 static tTestDesc aSolaris_WidecTests[] = {
5251   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
5252   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
5255  *  Fix Command Arguments for Solaris_Widec
5256  */
5257 static const char* apzSolaris_WidecPatch[] = {
5258     "format",
5259     "%0\n\
5260 #include <wchar.h>",
5261     (char*)NULL };
5263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5265  *  Description of Statsswtch fix
5266  */
5267 tSCC zStatsswtchName[] =
5268      "statsswtch";
5271  *  File name selection pattern
5272  */
5273 tSCC zStatsswtchList[] =
5274   "|rpcsvc/rstat.h|";
5276  *  Machine/OS name selection pattern
5277  */
5278 #define apzStatsswtchMachs (const char**)NULL
5281  *  content selection pattern - do fix if pattern found
5282  */
5283 tSCC zStatsswtchSelect0[] =
5284        "boottime$";
5286 #define    STATSSWTCH_TEST_CT  1
5287 static tTestDesc aStatsswtchTests[] = {
5288   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
5291  *  Fix Command Arguments for Statsswtch
5292  */
5293 static const char* apzStatsswtchPatch[] = {
5294     "format",
5295     "boottime;",
5296     (char*)NULL };
5298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5300  *  Description of Stdio_Stdarg_H fix
5301  */
5302 tSCC zStdio_Stdarg_HName[] =
5303      "stdio_stdarg_h";
5306  *  File name selection pattern
5307  */
5308 tSCC zStdio_Stdarg_HList[] =
5309   "|stdio.h|";
5311  *  Machine/OS name selection pattern
5312  */
5313 tSCC* apzStdio_Stdarg_HMachs[] = {
5314         "*-*-solaris2.1[0-9]*",
5315         (const char*)NULL };
5318  *  content bypass pattern - skip fix if pattern found
5319  */
5320 tSCC zStdio_Stdarg_HBypass0[] =
5321        "include.*(stdarg.h|machine/ansi.h)";
5323 #define    STDIO_STDARG_H_TEST_CT  1
5324 static tTestDesc aStdio_Stdarg_HTests[] = {
5325   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
5328  *  Fix Command Arguments for Stdio_Stdarg_H
5329  */
5330 static const char* apzStdio_Stdarg_HPatch[] = {
5331     "wrap",
5332     "#define __need___va_list\n\
5333 #include <stdarg.h>\n",
5334     (char*)NULL };
5336 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5338  *  Description of Stdio_Va_List fix
5339  */
5340 tSCC zStdio_Va_ListName[] =
5341      "stdio_va_list";
5344  *  File name selection pattern
5345  */
5346 tSCC zStdio_Va_ListList[] =
5347   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
5349  *  Machine/OS name selection pattern
5350  */
5351 tSCC* apzStdio_Va_ListMachs[] = {
5352         "*-*-solaris2.1[0-9]*",
5353         (const char*)NULL };
5356  *  content bypass pattern - skip fix if pattern found
5357  */
5358 tSCC zStdio_Va_ListBypass0[] =
5359        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5361 #define    STDIO_VA_LIST_TEST_CT  1
5362 static tTestDesc aStdio_Va_ListTests[] = {
5363   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
5366  *  Fix Command Arguments for Stdio_Va_List
5367  */
5368 static const char* apzStdio_Va_ListPatch[] = { "sed",
5369     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5370 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5371 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5372 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5373 s@ va_list@ __not_va_list__@\n\
5374 s@\\*va_list@*__not_va_list__@\n\
5375 s@ __va_list)@ __gnuc_va_list)@\n\
5376 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5377 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5378 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5379 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5380 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5381 s@VA_LIST@DUMMY_VA_LIST@\n\
5382 s@_Va_LIST@_VA_LIST@",
5383     (char*)NULL };
5385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5387  *  Description of Stdio_Va_List_Clients fix
5388  */
5389 tSCC zStdio_Va_List_ClientsName[] =
5390      "stdio_va_list_clients";
5393  *  File name selection pattern
5394  */
5395 tSCC zStdio_Va_List_ClientsList[] =
5396   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
5398  *  Machine/OS name selection pattern
5399  */
5400 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
5403  *  content bypass pattern - skip fix if pattern found
5404  */
5405 tSCC zStdio_Va_List_ClientsBypass0[] =
5406        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5407 tSCC zStdio_Va_List_ClientsBypass1[] =
5408        "include <stdarg\\.h>|#ifdef va_start";
5410 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
5411 static tTestDesc aStdio_Va_List_ClientsTests[] = {
5412   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
5413   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
5416  *  Fix Command Arguments for Stdio_Va_List_Clients
5417  */
5418 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
5419     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5420 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5421 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5422 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5423 s@ va_list@ __not_va_list__@\n\
5424 s@\\*va_list@*__not_va_list__@\n\
5425 s@ __va_list)@ __gnuc_va_list)@\n\
5426 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5427 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5428 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5429 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5430 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5431 s@VA_LIST@DUMMY_VA_LIST@\n\
5432 s@_Va_LIST@_VA_LIST@",
5433     (char*)NULL };
5435 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5437  *  Description of Strict_Ansi_Not fix
5438  */
5439 tSCC zStrict_Ansi_NotName[] =
5440      "strict_ansi_not";
5443  *  File name selection pattern
5444  */
5445 #define zStrict_Ansi_NotList (char*)NULL
5447  *  Machine/OS name selection pattern
5448  */
5449 #define apzStrict_Ansi_NotMachs (const char**)NULL
5452  *  content selection pattern - do fix if pattern found
5453  */
5454 tSCC zStrict_Ansi_NotSelect0[] =
5455        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5458  *  content bypass pattern - skip fix if pattern found
5459  */
5460 tSCC zStrict_Ansi_NotBypass0[] =
5461        "GNU and MIPS C compilers define __STDC__ differently";
5462 tSCC zStrict_Ansi_NotBypass1[] =
5463        "__SCO_VERSION__.*__STDC__ != 1";
5466  *  perform the C function call test
5467  */
5468 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5470 #define    STRICT_ANSI_NOT_TEST_CT  4
5471 static tTestDesc aStrict_Ansi_NotTests[] = {
5472   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5473   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5474   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5475   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5478  *  Fix Command Arguments for Strict_Ansi_Not
5479  */
5480 static const char* apzStrict_Ansi_NotPatch[] = {
5481     "format",
5482     "%1 !defined(__STRICT_ANSI__)",
5483     (char*)NULL };
5485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5487  *  Description of Strict_Ansi_Not_Ctd fix
5488  */
5489 tSCC zStrict_Ansi_Not_CtdName[] =
5490      "strict_ansi_not_ctd";
5493  *  File name selection pattern
5494  */
5495 tSCC zStrict_Ansi_Not_CtdList[] =
5496   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5498  *  Machine/OS name selection pattern
5499  */
5500 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5503  *  content selection pattern - do fix if pattern found
5504  */
5505 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5506        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5509  *  perform the C function call test
5510  */
5511 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5513 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5514 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5515   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5516   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5519  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5520  */
5521 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5522     "format",
5523     "%1 !defined(__STRICT_ANSI__)",
5524     (char*)NULL };
5526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5528  *  Description of Strict_Ansi_Only fix
5529  */
5530 tSCC zStrict_Ansi_OnlyName[] =
5531      "strict_ansi_only";
5534  *  File name selection pattern
5535  */
5536 #define zStrict_Ansi_OnlyList (char*)NULL
5538  *  Machine/OS name selection pattern
5539  */
5540 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5543  *  content selection pattern - do fix if pattern found
5544  */
5545 tSCC zStrict_Ansi_OnlySelect0[] =
5546        "^([ \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)";
5549  *  perform the C function call test
5550  */
5551 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5553 #define    STRICT_ANSI_ONLY_TEST_CT  2
5554 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5555   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5556   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5559  *  Fix Command Arguments for Strict_Ansi_Only
5560  */
5561 static const char* apzStrict_Ansi_OnlyPatch[] = {
5562     "format",
5563     "%1 defined(__STRICT_ANSI__)",
5564     (char*)NULL };
5566 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5568  *  Description of Struct_File fix
5569  */
5570 tSCC zStruct_FileName[] =
5571      "struct_file";
5574  *  File name selection pattern
5575  */
5576 tSCC zStruct_FileList[] =
5577   "|rpc/xdr.h|";
5579  *  Machine/OS name selection pattern
5580  */
5581 #define apzStruct_FileMachs (const char**)NULL
5584  *  content selection pattern - do fix if pattern found
5585  */
5586 tSCC zStruct_FileSelect0[] =
5587        "^.*xdrstdio_create.*struct __file_s";
5589 #define    STRUCT_FILE_TEST_CT  1
5590 static tTestDesc aStruct_FileTests[] = {
5591   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5594  *  Fix Command Arguments for Struct_File
5595  */
5596 static const char* apzStruct_FilePatch[] = {
5597     "format",
5598     "struct __file_s;\n\
5599 %0",
5600     (char*)NULL };
5602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5604  *  Description of Struct_Sockaddr fix
5605  */
5606 tSCC zStruct_SockaddrName[] =
5607      "struct_sockaddr";
5610  *  File name selection pattern
5611  */
5612 tSCC zStruct_SockaddrList[] =
5613   "|rpc/auth.h|";
5615  *  Machine/OS name selection pattern
5616  */
5617 #define apzStruct_SockaddrMachs (const char**)NULL
5620  *  content selection pattern - do fix if pattern found
5621  */
5622 tSCC zStruct_SockaddrSelect0[] =
5623        "^.*authdes_create.*struct sockaddr[^_]";
5626  *  content bypass pattern - skip fix if pattern found
5627  */
5628 tSCC zStruct_SockaddrBypass0[] =
5629        "<sys/socket.h>";
5630 tSCC zStruct_SockaddrBypass1[] =
5631        "struct sockaddr;\n";
5633 #define    STRUCT_SOCKADDR_TEST_CT  3
5634 static tTestDesc aStruct_SockaddrTests[] = {
5635   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5636   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5637   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5640  *  Fix Command Arguments for Struct_Sockaddr
5641  */
5642 static const char* apzStruct_SockaddrPatch[] = {
5643     "format",
5644     "struct sockaddr;\n\
5645 %0",
5646     (char*)NULL };
5648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5650  *  Description of Sun_Auth_Proto fix
5651  */
5652 tSCC zSun_Auth_ProtoName[] =
5653      "sun_auth_proto";
5656  *  File name selection pattern
5657  */
5658 tSCC zSun_Auth_ProtoList[] =
5659   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5661  *  Machine/OS name selection pattern
5662  */
5663 #define apzSun_Auth_ProtoMachs (const char**)NULL
5666  *  content selection pattern - do fix if pattern found
5667  */
5668 tSCC zSun_Auth_ProtoSelect0[] =
5669        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5672  *  content bypass pattern - skip fix if pattern found
5673  */
5674 tSCC zSun_Auth_ProtoBypass0[] =
5675        "__cplusplus";
5677 #define    SUN_AUTH_PROTO_TEST_CT  2
5678 static tTestDesc aSun_Auth_ProtoTests[] = {
5679   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
5680   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5683  *  Fix Command Arguments for Sun_Auth_Proto
5684  */
5685 static const char* apzSun_Auth_ProtoPatch[] = {
5686     "format",
5687     "#ifdef __cplusplus\n\
5688 %1(...);%2\n\
5689 #else\n\
5690 %1();%2\n\
5691 #endif",
5692     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5693     (char*)NULL };
5695 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5697  *  Description of Sun_Bogus_Ifdef fix
5698  */
5699 tSCC zSun_Bogus_IfdefName[] =
5700      "sun_bogus_ifdef";
5703  *  File name selection pattern
5704  */
5705 tSCC zSun_Bogus_IfdefList[] =
5706   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5708  *  Machine/OS name selection pattern
5709  */
5710 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5713  *  content selection pattern - do fix if pattern found
5714  */
5715 tSCC zSun_Bogus_IfdefSelect0[] =
5716        "#ifdef(.*\\|\\|.*)";
5718 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5719 static tTestDesc aSun_Bogus_IfdefTests[] = {
5720   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5723  *  Fix Command Arguments for Sun_Bogus_Ifdef
5724  */
5725 static const char* apzSun_Bogus_IfdefPatch[] = {
5726     "format",
5727     "#if%1",
5728     (char*)NULL };
5730 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5732  *  Description of Sun_Catmacro fix
5733  */
5734 tSCC zSun_CatmacroName[] =
5735      "sun_catmacro";
5738  *  File name selection pattern
5739  */
5740 tSCC zSun_CatmacroList[] =
5741   "|pixrect/memvar.h|";
5743  *  Machine/OS name selection pattern
5744  */
5745 #define apzSun_CatmacroMachs (const char**)NULL
5748  *  content selection pattern - do fix if pattern found
5749  */
5750 tSCC zSun_CatmacroSelect0[] =
5751        "^#define[ \t]+CAT\\(a,b\\).*";
5753 #define    SUN_CATMACRO_TEST_CT  1
5754 static tTestDesc aSun_CatmacroTests[] = {
5755   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
5758  *  Fix Command Arguments for Sun_Catmacro
5759  */
5760 static const char* apzSun_CatmacroPatch[] = {
5761     "format",
5762     "#ifdef __STDC__\n\
5763 #  define CAT(a,b) a##b\n\
5764 #else\n\
5765 %0\n\
5766 #endif",
5767     (char*)NULL };
5769 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5771  *  Description of Sun_Malloc fix
5772  */
5773 tSCC zSun_MallocName[] =
5774      "sun_malloc";
5777  *  File name selection pattern
5778  */
5779 tSCC zSun_MallocList[] =
5780   "|malloc.h|";
5782  *  Machine/OS name selection pattern
5783  */
5784 #define apzSun_MallocMachs (const char**)NULL
5787  *  content bypass pattern - skip fix if pattern found
5788  */
5789 tSCC zSun_MallocBypass0[] =
5790        "_CLASSIC_ANSI_TYPES";
5792 #define    SUN_MALLOC_TEST_CT  1
5793 static tTestDesc aSun_MallocTests[] = {
5794   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
5797  *  Fix Command Arguments for Sun_Malloc
5798  */
5799 static const char* apzSun_MallocPatch[] = { "sed",
5800     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
5801     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
5802     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
5803     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
5804     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
5805     (char*)NULL };
5807 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5809  *  Description of Sun_Rusers_Semi fix
5810  */
5811 tSCC zSun_Rusers_SemiName[] =
5812      "sun_rusers_semi";
5815  *  File name selection pattern
5816  */
5817 tSCC zSun_Rusers_SemiList[] =
5818   "|rpcsvc/rusers.h|";
5820  *  Machine/OS name selection pattern
5821  */
5822 #define apzSun_Rusers_SemiMachs (const char**)NULL
5825  *  content selection pattern - do fix if pattern found
5826  */
5827 tSCC zSun_Rusers_SemiSelect0[] =
5828        "_cnt$";
5830 #define    SUN_RUSERS_SEMI_TEST_CT  1
5831 static tTestDesc aSun_Rusers_SemiTests[] = {
5832   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
5835  *  Fix Command Arguments for Sun_Rusers_Semi
5836  */
5837 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
5838     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
5839     (char*)NULL };
5841 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5843  *  Description of Sun_Signal fix
5844  */
5845 tSCC zSun_SignalName[] =
5846      "sun_signal";
5849  *  File name selection pattern
5850  */
5851 tSCC zSun_SignalList[] =
5852   "|sys/signal.h|signal.h|";
5854  *  Machine/OS name selection pattern
5855  */
5856 #define apzSun_SignalMachs (const char**)NULL
5859  *  content selection pattern - do fix if pattern found
5860  */
5861 tSCC zSun_SignalSelect0[] =
5862        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
5864 #define    SUN_SIGNAL_TEST_CT  1
5865 static tTestDesc aSun_SignalTests[] = {
5866   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
5869  *  Fix Command Arguments for Sun_Signal
5870  */
5871 static const char* apzSun_SignalPatch[] = {
5872     "format",
5873     "#ifdef __cplusplus\n\
5874 void\t(*signal(...))(...);\n\
5875 #else\n\
5876 %0\n\
5877 #endif",
5878     (char*)NULL };
5880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5882  *  Description of Sunos_Strlen fix
5883  */
5884 tSCC zSunos_StrlenName[] =
5885      "sunos_strlen";
5888  *  File name selection pattern
5889  */
5890 tSCC zSunos_StrlenList[] =
5891   "|strings.h|";
5893  *  Machine/OS name selection pattern
5894  */
5895 #define apzSunos_StrlenMachs (const char**)NULL
5898  *  content selection pattern - do fix if pattern found
5899  */
5900 tSCC zSunos_StrlenSelect0[] =
5901        "int[ \t]*strlen\\(\\);(.*)";
5903 #define    SUNOS_STRLEN_TEST_CT  1
5904 static tTestDesc aSunos_StrlenTests[] = {
5905   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
5908  *  Fix Command Arguments for Sunos_Strlen
5909  */
5910 static const char* apzSunos_StrlenPatch[] = {
5911     "format",
5912     "__SIZE_TYPE__ strlen();%1",
5913     (char*)NULL };
5915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5917  *  Description of Svr4_Disable_Opt fix
5918  */
5919 tSCC zSvr4_Disable_OptName[] =
5920      "svr4_disable_opt";
5923  *  File name selection pattern
5924  */
5925 tSCC zSvr4_Disable_OptList[] =
5926   "|string.h|";
5928  *  Machine/OS name selection pattern
5929  */
5930 #define apzSvr4_Disable_OptMachs (const char**)NULL
5933  *  content selection pattern - do fix if pattern found
5934  */
5935 tSCC zSvr4_Disable_OptSelect0[] =
5936        "#define.*__std_hdr_";
5938 #define    SVR4_DISABLE_OPT_TEST_CT  1
5939 static tTestDesc aSvr4_Disable_OptTests[] = {
5940   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5943  *  Fix Command Arguments for Svr4_Disable_Opt
5944  */
5945 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5946     "-e", "/#define.*__std_hdr_/d",
5947     (char*)NULL };
5949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5951  *  Description of Svr4_Getcwd fix
5952  */
5953 tSCC zSvr4_GetcwdName[] =
5954      "svr4_getcwd";
5957  *  File name selection pattern
5958  */
5959 tSCC zSvr4_GetcwdList[] =
5960   "|stdlib.h|unistd.h|prototypes.h|";
5962  *  Machine/OS name selection pattern
5963  */
5964 #define apzSvr4_GetcwdMachs (const char**)NULL
5967  *  content selection pattern - do fix if pattern found
5968  */
5969 tSCC zSvr4_GetcwdSelect0[] =
5970        "getcwd\\(char \\*, int\\)";
5972 #define    SVR4_GETCWD_TEST_CT  1
5973 static tTestDesc aSvr4_GetcwdTests[] = {
5974   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5977  *  Fix Command Arguments for Svr4_Getcwd
5978  */
5979 static const char* apzSvr4_GetcwdPatch[] = {
5980     "format",
5981     "getcwd(char *, size_t)",
5982     (char*)NULL };
5984 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5986  *  Description of Svr4_Krnl fix
5987  */
5988 tSCC zSvr4_KrnlName[] =
5989      "svr4_krnl";
5992  *  File name selection pattern
5993  */
5994 tSCC zSvr4_KrnlList[] =
5995   "|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|";
5997  *  Machine/OS name selection pattern
5998  */
5999 tSCC* apzSvr4_KrnlMachs[] = {
6000         "*-*-sysv4*",
6001         "i?86-sequent-ptx*",
6002         (const char*)NULL };
6005  *  content bypass pattern - skip fix if pattern found
6006  */
6007 tSCC zSvr4_KrnlBypass0[] =
6008        "_KERNEL";
6010 #define    SVR4_KRNL_TEST_CT  1
6011 static tTestDesc aSvr4_KrnlTests[] = {
6012   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
6015  *  Fix Command Arguments for Svr4_Krnl
6016  */
6017 static const char* apzSvr4_KrnlPatch[] = {
6018     "wrap",
6019     "#ifdef _KERNEL\n",
6020     "#endif /* _KERNEL */\n",
6021     (char*)NULL };
6023 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6025  *  Description of Svr4_Profil fix
6026  */
6027 tSCC zSvr4_ProfilName[] =
6028      "svr4_profil";
6031  *  File name selection pattern
6032  */
6033 tSCC zSvr4_ProfilList[] =
6034   "|stdlib.h|unistd.h|";
6036  *  Machine/OS name selection pattern
6037  */
6038 #define apzSvr4_ProfilMachs (const char**)NULL
6041  *  content selection pattern - do fix if pattern found
6042  */
6043 tSCC zSvr4_ProfilSelect0[] =
6044        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
6047  *  content bypass pattern - skip fix if pattern found
6048  */
6049 tSCC zSvr4_ProfilBypass0[] =
6050        "Silicon Graphics";
6052 #define    SVR4_PROFIL_TEST_CT  2
6053 static tTestDesc aSvr4_ProfilTests[] = {
6054   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
6055   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
6058  *  Fix Command Arguments for Svr4_Profil
6059  */
6060 static const char* apzSvr4_ProfilPatch[] = {
6061     "format",
6062     "profil(unsigned short *, size_t, int, unsigned int)",
6063     (char*)NULL };
6065 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6067  *  Description of Svr4_Sighandler_Type fix
6068  */
6069 tSCC zSvr4_Sighandler_TypeName[] =
6070      "svr4_sighandler_type";
6073  *  File name selection pattern
6074  */
6075 tSCC zSvr4_Sighandler_TypeList[] =
6076   "|sys/signal.h|";
6078  *  Machine/OS name selection pattern
6079  */
6080 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
6083  *  content selection pattern - do fix if pattern found
6084  */
6085 tSCC zSvr4_Sighandler_TypeSelect0[] =
6086        "void *\\(\\*\\)\\(\\)";
6088 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
6089 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
6090   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
6093  *  Fix Command Arguments for Svr4_Sighandler_Type
6094  */
6095 static const char* apzSvr4_Sighandler_TypePatch[] = {
6096     "format",
6097     "void (*)(int)",
6098     (char*)NULL };
6100 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6102  *  Description of Svr4_Undeclared_Getrnge fix
6103  */
6104 tSCC zSvr4_Undeclared_GetrngeName[] =
6105      "svr4_undeclared_getrnge";
6108  *  File name selection pattern
6109  */
6110 tSCC zSvr4_Undeclared_GetrngeList[] =
6111   "|regexp.h|";
6113  *  Machine/OS name selection pattern
6114  */
6115 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
6118  *  content selection pattern - do fix if pattern found
6119  */
6120 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
6121        "getrnge";
6124  *  content bypass pattern - skip fix if pattern found
6125  */
6126 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
6127        "static void getrnge";
6129 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
6130 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
6131   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
6132   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
6135  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
6136  */
6137 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
6138     "format",
6139     "%0\n\
6140 static int getrnge ();",
6141     "^static int[ \t]+size;",
6142     (char*)NULL };
6144 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6146  *  Description of Sysv68_String fix
6147  */
6148 tSCC zSysv68_StringName[] =
6149      "sysv68_string";
6152  *  File name selection pattern
6153  */
6154 tSCC zSysv68_StringList[] =
6155   "|testing.h|string.h|";
6157  *  Machine/OS name selection pattern
6158  */
6159 #define apzSysv68_StringMachs (const char**)NULL
6162  *  content bypass pattern - skip fix if pattern found
6163  */
6164 tSCC zSysv68_StringBypass0[] =
6165        "_CLASSIC_ANSI_TYPES";
6167 #define    SYSV68_STRING_TEST_CT  1
6168 static tTestDesc aSysv68_StringTests[] = {
6169   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
6172  *  Fix Command Arguments for Sysv68_String
6173  */
6174 static const char* apzSysv68_StringPatch[] = { "sed",
6175     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
6176     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
6177     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
6178     "-e", "/^extern char$/N",
6179     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
6180     "-e", "/^extern int$/N",
6181     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
6182     "-e", "/^\tstrncmp(),$/N",
6183     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
6184 extern unsigned int\\\n\
6185 \\2/",
6186     (char*)NULL };
6188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6190  *  Description of Sysz_Stdlib_For_Sun fix
6191  */
6192 tSCC zSysz_Stdlib_For_SunName[] =
6193      "sysz_stdlib_for_sun";
6196  *  File name selection pattern
6197  */
6198 tSCC zSysz_Stdlib_For_SunList[] =
6199   "|stdlib.h|";
6201  *  Machine/OS name selection pattern
6202  */
6203 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
6206  *  content selection pattern - do fix if pattern found
6207  */
6208 tSCC zSysz_Stdlib_For_SunSelect0[] =
6209        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
6212  *  content bypass pattern - skip fix if pattern found
6213  */
6214 tSCC zSysz_Stdlib_For_SunBypass0[] =
6215        "_CLASSIC_ANSI_TYPES";
6217 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
6218 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
6219   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
6220   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
6223  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
6224  */
6225 static const char* apzSysz_Stdlib_For_SunPatch[] = {
6226     "format",
6227     "void *\t%1(",
6228     (char*)NULL };
6230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6232  *  Description of Thread_Keyword fix
6233  */
6234 tSCC zThread_KeywordName[] =
6235      "thread_keyword";
6238  *  File name selection pattern
6239  */
6240 tSCC zThread_KeywordList[] =
6241   "|pthread.h|bits/sigthread.h|";
6243  *  Machine/OS name selection pattern
6244  */
6245 #define apzThread_KeywordMachs (const char**)NULL
6248  *  content selection pattern - do fix if pattern found
6249  */
6250 tSCC zThread_KeywordSelect0[] =
6251        "([* ])__thread([,)])";
6253 #define    THREAD_KEYWORD_TEST_CT  1
6254 static tTestDesc aThread_KeywordTests[] = {
6255   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
6258  *  Fix Command Arguments for Thread_Keyword
6259  */
6260 static const char* apzThread_KeywordPatch[] = {
6261     "format",
6262     "%1__thr%2",
6263     (char*)NULL };
6265 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6267  *  Description of Tinfo_Cplusplus fix
6268  */
6269 tSCC zTinfo_CplusplusName[] =
6270      "tinfo_cplusplus";
6273  *  File name selection pattern
6274  */
6275 tSCC zTinfo_CplusplusList[] =
6276   "|tinfo.h|";
6278  *  Machine/OS name selection pattern
6279  */
6280 #define apzTinfo_CplusplusMachs (const char**)NULL
6283  *  content selection pattern - do fix if pattern found
6284  */
6285 tSCC zTinfo_CplusplusSelect0[] =
6286        "[ \t]_cplusplus";
6288 #define    TINFO_CPLUSPLUS_TEST_CT  1
6289 static tTestDesc aTinfo_CplusplusTests[] = {
6290   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
6293  *  Fix Command Arguments for Tinfo_Cplusplus
6294  */
6295 static const char* apzTinfo_CplusplusPatch[] = {
6296     "format",
6297     " __cplusplus",
6298     (char*)NULL };
6300 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6302  *  Description of Ultrix_Atexit_Param fix
6303  */
6304 tSCC zUltrix_Atexit_ParamName[] =
6305      "ultrix_atexit_param";
6308  *  File name selection pattern
6309  */
6310 tSCC zUltrix_Atexit_ParamList[] =
6311   "|stdlib.h|";
6313  *  Machine/OS name selection pattern
6314  */
6315 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
6318  *  content selection pattern - do fix if pattern found
6319  */
6320 tSCC zUltrix_Atexit_ParamSelect0[] =
6321        "atexit\\(.*\\(\\)";
6323 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
6324 static tTestDesc aUltrix_Atexit_ParamTests[] = {
6325   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
6328  *  Fix Command Arguments for Ultrix_Atexit_Param
6329  */
6330 static const char* apzUltrix_Atexit_ParamPatch[] = {
6331     "format",
6332     "atexit( void (*__func)( void )",
6333     (char*)NULL };
6335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6337  *  Description of Ultrix_Atof_Param fix
6338  */
6339 tSCC zUltrix_Atof_ParamName[] =
6340      "ultrix_atof_param";
6343  *  File name selection pattern
6344  */
6345 tSCC zUltrix_Atof_ParamList[] =
6346   "|math.h|";
6348  *  Machine/OS name selection pattern
6349  */
6350 #define apzUltrix_Atof_ParamMachs (const char**)NULL
6353  *  content selection pattern - do fix if pattern found
6354  */
6355 tSCC zUltrix_Atof_ParamSelect0[] =
6356        "atof\\([ \t]*char";
6358 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
6359 static tTestDesc aUltrix_Atof_ParamTests[] = {
6360   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
6363  *  Fix Command Arguments for Ultrix_Atof_Param
6364  */
6365 static const char* apzUltrix_Atof_ParamPatch[] = {
6366     "format",
6367     "atof(const char",
6368     (char*)NULL };
6370 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6372  *  Description of Ultrix_Const fix
6373  */
6374 tSCC zUltrix_ConstName[] =
6375      "ultrix_const";
6378  *  File name selection pattern
6379  */
6380 tSCC zUltrix_ConstList[] =
6381   "|stdio.h|";
6383  *  Machine/OS name selection pattern
6384  */
6385 #define apzUltrix_ConstMachs (const char**)NULL
6388  *  content selection pattern - do fix if pattern found
6389  */
6390 tSCC zUltrix_ConstSelect0[] =
6391        "perror\\( char \\*";
6393 #define    ULTRIX_CONST_TEST_CT  1
6394 static tTestDesc aUltrix_ConstTests[] = {
6395   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
6398  *  Fix Command Arguments for Ultrix_Const
6399  */
6400 static const char* apzUltrix_ConstPatch[] = {
6401     "format",
6402     "%1 const %3 *__",
6403     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
6404     (char*)NULL };
6406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6408  *  Description of Ultrix_Const2 fix
6409  */
6410 tSCC zUltrix_Const2Name[] =
6411      "ultrix_const2";
6414  *  File name selection pattern
6415  */
6416 tSCC zUltrix_Const2List[] =
6417   "|stdio.h|";
6419  *  Machine/OS name selection pattern
6420  */
6421 #define apzUltrix_Const2Machs (const char**)NULL
6424  *  content selection pattern - do fix if pattern found
6425  */
6426 tSCC zUltrix_Const2Select0[] =
6427        "\\*fopen\\( char \\*";
6429 #define    ULTRIX_CONST2_TEST_CT  1
6430 static tTestDesc aUltrix_Const2Tests[] = {
6431   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6434  *  Fix Command Arguments for Ultrix_Const2
6435  */
6436 static const char* apzUltrix_Const2Patch[] = {
6437     "format",
6438     "%1( const char *%3, const char *",
6439     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6440     (char*)NULL };
6442 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6444  *  Description of Ultrix_Const3 fix
6445  */
6446 tSCC zUltrix_Const3Name[] =
6447      "ultrix_const3";
6450  *  File name selection pattern
6451  */
6452 tSCC zUltrix_Const3List[] =
6453   "|stdio.h|";
6455  *  Machine/OS name selection pattern
6456  */
6457 #define apzUltrix_Const3Machs (const char**)NULL
6460  *  content selection pattern - do fix if pattern found
6461  */
6462 tSCC zUltrix_Const3Select0[] =
6463        "fdopen\\( .*, char \\*";
6465 #define    ULTRIX_CONST3_TEST_CT  1
6466 static tTestDesc aUltrix_Const3Tests[] = {
6467   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6470  *  Fix Command Arguments for Ultrix_Const3
6471  */
6472 static const char* apzUltrix_Const3Patch[] = {
6473     "format",
6474     "%1 const %3 *__",
6475     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6476     (char*)NULL };
6478 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6480  *  Description of Ultrix_Fix_Fixproto fix
6481  */
6482 tSCC zUltrix_Fix_FixprotoName[] =
6483      "ultrix_fix_fixproto";
6486  *  File name selection pattern
6487  */
6488 tSCC zUltrix_Fix_FixprotoList[] =
6489   "|sys/utsname.h|";
6491  *  Machine/OS name selection pattern
6492  */
6493 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6496  *  content selection pattern - do fix if pattern found
6497  */
6498 tSCC zUltrix_Fix_FixprotoSelect0[] =
6499        "ULTRIX";
6501 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6502 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6503   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6506  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6507  */
6508 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6509     "format",
6510     "struct utsname;\n\
6511 %0",
6512     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6513     (char*)NULL };
6515 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6517  *  Description of Ultrix_Ifdef fix
6518  */
6519 tSCC zUltrix_IfdefName[] =
6520      "ultrix_ifdef";
6523  *  File name selection pattern
6524  */
6525 tSCC zUltrix_IfdefList[] =
6526   "|sys/file.h|";
6528  *  Machine/OS name selection pattern
6529  */
6530 #define apzUltrix_IfdefMachs (const char**)NULL
6533  *  content selection pattern - do fix if pattern found
6534  */
6535 tSCC zUltrix_IfdefSelect0[] =
6536        "^#ifdef KERNEL[ \t]+&&";
6538 #define    ULTRIX_IFDEF_TEST_CT  1
6539 static tTestDesc aUltrix_IfdefTests[] = {
6540   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6543  *  Fix Command Arguments for Ultrix_Ifdef
6544  */
6545 static const char* apzUltrix_IfdefPatch[] = {
6546     "format",
6547     "#if defined(KERNEL) &&",
6548     (char*)NULL };
6550 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6552  *  Description of Ultrix_Locale fix
6553  */
6554 tSCC zUltrix_LocaleName[] =
6555      "ultrix_locale";
6558  *  File name selection pattern
6559  */
6560 tSCC zUltrix_LocaleList[] =
6561   "|locale.h|";
6563  *  Machine/OS name selection pattern
6564  */
6565 #define apzUltrix_LocaleMachs (const char**)NULL
6568  *  content selection pattern - do fix if pattern found
6569  */
6570 tSCC zUltrix_LocaleSelect0[] =
6571        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6573 #define    ULTRIX_LOCALE_TEST_CT  1
6574 static tTestDesc aUltrix_LocaleTests[] = {
6575   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6578  *  Fix Command Arguments for Ultrix_Locale
6579  */
6580 static const char* apzUltrix_LocalePatch[] = {
6581     "wrap",
6582     (char*)NULL };
6584 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6586  *  Description of Ultrix_Math_Ifdef fix
6587  */
6588 tSCC zUltrix_Math_IfdefName[] =
6589      "ultrix_math_ifdef";
6592  *  File name selection pattern
6593  */
6594 tSCC zUltrix_Math_IfdefList[] =
6595   "|sys/limits.h|float.h|math.h|";
6597  *  Machine/OS name selection pattern
6598  */
6599 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6602  *  content selection pattern - do fix if pattern found
6603  */
6604 tSCC zUltrix_Math_IfdefSelect0[] =
6605        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6607 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6608 static tTestDesc aUltrix_Math_IfdefTests[] = {
6609   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6612  *  Fix Command Arguments for Ultrix_Math_Ifdef
6613  */
6614 static const char* apzUltrix_Math_IfdefPatch[] = {
6615     "format",
6616     "%1",
6617     (char*)NULL };
6619 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6621  *  Description of Ultrix_Nested_Ioctl fix
6622  */
6623 tSCC zUltrix_Nested_IoctlName[] =
6624      "ultrix_nested_ioctl";
6627  *  File name selection pattern
6628  */
6629 tSCC zUltrix_Nested_IoctlList[] =
6630   "|sys/ioctl.h|";
6632  *  Machine/OS name selection pattern
6633  */
6634 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6637  *  content selection pattern - do fix if pattern found
6638  */
6639 tSCC zUltrix_Nested_IoctlSelect0[] =
6640        "^/\\* #define SIOCSCREEN";
6642 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6643 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6644   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6647  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6648  */
6649 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6650     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6651     (char*)NULL };
6653 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6655  *  Description of Ultrix_Nested_Svc fix
6656  */
6657 tSCC zUltrix_Nested_SvcName[] =
6658      "ultrix_nested_svc";
6661  *  File name selection pattern
6662  */
6663 tSCC zUltrix_Nested_SvcList[] =
6664   "|rpc/svc.h|";
6666  *  Machine/OS name selection pattern
6667  */
6668 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6671  *  content selection pattern - do fix if pattern found
6672  */
6673 tSCC zUltrix_Nested_SvcSelect0[] =
6674        "^ \\*[ \t]*int protocol;  */\\*";
6676 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6677 static tTestDesc aUltrix_Nested_SvcTests[] = {
6678   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6681  *  Fix Command Arguments for Ultrix_Nested_Svc
6682  */
6683 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6684     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6685     (char*)NULL };
6687 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6689  *  Description of Ultrix_Stat fix
6690  */
6691 tSCC zUltrix_StatName[] =
6692      "ultrix_stat";
6695  *  File name selection pattern
6696  */
6697 tSCC zUltrix_StatList[] =
6698   "|sys/stat.h|";
6700  *  Machine/OS name selection pattern
6701  */
6702 #define apzUltrix_StatMachs (const char**)NULL
6705  *  content selection pattern - do fix if pattern found
6706  */
6707 tSCC zUltrix_StatSelect0[] =
6708        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6710 #define    ULTRIX_STAT_TEST_CT  1
6711 static tTestDesc aUltrix_StatTests[] = {
6712   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6715  *  Fix Command Arguments for Ultrix_Stat
6716  */
6717 static const char* apzUltrix_StatPatch[] = { "sed",
6718     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6719 \\\n\
6720 /* macro to test for symbolic link */\\\n\
6721 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6722     "-e", "/^[ \t]*fstat(),$/a\\\n\
6723 \tlstat(),\n",
6724     (char*)NULL };
6726 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6728  *  Description of Ultrix_Static fix
6729  */
6730 tSCC zUltrix_StaticName[] =
6731      "ultrix_static";
6734  *  File name selection pattern
6735  */
6736 tSCC zUltrix_StaticList[] =
6737   "|machine/cpu.h|";
6739  *  Machine/OS name selection pattern
6740  */
6741 #define apzUltrix_StaticMachs (const char**)NULL
6744  *  content selection pattern - do fix if pattern found
6745  */
6746 tSCC zUltrix_StaticSelect0[] =
6747        "#include \"r[34]_cpu";
6749 #define    ULTRIX_STATIC_TEST_CT  1
6750 static tTestDesc aUltrix_StaticTests[] = {
6751   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
6754  *  Fix Command Arguments for Ultrix_Static
6755  */
6756 static const char* apzUltrix_StaticPatch[] = { "sed",
6757     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
6758     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
6759     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
6760     (char*)NULL };
6762 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6764  *  Description of Ultrix_Stdlib fix
6765  */
6766 tSCC zUltrix_StdlibName[] =
6767      "ultrix_stdlib";
6770  *  File name selection pattern
6771  */
6772 tSCC zUltrix_StdlibList[] =
6773   "|stdlib.h|";
6775  *  Machine/OS name selection pattern
6776  */
6777 #define apzUltrix_StdlibMachs (const char**)NULL
6780  *  content selection pattern - do fix if pattern found
6781  */
6782 tSCC zUltrix_StdlibSelect0[] =
6783        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
6785 #define    ULTRIX_STDLIB_TEST_CT  1
6786 static tTestDesc aUltrix_StdlibTests[] = {
6787   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
6790  *  Fix Command Arguments for Ultrix_Stdlib
6791  */
6792 static const char* apzUltrix_StdlibPatch[] = { "sed",
6793     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
6794 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
6795 void\t\tunsetenv( const char *__name );\\\n\
6796 int\t\tputenv( char *__s );\n",
6797     "-e", "/^char.*getenv();.*$/a\\\n\
6798 int\tsetenv();\\\n\
6799 void\tunsetenv();\\\n\
6800 int\tputenv();\n",
6801     (char*)NULL };
6803 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6805  *  Description of Ultrix_Strings fix
6806  */
6807 tSCC zUltrix_StringsName[] =
6808      "ultrix_strings";
6811  *  File name selection pattern
6812  */
6813 tSCC zUltrix_StringsList[] =
6814   "|strings.h|";
6816  *  Machine/OS name selection pattern
6817  */
6818 #define apzUltrix_StringsMachs (const char**)NULL
6821  *  content selection pattern - do fix if pattern found
6822  */
6823 tSCC zUltrix_StringsSelect0[] =
6824        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6826 #define    ULTRIX_STRINGS_TEST_CT  1
6827 static tTestDesc aUltrix_StringsTests[] = {
6828   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
6831  *  Fix Command Arguments for Ultrix_Strings
6832  */
6833 static const char* apzUltrix_StringsPatch[] = {
6834     "wrap",
6835     (char*)NULL };
6837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6839  *  Description of Ultrix_Strings2 fix
6840  */
6841 tSCC zUltrix_Strings2Name[] =
6842      "ultrix_strings2";
6845  *  File name selection pattern
6846  */
6847 tSCC zUltrix_Strings2List[] =
6848   "|strings.h|";
6850  *  Machine/OS name selection pattern
6851  */
6852 #define apzUltrix_Strings2Machs (const char**)NULL
6855  *  content selection pattern - do fix if pattern found
6856  */
6857 tSCC zUltrix_Strings2Select0[] =
6858        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6860 #define    ULTRIX_STRINGS2_TEST_CT  1
6861 static tTestDesc aUltrix_Strings2Tests[] = {
6862   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
6865  *  Fix Command Arguments for Ultrix_Strings2
6866  */
6867 static const char* apzUltrix_Strings2Patch[] = { "sed",
6868     "-e", "/^.*strncmp( const .* );.*/a\\\n\
6869 \\\n\
6870 extern int\\\n\
6871 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
6872 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
6873     "-e", "/^.*strncmp();.*/a\\\n\
6874 extern int\\\n\
6875 \tstrcasecmp(),\\\n\
6876 \tstrncasecmp();\n",
6877     (char*)NULL };
6879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6881  *  Description of Ultrix_Sys_Time fix
6882  */
6883 tSCC zUltrix_Sys_TimeName[] =
6884      "ultrix_sys_time";
6887  *  File name selection pattern
6888  */
6889 tSCC zUltrix_Sys_TimeList[] =
6890   "|sys/time.h|";
6892  *  Machine/OS name selection pattern
6893  */
6894 #define apzUltrix_Sys_TimeMachs (const char**)NULL
6897  *  content selection pattern - do fix if pattern found
6898  */
6899 tSCC zUltrix_Sys_TimeSelect0[] =
6900        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
6902 #define    ULTRIX_SYS_TIME_TEST_CT  1
6903 static tTestDesc aUltrix_Sys_TimeTests[] = {
6904   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
6907  *  Fix Command Arguments for Ultrix_Sys_Time
6908  */
6909 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
6910     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
6911 \\\n\
6912 extern int adjtime(struct timeval *, struct timeval *);\\\n\
6913 extern int getitimer(int, struct itimerval *);\\\n\
6914 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
6915 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
6916 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
6917 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
6918 extern int stime(const time_t *);\\\n\
6919 extern int utimes(const char *, const struct timeval[2]);\\\n\
6920 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
6921     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
6922 extern\tint adjtime();\\\n\
6923 extern\tint getitimer();\\\n\
6924 extern\tint setitimer();\\\n\
6925 extern\tint gettimeofday();\\\n\
6926 extern\tint settimeofday();\\\n\
6927 extern\tvoid profil();\\\n\
6928 extern\tint stime();\\\n\
6929 extern\tint utimes();\\\n\
6930 extern\tint select();\n",
6931     (char*)NULL };
6933 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6935  *  Description of Ultrix_Unistd fix
6936  */
6937 tSCC zUltrix_UnistdName[] =
6938      "ultrix_unistd";
6941  *  File name selection pattern
6942  */
6943 tSCC zUltrix_UnistdList[] =
6944   "|unistd.h|";
6946  *  Machine/OS name selection pattern
6947  */
6948 #define apzUltrix_UnistdMachs (const char**)NULL
6951  *  content selection pattern - do fix if pattern found
6952  */
6953 tSCC zUltrix_UnistdSelect0[] =
6954        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
6956 #define    ULTRIX_UNISTD_TEST_CT  1
6957 static tTestDesc aUltrix_UnistdTests[] = {
6958   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
6961  *  Fix Command Arguments for Ultrix_Unistd
6962  */
6963 static const char* apzUltrix_UnistdPatch[] = { "sed",
6964     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
6965 \tgetpagesize(),\n",
6966     "-e", "/^[ \t]*fork(),.*$/a\\\n\
6967 \tvfork(),\n",
6968     (char*)NULL };
6970 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6972  *  Description of Unicosmk_Restrict fix
6973  */
6974 tSCC zUnicosmk_RestrictName[] =
6975      "unicosmk_restrict";
6978  *  File name selection pattern
6979  */
6980 tSCC zUnicosmk_RestrictList[] =
6981   "|stdio.h|stdlib.h|wchar.h|";
6983  *  Machine/OS name selection pattern
6984  */
6985 tSCC* apzUnicosmk_RestrictMachs[] = {
6986         "*-*-unicosmk*",
6987         (const char*)NULL };
6990  *  content selection pattern - do fix if pattern found
6991  */
6992 tSCC zUnicosmk_RestrictSelect0[] =
6993        "(\\*[ \t]*)restrict([ \t]+)";
6995 #define    UNICOSMK_RESTRICT_TEST_CT  1
6996 static tTestDesc aUnicosmk_RestrictTests[] = {
6997   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
7000  *  Fix Command Arguments for Unicosmk_Restrict
7001  */
7002 static const char* apzUnicosmk_RestrictPatch[] = {
7003     "format",
7004     "%1__restrict__%2",
7005     (char*)NULL };
7007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7009  *  Description of Uw7_Byteorder_Fix fix
7010  */
7011 tSCC zUw7_Byteorder_FixName[] =
7012      "uw7_byteorder_fix";
7015  *  File name selection pattern
7016  */
7017 tSCC zUw7_Byteorder_FixList[] =
7018   "|arpa/inet.h|";
7020  *  Machine/OS name selection pattern
7021  */
7022 tSCC* apzUw7_Byteorder_FixMachs[] = {
7023         "*-*-sysv4*",
7024         "i?86-*-sysv5*",
7025         "i?86-*-udk*",
7026         "i?86-*-solaris2.[0-4]",
7027         "powerpcle-*-solaris2.[0-4]",
7028         "sparc-*-solaris2.[0-4]",
7029         (const char*)NULL };
7032  *  content selection pattern - do fix if pattern found
7033  */
7034 tSCC zUw7_Byteorder_FixSelect0[] =
7035        "in_port_t";
7038  *  perform the 'test' shell command - do fix on success
7039  */
7040 tSCC zUw7_Byteorder_FixTest0[] =
7041        "-f sys/byteorder.h";
7043 #define    UW7_BYTEORDER_FIX_TEST_CT  2
7044 static tTestDesc aUw7_Byteorder_FixTests[] = {
7045   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
7046   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
7049  *  Fix Command Arguments for Uw7_Byteorder_Fix
7050  */
7051 static const char* apzUw7_Byteorder_FixPatch[] = {
7052     "format",
7053     "",
7054     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
7055     (char*)NULL };
7057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7059  *  Description of Va_I960_Macro fix
7060  */
7061 tSCC zVa_I960_MacroName[] =
7062      "va_i960_macro";
7065  *  File name selection pattern
7066  */
7067 tSCC zVa_I960_MacroList[] =
7068   "|arch/i960/archI960.h|";
7070  *  Machine/OS name selection pattern
7071  */
7072 #define apzVa_I960_MacroMachs (const char**)NULL
7075  *  content selection pattern - do fix if pattern found
7076  */
7077 tSCC zVa_I960_MacroSelect0[] =
7078        "__(vsiz|vali|vpad|alignof__)";
7080 #define    VA_I960_MACRO_TEST_CT  1
7081 static tTestDesc aVa_I960_MacroTests[] = {
7082   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7085  *  Fix Command Arguments for Va_I960_Macro
7086  */
7087 static const char* apzVa_I960_MacroPatch[] = {
7088     "format",
7089     "__vx%1",
7090     (char*)NULL };
7092 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7094  *  Description of Void_Null fix
7095  */
7096 tSCC zVoid_NullName[] =
7097      "void_null";
7100  *  File name selection pattern
7101  */
7102 tSCC zVoid_NullList[] =
7103   "|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|";
7105  *  Machine/OS name selection pattern
7106  */
7107 #define apzVoid_NullMachs (const char**)NULL
7110  *  content selection pattern - do fix if pattern found
7111  */
7112 tSCC zVoid_NullSelect0[] =
7113        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
7116  *  content bypass pattern - skip fix if pattern found
7117  */
7118 tSCC zVoid_NullBypass0[] =
7119        "__cplusplus";
7121 #define    VOID_NULL_TEST_CT  2
7122 static tTestDesc aVoid_NullTests[] = {
7123   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
7124   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
7127  *  Fix Command Arguments for Void_Null
7128  */
7129 static const char* apzVoid_NullPatch[] = {
7130     "format",
7131     "#define NULL 0",
7132     (char*)NULL };
7134 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7136  *  Description of Vxworks_Gcc_Problem fix
7137  */
7138 tSCC zVxworks_Gcc_ProblemName[] =
7139      "vxworks_gcc_problem";
7142  *  File name selection pattern
7143  */
7144 tSCC zVxworks_Gcc_ProblemList[] =
7145   "|types/vxTypesBase.h|";
7147  *  Machine/OS name selection pattern
7148  */
7149 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
7152  *  content selection pattern - do fix if pattern found
7153  */
7154 tSCC zVxworks_Gcc_ProblemSelect0[] =
7155        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
7157 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
7158 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
7159   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
7162  *  Fix Command Arguments for Vxworks_Gcc_Problem
7163  */
7164 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
7165     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
7166     "-e", "/[ \t]size_t/i\\\n\
7167 #ifndef _GCC_SIZE_T\\\n\
7168 #define _GCC_SIZE_T\n",
7169     "-e", "/[ \t]size_t/a\\\n\
7170 #endif\n",
7171     "-e", "/[ \t]ptrdiff_t/i\\\n\
7172 #ifndef _GCC_PTRDIFF_T\\\n\
7173 #define _GCC_PTRDIFF_T\n",
7174     "-e", "/[ \t]ptrdiff_t/a\\\n\
7175 #endif\n",
7176     "-e", "/[ \t]wchar_t/i\\\n\
7177 #ifndef _GCC_WCHAR_T\\\n\
7178 #define _GCC_WCHAR_T\n",
7179     "-e", "/[ \t]wchar_t/a\\\n\
7180 #endif\n",
7181     (char*)NULL };
7183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7185  *  Description of Vxworks_Needs_Vxtypes fix
7186  */
7187 tSCC zVxworks_Needs_VxtypesName[] =
7188      "vxworks_needs_vxtypes";
7191  *  File name selection pattern
7192  */
7193 tSCC zVxworks_Needs_VxtypesList[] =
7194   "|time.h|";
7196  *  Machine/OS name selection pattern
7197  */
7198 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
7201  *  content selection pattern - do fix if pattern found
7202  */
7203 tSCC zVxworks_Needs_VxtypesSelect0[] =
7204        "uint_t([ \t]+_clocks_per_sec)";
7206 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
7207 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
7208   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
7211  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
7212  */
7213 static const char* apzVxworks_Needs_VxtypesPatch[] = {
7214     "format",
7215     "unsigned int%1",
7216     (char*)NULL };
7218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7220  *  Description of Vxworks_Needs_Vxworks fix
7221  */
7222 tSCC zVxworks_Needs_VxworksName[] =
7223      "vxworks_needs_vxworks";
7226  *  File name selection pattern
7227  */
7228 tSCC zVxworks_Needs_VxworksList[] =
7229   "|sys/stat.h|";
7231  *  Machine/OS name selection pattern
7232  */
7233 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
7236  *  content selection pattern - do fix if pattern found
7237  */
7238 tSCC zVxworks_Needs_VxworksSelect0[] =
7239        "#[ \t]define[ \t]+__INCstath";
7242  *  perform the 'test' shell command - do fix on success
7243  */
7244 tSCC zVxworks_Needs_VxworksTest0[] =
7245        " -r types/vxTypesOld.h";
7246 tSCC zVxworks_Needs_VxworksTest1[] =
7247        " -n \"`egrep '#include' $file`\"";
7248 tSCC zVxworks_Needs_VxworksTest2[] =
7249        " -n \"`egrep ULONG $file`\"";
7251 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
7252 static tTestDesc aVxworks_Needs_VxworksTests[] = {
7253   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
7254   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
7255   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
7256   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
7259  *  Fix Command Arguments for Vxworks_Needs_Vxworks
7260  */
7261 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
7262     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
7263 #include <types/vxTypesOld.h>\n",
7264     (char*)NULL };
7266 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7268  *  Description of Vxworks_Time fix
7269  */
7270 tSCC zVxworks_TimeName[] =
7271      "vxworks_time";
7274  *  File name selection pattern
7275  */
7276 tSCC zVxworks_TimeList[] =
7277   "|time.h|";
7279  *  Machine/OS name selection pattern
7280  */
7281 #define apzVxworks_TimeMachs (const char**)NULL
7284  *  content selection pattern - do fix if pattern found
7285  */
7286 tSCC zVxworks_TimeSelect0[] =
7287        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
7290  *  perform the 'test' shell command - do fix on success
7291  */
7292 tSCC zVxworks_TimeTest0[] =
7293        " -r vxWorks.h";
7295 #define    VXWORKS_TIME_TEST_CT  2
7296 static tTestDesc aVxworks_TimeTests[] = {
7297   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
7298   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
7301  *  Fix Command Arguments for Vxworks_Time
7302  */
7303 static const char* apzVxworks_TimePatch[] = {
7304     "format",
7305     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
7306 #ifdef __cplusplus\n\
7307 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
7308 #else\n\
7309 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
7310 #endif\n\
7311 #define __gcc_VOIDFUNCPTR_defined\n\
7312 #endif\n\
7313 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
7314     (char*)NULL };
7316 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7318  *  Description of Windiss_Math1 fix
7319  */
7320 tSCC zWindiss_Math1Name[] =
7321      "windiss_math1";
7324  *  File name selection pattern
7325  */
7326 tSCC zWindiss_Math1List[] =
7327   "|math.h|";
7329  *  Machine/OS name selection pattern
7330  */
7331 tSCC* apzWindiss_Math1Machs[] = {
7332         "*-*-windiss",
7333         (const char*)NULL };
7334 #define WINDISS_MATH1_TEST_CT  0
7335 #define aWindiss_Math1Tests   (tTestDesc*)NULL
7338  *  Fix Command Arguments for Windiss_Math1
7339  */
7340 static const char* apzWindiss_Math1Patch[] = { "sed",
7341     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
7342     (char*)NULL };
7344 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7346  *  Description of Windiss_Math2 fix
7347  */
7348 tSCC zWindiss_Math2Name[] =
7349      "windiss_math2";
7352  *  File name selection pattern
7353  */
7354 tSCC zWindiss_Math2List[] =
7355   "|math.h|";
7357  *  Machine/OS name selection pattern
7358  */
7359 tSCC* apzWindiss_Math2Machs[] = {
7360         "*-*-windiss",
7361         (const char*)NULL };
7362 #define WINDISS_MATH2_TEST_CT  0
7363 #define aWindiss_Math2Tests   (tTestDesc*)NULL
7366  *  Fix Command Arguments for Windiss_Math2
7367  */
7368 static const char* apzWindiss_Math2Patch[] = { "sed",
7369     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
7370     (char*)NULL };
7372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7374  *  Description of Windiss_Valist fix
7375  */
7376 tSCC zWindiss_ValistName[] =
7377      "windiss_valist";
7380  *  File name selection pattern
7381  */
7382 #define zWindiss_ValistList (char*)NULL
7384  *  Machine/OS name selection pattern
7385  */
7386 tSCC* apzWindiss_ValistMachs[] = {
7387         "*-*-windiss",
7388         (const char*)NULL };
7391  *  content selection pattern - do fix if pattern found
7392  */
7393 tSCC zWindiss_ValistSelect0[] =
7394        "(#include.*)diab/va_list.h";
7396 #define    WINDISS_VALIST_TEST_CT  1
7397 static tTestDesc aWindiss_ValistTests[] = {
7398   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
7401  *  Fix Command Arguments for Windiss_Valist
7402  */
7403 static const char* apzWindiss_ValistPatch[] = { "sed",
7404     "-e", "s|diab/va_list.h|stdarg.h|",
7405     (char*)NULL };
7407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7409  *  Description of X11_Class fix
7410  */
7411 tSCC zX11_ClassName[] =
7412      "x11_class";
7415  *  File name selection pattern
7416  */
7417 tSCC zX11_ClassList[] =
7418   "|X11/ShellP.h|";
7420  *  Machine/OS name selection pattern
7421  */
7422 #define apzX11_ClassMachs (const char**)NULL
7425  *  content selection pattern - do fix if pattern found
7426  */
7427 tSCC zX11_ClassSelect0[] =
7428        "^([ \t]*char \\*)class;(.*)";
7431  *  content bypass pattern - skip fix if pattern found
7432  */
7433 tSCC zX11_ClassBypass0[] =
7434        "__cplusplus";
7436 #define    X11_CLASS_TEST_CT  2
7437 static tTestDesc aX11_ClassTests[] = {
7438   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7439   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7442  *  Fix Command Arguments for X11_Class
7443  */
7444 static const char* apzX11_ClassPatch[] = {
7445     "format",
7446     "#ifdef __cplusplus\n\
7447 %1c_class;%2\n\
7448 #else\n\
7449 %1class;%2\n\
7450 #endif",
7451     (char*)NULL };
7453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7455  *  Description of X11_Class_Usage fix
7456  */
7457 tSCC zX11_Class_UsageName[] =
7458      "x11_class_usage";
7461  *  File name selection pattern
7462  */
7463 tSCC zX11_Class_UsageList[] =
7464   "|Xm/BaseClassI.h|";
7466  *  Machine/OS name selection pattern
7467  */
7468 #define apzX11_Class_UsageMachs (const char**)NULL
7471  *  content selection pattern - do fix if pattern found
7472  */
7473 tSCC zX11_Class_UsageSelect0[] =
7474        " class\\)";
7477  *  content bypass pattern - skip fix if pattern found
7478  */
7479 tSCC zX11_Class_UsageBypass0[] =
7480        "__cplusplus";
7482 #define    X11_CLASS_USAGE_TEST_CT  2
7483 static tTestDesc aX11_Class_UsageTests[] = {
7484   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7485   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7488  *  Fix Command Arguments for X11_Class_Usage
7489  */
7490 static const char* apzX11_Class_UsagePatch[] = {
7491     "format",
7492     " c_class)",
7493     (char*)NULL };
7495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7497  *  Description of X11_New fix
7498  */
7499 tSCC zX11_NewName[] =
7500      "x11_new";
7503  *  File name selection pattern
7504  */
7505 tSCC zX11_NewList[] =
7506   "|Xm/Traversal.h|";
7508  *  Machine/OS name selection pattern
7509  */
7510 #define apzX11_NewMachs (const char**)NULL
7513  *  content bypass pattern - skip fix if pattern found
7514  */
7515 tSCC zX11_NewBypass0[] =
7516        "__cplusplus";
7518 #define    X11_NEW_TEST_CT  1
7519 static tTestDesc aX11_NewTests[] = {
7520   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7523  *  Fix Command Arguments for X11_New
7524  */
7525 static const char* apzX11_NewPatch[] = { "sed",
7526     "-e", "/Widget\told, new;/i\\\n\
7527 #ifdef __cplusplus\\\n\
7528 \tWidget\told, c_new;\\\n\
7529 #else\n",
7530     "-e", "/Widget\told, new;/a\\\n\
7531 #endif\n",
7532     "-e", "s/Widget new,/Widget c_new,/g",
7533     (char*)NULL };
7535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7537  *  Description of X11_Sprintf fix
7538  */
7539 tSCC zX11_SprintfName[] =
7540      "x11_sprintf";
7543  *  File name selection pattern
7544  */
7545 tSCC zX11_SprintfList[] =
7546   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7548  *  Machine/OS name selection pattern
7549  */
7550 #define apzX11_SprintfMachs (const char**)NULL
7553  *  content selection pattern - do fix if pattern found
7554  */
7555 tSCC zX11_SprintfSelect0[] =
7556        "^extern char \\*\tsprintf\\(\\);$";
7558 #define    X11_SPRINTF_TEST_CT  1
7559 static tTestDesc aX11_SprintfTests[] = {
7560   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7563  *  Fix Command Arguments for X11_Sprintf
7564  */
7565 static const char* apzX11_SprintfPatch[] = {
7566     "format",
7567     "#ifndef __STDC__\n\
7568 %0\n\
7569 #endif /* !defined __STDC__ */",
7570     (char*)NULL };
7573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7575  *  List of all fixes
7576  */
7577 #define REGEX_COUNT          227
7578 #define MACH_LIST_SIZE_LIMIT 261
7579 #define FIX_COUNT            188
7582  *  Enumerate the fixes
7583  */
7584 typedef enum {
7585     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7586     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7587     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7588     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7589     AAB_SUN_MEMCPY_FIXIDX,
7590     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7591     AAB_ULTRIX_LIMITS_FIXIDX,
7592     AAB_ULTRIX_MEMORY_FIXIDX,
7593     AAB_ULTRIX_STRING_FIXIDX,
7594     AIX_PTHREAD_FIXIDX,
7595     AIX_SYSMACHINE_FIXIDX,
7596     AIX_SYSWAIT_FIXIDX,
7597     AIX_SYSWAIT_2_FIXIDX,
7598     AIX_VOLATILE_FIXIDX,
7599     ALPHA___ASSERT_FIXIDX,
7600     ALPHA___EXTERN_PREFIX_FIXIDX,
7601     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7602     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7603     ALPHA_ASSERT_FIXIDX,
7604     ALPHA_BAD_LVAL_FIXIDX,
7605     ALPHA_GETOPT_FIXIDX,
7606     ALPHA_PARENS_FIXIDX,
7607     ALPHA_PTHREAD_FIXIDX,
7608     ALPHA_PTHREAD_GCC_FIXIDX,
7609     ALPHA_PTHREAD_INIT_FIXIDX,
7610     ALPHA_SBRK_FIXIDX,
7611     ALPHA_WCHAR_FIXIDX,
7612     AVOID_BOOL_DEFINE_FIXIDX,
7613     AVOID_BOOL_TYPE_FIXIDX,
7614     AVOID_WCHAR_T_TYPE_FIXIDX,
7615     BAD_STRUCT_TERM_FIXIDX,
7616     BADQUOTE_FIXIDX,
7617     BROKEN_ASSERT_STDIO_FIXIDX,
7618     BROKEN_ASSERT_STDLIB_FIXIDX,
7619     BROKEN_CABS_FIXIDX,
7620     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7621     CTRL_QUOTES_DEF_FIXIDX,
7622     CTRL_QUOTES_USE_FIXIDX,
7623     CXX_UNREADY_FIXIDX,
7624     DARWIN_GCC4_BREAKAGE_FIXIDX,
7625     DARWIN_PRIVATE_EXTERN_FIXIDX,
7626     DEC_INTERN_ASM_FIXIDX,
7627     DJGPP_WCHAR_H_FIXIDX,
7628     ECD_CURSOR_FIXIDX,
7629     EXCEPTION_STRUCTURE_FIXIDX,
7630     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7631     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7632     GNU_TYPES_FIXIDX,
7633     HP_INLINE_FIXIDX,
7634     HP_SYSFILE_FIXIDX,
7635     HPUX10_CPP_POW_INLINE_FIXIDX,
7636     HPUX11_CPP_POW_INLINE_FIXIDX,
7637     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7638     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7639     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7640     HPUX11_ABS_FIXIDX,
7641     HPUX11_FABSF_FIXIDX,
7642     HPUX11_SIZE_T_FIXIDX,
7643     HPUX11_SNPRINTF_FIXIDX,
7644     HPUX11_UINT32_C_FIXIDX,
7645     HPUX11_VSNPRINTF_FIXIDX,
7646     HPUX8_BOGUS_INLINES_FIXIDX,
7647     HPUX_CTYPE_MACROS_FIXIDX,
7648     HPUX_HTONL_FIXIDX,
7649     HPUX_LONG_DOUBLE_FIXIDX,
7650     HPUX_SYSTIME_FIXIDX,
7651     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7652     IO_QUOTES_DEF_FIXIDX,
7653     IO_QUOTES_USE_FIXIDX,
7654     IP_MISSING_SEMI_FIXIDX,
7655     IRIX___RESTRICT_FIXIDX,
7656     IRIX___GENERIC1_FIXIDX,
7657     IRIX___GENERIC2_FIXIDX,
7658     IRIX_ASM_APOSTROPHE_FIXIDX,
7659     IRIX_LIMITS_CONST_FIXIDX,
7660     IRIX_SOCKLEN_T_FIXIDX,
7661     IRIX_STDIO_VA_LIST_FIXIDX,
7662     IRIX_WCSFTIME_FIXIDX,
7663     ISC_FMOD_FIXIDX,
7664     ISC_OMITS_WITH_STDC_FIXIDX,
7665     KANDR_CONCAT_FIXIDX,
7666     LIBC1_G_VA_LIST_FIXIDX,
7667     LIBC1_IFDEFD_MEMX_FIXIDX,
7668     LINUX_IA64_UCONTEXT_FIXIDX,
7669     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7670     LYNXOS_MISSING_PUTENV_FIXIDX,
7671     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7672     MACHINE_NAME_FIXIDX,
7673     MATH_EXCEPTION_FIXIDX,
7674     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7675     NESTED_AUTH_DES_FIXIDX,
7676     NESTED_MOTOROLA_FIXIDX,
7677     NESTED_SYS_LIMITS_FIXIDX,
7678     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7679     NEXT_MATH_PREFIX_FIXIDX,
7680     NEXT_TEMPLATE_FIXIDX,
7681     NEXT_VOLITILE_FIXIDX,
7682     NEXT_WAIT_UNION_FIXIDX,
7683     NODEENT_SYNTAX_FIXIDX,
7684     OBSTACK_LVALUE_CAST_FIXIDX,
7685     OSF_NAMESPACE_A_FIXIDX,
7686     OSF_NAMESPACE_C_FIXIDX,
7687     PTHREAD_PAGE_SIZE_FIXIDX,
7688     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
7689     READ_RET_TYPE_FIXIDX,
7690     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7691     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7692     RS6000_DOUBLE_FIXIDX,
7693     RS6000_FCHMOD_FIXIDX,
7694     RS6000_PARAM_FIXIDX,
7695     SCO_MATH_FIXIDX,
7696     SCO_REGSET_FIXIDX,
7697     SCO_STATIC_FUNC_FIXIDX,
7698     SCO_UTIME_FIXIDX,
7699     SOLARIS_MATH_1_FIXIDX,
7700     SOLARIS_MATH_2_FIXIDX,
7701     SOLARIS_MATH_3_FIXIDX,
7702     SOLARIS_MATH_4_FIXIDX,
7703     SOLARIS_MATH_5_FIXIDX,
7704     SOLARIS_MATH_6_FIXIDX,
7705     SOLARIS_MATH_7_FIXIDX,
7706     SOLARIS_MATH_8_FIXIDX,
7707     SOLARIS_MATH_9_FIXIDX,
7708     SOLARIS_MUTEX_INIT_1_FIXIDX,
7709     SOLARIS_MUTEX_INIT_2_FIXIDX,
7710     SOLARIS_SOCKET_FIXIDX,
7711     SOLARIS_STDIO_TAG_FIXIDX,
7712     SOLARIS_UNISTD_FIXIDX,
7713     SOLARIS_WIDEC_FIXIDX,
7714     STATSSWTCH_FIXIDX,
7715     STDIO_STDARG_H_FIXIDX,
7716     STDIO_VA_LIST_FIXIDX,
7717     STDIO_VA_LIST_CLIENTS_FIXIDX,
7718     STRICT_ANSI_NOT_FIXIDX,
7719     STRICT_ANSI_NOT_CTD_FIXIDX,
7720     STRICT_ANSI_ONLY_FIXIDX,
7721     STRUCT_FILE_FIXIDX,
7722     STRUCT_SOCKADDR_FIXIDX,
7723     SUN_AUTH_PROTO_FIXIDX,
7724     SUN_BOGUS_IFDEF_FIXIDX,
7725     SUN_CATMACRO_FIXIDX,
7726     SUN_MALLOC_FIXIDX,
7727     SUN_RUSERS_SEMI_FIXIDX,
7728     SUN_SIGNAL_FIXIDX,
7729     SUNOS_STRLEN_FIXIDX,
7730     SVR4_DISABLE_OPT_FIXIDX,
7731     SVR4_GETCWD_FIXIDX,
7732     SVR4_KRNL_FIXIDX,
7733     SVR4_PROFIL_FIXIDX,
7734     SVR4_SIGHANDLER_TYPE_FIXIDX,
7735     SVR4_UNDECLARED_GETRNGE_FIXIDX,
7736     SYSV68_STRING_FIXIDX,
7737     SYSZ_STDLIB_FOR_SUN_FIXIDX,
7738     THREAD_KEYWORD_FIXIDX,
7739     TINFO_CPLUSPLUS_FIXIDX,
7740     ULTRIX_ATEXIT_PARAM_FIXIDX,
7741     ULTRIX_ATOF_PARAM_FIXIDX,
7742     ULTRIX_CONST_FIXIDX,
7743     ULTRIX_CONST2_FIXIDX,
7744     ULTRIX_CONST3_FIXIDX,
7745     ULTRIX_FIX_FIXPROTO_FIXIDX,
7746     ULTRIX_IFDEF_FIXIDX,
7747     ULTRIX_LOCALE_FIXIDX,
7748     ULTRIX_MATH_IFDEF_FIXIDX,
7749     ULTRIX_NESTED_IOCTL_FIXIDX,
7750     ULTRIX_NESTED_SVC_FIXIDX,
7751     ULTRIX_STAT_FIXIDX,
7752     ULTRIX_STATIC_FIXIDX,
7753     ULTRIX_STDLIB_FIXIDX,
7754     ULTRIX_STRINGS_FIXIDX,
7755     ULTRIX_STRINGS2_FIXIDX,
7756     ULTRIX_SYS_TIME_FIXIDX,
7757     ULTRIX_UNISTD_FIXIDX,
7758     UNICOSMK_RESTRICT_FIXIDX,
7759     UW7_BYTEORDER_FIX_FIXIDX,
7760     VA_I960_MACRO_FIXIDX,
7761     VOID_NULL_FIXIDX,
7762     VXWORKS_GCC_PROBLEM_FIXIDX,
7763     VXWORKS_NEEDS_VXTYPES_FIXIDX,
7764     VXWORKS_NEEDS_VXWORKS_FIXIDX,
7765     VXWORKS_TIME_FIXIDX,
7766     WINDISS_MATH1_FIXIDX,
7767     WINDISS_MATH2_FIXIDX,
7768     WINDISS_VALIST_FIXIDX,
7769     X11_CLASS_FIXIDX,
7770     X11_CLASS_USAGE_FIXIDX,
7771     X11_NEW_FIXIDX,
7772     X11_SPRINTF_FIXIDX
7773 } t_fixinc_idx;
7775 tFixDesc fixDescList[ FIX_COUNT ] = {
7776   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
7777      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
7778      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7779      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
7781   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
7782      apzAab_Fd_Zero_Gnu_Types_HMachs,
7783      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7784      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
7786   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
7787      apzAab_Fd_Zero_Selectbits_HMachs,
7788      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7789      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
7791   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
7792      apzAab_Solaris_Sys_Varargs_HMachs,
7793      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7794      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
7796   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
7797      apzAab_Sun_MemcpyMachs,
7798      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7799      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
7801   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
7802      apzAab_Ultrix_Ansi_CompatMachs,
7803      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7804      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
7806   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
7807      apzAab_Ultrix_LimitsMachs,
7808      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7809      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
7811   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
7812      apzAab_Ultrix_MemoryMachs,
7813      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7814      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
7816   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
7817      apzAab_Ultrix_StringMachs,
7818      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7819      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
7821   {  zAix_PthreadName,    zAix_PthreadList,
7822      apzAix_PthreadMachs,
7823      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7824      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
7826   {  zAix_SysmachineName,    zAix_SysmachineList,
7827      apzAix_SysmachineMachs,
7828      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7829      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
7831   {  zAix_SyswaitName,    zAix_SyswaitList,
7832      apzAix_SyswaitMachs,
7833      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7834      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
7836   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
7837      apzAix_Syswait_2Machs,
7838      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7839      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
7841   {  zAix_VolatileName,    zAix_VolatileList,
7842      apzAix_VolatileMachs,
7843      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7844      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
7846   {  zAlpha___AssertName,    zAlpha___AssertList,
7847      apzAlpha___AssertMachs,
7848      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7849      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
7851   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
7852      apzAlpha___Extern_PrefixMachs,
7853      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7854      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
7856   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
7857      apzAlpha___Extern_Prefix_StandardsMachs,
7858      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7859      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
7861   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
7862      apzAlpha___Extern_Prefix_Sys_StatMachs,
7863      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7864      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
7866   {  zAlpha_AssertName,    zAlpha_AssertList,
7867      apzAlpha_AssertMachs,
7868      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7869      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
7871   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
7872      apzAlpha_Bad_LvalMachs,
7873      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
7874      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
7876   {  zAlpha_GetoptName,    zAlpha_GetoptList,
7877      apzAlpha_GetoptMachs,
7878      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7879      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
7881   {  zAlpha_ParensName,    zAlpha_ParensList,
7882      apzAlpha_ParensMachs,
7883      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7884      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
7886   {  zAlpha_PthreadName,    zAlpha_PthreadList,
7887      apzAlpha_PthreadMachs,
7888      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7889      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
7891   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
7892      apzAlpha_Pthread_GccMachs,
7893      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7894      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
7896   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
7897      apzAlpha_Pthread_InitMachs,
7898      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
7899      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
7901   {  zAlpha_SbrkName,    zAlpha_SbrkList,
7902      apzAlpha_SbrkMachs,
7903      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7904      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
7906   {  zAlpha_WcharName,    zAlpha_WcharList,
7907      apzAlpha_WcharMachs,
7908      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
7909      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
7911   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
7912      apzAvoid_Bool_DefineMachs,
7913      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7914      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
7916   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
7917      apzAvoid_Bool_TypeMachs,
7918      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7919      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
7921   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
7922      apzAvoid_Wchar_T_TypeMachs,
7923      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7924      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
7926   {  zBad_Struct_TermName,    zBad_Struct_TermList,
7927      apzBad_Struct_TermMachs,
7928      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7929      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
7931   {  zBadquoteName,    zBadquoteList,
7932      apzBadquoteMachs,
7933      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7934      aBadquoteTests,   apzBadquotePatch, 0 },
7936   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
7937      apzBroken_Assert_StdioMachs,
7938      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7939      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
7941   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
7942      apzBroken_Assert_StdlibMachs,
7943      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7944      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
7946   {  zBroken_CabsName,    zBroken_CabsList,
7947      apzBroken_CabsMachs,
7948      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7949      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
7951   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
7952      apzBsd_Stdio_Attrs_ConflictMachs,
7953      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7954      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
7956   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
7957      apzCtrl_Quotes_DefMachs,
7958      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7959      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
7961   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
7962      apzCtrl_Quotes_UseMachs,
7963      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7964      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
7966   {  zCxx_UnreadyName,    zCxx_UnreadyList,
7967      apzCxx_UnreadyMachs,
7968      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7969      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
7971   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
7972      apzDarwin_Gcc4_BreakageMachs,
7973      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7974      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
7976   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
7977      apzDarwin_Private_ExternMachs,
7978      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7979      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
7981   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
7982      apzDec_Intern_AsmMachs,
7983      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
7984      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
7986   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
7987      apzDjgpp_Wchar_HMachs,
7988      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7989      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
7991   {  zEcd_CursorName,    zEcd_CursorList,
7992      apzEcd_CursorMachs,
7993      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7994      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
7996   {  zException_StructureName,    zException_StructureList,
7997      apzException_StructureMachs,
7998      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7999      aException_StructureTests,   apzException_StructurePatch, 0 },
8001   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
8002      apzFreebsd_Gcc3_BreakageMachs,
8003      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8004      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
8006   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
8007      apzFreebsd_Gcc4_BreakageMachs,
8008      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8009      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
8011   {  zGnu_TypesName,    zGnu_TypesList,
8012      apzGnu_TypesMachs,
8013      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8014      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
8016   {  zHp_InlineName,    zHp_InlineList,
8017      apzHp_InlineMachs,
8018      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8019      aHp_InlineTests,   apzHp_InlinePatch, 0 },
8021   {  zHp_SysfileName,    zHp_SysfileList,
8022      apzHp_SysfileMachs,
8023      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8024      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
8026   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
8027      apzHpux10_Cpp_Pow_InlineMachs,
8028      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8029      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
8031   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
8032      apzHpux11_Cpp_Pow_InlineMachs,
8033      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8034      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
8036   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
8037      apzHpux10_Ctype_Declarations1Machs,
8038      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8039      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
8041   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
8042      apzHpux10_Ctype_Declarations2Machs,
8043      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8044      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
8046   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
8047      apzHpux10_Stdio_DeclarationsMachs,
8048      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8049      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
8051   {  zHpux11_AbsName,    zHpux11_AbsList,
8052      apzHpux11_AbsMachs,
8053      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8054      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
8056   {  zHpux11_FabsfName,    zHpux11_FabsfList,
8057      apzHpux11_FabsfMachs,
8058      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8059      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
8061   {  zHpux11_Size_TName,    zHpux11_Size_TList,
8062      apzHpux11_Size_TMachs,
8063      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8064      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
8066   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
8067      apzHpux11_SnprintfMachs,
8068      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8069      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
8071   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
8072      apzHpux11_Uint32_CMachs,
8073      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8074      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
8076   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
8077      apzHpux11_VsnprintfMachs,
8078      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8079      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
8081   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
8082      apzHpux8_Bogus_InlinesMachs,
8083      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
8084      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
8086   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
8087      apzHpux_Ctype_MacrosMachs,
8088      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8089      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
8091   {  zHpux_HtonlName,    zHpux_HtonlList,
8092      apzHpux_HtonlMachs,
8093      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8094      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
8096   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
8097      apzHpux_Long_DoubleMachs,
8098      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
8099      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
8101   {  zHpux_SystimeName,    zHpux_SystimeList,
8102      apzHpux_SystimeMachs,
8103      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8104      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
8106   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
8107      apzInt_Abort_Free_And_ExitMachs,
8108      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8109      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
8111   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
8112      apzIo_Quotes_DefMachs,
8113      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8114      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
8116   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
8117      apzIo_Quotes_UseMachs,
8118      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8119      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
8121   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
8122      apzIp_Missing_SemiMachs,
8123      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
8124      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
8126   {  zIrix___RestrictName,    zIrix___RestrictList,
8127      apzIrix___RestrictMachs,
8128      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8129      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
8131   {  zIrix___Generic1Name,    zIrix___Generic1List,
8132      apzIrix___Generic1Machs,
8133      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8134      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
8136   {  zIrix___Generic2Name,    zIrix___Generic2List,
8137      apzIrix___Generic2Machs,
8138      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8139      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
8141   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
8142      apzIrix_Asm_ApostropheMachs,
8143      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8144      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
8146   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
8147      apzIrix_Limits_ConstMachs,
8148      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8149      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
8151   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
8152      apzIrix_Socklen_TMachs,
8153      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8154      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
8156   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
8157      apzIrix_Stdio_Va_ListMachs,
8158      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8159      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
8161   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
8162      apzIrix_WcsftimeMachs,
8163      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8164      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
8166   {  zIsc_FmodName,    zIsc_FmodList,
8167      apzIsc_FmodMachs,
8168      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8169      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
8171   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
8172      apzIsc_Omits_With_StdcMachs,
8173      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8174      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
8176   {  zKandr_ConcatName,    zKandr_ConcatList,
8177      apzKandr_ConcatMachs,
8178      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8179      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
8181   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
8182      apzLibc1_G_Va_ListMachs,
8183      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8184      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
8186   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
8187      apzLibc1_Ifdefd_MemxMachs,
8188      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8189      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
8191   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
8192      apzLinux_Ia64_UcontextMachs,
8193      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8194      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
8196   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
8197      apzLynxos_No_Warning_In_Sys_Time_HMachs,
8198      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8199      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
8201   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
8202      apzLynxos_Missing_PutenvMachs,
8203      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8204      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
8206   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
8207      apzMachine_Ansi_H_Va_ListMachs,
8208      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8209      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
8211   {  zMachine_NameName,    zMachine_NameList,
8212      apzMachine_NameMachs,
8213      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8214      aMachine_NameTests,   apzMachine_NamePatch, 0 },
8216   {  zMath_ExceptionName,    zMath_ExceptionList,
8217      apzMath_ExceptionMachs,
8218      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8219      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
8221   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
8222      apzMath_Huge_Val_From_Dbl_MaxMachs,
8223      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
8224      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
8226   {  zNested_Auth_DesName,    zNested_Auth_DesList,
8227      apzNested_Auth_DesMachs,
8228      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8229      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
8231   {  zNested_MotorolaName,    zNested_MotorolaList,
8232      apzNested_MotorolaMachs,
8233      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
8234      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
8236   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
8237      apzNested_Sys_LimitsMachs,
8238      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
8239      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
8241   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
8242      apzNetbsd_Extra_SemicolonMachs,
8243      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8244      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
8246   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
8247      apzNext_Math_PrefixMachs,
8248      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8249      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
8251   {  zNext_TemplateName,    zNext_TemplateList,
8252      apzNext_TemplateMachs,
8253      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8254      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
8256   {  zNext_VolitileName,    zNext_VolitileList,
8257      apzNext_VolitileMachs,
8258      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8259      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
8261   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
8262      apzNext_Wait_UnionMachs,
8263      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8264      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
8266   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
8267      apzNodeent_SyntaxMachs,
8268      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8269      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
8271   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
8272      apzObstack_Lvalue_CastMachs,
8273      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8274      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
8276   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
8277      apzOsf_Namespace_AMachs,
8278      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8279      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
8281   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
8282      apzOsf_Namespace_CMachs,
8283      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8284      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
8286   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
8287      apzPthread_Page_SizeMachs,
8288      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8289      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
8291   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
8292      apzPthread_Incomplete_Struct_ArgumentMachs,
8293      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8294      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
8296   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
8297      apzRead_Ret_TypeMachs,
8298      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8299      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
8301   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
8302      apzRpc_Xdr_Lvalue_Cast_AMachs,
8303      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8304      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
8306   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
8307      apzRpc_Xdr_Lvalue_Cast_BMachs,
8308      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8309      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
8311   {  zRs6000_DoubleName,    zRs6000_DoubleList,
8312      apzRs6000_DoubleMachs,
8313      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8314      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
8316   {  zRs6000_FchmodName,    zRs6000_FchmodList,
8317      apzRs6000_FchmodMachs,
8318      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8319      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
8321   {  zRs6000_ParamName,    zRs6000_ParamList,
8322      apzRs6000_ParamMachs,
8323      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8324      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
8326   {  zSco_MathName,    zSco_MathList,
8327      apzSco_MathMachs,
8328      SCO_MATH_TEST_CT, FD_MACH_ONLY,
8329      aSco_MathTests,   apzSco_MathPatch, 0 },
8331   {  zSco_RegsetName,    zSco_RegsetList,
8332      apzSco_RegsetMachs,
8333      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8334      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
8336   {  zSco_Static_FuncName,    zSco_Static_FuncList,
8337      apzSco_Static_FuncMachs,
8338      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
8339      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
8341   {  zSco_UtimeName,    zSco_UtimeList,
8342      apzSco_UtimeMachs,
8343      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8344      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
8346   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
8347      apzSolaris_Math_1Machs,
8348      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8349      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
8351   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
8352      apzSolaris_Math_2Machs,
8353      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8354      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
8356   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
8357      apzSolaris_Math_3Machs,
8358      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8359      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
8361   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
8362      apzSolaris_Math_4Machs,
8363      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8364      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
8366   {  zSolaris_Math_5Name,    zSolaris_Math_5List,
8367      apzSolaris_Math_5Machs,
8368      SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8369      aSolaris_Math_5Tests,   apzSolaris_Math_5Patch, 0 },
8371   {  zSolaris_Math_6Name,    zSolaris_Math_6List,
8372      apzSolaris_Math_6Machs,
8373      SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8374      aSolaris_Math_6Tests,   apzSolaris_Math_6Patch, 0 },
8376   {  zSolaris_Math_7Name,    zSolaris_Math_7List,
8377      apzSolaris_Math_7Machs,
8378      SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8379      aSolaris_Math_7Tests,   apzSolaris_Math_7Patch, 0 },
8381   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
8382      apzSolaris_Math_8Machs,
8383      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8384      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
8386   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
8387      apzSolaris_Math_9Machs,
8388      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8389      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
8391   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
8392      apzSolaris_Mutex_Init_1Machs,
8393      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
8394      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
8396   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
8397      apzSolaris_Mutex_Init_2Machs,
8398      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8399      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
8401   {  zSolaris_SocketName,    zSolaris_SocketList,
8402      apzSolaris_SocketMachs,
8403      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8404      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
8406   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
8407      apzSolaris_Stdio_TagMachs,
8408      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
8409      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
8411   {  zSolaris_UnistdName,    zSolaris_UnistdList,
8412      apzSolaris_UnistdMachs,
8413      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8414      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
8416   {  zSolaris_WidecName,    zSolaris_WidecList,
8417      apzSolaris_WidecMachs,
8418      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8419      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
8421   {  zStatsswtchName,    zStatsswtchList,
8422      apzStatsswtchMachs,
8423      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8424      aStatsswtchTests,   apzStatsswtchPatch, 0 },
8426   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
8427      apzStdio_Stdarg_HMachs,
8428      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8429      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
8431   {  zStdio_Va_ListName,    zStdio_Va_ListList,
8432      apzStdio_Va_ListMachs,
8433      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
8434      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
8436   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
8437      apzStdio_Va_List_ClientsMachs,
8438      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8439      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
8441   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
8442      apzStrict_Ansi_NotMachs,
8443      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8444      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
8446   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
8447      apzStrict_Ansi_Not_CtdMachs,
8448      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8449      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
8451   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
8452      apzStrict_Ansi_OnlyMachs,
8453      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8454      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
8456   {  zStruct_FileName,    zStruct_FileList,
8457      apzStruct_FileMachs,
8458      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8459      aStruct_FileTests,   apzStruct_FilePatch, 0 },
8461   {  zStruct_SockaddrName,    zStruct_SockaddrList,
8462      apzStruct_SockaddrMachs,
8463      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8464      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
8466   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8467      apzSun_Auth_ProtoMachs,
8468      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8469      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8471   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8472      apzSun_Bogus_IfdefMachs,
8473      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8474      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8476   {  zSun_CatmacroName,    zSun_CatmacroList,
8477      apzSun_CatmacroMachs,
8478      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8479      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8481   {  zSun_MallocName,    zSun_MallocList,
8482      apzSun_MallocMachs,
8483      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8484      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8486   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8487      apzSun_Rusers_SemiMachs,
8488      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8489      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8491   {  zSun_SignalName,    zSun_SignalList,
8492      apzSun_SignalMachs,
8493      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8494      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8496   {  zSunos_StrlenName,    zSunos_StrlenList,
8497      apzSunos_StrlenMachs,
8498      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8499      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8501   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8502      apzSvr4_Disable_OptMachs,
8503      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8504      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8506   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8507      apzSvr4_GetcwdMachs,
8508      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8509      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8511   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8512      apzSvr4_KrnlMachs,
8513      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8514      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8516   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8517      apzSvr4_ProfilMachs,
8518      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8519      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8521   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8522      apzSvr4_Sighandler_TypeMachs,
8523      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8524      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8526   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8527      apzSvr4_Undeclared_GetrngeMachs,
8528      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8529      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8531   {  zSysv68_StringName,    zSysv68_StringList,
8532      apzSysv68_StringMachs,
8533      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8534      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8536   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8537      apzSysz_Stdlib_For_SunMachs,
8538      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8539      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8541   {  zThread_KeywordName,    zThread_KeywordList,
8542      apzThread_KeywordMachs,
8543      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8544      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8546   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8547      apzTinfo_CplusplusMachs,
8548      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8549      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8551   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8552      apzUltrix_Atexit_ParamMachs,
8553      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8554      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8556   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8557      apzUltrix_Atof_ParamMachs,
8558      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8559      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8561   {  zUltrix_ConstName,    zUltrix_ConstList,
8562      apzUltrix_ConstMachs,
8563      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8564      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8566   {  zUltrix_Const2Name,    zUltrix_Const2List,
8567      apzUltrix_Const2Machs,
8568      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8569      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8571   {  zUltrix_Const3Name,    zUltrix_Const3List,
8572      apzUltrix_Const3Machs,
8573      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8574      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8576   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8577      apzUltrix_Fix_FixprotoMachs,
8578      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8579      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8581   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8582      apzUltrix_IfdefMachs,
8583      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8584      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8586   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8587      apzUltrix_LocaleMachs,
8588      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8589      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8591   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8592      apzUltrix_Math_IfdefMachs,
8593      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8594      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8596   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8597      apzUltrix_Nested_IoctlMachs,
8598      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8599      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8601   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8602      apzUltrix_Nested_SvcMachs,
8603      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8604      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8606   {  zUltrix_StatName,    zUltrix_StatList,
8607      apzUltrix_StatMachs,
8608      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8609      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8611   {  zUltrix_StaticName,    zUltrix_StaticList,
8612      apzUltrix_StaticMachs,
8613      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8614      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8616   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8617      apzUltrix_StdlibMachs,
8618      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8619      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8621   {  zUltrix_StringsName,    zUltrix_StringsList,
8622      apzUltrix_StringsMachs,
8623      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8624      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8626   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8627      apzUltrix_Strings2Machs,
8628      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8629      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8631   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8632      apzUltrix_Sys_TimeMachs,
8633      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8634      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8636   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8637      apzUltrix_UnistdMachs,
8638      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8639      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8641   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8642      apzUnicosmk_RestrictMachs,
8643      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8644      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8646   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8647      apzUw7_Byteorder_FixMachs,
8648      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8649      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8651   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8652      apzVa_I960_MacroMachs,
8653      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8654      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8656   {  zVoid_NullName,    zVoid_NullList,
8657      apzVoid_NullMachs,
8658      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8659      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8661   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8662      apzVxworks_Gcc_ProblemMachs,
8663      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8664      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8666   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8667      apzVxworks_Needs_VxtypesMachs,
8668      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8669      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8671   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8672      apzVxworks_Needs_VxworksMachs,
8673      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8674      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8676   {  zVxworks_TimeName,    zVxworks_TimeList,
8677      apzVxworks_TimeMachs,
8678      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8679      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8681   {  zWindiss_Math1Name,    zWindiss_Math1List,
8682      apzWindiss_Math1Machs,
8683      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8684      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8686   {  zWindiss_Math2Name,    zWindiss_Math2List,
8687      apzWindiss_Math2Machs,
8688      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8689      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8691   {  zWindiss_ValistName,    zWindiss_ValistList,
8692      apzWindiss_ValistMachs,
8693      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8694      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8696   {  zX11_ClassName,    zX11_ClassList,
8697      apzX11_ClassMachs,
8698      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8699      aX11_ClassTests,   apzX11_ClassPatch, 0 },
8701   {  zX11_Class_UsageName,    zX11_Class_UsageList,
8702      apzX11_Class_UsageMachs,
8703      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8704      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
8706   {  zX11_NewName,    zX11_NewList,
8707      apzX11_NewMachs,
8708      X11_NEW_TEST_CT, FD_MACH_ONLY,
8709      aX11_NewTests,   apzX11_NewPatch, 0 },
8711   {  zX11_SprintfName,    zX11_SprintfList,
8712      apzX11_SprintfMachs,
8713      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8714      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }