2004-11-01 Momchil Velikov <velco@fadata.bg>
[official-gcc.git] / fixincludes / fixincl.x
blob9e6c3868e6ccc1f7fa9ada959c06a68f2e32fd2f
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Friday October 29, 2004 at 02:26:49 PM PDT
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Fri Oct 29 14:26:49 PDT 2004
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 181 fixup descriptions.
19  *
20  * See README for more information.
21  *
22  *  inclhack copyright (c) 1998, 1999, 2000, 2001
23  *  The Free Software Foundation, Inc.
24  *
25   *  inclhack is free software.
26  *  
27  *  You may redistribute it and/or modify it under the terms of the
28  *  GNU General Public License, as published by the Free Software
29  *  Foundation; either version 2, or (at your option) any later version.
30  *  
31  *  inclhack is distributed in the hope that it will be useful,
32  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
33  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34  *  See the GNU General Public License for more details.
35  *  
36  *  You should have received a copy of the GNU General Public License
37  *  along with inclhack.  See the file "COPYING".  If not,
38  *  write to:  The Free Software Foundation, Inc.,
39  *             59 Temple Place - Suite 330,
40  *             Boston,  MA  02111-1307, USA.
41  */
43 /* * * * * * * * * * * * * * * * * * * * * * * * * *
44  *
45  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
46  */
47 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
48      "AAB_fd_zero_asm_posix_types_h";
51  *  File name selection pattern
52  */
53 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
54   "|asm/posix_types.h|";
56  *  Machine/OS name selection pattern
57  */
58 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
59         "i[34567]86-*-linux*",
60         (const char*)NULL };
63  *  content bypass pattern - skip fix if pattern found
64  */
65 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
66        "} while";
68 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
69 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
70   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
73  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
74  */
75 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
76 "/* This file fixes a bug in the __FD_ZERO macro\n\
77    for older versions of the Linux kernel. */\n\
78 #ifndef _POSIX_TYPES_H_WRAPPER\n\
79 #include <features.h>\n\
80  #include_next <asm/posix_types.h>\n\n\
81 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
82 #undef __FD_ZERO\n\
83 #define __FD_ZERO(fdsetp) \\\n\
84   do { \\\n\
85     int __d0, __d1; \\\n\
86 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
87 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
88 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
89   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
90   } while (0)\n\
91 #endif\n\n\
92 #define _POSIX_TYPES_H_WRAPPER\n\
93 #endif /* _POSIX_TYPES_H_WRAPPER */",
94     (char*)NULL };
96 /* * * * * * * * * * * * * * * * * * * * * * * * * *
97  *
98  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
99  */
100 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
101      "AAB_fd_zero_gnu_types_h";
104  *  File name selection pattern
105  */
106 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
107   "|gnu/types.h|";
109  *  Machine/OS name selection pattern
110  */
111 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
112         "i[34567]86-*-linux*",
113         (const char*)NULL };
114 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
115 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
118  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
119  */
120 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
121 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
122 #ifndef _TYPES_H_WRAPPER\n\
123 #include <features.h>\n\
124 #include_next <gnu/types.h>\n\n\
125 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
126 #undef __FD_ZERO\n\
127 # define __FD_ZERO(fdsetp) \\\\\n\
128   do { \\\\\n\
129     int __d0, __d1; \\\\\n\
130 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
131         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
132         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
133   \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
134   } while (0)\n\
135 #endif\n\n\
136 #define _TYPES_H_WRAPPER\n\
137 #endif /* _TYPES_H_WRAPPER */",
138     (char*)NULL };
140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
142  *  Description of Aab_Fd_Zero_Selectbits_H fix
143  */
144 tSCC zAab_Fd_Zero_Selectbits_HName[] =
145      "AAB_fd_zero_selectbits_h";
148  *  File name selection pattern
149  */
150 tSCC zAab_Fd_Zero_Selectbits_HList[] =
151   "|selectbits.h|";
153  *  Machine/OS name selection pattern
154  */
155 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
156         "i[34567]86-*-linux*",
157         (const char*)NULL };
158 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
159 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
162  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
163  */
164 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
165 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
166 #ifndef _SELECTBITS_H_WRAPPER\n\
167   #include <features.h>\n\
168   #include_next <selectbits.h>\n\n\
169   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
170   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
171   && __GLIBC_MINOR__ == 0\n\
172      #undef __FD_ZERO\n\
173      #define __FD_ZERO(fdsetp) \\\\\n\
174      do { \\\\\n\
175         int __d0, __d1; \\\\\n\
176       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
177                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
178                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
179                                         / sizeof (__fd_mask)), \\\\\n\
180                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
181                         : \"memory\"); \\\\\n\
182       } while (0)\n\
183   #endif\n\n\
184   #define _SELECTBITS_H_WRAPPER\n\
185 #endif /* _SELECTBITS_H_WRAPPER */",
186     (char*)NULL };
188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
190  *  Description of Aab_Solaris_Sys_Varargs_H fix
191  */
192 tSCC zAab_Solaris_Sys_Varargs_HName[] =
193      "AAB_solaris_sys_varargs_h";
196  *  File name selection pattern
197  */
198 tSCC zAab_Solaris_Sys_Varargs_HList[] =
199   "|sys/varargs.h|";
201  *  Machine/OS name selection pattern
202  */
203 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
204         "*-*-solaris*",
205         (const char*)NULL };
206 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
207 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
210  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
211  */
212 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
213 "#ifdef __STDC__\n\
214   #include <stdarg.h>\n\
215 #else\n\
216   #include <varargs.h>\n\
217 #endif",
218     (char*)NULL };
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
222  *  Description of Aab_Sun_Memcpy fix
223  */
224 tSCC zAab_Sun_MemcpyName[] =
225      "AAB_sun_memcpy";
228  *  File name selection pattern
229  */
230 tSCC zAab_Sun_MemcpyList[] =
231   "|memory.h|";
233  *  Machine/OS name selection pattern
234  */
235 #define apzAab_Sun_MemcpyMachs (const char**)NULL
238  *  content selection pattern - do fix if pattern found
239  */
240 tSCC zAab_Sun_MemcpySelect0[] =
241        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
243 #define    AAB_SUN_MEMCPY_TEST_CT  1
244 static tTestDesc aAab_Sun_MemcpyTests[] = {
245   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
248  *  Fix Command Arguments for Aab_Sun_Memcpy
249  */
250 static const char* apzAab_Sun_MemcpyPatch[] = {
251 "/* This file was generated by fixincludes */\n\
252 #ifndef __memory_h__\n\
253   #define __memory_h__\n\n\
254   #ifdef __STDC__\n\
255     extern void *memccpy();\n\
256     extern void *memchr();\n\
257     extern void *memcpy();\n\
258     extern void *memset();\n\
259   #else\n\
260     extern char *memccpy();\n\
261     extern char *memchr();\n\
262     extern char *memcpy();\n\
263     extern char *memset();\n\
264   #endif /* __STDC__ */\n\n\
265   extern int memcmp();\n\n\
266 #endif /* __memory_h__ */\n\
267 _EndOfHeader;\n\
268 };\n\n\n\
269 /*\n\
270  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
271  *  stdarg.h or varargs.h files as appropriate.\n\
272  */\n\
273 #ifdef SVR4\n\
274 fix = {\n\
275     hackname = AAB_svr4_no_varargs;\n\
276     files    = sys/varargs.h;\n\
277     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
278                \"#ifndef _SYS_VARARGS_H\\n\"\n\
279                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
280                \"#ifdef __STDC__\\n\"\n\
281                \"#include <stdarg.h>\\n\"\n\
282                \"#else\\n\"\n\
283                \"#include <varargs.h>\\n\"\n\
284                \"#endif\\n\\n\"\n\n\
285                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
286 };\n\
287 #endif\n\n\n\
288 /*\n\
289  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
290  *  optimized byteswapping.  (The original probably implemented some\n\
291  *  incompatible optimized byteswapping.)\n\
292  */\n\
293 fix = {\n\
294     hackname = AAB_svr4_replace_byteorder;\n\
295     mach     = \"*-*-sysv4*\";\n\
296     mach     = \"i[34567]86-*-sysv5*\";\n\
297     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
298     mach     = \"i[34567]86-*-udk*\";\n\
299     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
300     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
301     mach     = \"sparc-*-solaris2.[0-4]\";\n\
302     mach     = \"i[34567]86-sequent-ptx*\";\n\
303     files    = sys/byteorder.h;\n\
304     replace  = <<-  _EndOfHeader_\n\
305 #ifndef _SYS_BYTEORDER_H\n\
306 #define _SYS_BYTEORDER_H\n\n\
307 /* Functions to convert `short' and `long' quantities from host byte order\n\
308    to (internet) network byte order (i.e. big-endian).\n\n\
309    Written by Ron Guilmette (rfg@ncd.com).\n\n\
310    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
311    For big-endian machines these functions are essentially no-ops.\n\n\
312    For little-endian machines, we define the functions using specialized\n\
313    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
314 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
315   #error You lose!  This file is only useful with GNU compilers.\n\
316 #endif\n\n\
317 #ifndef __BYTE_ORDER__\n\
318   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
319      double underscores added at the front and back.  */\n\
320   #define __LITTLE_ENDIAN__   1234\n\
321   #define __BIG_ENDIAN__      4321\n\
322   #define __PDP_ENDIAN__      3412\n\
323 #endif\n\n\
324 #ifdef __STDC__\n\
325   static __inline__ unsigned long htonl (unsigned long);\n\
326   static __inline__ unsigned short htons (unsigned int);\n\
327   static __inline__ unsigned long ntohl (unsigned long);\n\
328   static __inline__ unsigned short ntohs (unsigned int);\n\
329 #endif /* defined (__STDC__) */\n\n\
330 #if defined (__i386__)\n\n\
331   #ifndef __BYTE_ORDER__\n\
332     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
333   #endif\n\n\
334   /* Convert a host long to a network long.  */\n\n\
335   /* We must use a new-style function definition, so that this will also\n\
336      be valid for C++.  */\n\
337   static __inline__ unsigned long\n\
338   htonl (unsigned long __arg)\n\
339   {\n\
340     register unsigned long __result;\n\n\
341     __asm__ (\"xchg%B0 %b0,%h0\n\
342   ror%L0 $16,%0\n\
343   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
344     return __result;\n\
345   }\n\n\
346   /* Convert a host short to a network short.  */\n\n\
347   static __inline__ unsigned short\n\
348   htons (unsigned int __arg)\n\
349   {\n\
350     register unsigned short __result;\n\n\
351     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
352     return __result;\n\
353   }\n\n\
354 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
355   #ifndef __BYTE_ORDER__\n\
356     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
357   #endif\n\n\
358   /* For other little-endian machines, using C code is just as efficient as\n\
359      using assembly code.  */\n\n\
360   /* Convert a host long to a network long.  */\n\n\
361   static __inline__ unsigned long\n\
362   htonl (unsigned long __arg)\n\
363   {\n\
364     register unsigned long __result;\n\n\
365     __result = (__arg >> 24) & 0x000000ff;\n\
366     __result |= (__arg >> 8) & 0x0000ff00;\n\
367     __result |= (__arg << 8) & 0x00ff0000;\n\
368     __result |= (__arg << 24) & 0xff000000;\n\
369     return __result;\n\
370   }\n\n\
371   /* Convert a host short to a network short.  */\n\n\
372   static __inline__ unsigned short\n\
373   htons (unsigned int __arg)\n\
374   {\n\
375     register unsigned short __result;\n\n\
376     __result = (__arg << 8) & 0xff00;\n\
377     __result |= (__arg >> 8) & 0x00ff;\n\
378     return __result;\n\
379   }\n\n\
380 #else /* must be a big-endian machine */\n\n\
381   #ifndef __BYTE_ORDER__\n\
382     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
383   #endif\n\n\
384   /* Convert a host long to a network long.  */\n\n\
385   static __inline__ unsigned long\n\
386   htonl (unsigned long __arg)\n\
387   {\n\
388     return __arg;\n\
389   }\n\n\
390   /* Convert a host short to a network short.  */\n\n\
391   static __inline__ unsigned short\n\
392   htons (unsigned int __arg)\n\
393   {\n\
394     return __arg;\n\
395   }\n\n\
396 #endif /* big-endian */\n\n\
397 /* Convert a network long to a host long.  */\n\n\
398 static __inline__ unsigned long\n\
399 ntohl (unsigned long __arg)\n\
400 {\n\
401   return htonl (__arg);\n\
402 }\n\n\
403 /* Convert a network short to a host short.  */\n\n\
404 static __inline__ unsigned short\n\
405 ntohs (unsigned int __arg)\n\
406 {\n\
407   return htons (__arg);\n\
408 }\n\
409 #endif",
410     (char*)NULL };
412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
414  *  Description of Aab_Ultrix_Ansi_Compat fix
415  */
416 tSCC zAab_Ultrix_Ansi_CompatName[] =
417      "AAB_ultrix_ansi_compat";
420  *  File name selection pattern
421  */
422 tSCC zAab_Ultrix_Ansi_CompatList[] =
423   "|ansi_compat.h|";
425  *  Machine/OS name selection pattern
426  */
427 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
430  *  content selection pattern - do fix if pattern found
431  */
432 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
433        "ULTRIX";
435 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
436 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
437   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
440  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
441  */
442 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
443 "/* This file intentionally left blank.  */\n",
444     (char*)NULL };
446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
448  *  Description of Aab_Ultrix_Limits fix
449  */
450 tSCC zAab_Ultrix_LimitsName[] =
451      "AAB_ultrix_limits";
454  *  File name selection pattern
455  */
456 tSCC zAab_Ultrix_LimitsList[] =
457   "|limits.h|";
459  *  Machine/OS name selection pattern
460  */
461 tSCC* apzAab_Ultrix_LimitsMachs[] = {
462         "*-*-ultrix4.3",
463         (const char*)NULL };
464 #define AAB_ULTRIX_LIMITS_TEST_CT  0
465 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
468  *  Fix Command Arguments for Aab_Ultrix_Limits
469  */
470 static const char* apzAab_Ultrix_LimitsPatch[] = {
471 "#ifndef _LIMITS_INCLUDED\n\
472   #define _LIMITS_INCLUDED\n\
473   #include <sys/limits.h>\n\
474 #endif /* _LIMITS_INCLUDED */",
475     (char*)NULL };
477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
479  *  Description of Aab_Ultrix_Memory fix
480  */
481 tSCC zAab_Ultrix_MemoryName[] =
482      "AAB_ultrix_memory";
485  *  File name selection pattern
486  */
487 tSCC zAab_Ultrix_MemoryList[] =
488   "|memory.h|";
490  *  Machine/OS name selection pattern
491  */
492 tSCC* apzAab_Ultrix_MemoryMachs[] = {
493         "*-*-ultrix4.3",
494         (const char*)NULL };
495 #define AAB_ULTRIX_MEMORY_TEST_CT  0
496 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
499  *  Fix Command Arguments for Aab_Ultrix_Memory
500  */
501 static const char* apzAab_Ultrix_MemoryPatch[] = {
502 "#ifndef _MEMORY_INCLUDED\n\
503   #define _MEMORY_INCLUDED\n\
504   #include <strings.h>\n\
505 #endif /* _MEMORY_INCLUDED */",
506     (char*)NULL };
508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
510  *  Description of Aab_Ultrix_String fix
511  */
512 tSCC zAab_Ultrix_StringName[] =
513      "AAB_ultrix_string";
516  *  File name selection pattern
517  */
518 tSCC zAab_Ultrix_StringList[] =
519   "|string.h|";
521  *  Machine/OS name selection pattern
522  */
523 tSCC* apzAab_Ultrix_StringMachs[] = {
524         "*-*-ultrix4.3",
525         (const char*)NULL };
526 #define AAB_ULTRIX_STRING_TEST_CT  0
527 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
530  *  Fix Command Arguments for Aab_Ultrix_String
531  */
532 static const char* apzAab_Ultrix_StringPatch[] = {
533 "#ifndef _STRING_INCLUDED\n\
534   #define _STRING_INCLUDED\n\
535   #include <strings.h>\n\
536 #endif /* _STRING_INCLUDED */",
537     (char*)NULL };
539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
541  *  Description of Aix_Pthread fix
542  */
543 tSCC zAix_PthreadName[] =
544      "aix_pthread";
547  *  File name selection pattern
548  */
549 tSCC zAix_PthreadList[] =
550   "|pthread.h|";
552  *  Machine/OS name selection pattern
553  */
554 #define apzAix_PthreadMachs (const char**)NULL
557  *  content selection pattern - do fix if pattern found
558  */
559 tSCC zAix_PthreadSelect0[] =
560        "(#define [A-Za-z_0-9]+)(\\\\\n\
561 [^A-Za-z_0-9 \t\n\
562 (])";
564 #define    AIX_PTHREAD_TEST_CT  1
565 static tTestDesc aAix_PthreadTests[] = {
566   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
569  *  Fix Command Arguments for Aix_Pthread
570  */
571 static const char* apzAix_PthreadPatch[] = {
572     "format",
573     "%1 %2",
574     (char*)NULL };
576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
578  *  Description of Aix_Sysmachine fix
579  */
580 tSCC zAix_SysmachineName[] =
581      "aix_sysmachine";
584  *  File name selection pattern
585  */
586 tSCC zAix_SysmachineList[] =
587   "|sys/machine.h|";
589  *  Machine/OS name selection pattern
590  */
591 #define apzAix_SysmachineMachs (const char**)NULL
594  *  content selection pattern - do fix if pattern found
595  */
596 tSCC zAix_SysmachineSelect0[] =
597        "\\\\ +\n";
599 #define    AIX_SYSMACHINE_TEST_CT  1
600 static tTestDesc aAix_SysmachineTests[] = {
601   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
604  *  Fix Command Arguments for Aix_Sysmachine
605  */
606 static const char* apzAix_SysmachinePatch[] = {
607     "format",
608     "\\\n",
609     (char*)NULL };
611 /* * * * * * * * * * * * * * * * * * * * * * * * * *
613  *  Description of Aix_Syswait fix
614  */
615 tSCC zAix_SyswaitName[] =
616      "aix_syswait";
619  *  File name selection pattern
620  */
621 tSCC zAix_SyswaitList[] =
622   "|sys/wait.h|";
624  *  Machine/OS name selection pattern
625  */
626 #define apzAix_SyswaitMachs (const char**)NULL
629  *  content selection pattern - do fix if pattern found
630  */
631 tSCC zAix_SyswaitSelect0[] =
632        "^extern pid_t wait3\\(\\);\n";
633 tSCC zAix_SyswaitSelect1[] =
634        "bos325,";
636 #define    AIX_SYSWAIT_TEST_CT  2
637 static tTestDesc aAix_SyswaitTests[] = {
638   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
639   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
642  *  Fix Command Arguments for Aix_Syswait
643  */
644 static const char* apzAix_SyswaitPatch[] = {
645     "format",
646     "struct rusage;\n\
647 %0",
648     (char*)NULL };
650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
652  *  Description of Aix_Syswait_2 fix
653  */
654 tSCC zAix_Syswait_2Name[] =
655      "aix_syswait_2";
658  *  File name selection pattern
659  */
660 tSCC zAix_Syswait_2List[] =
661   "|sys/wait.h|";
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_Syswait_2Machs (const char**)NULL
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_Syswait_2Select0[] =
671        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
673 #define    AIX_SYSWAIT_2_TEST_CT  1
674 static tTestDesc aAix_Syswait_2Tests[] = {
675   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
678  *  Fix Command Arguments for Aix_Syswait_2
679  */
680 static const char* apzAix_Syswait_2Patch[] = {
681     "format",
682     "? (int)%1",
683     (char*)NULL };
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
687  *  Description of Aix_Volatile fix
688  */
689 tSCC zAix_VolatileName[] =
690      "aix_volatile";
693  *  File name selection pattern
694  */
695 tSCC zAix_VolatileList[] =
696   "|sys/signal.h|";
698  *  Machine/OS name selection pattern
699  */
700 #define apzAix_VolatileMachs (const char**)NULL
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAix_VolatileSelect0[] =
706        "typedef volatile int sig_atomic_t";
708 #define    AIX_VOLATILE_TEST_CT  1
709 static tTestDesc aAix_VolatileTests[] = {
710   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
713  *  Fix Command Arguments for Aix_Volatile
714  */
715 static const char* apzAix_VolatilePatch[] = {
716     "format",
717     "typedef int sig_atomic_t",
718     (char*)NULL };
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
722  *  Description of Alpha___Assert fix
723  */
724 tSCC zAlpha___AssertName[] =
725      "alpha___assert";
728  *  File name selection pattern
729  */
730 tSCC zAlpha___AssertList[] =
731   "|assert.h|";
733  *  Machine/OS name selection pattern
734  */
735 #define apzAlpha___AssertMachs (const char**)NULL
738  *  content selection pattern - do fix if pattern found
739  */
740 tSCC zAlpha___AssertSelect0[] =
741        "__assert\\(char \\*, char \\*, int\\)";
743 #define    ALPHA___ASSERT_TEST_CT  1
744 static tTestDesc aAlpha___AssertTests[] = {
745   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
748  *  Fix Command Arguments for Alpha___Assert
749  */
750 static const char* apzAlpha___AssertPatch[] = {
751     "format",
752     "__assert(const char *, const char *, int)",
753     (char*)NULL };
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
757  *  Description of Alpha___Extern_Prefix fix
758  */
759 tSCC zAlpha___Extern_PrefixName[] =
760      "alpha___extern_prefix";
763  *  File name selection pattern
764  */
765 #define zAlpha___Extern_PrefixList (char*)NULL
767  *  Machine/OS name selection pattern
768  */
769 tSCC* apzAlpha___Extern_PrefixMachs[] = {
770         "alpha*-dec-osf*",
771         (const char*)NULL };
774  *  content selection pattern - do fix if pattern found
775  */
776 tSCC zAlpha___Extern_PrefixSelect0[] =
777        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
778 (#[ \t]*pragma[ \t]*extern_prefix.*)";
780 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
781 static tTestDesc aAlpha___Extern_PrefixTests[] = {
782   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
785  *  Fix Command Arguments for Alpha___Extern_Prefix
786  */
787 static const char* apzAlpha___Extern_PrefixPatch[] = {
788     "format",
789     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
790 %3",
791     (char*)NULL };
793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
795  *  Description of Alpha___Extern_Prefix_Standards fix
796  */
797 tSCC zAlpha___Extern_Prefix_StandardsName[] =
798      "alpha___extern_prefix_standards";
801  *  File name selection pattern
802  */
803 tSCC zAlpha___Extern_Prefix_StandardsList[] =
804   "|standards.h|";
806  *  Machine/OS name selection pattern
807  */
808 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
809         "alpha*-dec-osf*",
810         (const char*)NULL };
813  *  content selection pattern - do fix if pattern found
814  */
815 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
816        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
818 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
819 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
820   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
823  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
824  */
825 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
826     "format",
827     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
828     (char*)NULL };
830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
832  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
833  */
834 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
835      "alpha___extern_prefix_sys_stat";
838  *  File name selection pattern
839  */
840 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
841   "|sys/stat.h|sys/mount.h|";
843  *  Machine/OS name selection pattern
844  */
845 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
846         "alpha*-dec-osf5*",
847         (const char*)NULL };
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
853        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
855 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
856 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
857   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
860  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
861  */
862 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
863     "format",
864     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
865     (char*)NULL };
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
869  *  Description of Alpha_Assert fix
870  */
871 tSCC zAlpha_AssertName[] =
872      "alpha_assert";
875  *  File name selection pattern
876  */
877 tSCC zAlpha_AssertList[] =
878   "|assert.h|";
880  *  Machine/OS name selection pattern
881  */
882 #define apzAlpha_AssertMachs (const char**)NULL
885  *  content selection pattern - do fix if pattern found
886  */
887 tSCC zAlpha_AssertSelect0[] =
888        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
890 #define    ALPHA_ASSERT_TEST_CT  1
891 static tTestDesc aAlpha_AssertTests[] = {
892   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
895  *  Fix Command Arguments for Alpha_Assert
896  */
897 static const char* apzAlpha_AssertPatch[] = {
898     "format",
899     "%1(EX)",
900     (char*)NULL };
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
904  *  Description of Alpha_Bad_Lval fix
905  */
906 tSCC zAlpha_Bad_LvalName[] =
907      "alpha_bad_lval";
910  *  File name selection pattern
911  */
912 #define zAlpha_Bad_LvalList (char*)NULL
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Bad_LvalMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Bad_LvalSelect0[] =
924        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
926 #define    ALPHA_BAD_LVAL_TEST_CT  1
927 static tTestDesc aAlpha_Bad_LvalTests[] = {
928   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
931  *  Fix Command Arguments for Alpha_Bad_Lval
932  */
933 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
934     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
935     (char*)NULL };
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
939  *  Description of Alpha_Getopt fix
940  */
941 tSCC zAlpha_GetoptName[] =
942      "alpha_getopt";
945  *  File name selection pattern
946  */
947 tSCC zAlpha_GetoptList[] =
948   "|stdio.h|stdlib.h|";
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_GetoptMachs (const char**)NULL
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_GetoptSelect0[] =
958        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
960 #define    ALPHA_GETOPT_TEST_CT  1
961 static tTestDesc aAlpha_GetoptTests[] = {
962   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
965  *  Fix Command Arguments for Alpha_Getopt
966  */
967 static const char* apzAlpha_GetoptPatch[] = {
968     "format",
969     "getopt(int, char *const[], const char *)",
970     (char*)NULL };
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
974  *  Description of Alpha_Parens fix
975  */
976 tSCC zAlpha_ParensName[] =
977      "alpha_parens";
980  *  File name selection pattern
981  */
982 tSCC zAlpha_ParensList[] =
983   "|sym.h|";
985  *  Machine/OS name selection pattern
986  */
987 #define apzAlpha_ParensMachs (const char**)NULL
990  *  content selection pattern - do fix if pattern found
991  */
992 tSCC zAlpha_ParensSelect0[] =
993        "#ifndef\\(__mips64\\)";
995 #define    ALPHA_PARENS_TEST_CT  1
996 static tTestDesc aAlpha_ParensTests[] = {
997   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1000  *  Fix Command Arguments for Alpha_Parens
1001  */
1002 static const char* apzAlpha_ParensPatch[] = {
1003     "format",
1004     "#ifndef __mips64",
1005     (char*)NULL };
1007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1009  *  Description of Alpha_Pthread fix
1010  */
1011 tSCC zAlpha_PthreadName[] =
1012      "alpha_pthread";
1015  *  File name selection pattern
1016  */
1017 tSCC zAlpha_PthreadList[] =
1018   "|pthread.h|";
1020  *  Machine/OS name selection pattern
1021  */
1022 tSCC* apzAlpha_PthreadMachs[] = {
1023         "alpha*-dec-osf*",
1024         (const char*)NULL };
1027  *  content selection pattern - do fix if pattern found
1028  */
1029 tSCC zAlpha_PthreadSelect0[] =
1030        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1031 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1033 #define    ALPHA_PTHREAD_TEST_CT  1
1034 static tTestDesc aAlpha_PthreadTests[] = {
1035   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1038  *  Fix Command Arguments for Alpha_Pthread
1039  */
1040 static const char* apzAlpha_PthreadPatch[] = {
1041     "format",
1042     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1043 %5",
1044     (char*)NULL };
1046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1048  *  Description of Alpha_Pthread_Gcc fix
1049  */
1050 tSCC zAlpha_Pthread_GccName[] =
1051      "alpha_pthread_gcc";
1054  *  File name selection pattern
1055  */
1056 tSCC zAlpha_Pthread_GccList[] =
1057   "|pthread.h|";
1059  *  Machine/OS name selection pattern
1060  */
1061 tSCC* apzAlpha_Pthread_GccMachs[] = {
1062         "alpha*-dec-osf*",
1063         (const char*)NULL };
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zAlpha_Pthread_GccSelect0[] =
1069        "#else\n\
1070 # error <pthread.h>: unrecognized compiler.";
1072 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1073 static tTestDesc aAlpha_Pthread_GccTests[] = {
1074   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1077  *  Fix Command Arguments for Alpha_Pthread_Gcc
1078  */
1079 static const char* apzAlpha_Pthread_GccPatch[] = {
1080     "format",
1081     "#elif defined (__GNUC__)\n\
1082 # define _PTHREAD_ENV_GCC\n\
1083 %0",
1084     (char*)NULL };
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1088  *  Description of Alpha_Sbrk fix
1089  */
1090 tSCC zAlpha_SbrkName[] =
1091      "alpha_sbrk";
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_SbrkList[] =
1097   "|unistd.h|";
1099  *  Machine/OS name selection pattern
1100  */
1101 #define apzAlpha_SbrkMachs (const char**)NULL
1104  *  content selection pattern - do fix if pattern found
1105  */
1106 tSCC zAlpha_SbrkSelect0[] =
1107        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1109 #define    ALPHA_SBRK_TEST_CT  1
1110 static tTestDesc aAlpha_SbrkTests[] = {
1111   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1114  *  Fix Command Arguments for Alpha_Sbrk
1115  */
1116 static const char* apzAlpha_SbrkPatch[] = {
1117     "format",
1118     "void *sbrk(",
1119     (char*)NULL };
1121 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1123  *  Description of Alpha_Wchar fix
1124  */
1125 tSCC zAlpha_WcharName[] =
1126      "alpha_wchar";
1129  *  File name selection pattern
1130  */
1131 tSCC zAlpha_WcharList[] =
1132   "|wchar.h|";
1134  *  Machine/OS name selection pattern
1135  */
1136 tSCC* apzAlpha_WcharMachs[] = {
1137         "alpha*-dec-osf4*",
1138         (const char*)NULL };
1141  *  content selection pattern - do fix if pattern found
1142  */
1143 tSCC zAlpha_WcharSelect0[] =
1144        "#define wcstok wcstok_r";
1146 #define    ALPHA_WCHAR_TEST_CT  1
1147 static tTestDesc aAlpha_WcharTests[] = {
1148   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1151  *  Fix Command Arguments for Alpha_Wchar
1152  */
1153 static const char* apzAlpha_WcharPatch[] = { "sed",
1154     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1155     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1156     (char*)NULL };
1158 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1160  *  Description of Avoid_Bool_Define fix
1161  */
1162 tSCC zAvoid_Bool_DefineName[] =
1163      "avoid_bool_define";
1166  *  File name selection pattern
1167  */
1168 tSCC zAvoid_Bool_DefineList[] =
1169   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1171  *  Machine/OS name selection pattern
1172  */
1173 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1176  *  content selection pattern - do fix if pattern found
1177  */
1178 tSCC zAvoid_Bool_DefineSelect0[] =
1179        "#[ \t]*define[ \t]+bool[ \t]";
1182  *  content bypass pattern - skip fix if pattern found
1183  */
1184 tSCC zAvoid_Bool_DefineBypass0[] =
1185        "__cplusplus";
1187 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1188 static tTestDesc aAvoid_Bool_DefineTests[] = {
1189   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1190   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1193  *  Fix Command Arguments for Avoid_Bool_Define
1194  */
1195 static const char* apzAvoid_Bool_DefinePatch[] = {
1196     "format",
1197     "#ifndef __cplusplus\n\
1198 %0\n\
1199 #endif",
1200     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1201     (char*)NULL };
1203 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1205  *  Description of Avoid_Bool_Type fix
1206  */
1207 tSCC zAvoid_Bool_TypeName[] =
1208      "avoid_bool_type";
1211  *  File name selection pattern
1212  */
1213 tSCC zAvoid_Bool_TypeList[] =
1214   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1216  *  Machine/OS name selection pattern
1217  */
1218 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1221  *  content selection pattern - do fix if pattern found
1222  */
1223 tSCC zAvoid_Bool_TypeSelect0[] =
1224        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1227  *  content bypass pattern - skip fix if pattern found
1228  */
1229 tSCC zAvoid_Bool_TypeBypass0[] =
1230        "__cplusplus";
1232 #define    AVOID_BOOL_TYPE_TEST_CT  2
1233 static tTestDesc aAvoid_Bool_TypeTests[] = {
1234   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1235   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1238  *  Fix Command Arguments for Avoid_Bool_Type
1239  */
1240 static const char* apzAvoid_Bool_TypePatch[] = {
1241     "format",
1242     "#ifndef __cplusplus\n\
1243 %0\n\
1244 #endif",
1245     (char*)NULL };
1247 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1249  *  Description of Avoid_Wchar_T_Type fix
1250  */
1251 tSCC zAvoid_Wchar_T_TypeName[] =
1252      "avoid_wchar_t_type";
1255  *  File name selection pattern
1256  */
1257 #define zAvoid_Wchar_T_TypeList (char*)NULL
1259  *  Machine/OS name selection pattern
1260  */
1261 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1264  *  content selection pattern - do fix if pattern found
1265  */
1266 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1267        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1270  *  content bypass pattern - skip fix if pattern found
1271  */
1272 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1273        "__cplusplus";
1274 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1275        "_LINUX_NLS_H";
1276 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1277        "XFree86: xc/lib/X11/Xlib\\.h";
1279 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1280 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1281   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1282   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1283   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1284   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1287  *  Fix Command Arguments for Avoid_Wchar_T_Type
1288  */
1289 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1290     "format",
1291     "#ifndef __cplusplus\n\
1292 %0\n\
1293 #endif",
1294     (char*)NULL };
1296 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1298  *  Description of Bad_Struct_Term fix
1299  */
1300 tSCC zBad_Struct_TermName[] =
1301      "bad_struct_term";
1304  *  File name selection pattern
1305  */
1306 tSCC zBad_Struct_TermList[] =
1307   "|curses.h|";
1309  *  Machine/OS name selection pattern
1310  */
1311 #define apzBad_Struct_TermMachs (const char**)NULL
1314  *  content selection pattern - do fix if pattern found
1315  */
1316 tSCC zBad_Struct_TermSelect0[] =
1317        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1319 #define    BAD_STRUCT_TERM_TEST_CT  1
1320 static tTestDesc aBad_Struct_TermTests[] = {
1321   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1324  *  Fix Command Arguments for Bad_Struct_Term
1325  */
1326 static const char* apzBad_Struct_TermPatch[] = {
1327     "format",
1328     "struct term;",
1329     (char*)NULL };
1331 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1333  *  Description of Badquote fix
1334  */
1335 tSCC zBadquoteName[] =
1336      "badquote";
1339  *  File name selection pattern
1340  */
1341 tSCC zBadquoteList[] =
1342   "|sundev/vuid_event.h|";
1344  *  Machine/OS name selection pattern
1345  */
1346 #define apzBadquoteMachs (const char**)NULL
1349  *  content selection pattern - do fix if pattern found
1350  */
1351 tSCC zBadquoteSelect0[] =
1352        "doesn't";
1354 #define    BADQUOTE_TEST_CT  1
1355 static tTestDesc aBadquoteTests[] = {
1356   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1359  *  Fix Command Arguments for Badquote
1360  */
1361 static const char* apzBadquotePatch[] = {
1362     "format",
1363     "does not",
1364     (char*)NULL };
1366 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1368  *  Description of Broken_Assert_Stdio fix
1369  */
1370 tSCC zBroken_Assert_StdioName[] =
1371      "broken_assert_stdio";
1374  *  File name selection pattern
1375  */
1376 tSCC zBroken_Assert_StdioList[] =
1377   "|assert.h|";
1379  *  Machine/OS name selection pattern
1380  */
1381 #define apzBroken_Assert_StdioMachs (const char**)NULL
1384  *  content selection pattern - do fix if pattern found
1385  */
1386 tSCC zBroken_Assert_StdioSelect0[] =
1387        "stderr";
1390  *  content bypass pattern - skip fix if pattern found
1391  */
1392 tSCC zBroken_Assert_StdioBypass0[] =
1393        "include.*stdio\\.h";
1395 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1396 static tTestDesc aBroken_Assert_StdioTests[] = {
1397   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1398   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1401  *  Fix Command Arguments for Broken_Assert_Stdio
1402  */
1403 static const char* apzBroken_Assert_StdioPatch[] = {
1404     "wrap",
1405     "#include <stdio.h>\n",
1406     (char*)NULL };
1408 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1410  *  Description of Broken_Assert_Stdlib fix
1411  */
1412 tSCC zBroken_Assert_StdlibName[] =
1413      "broken_assert_stdlib";
1416  *  File name selection pattern
1417  */
1418 tSCC zBroken_Assert_StdlibList[] =
1419   "|assert.h|";
1421  *  Machine/OS name selection pattern
1422  */
1423 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1426  *  content selection pattern - do fix if pattern found
1427  */
1428 tSCC zBroken_Assert_StdlibSelect0[] =
1429        "exit *\\(|abort *\\(";
1432  *  content bypass pattern - skip fix if pattern found
1433  */
1434 tSCC zBroken_Assert_StdlibBypass0[] =
1435        "include.*stdlib\\.h";
1437 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1438 static tTestDesc aBroken_Assert_StdlibTests[] = {
1439   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1440   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1443  *  Fix Command Arguments for Broken_Assert_Stdlib
1444  */
1445 static const char* apzBroken_Assert_StdlibPatch[] = {
1446     "wrap",
1447     "#ifdef __cplusplus\n\
1448 #include <stdlib.h>\n\
1449 #endif\n",
1450     (char*)NULL };
1452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1454  *  Description of Broken_Cabs fix
1455  */
1456 tSCC zBroken_CabsName[] =
1457      "broken_cabs";
1460  *  File name selection pattern
1461  */
1462 tSCC zBroken_CabsList[] =
1463   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1465  *  Machine/OS name selection pattern
1466  */
1467 #define apzBroken_CabsMachs (const char**)NULL
1470  *  content selection pattern - do fix if pattern found
1471  */
1472 tSCC zBroken_CabsSelect0[] =
1473        "^extern[ \\t]+double[ \\t]+cabs";
1475 #define    BROKEN_CABS_TEST_CT  1
1476 static tTestDesc aBroken_CabsTests[] = {
1477   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1480  *  Fix Command Arguments for Broken_Cabs
1481  */
1482 static const char* apzBroken_CabsPatch[] = {
1483     "format",
1484     "",
1485     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1486     (char*)NULL };
1488 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1490  *  Description of Bsd_Stdio_Attrs_Conflict fix
1491  */
1492 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1493      "bsd_stdio_attrs_conflict";
1496  *  File name selection pattern
1497  */
1498 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1499   "|stdio.h|";
1501  *  Machine/OS name selection pattern
1502  */
1503 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1504         "*-*-*bsd*",
1505         "*-*-*darwin*",
1506         (const char*)NULL };
1509  *  content selection pattern - do fix if pattern found
1510  */
1511 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1512        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1514 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1515 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1516   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1519  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1520  */
1521 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1522     "format",
1523     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1524 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1525 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1526     (char*)NULL };
1528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1530  *  Description of Ctrl_Quotes_Def fix
1531  */
1532 tSCC zCtrl_Quotes_DefName[] =
1533      "ctrl_quotes_def";
1536  *  File name selection pattern
1537  */
1538 #define zCtrl_Quotes_DefList (char*)NULL
1540  *  Machine/OS name selection pattern
1541  */
1542 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1545  *  content selection pattern - do fix if pattern found
1546  */
1547 tSCC zCtrl_Quotes_DefSelect0[] =
1548        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1550 #define    CTRL_QUOTES_DEF_TEST_CT  1
1551 static tTestDesc aCtrl_Quotes_DefTests[] = {
1552   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1555  *  Fix Command Arguments for Ctrl_Quotes_Def
1556  */
1557 static const char* apzCtrl_Quotes_DefPatch[] = {
1558     "char_macro_def",
1559     "CTRL",
1560     (char*)NULL };
1562 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1564  *  Description of Ctrl_Quotes_Use fix
1565  */
1566 tSCC zCtrl_Quotes_UseName[] =
1567      "ctrl_quotes_use";
1570  *  File name selection pattern
1571  */
1572 #define zCtrl_Quotes_UseList (char*)NULL
1574  *  Machine/OS name selection pattern
1575  */
1576 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1579  *  content selection pattern - do fix if pattern found
1580  */
1581 tSCC zCtrl_Quotes_UseSelect0[] =
1582        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1584 #define    CTRL_QUOTES_USE_TEST_CT  1
1585 static tTestDesc aCtrl_Quotes_UseTests[] = {
1586   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1589  *  Fix Command Arguments for Ctrl_Quotes_Use
1590  */
1591 static const char* apzCtrl_Quotes_UsePatch[] = {
1592     "char_macro_use",
1593     "CTRL",
1594     (char*)NULL };
1596 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1598  *  Description of Cxx_Unready fix
1599  */
1600 tSCC zCxx_UnreadyName[] =
1601      "cxx_unready";
1604  *  File name selection pattern
1605  */
1606 tSCC zCxx_UnreadyList[] =
1607   "|sys/mman.h|rpc/types.h|";
1609  *  Machine/OS name selection pattern
1610  */
1611 #define apzCxx_UnreadyMachs (const char**)NULL
1614  *  content selection pattern - do fix if pattern found
1615  */
1616 tSCC zCxx_UnreadySelect0[] =
1617        "[^#]+malloc.*;";
1620  *  content bypass pattern - skip fix if pattern found
1621  */
1622 tSCC zCxx_UnreadyBypass0[] =
1623        "\"C\"|__BEGIN_DECLS";
1625 #define    CXX_UNREADY_TEST_CT  2
1626 static tTestDesc aCxx_UnreadyTests[] = {
1627   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1628   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1631  *  Fix Command Arguments for Cxx_Unready
1632  */
1633 static const char* apzCxx_UnreadyPatch[] = {
1634     "wrap",
1635     "#ifdef __cplusplus\n\
1636 extern \"C\" {\n\
1637 #endif\n",
1638     "#ifdef __cplusplus\n\
1639 }\n\
1640 #endif\n",
1641     (char*)NULL };
1643 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1645  *  Description of Darwin_Gcc4_Breakage fix
1646  */
1647 tSCC zDarwin_Gcc4_BreakageName[] =
1648      "darwin_gcc4_breakage";
1651  *  File name selection pattern
1652  */
1653 tSCC zDarwin_Gcc4_BreakageList[] =
1654   "|AvailabilityMacros.h|";
1656  *  Machine/OS name selection pattern
1657  */
1658 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1659         "*-*-darwin*",
1660         (const char*)NULL };
1663  *  content selection pattern - do fix if pattern found
1664  */
1665 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1666        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1668 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1669 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1670   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1673  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1674  */
1675 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1676     "format",
1677     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1678     (char*)NULL };
1680 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1682  *  Description of Darwin_Private_Extern fix
1683  */
1684 tSCC zDarwin_Private_ExternName[] =
1685      "darwin_private_extern";
1688  *  File name selection pattern
1689  */
1690 tSCC zDarwin_Private_ExternList[] =
1691   "|mach-o/dyld.h|";
1693  *  Machine/OS name selection pattern
1694  */
1695 tSCC* apzDarwin_Private_ExternMachs[] = {
1696         "*-*-darwin*",
1697         (const char*)NULL };
1700  *  content selection pattern - do fix if pattern found
1701  */
1702 tSCC zDarwin_Private_ExternSelect0[] =
1703        "__private_extern__ [a-z_]+ _dyld_";
1705 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1706 static tTestDesc aDarwin_Private_ExternTests[] = {
1707   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1710  *  Fix Command Arguments for Darwin_Private_Extern
1711  */
1712 static const char* apzDarwin_Private_ExternPatch[] = {
1713     "format",
1714     "extern",
1715     "__private_extern__",
1716     (char*)NULL };
1718 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1720  *  Description of Dec_Intern_Asm fix
1721  */
1722 tSCC zDec_Intern_AsmName[] =
1723      "dec_intern_asm";
1726  *  File name selection pattern
1727  */
1728 tSCC zDec_Intern_AsmList[] =
1729   "|c_asm.h|";
1731  *  Machine/OS name selection pattern
1732  */
1733 #define apzDec_Intern_AsmMachs (const char**)NULL
1734 #define DEC_INTERN_ASM_TEST_CT  0
1735 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1738  *  Fix Command Arguments for Dec_Intern_Asm
1739  */
1740 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1741     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1742 #ifdef __DECC\n",
1743     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1744 #endif\n",
1745     (char*)NULL };
1747 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1749  *  Description of Djgpp_Wchar_H fix
1750  */
1751 tSCC zDjgpp_Wchar_HName[] =
1752      "djgpp_wchar_h";
1755  *  File name selection pattern
1756  */
1757 #define zDjgpp_Wchar_HList (char*)NULL
1759  *  Machine/OS name selection pattern
1760  */
1761 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1764  *  content selection pattern - do fix if pattern found
1765  */
1766 tSCC zDjgpp_Wchar_HSelect0[] =
1767        "__DJ_wint_t";
1770  *  content bypass pattern - skip fix if pattern found
1771  */
1772 tSCC zDjgpp_Wchar_HBypass0[] =
1773        "sys/djtypes.h";
1775 #define    DJGPP_WCHAR_H_TEST_CT  2
1776 static tTestDesc aDjgpp_Wchar_HTests[] = {
1777   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1778   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1781  *  Fix Command Arguments for Djgpp_Wchar_H
1782  */
1783 static const char* apzDjgpp_Wchar_HPatch[] = {
1784     "format",
1785     "%0\n\
1786 #include <sys/djtypes.h>",
1787     "#include <stddef.h>",
1788     (char*)NULL };
1790 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1792  *  Description of Ecd_Cursor fix
1793  */
1794 tSCC zEcd_CursorName[] =
1795      "ecd_cursor";
1798  *  File name selection pattern
1799  */
1800 tSCC zEcd_CursorList[] =
1801   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1803  *  Machine/OS name selection pattern
1804  */
1805 #define apzEcd_CursorMachs (const char**)NULL
1808  *  content selection pattern - do fix if pattern found
1809  */
1810 tSCC zEcd_CursorSelect0[] =
1811        "ecd\\.cursor";
1813 #define    ECD_CURSOR_TEST_CT  1
1814 static tTestDesc aEcd_CursorTests[] = {
1815   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1818  *  Fix Command Arguments for Ecd_Cursor
1819  */
1820 static const char* apzEcd_CursorPatch[] = {
1821     "format",
1822     "ecd_cursor",
1823     (char*)NULL };
1825 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1827  *  Description of Exception_Structure fix
1828  */
1829 tSCC zException_StructureName[] =
1830      "exception_structure";
1833  *  File name selection pattern
1834  */
1835 tSCC zException_StructureList[] =
1836   "|math.h|";
1838  *  Machine/OS name selection pattern
1839  */
1840 #define apzException_StructureMachs (const char**)NULL
1843  *  content selection pattern - do fix if pattern found
1844  */
1845 tSCC zException_StructureSelect0[] =
1846        "matherr";
1849  *  content bypass pattern - skip fix if pattern found
1850  */
1851 tSCC zException_StructureBypass0[] =
1852        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
1854 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1855 static tTestDesc aException_StructureTests[] = {
1856   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1857   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1860  *  Fix Command Arguments for Exception_Structure
1861  */
1862 static const char* apzException_StructurePatch[] = {
1863     "wrap",
1864     "struct exception;\n",
1865     (char*)NULL };
1867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1869  *  Description of Freebsd_Gcc3_Breakage fix
1870  */
1871 tSCC zFreebsd_Gcc3_BreakageName[] =
1872      "freebsd_gcc3_breakage";
1875  *  File name selection pattern
1876  */
1877 tSCC zFreebsd_Gcc3_BreakageList[] =
1878   "|sys/cdefs.h|";
1880  *  Machine/OS name selection pattern
1881  */
1882 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1883         "*-*-freebsd*",
1884         (const char*)NULL };
1887  *  content selection pattern - do fix if pattern found
1888  */
1889 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1890        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1893  *  content bypass pattern - skip fix if pattern found
1894  */
1895 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1896        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1898 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1899 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1900   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1901   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1904  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1905  */
1906 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1907     "format",
1908     "%0 || __GNUC__ >= 3",
1909     (char*)NULL };
1911 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1913  *  Description of Freebsd_Gcc4_Breakage fix
1914  */
1915 tSCC zFreebsd_Gcc4_BreakageName[] =
1916      "freebsd_gcc4_breakage";
1919  *  File name selection pattern
1920  */
1921 tSCC zFreebsd_Gcc4_BreakageList[] =
1922   "|sys/cdefs.h|";
1924  *  Machine/OS name selection pattern
1925  */
1926 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
1927         "*-*-freebsd*",
1928         (const char*)NULL };
1931  *  content selection pattern - do fix if pattern found
1932  */
1933 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
1934        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
1936 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
1937 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
1938   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1941  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
1942  */
1943 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
1944     "format",
1945     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
1946     (char*)NULL };
1948 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1950  *  Description of Gnu_Types fix
1951  */
1952 tSCC zGnu_TypesName[] =
1953      "gnu_types";
1956  *  File name selection pattern
1957  */
1958 tSCC zGnu_TypesList[] =
1959   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1961  *  Machine/OS name selection pattern
1962  */
1963 #define apzGnu_TypesMachs (const char**)NULL
1966  *  content selection pattern - do fix if pattern found
1967  */
1968 tSCC zGnu_TypesSelect0[] =
1969        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1972  *  content bypass pattern - skip fix if pattern found
1973  */
1974 tSCC zGnu_TypesBypass0[] =
1975        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1977 #define    GNU_TYPES_TEST_CT  2
1978 static tTestDesc aGnu_TypesTests[] = {
1979   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
1980   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
1983  *  Fix Command Arguments for Gnu_Types
1984  */
1985 static const char* apzGnu_TypesPatch[] = {
1986     "gnu_type",
1987     (char*)NULL };
1989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1991  *  Description of Hp_Inline fix
1992  */
1993 tSCC zHp_InlineName[] =
1994      "hp_inline";
1997  *  File name selection pattern
1998  */
1999 tSCC zHp_InlineList[] =
2000   "|sys/spinlock.h|machine/machparam.h|";
2002  *  Machine/OS name selection pattern
2003  */
2004 #define apzHp_InlineMachs (const char**)NULL
2007  *  content selection pattern - do fix if pattern found
2008  */
2009 tSCC zHp_InlineSelect0[] =
2010        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2012 #define    HP_INLINE_TEST_CT  1
2013 static tTestDesc aHp_InlineTests[] = {
2014   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2017  *  Fix Command Arguments for Hp_Inline
2018  */
2019 static const char* apzHp_InlinePatch[] = {
2020     "format",
2021     "%1<machine/%2.h>",
2022     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2023     (char*)NULL };
2025 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2027  *  Description of Hp_Sysfile fix
2028  */
2029 tSCC zHp_SysfileName[] =
2030      "hp_sysfile";
2033  *  File name selection pattern
2034  */
2035 tSCC zHp_SysfileList[] =
2036   "|sys/file.h|";
2038  *  Machine/OS name selection pattern
2039  */
2040 #define apzHp_SysfileMachs (const char**)NULL
2043  *  content selection pattern - do fix if pattern found
2044  */
2045 tSCC zHp_SysfileSelect0[] =
2046        "HPUX_SOURCE";
2048 #define    HP_SYSFILE_TEST_CT  1
2049 static tTestDesc aHp_SysfileTests[] = {
2050   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2053  *  Fix Command Arguments for Hp_Sysfile
2054  */
2055 static const char* apzHp_SysfilePatch[] = {
2056     "format",
2057     "(struct file *, ...)",
2058     "\\(\\.\\.\\.\\)",
2059     (char*)NULL };
2061 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2063  *  Description of Hpux10_Cpp_Pow_Inline fix
2064  */
2065 tSCC zHpux10_Cpp_Pow_InlineName[] =
2066      "hpux10_cpp_pow_inline";
2069  *  File name selection pattern
2070  */
2071 tSCC zHpux10_Cpp_Pow_InlineList[] =
2072   "|fixinc-test-limits.h|math.h|";
2074  *  Machine/OS name selection pattern
2075  */
2076 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2079  *  content selection pattern - do fix if pattern found
2080  */
2081 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2082        "^# +ifdef +__cplusplus\n\
2083  +\\}\n\
2084  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2085 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2086  +\\}\n\
2087  +extern +\"C\" +\\{\n\
2088 #else\n\
2089 # +endif";
2091 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2092 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2093   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2096  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2097  */
2098 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2099     "format",
2100     "",
2101     (char*)NULL };
2103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2105  *  Description of Hpux11_Cpp_Pow_Inline fix
2106  */
2107 tSCC zHpux11_Cpp_Pow_InlineName[] =
2108      "hpux11_cpp_pow_inline";
2111  *  File name selection pattern
2112  */
2113 tSCC zHpux11_Cpp_Pow_InlineList[] =
2114   "|math.h|";
2116  *  Machine/OS name selection pattern
2117  */
2118 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2121  *  content selection pattern - do fix if pattern found
2122  */
2123 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2124        " +inline double pow\\(double d,int expon\\) \\{\n\
2125  +return pow\\(d, \\(double\\)expon\\);\n\
2126  +\\}\n";
2128 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2129 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2130   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2133  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2134  */
2135 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2136     "format",
2137     "",
2138     (char*)NULL };
2140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2142  *  Description of Hpux10_Ctype_Declarations1 fix
2143  */
2144 tSCC zHpux10_Ctype_Declarations1Name[] =
2145      "hpux10_ctype_declarations1";
2148  *  File name selection pattern
2149  */
2150 tSCC zHpux10_Ctype_Declarations1List[] =
2151   "|ctype.h|";
2153  *  Machine/OS name selection pattern
2154  */
2155 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2158  *  content selection pattern - do fix if pattern found
2159  */
2160 tSCC zHpux10_Ctype_Declarations1Select0[] =
2161        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2164  *  content bypass pattern - skip fix if pattern found
2165  */
2166 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2167        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2169 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2170 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2171   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2172   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2175  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2176  */
2177 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2178     "format",
2179     "#ifdef _PROTOTYPES\n\
2180 extern int __tolower(int);\n\
2181 extern int __toupper(int);\n\
2182 #else /* NOT _PROTOTYPES */\n\
2183 extern int __tolower();\n\
2184 extern int __toupper();\n\
2185 #endif /* _PROTOTYPES */\n\n\
2186 %0\n",
2187     (char*)NULL };
2189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2191  *  Description of Hpux10_Ctype_Declarations2 fix
2192  */
2193 tSCC zHpux10_Ctype_Declarations2Name[] =
2194      "hpux10_ctype_declarations2";
2197  *  File name selection pattern
2198  */
2199 tSCC zHpux10_Ctype_Declarations2List[] =
2200   "|ctype.h|";
2202  *  Machine/OS name selection pattern
2203  */
2204 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2207  *  content selection pattern - do fix if pattern found
2208  */
2209 tSCC zHpux10_Ctype_Declarations2Select0[] =
2210        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2213  *  content bypass pattern - skip fix if pattern found
2214  */
2215 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2216        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2218 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2219 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2220   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2221   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2224  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2225  */
2226 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2227     "format",
2228     "%0\n\n\
2229 #ifdef _PROTOTYPES\n\
2230      extern int _isalnum(int);\n\
2231      extern int _isalpha(int);\n\
2232      extern int _iscntrl(int);\n\
2233      extern int _isdigit(int);\n\
2234      extern int _isgraph(int);\n\
2235      extern int _islower(int);\n\
2236      extern int _isprint(int);\n\
2237      extern int _ispunct(int);\n\
2238      extern int _isspace(int);\n\
2239      extern int _isupper(int);\n\
2240      extern int _isxdigit(int);\n\
2241 #  else /* not _PROTOTYPES */\n\
2242      extern int _isalnum();\n\
2243      extern int _isalpha();\n\
2244      extern int _iscntrl();\n\
2245      extern int _isdigit();\n\
2246      extern int _isgraph();\n\
2247      extern int _islower();\n\
2248      extern int _isprint();\n\
2249      extern int _ispunct();\n\
2250      extern int _isspace();\n\
2251      extern int _isupper();\n\
2252      extern int _isxdigit();\n\
2253 #endif /* _PROTOTYPES */\n",
2254     (char*)NULL };
2256 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2258  *  Description of Hpux10_Stdio_Declarations fix
2259  */
2260 tSCC zHpux10_Stdio_DeclarationsName[] =
2261      "hpux10_stdio_declarations";
2264  *  File name selection pattern
2265  */
2266 tSCC zHpux10_Stdio_DeclarationsList[] =
2267   "|stdio.h|";
2269  *  Machine/OS name selection pattern
2270  */
2271 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2274  *  content selection pattern - do fix if pattern found
2275  */
2276 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2277        "^#[ \t]*define _iob[ \t]*__iob";
2280  *  content bypass pattern - skip fix if pattern found
2281  */
2282 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2283        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2285 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2286 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2287   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2288   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2291  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2292  */
2293 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2294     "format",
2295     "%0\n\n\
2296 #  if defined(__STDC__) || defined(__cplusplus)\n\
2297      extern int snprintf(char *, size_t, const char *, ...);\n\
2298      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2299 #  else /* not __STDC__) || __cplusplus */\n\
2300      extern int snprintf();\n\
2301      extern int vsnprintf();\n\
2302 #  endif /* __STDC__) || __cplusplus */\n",
2303     (char*)NULL };
2305 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2307  *  Description of Hpux11_Abs fix
2308  */
2309 tSCC zHpux11_AbsName[] =
2310      "hpux11_abs";
2313  *  File name selection pattern
2314  */
2315 tSCC zHpux11_AbsList[] =
2316   "|stdlib.h|";
2318  *  Machine/OS name selection pattern
2319  */
2320 tSCC* apzHpux11_AbsMachs[] = {
2321         "ia64-hp-hpux11*",
2322         (const char*)NULL };
2325  *  content selection pattern - do fix if pattern found
2326  */
2327 tSCC zHpux11_AbsSelect0[] =
2328        "ifndef _MATH_INCLUDED";
2330 #define    HPUX11_ABS_TEST_CT  1
2331 static tTestDesc aHpux11_AbsTests[] = {
2332   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2335  *  Fix Command Arguments for Hpux11_Abs
2336  */
2337 static const char* apzHpux11_AbsPatch[] = {
2338     "format",
2339     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2340     (char*)NULL };
2342 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2344  *  Description of Hpux11_Fabsf fix
2345  */
2346 tSCC zHpux11_FabsfName[] =
2347      "hpux11_fabsf";
2350  *  File name selection pattern
2351  */
2352 tSCC zHpux11_FabsfList[] =
2353   "|math.h|";
2355  *  Machine/OS name selection pattern
2356  */
2357 #define apzHpux11_FabsfMachs (const char**)NULL
2360  *  content selection pattern - do fix if pattern found
2361  */
2362 tSCC zHpux11_FabsfSelect0[] =
2363        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2366  *  content bypass pattern - skip fix if pattern found
2367  */
2368 tSCC zHpux11_FabsfBypass0[] =
2369        "__cplusplus";
2371 #define    HPUX11_FABSF_TEST_CT  2
2372 static tTestDesc aHpux11_FabsfTests[] = {
2373   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2374   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2377  *  Fix Command Arguments for Hpux11_Fabsf
2378  */
2379 static const char* apzHpux11_FabsfPatch[] = {
2380     "format",
2381     "#ifndef __cplusplus\n\
2382 %0\n\
2383 #endif",
2384     (char*)NULL };
2386 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2388  *  Description of Hpux11_Size_T fix
2389  */
2390 tSCC zHpux11_Size_TName[] =
2391      "hpux11_size_t";
2394  *  File name selection pattern
2395  */
2396 #define zHpux11_Size_TList (char*)NULL
2398  *  Machine/OS name selection pattern
2399  */
2400 tSCC* apzHpux11_Size_TMachs[] = {
2401         "*-hp-hpux11*",
2402         (const char*)NULL };
2405  *  content selection pattern - do fix if pattern found
2406  */
2407 tSCC zHpux11_Size_TSelect0[] =
2408        "__size_t";
2410 #define    HPUX11_SIZE_T_TEST_CT  1
2411 static tTestDesc aHpux11_Size_TTests[] = {
2412   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2415  *  Fix Command Arguments for Hpux11_Size_T
2416  */
2417 static const char* apzHpux11_Size_TPatch[] = {
2418     "format",
2419     "_hpux_size_t",
2420     (char*)NULL };
2422 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2424  *  Description of Hpux11_Snprintf fix
2425  */
2426 tSCC zHpux11_SnprintfName[] =
2427      "hpux11_snprintf";
2430  *  File name selection pattern
2431  */
2432 tSCC zHpux11_SnprintfList[] =
2433   "|stdio.h|";
2435  *  Machine/OS name selection pattern
2436  */
2437 #define apzHpux11_SnprintfMachs (const char**)NULL
2440  *  content selection pattern - do fix if pattern found
2441  */
2442 tSCC zHpux11_SnprintfSelect0[] =
2443        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2445 #define    HPUX11_SNPRINTF_TEST_CT  1
2446 static tTestDesc aHpux11_SnprintfTests[] = {
2447   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2450  *  Fix Command Arguments for Hpux11_Snprintf
2451  */
2452 static const char* apzHpux11_SnprintfPatch[] = {
2453     "format",
2454     "%1 const %3",
2455     (char*)NULL };
2457 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2459  *  Description of Hpux11_Uint32_C fix
2460  */
2461 tSCC zHpux11_Uint32_CName[] =
2462      "hpux11_uint32_c";
2465  *  File name selection pattern
2466  */
2467 tSCC zHpux11_Uint32_CList[] =
2468   "|inttypes.h|";
2470  *  Machine/OS name selection pattern
2471  */
2472 #define apzHpux11_Uint32_CMachs (const char**)NULL
2475  *  content selection pattern - do fix if pattern found
2476  */
2477 tSCC zHpux11_Uint32_CSelect0[] =
2478        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2480 #define    HPUX11_UINT32_C_TEST_CT  1
2481 static tTestDesc aHpux11_Uint32_CTests[] = {
2482   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2485  *  Fix Command Arguments for Hpux11_Uint32_C
2486  */
2487 static const char* apzHpux11_Uint32_CPatch[] = {
2488     "format",
2489     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2490     (char*)NULL };
2492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2494  *  Description of Hpux11_Vsnprintf fix
2495  */
2496 tSCC zHpux11_VsnprintfName[] =
2497      "hpux11_vsnprintf";
2500  *  File name selection pattern
2501  */
2502 tSCC zHpux11_VsnprintfList[] =
2503   "|stdio.h|";
2505  *  Machine/OS name selection pattern
2506  */
2507 #define apzHpux11_VsnprintfMachs (const char**)NULL
2510  *  content selection pattern - do fix if pattern found
2511  */
2512 tSCC zHpux11_VsnprintfSelect0[] =
2513        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2515 #define    HPUX11_VSNPRINTF_TEST_CT  1
2516 static tTestDesc aHpux11_VsnprintfTests[] = {
2517   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2520  *  Fix Command Arguments for Hpux11_Vsnprintf
2521  */
2522 static const char* apzHpux11_VsnprintfPatch[] = {
2523     "format",
2524     "%1 __va_list);",
2525     (char*)NULL };
2527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2529  *  Description of Hpux8_Bogus_Inlines fix
2530  */
2531 tSCC zHpux8_Bogus_InlinesName[] =
2532      "hpux8_bogus_inlines";
2535  *  File name selection pattern
2536  */
2537 tSCC zHpux8_Bogus_InlinesList[] =
2538   "|math.h|";
2540  *  Machine/OS name selection pattern
2541  */
2542 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2545  *  content selection pattern - do fix if pattern found
2546  */
2547 tSCC zHpux8_Bogus_InlinesSelect0[] =
2548        "inline";
2550 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
2551 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2552   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2555  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2556  */
2557 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2558     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2559     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2560     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2561     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2562     (char*)NULL };
2564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2566  *  Description of Hpux_Ctype_Macros fix
2567  */
2568 tSCC zHpux_Ctype_MacrosName[] =
2569      "hpux_ctype_macros";
2572  *  File name selection pattern
2573  */
2574 tSCC zHpux_Ctype_MacrosList[] =
2575   "|ctype.h|";
2577  *  Machine/OS name selection pattern
2578  */
2579 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2582  *  content selection pattern - do fix if pattern found
2583  */
2584 tSCC zHpux_Ctype_MacrosSelect0[] =
2585        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2587 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2588 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2589   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2592  *  Fix Command Arguments for Hpux_Ctype_Macros
2593  */
2594 static const char* apzHpux_Ctype_MacrosPatch[] = {
2595     "format",
2596     "%1(int)%3",
2597     (char*)NULL };
2599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2601  *  Description of Hpux_Long_Double fix
2602  */
2603 tSCC zHpux_Long_DoubleName[] =
2604      "hpux_long_double";
2607  *  File name selection pattern
2608  */
2609 tSCC zHpux_Long_DoubleList[] =
2610   "|stdlib.h|";
2612  *  Machine/OS name selection pattern
2613  */
2614 #define apzHpux_Long_DoubleMachs (const char**)NULL
2617  *  content selection pattern - do fix if pattern found
2618  */
2619 tSCC zHpux_Long_DoubleSelect0[] =
2620        "extern[ \t]long_double[ \t]strtold";
2623  *  content bypass pattern - skip fix if pattern found
2624  */
2625 tSCC zHpux_Long_DoubleBypass0[] =
2626        "long_double_t";
2628 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2629 static tTestDesc aHpux_Long_DoubleTests[] = {
2630   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2631   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2634  *  Fix Command Arguments for Hpux_Long_Double
2635  */
2636 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2637     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2638     "-e", "s/long_double/long double/g",
2639     (char*)NULL };
2641 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2643  *  Description of Hpux_Maxint fix
2644  */
2645 tSCC zHpux_MaxintName[] =
2646      "hpux_maxint";
2649  *  File name selection pattern
2650  */
2651 tSCC zHpux_MaxintList[] =
2652   "|sys/param.h|values.h|";
2654  *  Machine/OS name selection pattern
2655  */
2656 #define apzHpux_MaxintMachs (const char**)NULL
2659  *  content selection pattern - do fix if pattern found
2660  */
2661 tSCC zHpux_MaxintSelect0[] =
2662        "^#[ \t]*define[ \t]+MAXINT[ \t]";
2665  *  content bypass pattern - skip fix if pattern found
2666  */
2667 tSCC zHpux_MaxintBypass0[] =
2668        "^#[ \t]*ifndef[ \t]+MAXINT";
2671  *  perform the 'test' shell command - do fix on success
2672  */
2673 tSCC zHpux_MaxintTest0[] =
2674        "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2676 #define    HPUX_MAXINT_TEST_CT  3
2677 static tTestDesc aHpux_MaxintTests[] = {
2678   { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
2679   { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
2680   { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
2683  *  Fix Command Arguments for Hpux_Maxint
2684  */
2685 static const char* apzHpux_MaxintPatch[] = {
2686     "format",
2687     "#ifndef MAXINT\n\
2688 %0\n\
2689 #endif",
2690     "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2691     (char*)NULL };
2693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2695  *  Description of Hpux_Systime fix
2696  */
2697 tSCC zHpux_SystimeName[] =
2698      "hpux_systime";
2701  *  File name selection pattern
2702  */
2703 tSCC zHpux_SystimeList[] =
2704   "|sys/time.h|";
2706  *  Machine/OS name selection pattern
2707  */
2708 #define apzHpux_SystimeMachs (const char**)NULL
2711  *  content selection pattern - do fix if pattern found
2712  */
2713 tSCC zHpux_SystimeSelect0[] =
2714        "^extern struct sigevent;";
2716 #define    HPUX_SYSTIME_TEST_CT  1
2717 static tTestDesc aHpux_SystimeTests[] = {
2718   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2721  *  Fix Command Arguments for Hpux_Systime
2722  */
2723 static const char* apzHpux_SystimePatch[] = {
2724     "format",
2725     "struct sigevent;",
2726     (char*)NULL };
2728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2730  *  Description of Int_Abort_Free_And_Exit fix
2731  */
2732 tSCC zInt_Abort_Free_And_ExitName[] =
2733      "int_abort_free_and_exit";
2736  *  File name selection pattern
2737  */
2738 tSCC zInt_Abort_Free_And_ExitList[] =
2739   "|stdlib.h|";
2741  *  Machine/OS name selection pattern
2742  */
2743 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2746  *  content selection pattern - do fix if pattern found
2747  */
2748 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2749        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2751 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
2752 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2753   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2756  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2757  */
2758 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2759     "format",
2760     "void\t%1(",
2761     (char*)NULL };
2763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2765  *  Description of Io_Quotes_Def fix
2766  */
2767 tSCC zIo_Quotes_DefName[] =
2768      "io_quotes_def";
2771  *  File name selection pattern
2772  */
2773 #define zIo_Quotes_DefList (char*)NULL
2775  *  Machine/OS name selection pattern
2776  */
2777 #define apzIo_Quotes_DefMachs (const char**)NULL
2780  *  content selection pattern - do fix if pattern found
2781  */
2782 tSCC zIo_Quotes_DefSelect0[] =
2783        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2785 #define    IO_QUOTES_DEF_TEST_CT  1
2786 static tTestDesc aIo_Quotes_DefTests[] = {
2787   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2790  *  Fix Command Arguments for Io_Quotes_Def
2791  */
2792 static const char* apzIo_Quotes_DefPatch[] = {
2793     "char_macro_def",
2794     "IO",
2795     (char*)NULL };
2797 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2799  *  Description of Io_Quotes_Use fix
2800  */
2801 tSCC zIo_Quotes_UseName[] =
2802      "io_quotes_use";
2805  *  File name selection pattern
2806  */
2807 #define zIo_Quotes_UseList (char*)NULL
2809  *  Machine/OS name selection pattern
2810  */
2811 #define apzIo_Quotes_UseMachs (const char**)NULL
2814  *  content selection pattern - do fix if pattern found
2815  */
2816 tSCC zIo_Quotes_UseSelect0[] =
2817        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2819 #define    IO_QUOTES_USE_TEST_CT  1
2820 static tTestDesc aIo_Quotes_UseTests[] = {
2821   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2824  *  Fix Command Arguments for Io_Quotes_Use
2825  */
2826 static const char* apzIo_Quotes_UsePatch[] = {
2827     "char_macro_use",
2828     "IO",
2829     (char*)NULL };
2831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2833  *  Description of Ip_Missing_Semi fix
2834  */
2835 tSCC zIp_Missing_SemiName[] =
2836      "ip_missing_semi";
2839  *  File name selection pattern
2840  */
2841 tSCC zIp_Missing_SemiList[] =
2842   "|netinet/ip.h|";
2844  *  Machine/OS name selection pattern
2845  */
2846 #define apzIp_Missing_SemiMachs (const char**)NULL
2849  *  content selection pattern - do fix if pattern found
2850  */
2851 tSCC zIp_Missing_SemiSelect0[] =
2852        "}$";
2854 #define    IP_MISSING_SEMI_TEST_CT  1
2855 static tTestDesc aIp_Missing_SemiTests[] = {
2856   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2859  *  Fix Command Arguments for Ip_Missing_Semi
2860  */
2861 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2862     "-e", "/^struct/,/^};/s/}$/};/",
2863     (char*)NULL };
2865 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2867  *  Description of Irix___Restrict fix
2868  */
2869 tSCC zIrix___RestrictName[] =
2870      "irix___restrict";
2873  *  File name selection pattern
2874  */
2875 tSCC zIrix___RestrictList[] =
2876   "|internal/sgimacros.h|";
2878  *  Machine/OS name selection pattern
2879  */
2880 tSCC* apzIrix___RestrictMachs[] = {
2881         "mips-sgi-irix6.5",
2882         (const char*)NULL };
2885  *  content selection pattern - do fix if pattern found
2886  */
2887 tSCC zIrix___RestrictSelect0[] =
2888        "(#ifdef __c99\n\
2889 )(#[ \t]*define __restrict restrict)";
2891 #define    IRIX___RESTRICT_TEST_CT  1
2892 static tTestDesc aIrix___RestrictTests[] = {
2893   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2896  *  Fix Command Arguments for Irix___Restrict
2897  */
2898 static const char* apzIrix___RestrictPatch[] = {
2899     "format",
2900     "%1#  ifndef __cplusplus\n\
2901 %2\n\
2902 #  endif",
2903     (char*)NULL };
2905 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2907  *  Description of Irix___Generic1 fix
2908  */
2909 tSCC zIrix___Generic1Name[] =
2910      "irix___generic1";
2913  *  File name selection pattern
2914  */
2915 tSCC zIrix___Generic1List[] =
2916   "|internal/math_core.h|";
2918  *  Machine/OS name selection pattern
2919  */
2920 tSCC* apzIrix___Generic1Machs[] = {
2921         "mips-sgi-irix6.5",
2922         (const char*)NULL };
2925  *  content selection pattern - do fix if pattern found
2926  */
2927 tSCC zIrix___Generic1Select0[] =
2928        "#define ([a-z]+)\\(x\\) *__generic.*";
2930 #define    IRIX___GENERIC1_TEST_CT  1
2931 static tTestDesc aIrix___Generic1Tests[] = {
2932   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
2935  *  Fix Command Arguments for Irix___Generic1
2936  */
2937 static const char* apzIrix___Generic1Patch[] = {
2938     "format",
2939     "extern int %1(double);\n\
2940 extern int %1f(float);\n\
2941 extern int %1l(long double);\n\
2942 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
2943                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
2944                : _%1l(x))\n",
2945     (char*)NULL };
2947 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2949  *  Description of Irix___Generic2 fix
2950  */
2951 tSCC zIrix___Generic2Name[] =
2952      "irix___generic2";
2955  *  File name selection pattern
2956  */
2957 tSCC zIrix___Generic2List[] =
2958   "|internal/math_core.h|";
2960  *  Machine/OS name selection pattern
2961  */
2962 tSCC* apzIrix___Generic2Machs[] = {
2963         "mips-sgi-irix6.5",
2964         (const char*)NULL };
2967  *  content selection pattern - do fix if pattern found
2968  */
2969 tSCC zIrix___Generic2Select0[] =
2970        "#define ([a-z]+)\\(x,y\\) *__generic.*";
2972 #define    IRIX___GENERIC2_TEST_CT  1
2973 static tTestDesc aIrix___Generic2Tests[] = {
2974   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
2977  *  Fix Command Arguments for Irix___Generic2
2978  */
2979 static const char* apzIrix___Generic2Patch[] = {
2980     "format",
2981     "#define %1(x,y) \\\n\
2982   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
2983    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
2984    : _%1l(x,y))\n",
2985     (char*)NULL };
2987 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2989  *  Description of Irix_Asm_Apostrophe fix
2990  */
2991 tSCC zIrix_Asm_ApostropheName[] =
2992      "irix_asm_apostrophe";
2995  *  File name selection pattern
2996  */
2997 tSCC zIrix_Asm_ApostropheList[] =
2998   "|sys/asm.h|";
3000  *  Machine/OS name selection pattern
3001  */
3002 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3005  *  content selection pattern - do fix if pattern found
3006  */
3007 tSCC zIrix_Asm_ApostropheSelect0[] =
3008        "^[ \t]*#.*[Ww]e're";
3010 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3011 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3012   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3015  *  Fix Command Arguments for Irix_Asm_Apostrophe
3016  */
3017 static const char* apzIrix_Asm_ApostrophePatch[] = {
3018     "format",
3019     "%1 are",
3020     "^([ \t]*#.*[Ww]e)'re",
3021     (char*)NULL };
3023 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3025  *  Description of Irix_Limits_Const fix
3026  */
3027 tSCC zIrix_Limits_ConstName[] =
3028      "irix_limits_const";
3031  *  File name selection pattern
3032  */
3033 tSCC zIrix_Limits_ConstList[] =
3034   "|fixinc-test-limits.h|limits.h|";
3036  *  Machine/OS name selection pattern
3037  */
3038 #define apzIrix_Limits_ConstMachs (const char**)NULL
3041  *  content selection pattern - do fix if pattern found
3042  */
3043 tSCC zIrix_Limits_ConstSelect0[] =
3044        "^extern const ";
3046 #define    IRIX_LIMITS_CONST_TEST_CT  1
3047 static tTestDesc aIrix_Limits_ConstTests[] = {
3048   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3051  *  Fix Command Arguments for Irix_Limits_Const
3052  */
3053 static const char* apzIrix_Limits_ConstPatch[] = {
3054     "format",
3055     "extern __const ",
3056     (char*)NULL };
3058 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3060  *  Description of Irix_Socklen_T fix
3061  */
3062 tSCC zIrix_Socklen_TName[] =
3063      "irix_socklen_t";
3066  *  File name selection pattern
3067  */
3068 tSCC zIrix_Socklen_TList[] =
3069   "|sys/socket.h|";
3071  *  Machine/OS name selection pattern
3072  */
3073 tSCC* apzIrix_Socklen_TMachs[] = {
3074         "mips-sgi-irix6.5",
3075         (const char*)NULL };
3078  *  content selection pattern - do fix if pattern found
3079  */
3080 tSCC zIrix_Socklen_TSelect0[] =
3081        "(#define _SOCKLEN_T\n\
3082 )(typedef u_int32_t socklen_t;)";
3084 #define    IRIX_SOCKLEN_T_TEST_CT  1
3085 static tTestDesc aIrix_Socklen_TTests[] = {
3086   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3089  *  Fix Command Arguments for Irix_Socklen_T
3090  */
3091 static const char* apzIrix_Socklen_TPatch[] = {
3092     "format",
3093     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3094 typedef int socklen_t;\n\
3095 #else\n\
3096 %2\n\
3097 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3098     (char*)NULL };
3100 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3102  *  Description of Irix_Stdio_Va_List fix
3103  */
3104 tSCC zIrix_Stdio_Va_ListName[] =
3105      "irix_stdio_va_list";
3108  *  File name selection pattern
3109  */
3110 tSCC zIrix_Stdio_Va_ListList[] =
3111   "|stdio.h|internal/stdio_core.h|";
3113  *  Machine/OS name selection pattern
3114  */
3115 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3118  *  content selection pattern - do fix if pattern found
3119  */
3120 tSCC zIrix_Stdio_Va_ListSelect0[] =
3121        "/\\* va_list \\*/ char \\*";
3123 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3124 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3125   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3128  *  Fix Command Arguments for Irix_Stdio_Va_List
3129  */
3130 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3131     "format",
3132     "__gnuc_va_list",
3133     (char*)NULL };
3135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3137  *  Description of Irix_Wcsftime fix
3138  */
3139 tSCC zIrix_WcsftimeName[] =
3140      "irix_wcsftime";
3143  *  File name selection pattern
3144  */
3145 tSCC zIrix_WcsftimeList[] =
3146   "|internal/wchar_core.h|";
3148  *  Machine/OS name selection pattern
3149  */
3150 tSCC* apzIrix_WcsftimeMachs[] = {
3151         "mips-sgi-irix6.5",
3152         (const char*)NULL };
3155  *  content selection pattern - do fix if pattern found
3156  */
3157 tSCC zIrix_WcsftimeSelect0[] =
3158        "#if _NO_XOPEN5\n\
3159 (extern size_t[ \t]+wcsftime.*const char *.*)";
3161 #define    IRIX_WCSFTIME_TEST_CT  1
3162 static tTestDesc aIrix_WcsftimeTests[] = {
3163   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3166  *  Fix Command Arguments for Irix_Wcsftime
3167  */
3168 static const char* apzIrix_WcsftimePatch[] = {
3169     "format",
3170     "#if _NO_XOPEN5 && !defined(__c99)\n\
3171 %1",
3172     (char*)NULL };
3174 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3176  *  Description of Isc_Fmod fix
3177  */
3178 tSCC zIsc_FmodName[] =
3179      "isc_fmod";
3182  *  File name selection pattern
3183  */
3184 tSCC zIsc_FmodList[] =
3185   "|math.h|";
3187  *  Machine/OS name selection pattern
3188  */
3189 #define apzIsc_FmodMachs (const char**)NULL
3192  *  content selection pattern - do fix if pattern found
3193  */
3194 tSCC zIsc_FmodSelect0[] =
3195        "fmod\\(double\\)";
3197 #define    ISC_FMOD_TEST_CT  1
3198 static tTestDesc aIsc_FmodTests[] = {
3199   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3202  *  Fix Command Arguments for Isc_Fmod
3203  */
3204 static const char* apzIsc_FmodPatch[] = {
3205     "format",
3206     "fmod(double, double)",
3207     (char*)NULL };
3209 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3211  *  Description of Isc_Omits_With_Stdc fix
3212  */
3213 tSCC zIsc_Omits_With_StdcName[] =
3214      "isc_omits_with_stdc";
3217  *  File name selection pattern
3218  */
3219 tSCC zIsc_Omits_With_StdcList[] =
3220   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3222  *  Machine/OS name selection pattern
3223  */
3224 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3227  *  content selection pattern - do fix if pattern found
3228  */
3229 tSCC zIsc_Omits_With_StdcSelect0[] =
3230        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3232 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3233 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3234   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3237  *  Fix Command Arguments for Isc_Omits_With_Stdc
3238  */
3239 static const char* apzIsc_Omits_With_StdcPatch[] = {
3240     "format",
3241     "!defined(_POSIX_SOURCE)",
3242     (char*)NULL };
3244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3246  *  Description of Kandr_Concat fix
3247  */
3248 tSCC zKandr_ConcatName[] =
3249      "kandr_concat";
3252  *  File name selection pattern
3253  */
3254 tSCC zKandr_ConcatList[] =
3255   "|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|";
3257  *  Machine/OS name selection pattern
3258  */
3259 #define apzKandr_ConcatMachs (const char**)NULL
3262  *  content selection pattern - do fix if pattern found
3263  */
3264 tSCC zKandr_ConcatSelect0[] =
3265        "/\\*\\*/";
3267 #define    KANDR_CONCAT_TEST_CT  1
3268 static tTestDesc aKandr_ConcatTests[] = {
3269   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3272  *  Fix Command Arguments for Kandr_Concat
3273  */
3274 static const char* apzKandr_ConcatPatch[] = {
3275     "format",
3276     "##",
3277     (char*)NULL };
3279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3281  *  Description of Libc1_G_Va_List fix
3282  */
3283 tSCC zLibc1_G_Va_ListName[] =
3284      "libc1_G_va_list";
3287  *  File name selection pattern
3288  */
3289 tSCC zLibc1_G_Va_ListList[] =
3290   "|_G_config.h|";
3292  *  Machine/OS name selection pattern
3293  */
3294 tSCC* apzLibc1_G_Va_ListMachs[] = {
3295         "*-*-linux*libc1",
3296         (const char*)NULL };
3299  *  content selection pattern - do fix if pattern found
3300  */
3301 tSCC zLibc1_G_Va_ListSelect0[] =
3302        "typedef void \\* _G_va_list;";
3304 #define    LIBC1_G_VA_LIST_TEST_CT  1
3305 static tTestDesc aLibc1_G_Va_ListTests[] = {
3306   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3309  *  Fix Command Arguments for Libc1_G_Va_List
3310  */
3311 static const char* apzLibc1_G_Va_ListPatch[] = {
3312     "format",
3313     "typedef __builtin_va_list _G_va_list;",
3314     (char*)NULL };
3316 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3318  *  Description of Libc1_Ifdefd_Memx fix
3319  */
3320 tSCC zLibc1_Ifdefd_MemxName[] =
3321      "libc1_ifdefd_memx";
3324  *  File name selection pattern
3325  */
3326 tSCC zLibc1_Ifdefd_MemxList[] =
3327   "|testing.h|string.h|";
3329  *  Machine/OS name selection pattern
3330  */
3331 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3334  *  content selection pattern - do fix if pattern found
3335  */
3336 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3337        "' is a built-in function for gcc 2\\.x\\. \\*/";
3340  *  content bypass pattern - skip fix if pattern found
3341  */
3342 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3343        "__cplusplus";
3345 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3346 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3347   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3348   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3351  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3352  */
3353 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3354     "format",
3355     "%1",
3356     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3357 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3358 (/\\* .* \\*/\n\
3359 extern [a-z_]+ mem.*(\n\
3360 [^#].*)*;)\n\
3361 #endif",
3362     (char*)NULL };
3364 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3366  *  Description of Limits_Ifndefs fix
3367  */
3368 tSCC zLimits_IfndefsName[] =
3369      "limits_ifndefs";
3372  *  File name selection pattern
3373  */
3374 tSCC zLimits_IfndefsList[] =
3375   "|sys/limits.h|limits.h|";
3377  *  Machine/OS name selection pattern
3378  */
3379 #define apzLimits_IfndefsMachs (const char**)NULL
3382  *  content selection pattern - do fix if pattern found
3383  */
3384 tSCC zLimits_IfndefsSelect0[] =
3385        "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*";
3388  *  content bypass pattern - skip fix if pattern found
3389  */
3390 tSCC zLimits_IfndefsBypass0[] =
3391        "ifndef[ \t]+FLT_(MIN|MAX)";
3393 #define    LIMITS_IFNDEFS_TEST_CT  2
3394 static tTestDesc aLimits_IfndefsTests[] = {
3395   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL },
3396   { TT_EGREP,    zLimits_IfndefsSelect0, (regex_t*)NULL }, };
3399  *  Fix Command Arguments for Limits_Ifndefs
3400  */
3401 static const char* apzLimits_IfndefsPatch[] = {
3402     "format",
3403     "#ifndef %1\n\
3404 %0\n\
3405 #endif",
3406     (char*)NULL };
3408 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3410  *  Description of Linux_Ia64_Ucontext fix
3411  */
3412 tSCC zLinux_Ia64_UcontextName[] =
3413      "linux_ia64_ucontext";
3416  *  File name selection pattern
3417  */
3418 tSCC zLinux_Ia64_UcontextList[] =
3419   "|sys/ucontext.h|";
3421  *  Machine/OS name selection pattern
3422  */
3423 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3424         "ia64-*-linux*",
3425         (const char*)NULL };
3428  *  content selection pattern - do fix if pattern found
3429  */
3430 tSCC zLinux_Ia64_UcontextSelect0[] =
3431        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3433 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3434 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3435   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3438  *  Fix Command Arguments for Linux_Ia64_Ucontext
3439  */
3440 static const char* apzLinux_Ia64_UcontextPatch[] = {
3441     "format",
3442     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3443     (char*)NULL };
3445 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3447  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3448  */
3449 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3450      "lynxos_no_warning_in_sys_time_h";
3453  *  File name selection pattern
3454  */
3455 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3456   "|sys/time.h|";
3458  *  Machine/OS name selection pattern
3459  */
3460 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3463  *  content selection pattern - do fix if pattern found
3464  */
3465 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3466        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3468 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3469 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3470   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3473  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3474  */
3475 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3476     "format",
3477     "",
3478     (char*)NULL };
3480 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3482  *  Description of Lynxos_Missing_Putenv fix
3483  */
3484 tSCC zLynxos_Missing_PutenvName[] =
3485      "lynxos_missing_putenv";
3488  *  File name selection pattern
3489  */
3490 tSCC zLynxos_Missing_PutenvList[] =
3491   "|stdlib.h|";
3493  *  Machine/OS name selection pattern
3494  */
3495 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3496         "*-*-lynxos*",
3497         (const char*)NULL };
3500  *  content selection pattern - do fix if pattern found
3501  */
3502 tSCC zLynxos_Missing_PutenvSelect0[] =
3503        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3506  *  content bypass pattern - skip fix if pattern found
3507  */
3508 tSCC zLynxos_Missing_PutenvBypass0[] =
3509        "putenv[ \\t]*\\(";
3511 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3512 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3513   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3514   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3517  *  Fix Command Arguments for Lynxos_Missing_Putenv
3518  */
3519 static const char* apzLynxos_Missing_PutenvPatch[] = {
3520     "format",
3521     "%0\n\
3522 extern int putenv\t\t\t\t_AP((char *));",
3523     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3524     (char*)NULL };
3526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *  Description of Machine_Ansi_H_Va_List fix
3529  */
3530 tSCC zMachine_Ansi_H_Va_ListName[] =
3531      "machine_ansi_h_va_list";
3534  *  File name selection pattern
3535  */
3536 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3538  *  Machine/OS name selection pattern
3539  */
3540 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3543  *  content selection pattern - do fix if pattern found
3544  */
3545 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3546        "define[ \t]+_BSD_VA_LIST_[ \t]";
3549  *  content bypass pattern - skip fix if pattern found
3550  */
3551 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3552        "__builtin_va_list";
3554 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3555 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3556   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3557   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3560  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3561  */
3562 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3563     "format",
3564     "%1__builtin_va_list",
3565     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3566     (char*)NULL };
3568 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3570  *  Description of Machine_Name fix
3571  */
3572 tSCC zMachine_NameName[] =
3573      "machine_name";
3576  *  File name selection pattern
3577  */
3578 #define zMachine_NameList (char*)NULL
3580  *  Machine/OS name selection pattern
3581  */
3582 #define apzMachine_NameMachs (const char**)NULL
3585  *  perform the C function call test
3586  */
3587 tSCC zMachine_NameFTst0[] = "machine_name";
3589 #define    MACHINE_NAME_TEST_CT  1
3590 static tTestDesc aMachine_NameTests[] = {
3591   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3594  *  Fix Command Arguments for Machine_Name
3595  */
3596 static const char* apzMachine_NamePatch[] = {
3597     "machine_name",
3598     (char*)NULL };
3600 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3602  *  Description of Math_Exception fix
3603  */
3604 tSCC zMath_ExceptionName[] =
3605      "math_exception";
3608  *  File name selection pattern
3609  */
3610 tSCC zMath_ExceptionList[] =
3611   "|math.h|";
3613  *  Machine/OS name selection pattern
3614  */
3615 #define apzMath_ExceptionMachs (const char**)NULL
3618  *  content selection pattern - do fix if pattern found
3619  */
3620 tSCC zMath_ExceptionSelect0[] =
3621        "struct exception";
3624  *  content bypass pattern - skip fix if pattern found
3625  */
3626 tSCC zMath_ExceptionBypass0[] =
3627        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3629 #define    MATH_EXCEPTION_TEST_CT  2
3630 static tTestDesc aMath_ExceptionTests[] = {
3631   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3632   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3635  *  Fix Command Arguments for Math_Exception
3636  */
3637 static const char* apzMath_ExceptionPatch[] = {
3638     "wrap",
3639     "#ifdef __cplusplus\n\
3640 #define exception __math_exception\n\
3641 #endif\n",
3642     "#ifdef __cplusplus\n\
3643 #undef exception\n\
3644 #endif\n",
3645     (char*)NULL };
3647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3649  *  Description of Math_Huge_Val_From_Dbl_Max fix
3650  */
3651 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3652      "math_huge_val_from_dbl_max";
3655  *  File name selection pattern
3656  */
3657 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3658   "|math.h|";
3660  *  Machine/OS name selection pattern
3661  */
3662 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3665  *  content selection pattern - do fix if pattern found
3666  */
3667 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3668        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3671  *  content bypass pattern - skip fix if pattern found
3672  */
3673 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3674        "define[ \t]+DBL_MAX";
3676 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3677 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3678   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3679   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3682  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3683  */
3684 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3685     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3686 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3687 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3688 \telse cat\n\
3689 \tfi",
3690     (char*)NULL };
3692 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3694  *  Description of Math_Huge_Val_Ifndef fix
3695  */
3696 tSCC zMath_Huge_Val_IfndefName[] =
3697      "math_huge_val_ifndef";
3700  *  File name selection pattern
3701  */
3702 tSCC zMath_Huge_Val_IfndefList[] =
3703   "|math.h|math/math.h|";
3705  *  Machine/OS name selection pattern
3706  */
3707 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
3710  *  content selection pattern - do fix if pattern found
3711  */
3712 tSCC zMath_Huge_Val_IfndefSelect0[] =
3713        "define[ \t]+HUGE_VAL";
3715 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
3716 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3717   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3720  *  Fix Command Arguments for Math_Huge_Val_Ifndef
3721  */
3722 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3723     "format",
3724     "#ifndef HUGE_VAL\n\
3725 %0\n\
3726 #endif",
3727     "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3728     (char*)NULL };
3730 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3732  *  Description of Nested_Auth_Des fix
3733  */
3734 tSCC zNested_Auth_DesName[] =
3735      "nested_auth_des";
3738  *  File name selection pattern
3739  */
3740 tSCC zNested_Auth_DesList[] =
3741   "|rpc/rpc.h|";
3743  *  Machine/OS name selection pattern
3744  */
3745 #define apzNested_Auth_DesMachs (const char**)NULL
3748  *  content selection pattern - do fix if pattern found
3749  */
3750 tSCC zNested_Auth_DesSelect0[] =
3751        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3753 #define    NESTED_AUTH_DES_TEST_CT  1
3754 static tTestDesc aNested_Auth_DesTests[] = {
3755   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3758  *  Fix Command Arguments for Nested_Auth_Des
3759  */
3760 static const char* apzNested_Auth_DesPatch[] = {
3761     "format",
3762     "%1*/ /*",
3763     (char*)NULL };
3765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3767  *  Description of Nested_Motorola fix
3768  */
3769 tSCC zNested_MotorolaName[] =
3770      "nested_motorola";
3773  *  File name selection pattern
3774  */
3775 tSCC zNested_MotorolaList[] =
3776   "|sys/limits.h|limits.h|";
3778  *  Machine/OS name selection pattern
3779  */
3780 tSCC* apzNested_MotorolaMachs[] = {
3781         "m68k-motorola-sysv*",
3782         (const char*)NULL };
3785  *  content selection pattern - do fix if pattern found
3786  */
3787 tSCC zNested_MotorolaSelect0[] =
3788        "max # bytes atomic in write|error value returned by Math lib";
3790 #define    NESTED_MOTOROLA_TEST_CT  1
3791 static tTestDesc aNested_MotorolaTests[] = {
3792   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3795  *  Fix Command Arguments for Nested_Motorola
3796  */
3797 static const char* apzNested_MotorolaPatch[] = { "sed",
3798     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3799     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3800     (char*)NULL };
3802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3804  *  Description of Nested_Sys_Limits fix
3805  */
3806 tSCC zNested_Sys_LimitsName[] =
3807      "nested_sys_limits";
3810  *  File name selection pattern
3811  */
3812 tSCC zNested_Sys_LimitsList[] =
3813   "|sys/limits.h|";
3815  *  Machine/OS name selection pattern
3816  */
3817 #define apzNested_Sys_LimitsMachs (const char**)NULL
3820  *  content selection pattern - do fix if pattern found
3821  */
3822 tSCC zNested_Sys_LimitsSelect0[] =
3823        "CHILD_MAX";
3825 #define    NESTED_SYS_LIMITS_TEST_CT  1
3826 static tTestDesc aNested_Sys_LimitsTests[] = {
3827   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3830  *  Fix Command Arguments for Nested_Sys_Limits
3831  */
3832 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3833     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3834     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3835     (char*)NULL };
3837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3839  *  Description of Netbsd_Extra_Semicolon fix
3840  */
3841 tSCC zNetbsd_Extra_SemicolonName[] =
3842      "netbsd_extra_semicolon";
3845  *  File name selection pattern
3846  */
3847 tSCC zNetbsd_Extra_SemicolonList[] =
3848   "|sys/cdefs.h|";
3850  *  Machine/OS name selection pattern
3851  */
3852 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3853         "*-*-netbsd*",
3854         (const char*)NULL };
3857  *  content selection pattern - do fix if pattern found
3858  */
3859 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3860        "#define[ \t]*__END_DECLS[ \t]*};";
3862 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3863 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3864   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3867  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3868  */
3869 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3870     "format",
3871     "#define __END_DECLS }",
3872     (char*)NULL };
3874 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3876  *  Description of Next_Math_Prefix fix
3877  */
3878 tSCC zNext_Math_PrefixName[] =
3879      "next_math_prefix";
3882  *  File name selection pattern
3883  */
3884 tSCC zNext_Math_PrefixList[] =
3885   "|ansi/math.h|";
3887  *  Machine/OS name selection pattern
3888  */
3889 #define apzNext_Math_PrefixMachs (const char**)NULL
3892  *  content selection pattern - do fix if pattern found
3893  */
3894 tSCC zNext_Math_PrefixSelect0[] =
3895        "^extern[ \t]+double[ \t]+__const__[ \t]";
3897 #define    NEXT_MATH_PREFIX_TEST_CT  1
3898 static tTestDesc aNext_Math_PrefixTests[] = {
3899   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3902  *  Fix Command Arguments for Next_Math_Prefix
3903  */
3904 static const char* apzNext_Math_PrefixPatch[] = {
3905     "format",
3906     "extern double %1(",
3907     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3908     (char*)NULL };
3910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3912  *  Description of Next_Template fix
3913  */
3914 tSCC zNext_TemplateName[] =
3915      "next_template";
3918  *  File name selection pattern
3919  */
3920 tSCC zNext_TemplateList[] =
3921   "|bsd/libc.h|";
3923  *  Machine/OS name selection pattern
3924  */
3925 #define apzNext_TemplateMachs (const char**)NULL
3928  *  content selection pattern - do fix if pattern found
3929  */
3930 tSCC zNext_TemplateSelect0[] =
3931        "[ \t]template\\)";
3933 #define    NEXT_TEMPLATE_TEST_CT  1
3934 static tTestDesc aNext_TemplateTests[] = {
3935   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3938  *  Fix Command Arguments for Next_Template
3939  */
3940 static const char* apzNext_TemplatePatch[] = {
3941     "format",
3942     "(%1)",
3943     "\\(([^)]*)[ \t]template\\)",
3944     (char*)NULL };
3946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3948  *  Description of Next_Volitile fix
3949  */
3950 tSCC zNext_VolitileName[] =
3951      "next_volitile";
3954  *  File name selection pattern
3955  */
3956 tSCC zNext_VolitileList[] =
3957   "|ansi/stdlib.h|";
3959  *  Machine/OS name selection pattern
3960  */
3961 #define apzNext_VolitileMachs (const char**)NULL
3964  *  content selection pattern - do fix if pattern found
3965  */
3966 tSCC zNext_VolitileSelect0[] =
3967        "^extern[ \t]+volatile[ \t]+void[ \t]";
3969 #define    NEXT_VOLITILE_TEST_CT  1
3970 static tTestDesc aNext_VolitileTests[] = {
3971   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3974  *  Fix Command Arguments for Next_Volitile
3975  */
3976 static const char* apzNext_VolitilePatch[] = {
3977     "format",
3978     "extern void %1(",
3979     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3980     (char*)NULL };
3982 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3984  *  Description of Next_Wait_Union fix
3985  */
3986 tSCC zNext_Wait_UnionName[] =
3987      "next_wait_union";
3990  *  File name selection pattern
3991  */
3992 tSCC zNext_Wait_UnionList[] =
3993   "|sys/wait.h|";
3995  *  Machine/OS name selection pattern
3996  */
3997 #define apzNext_Wait_UnionMachs (const char**)NULL
4000  *  content selection pattern - do fix if pattern found
4001  */
4002 tSCC zNext_Wait_UnionSelect0[] =
4003        "wait\\(union wait";
4005 #define    NEXT_WAIT_UNION_TEST_CT  1
4006 static tTestDesc aNext_Wait_UnionTests[] = {
4007   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
4010  *  Fix Command Arguments for Next_Wait_Union
4011  */
4012 static const char* apzNext_Wait_UnionPatch[] = {
4013     "format",
4014     "wait(void",
4015     (char*)NULL };
4017 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4019  *  Description of Nodeent_Syntax fix
4020  */
4021 tSCC zNodeent_SyntaxName[] =
4022      "nodeent_syntax";
4025  *  File name selection pattern
4026  */
4027 tSCC zNodeent_SyntaxList[] =
4028   "|netdnet/dnetdb.h|";
4030  *  Machine/OS name selection pattern
4031  */
4032 #define apzNodeent_SyntaxMachs (const char**)NULL
4035  *  content selection pattern - do fix if pattern found
4036  */
4037 tSCC zNodeent_SyntaxSelect0[] =
4038        "char[ \t]*\\*na_addr[ \t]*$";
4040 #define    NODEENT_SYNTAX_TEST_CT  1
4041 static tTestDesc aNodeent_SyntaxTests[] = {
4042   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4045  *  Fix Command Arguments for Nodeent_Syntax
4046  */
4047 static const char* apzNodeent_SyntaxPatch[] = {
4048     "format",
4049     "%0;",
4050     (char*)NULL };
4052 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4054  *  Description of Obstack_Lvalue_Cast fix
4055  */
4056 tSCC zObstack_Lvalue_CastName[] =
4057      "obstack_lvalue_cast";
4060  *  File name selection pattern
4061  */
4062 tSCC zObstack_Lvalue_CastList[] =
4063   "|obstack.h|";
4065  *  Machine/OS name selection pattern
4066  */
4067 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4070  *  content selection pattern - do fix if pattern found
4071  */
4072 tSCC zObstack_Lvalue_CastSelect0[] =
4073        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4075 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4076 static tTestDesc aObstack_Lvalue_CastTests[] = {
4077   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4080  *  Fix Command Arguments for Obstack_Lvalue_Cast
4081  */
4082 static const char* apzObstack_Lvalue_CastPatch[] = {
4083     "format",
4084     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4085     (char*)NULL };
4087 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4089  *  Description of Osf_Namespace_A fix
4090  */
4091 tSCC zOsf_Namespace_AName[] =
4092      "osf_namespace_a";
4095  *  File name selection pattern
4096  */
4097 tSCC zOsf_Namespace_AList[] =
4098   "|reg_types.h|sys/lc_core.h|";
4100  *  Machine/OS name selection pattern
4101  */
4102 #define apzOsf_Namespace_AMachs (const char**)NULL
4105  *  perform the 'test' shell command - do fix on success
4106  */
4107 tSCC zOsf_Namespace_ATest0[] =
4108        " -r reg_types.h";
4109 tSCC zOsf_Namespace_ATest1[] =
4110        " -r sys/lc_core.h";
4111 tSCC zOsf_Namespace_ATest2[] =
4112        " -n \"`grep '} regex_t;' reg_types.h`\"";
4113 tSCC zOsf_Namespace_ATest3[] =
4114        " -z \"`grep __regex_t regex.h`\"";
4116 #define    OSF_NAMESPACE_A_TEST_CT  4
4117 static tTestDesc aOsf_Namespace_ATests[] = {
4118   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4119   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4120   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4121   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4124  *  Fix Command Arguments for Osf_Namespace_A
4125  */
4126 static const char* apzOsf_Namespace_APatch[] = {
4127     "format",
4128     "__%0",
4129     "reg(ex|off|match)_t",
4130     (char*)NULL };
4132 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4134  *  Description of Osf_Namespace_C fix
4135  */
4136 tSCC zOsf_Namespace_CName[] =
4137      "osf_namespace_c";
4140  *  File name selection pattern
4141  */
4142 tSCC zOsf_Namespace_CList[] =
4143   "|regex.h|";
4145  *  Machine/OS name selection pattern
4146  */
4147 #define apzOsf_Namespace_CMachs (const char**)NULL
4150  *  content selection pattern - do fix if pattern found
4151  */
4152 tSCC zOsf_Namespace_CSelect0[] =
4153        "#include <reg_types.h>.*";
4156  *  perform the 'test' shell command - do fix on success
4157  */
4158 tSCC zOsf_Namespace_CTest0[] =
4159        " -r reg_types.h";
4160 tSCC zOsf_Namespace_CTest1[] =
4161        " -r sys/lc_core.h";
4162 tSCC zOsf_Namespace_CTest2[] =
4163        " -n \"`grep '} regex_t;' reg_types.h`\"";
4164 tSCC zOsf_Namespace_CTest3[] =
4165        " -z \"`grep __regex_t regex.h`\"";
4167 #define    OSF_NAMESPACE_C_TEST_CT  5
4168 static tTestDesc aOsf_Namespace_CTests[] = {
4169   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4170   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4171   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4172   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4173   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4176  *  Fix Command Arguments for Osf_Namespace_C
4177  */
4178 static const char* apzOsf_Namespace_CPatch[] = {
4179     "format",
4180     "%0\n\
4181 typedef __regex_t\tregex_t;\n\
4182 typedef __regoff_t\tregoff_t;\n\
4183 typedef __regmatch_t\tregmatch_t;",
4184     (char*)NULL };
4186 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4188  *  Description of Pthread_Page_Size fix
4189  */
4190 tSCC zPthread_Page_SizeName[] =
4191      "pthread_page_size";
4194  *  File name selection pattern
4195  */
4196 tSCC zPthread_Page_SizeList[] =
4197   "|pthread.h|";
4199  *  Machine/OS name selection pattern
4200  */
4201 #define apzPthread_Page_SizeMachs (const char**)NULL
4204  *  content selection pattern - do fix if pattern found
4205  */
4206 tSCC zPthread_Page_SizeSelect0[] =
4207        "^int __page_size";
4209 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4210 static tTestDesc aPthread_Page_SizeTests[] = {
4211   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4214  *  Fix Command Arguments for Pthread_Page_Size
4215  */
4216 static const char* apzPthread_Page_SizePatch[] = {
4217     "format",
4218     "extern %0",
4219     (char*)NULL };
4221 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4223  *  Description of Read_Ret_Type fix
4224  */
4225 tSCC zRead_Ret_TypeName[] =
4226      "read_ret_type";
4229  *  File name selection pattern
4230  */
4231 tSCC zRead_Ret_TypeList[] =
4232   "|stdio.h|";
4234  *  Machine/OS name selection pattern
4235  */
4236 #define apzRead_Ret_TypeMachs (const char**)NULL
4239  *  content selection pattern - do fix if pattern found
4240  */
4241 tSCC zRead_Ret_TypeSelect0[] =
4242        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4244 #define    READ_RET_TYPE_TEST_CT  1
4245 static tTestDesc aRead_Ret_TypeTests[] = {
4246   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4249  *  Fix Command Arguments for Read_Ret_Type
4250  */
4251 static const char* apzRead_Ret_TypePatch[] = {
4252     "format",
4253     "extern unsigned int fread(), fwrite();\n\
4254 %1%2",
4255     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4256     (char*)NULL };
4258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4260  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4261  */
4262 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4263      "rpc_xdr_lvalue_cast_a";
4266  *  File name selection pattern
4267  */
4268 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4269   "|rpc/xdr.h|";
4271  *  Machine/OS name selection pattern
4272  */
4273 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4276  *  content selection pattern - do fix if pattern found
4277  */
4278 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4279        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4280 .*__extension__.*";
4282 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4283 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4284   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4287  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4288  */
4289 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4290     "format",
4291     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4292     (char*)NULL };
4294 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4296  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4297  */
4298 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4299      "rpc_xdr_lvalue_cast_b";
4302  *  File name selection pattern
4303  */
4304 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4305   "|rpc/xdr.h|";
4307  *  Machine/OS name selection pattern
4308  */
4309 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4312  *  content selection pattern - do fix if pattern found
4313  */
4314 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4315        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4316 .*__extension__.*";
4318 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4319 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4320   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4323  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4324  */
4325 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4326     "format",
4327     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4328     (char*)NULL };
4330 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4332  *  Description of Rs6000_Double fix
4333  */
4334 tSCC zRs6000_DoubleName[] =
4335      "rs6000_double";
4338  *  File name selection pattern
4339  */
4340 tSCC zRs6000_DoubleList[] =
4341   "|math.h|";
4343  *  Machine/OS name selection pattern
4344  */
4345 #define apzRs6000_DoubleMachs (const char**)NULL
4348  *  content selection pattern - do fix if pattern found
4349  */
4350 tSCC zRs6000_DoubleSelect0[] =
4351        "[^a-zA-Z_]class\\(";
4353 #define    RS6000_DOUBLE_TEST_CT  1
4354 static tTestDesc aRs6000_DoubleTests[] = {
4355   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4358  *  Fix Command Arguments for Rs6000_Double
4359  */
4360 static const char* apzRs6000_DoublePatch[] = {
4361     "format",
4362     "#ifndef __cplusplus\n\
4363 %0\n\
4364 #endif",
4365     "^.*[^a-zA-Z_]class\\(.*",
4366     (char*)NULL };
4368 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4370  *  Description of Rs6000_Fchmod fix
4371  */
4372 tSCC zRs6000_FchmodName[] =
4373      "rs6000_fchmod";
4376  *  File name selection pattern
4377  */
4378 tSCC zRs6000_FchmodList[] =
4379   "|sys/stat.h|";
4381  *  Machine/OS name selection pattern
4382  */
4383 #define apzRs6000_FchmodMachs (const char**)NULL
4386  *  content selection pattern - do fix if pattern found
4387  */
4388 tSCC zRs6000_FchmodSelect0[] =
4389        "fchmod\\(char \\*";
4391 #define    RS6000_FCHMOD_TEST_CT  1
4392 static tTestDesc aRs6000_FchmodTests[] = {
4393   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4396  *  Fix Command Arguments for Rs6000_Fchmod
4397  */
4398 static const char* apzRs6000_FchmodPatch[] = {
4399     "format",
4400     "fchmod(int",
4401     (char*)NULL };
4403 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4405  *  Description of Rs6000_Param fix
4406  */
4407 tSCC zRs6000_ParamName[] =
4408      "rs6000_param";
4411  *  File name selection pattern
4412  */
4413 tSCC zRs6000_ParamList[] =
4414   "|stdio.h|unistd.h|";
4416  *  Machine/OS name selection pattern
4417  */
4418 #define apzRs6000_ParamMachs (const char**)NULL
4421  *  content selection pattern - do fix if pattern found
4422  */
4423 tSCC zRs6000_ParamSelect0[] =
4424        "rename\\(const char \\*old, const char \\*new\\)";
4426 #define    RS6000_PARAM_TEST_CT  1
4427 static tTestDesc aRs6000_ParamTests[] = {
4428   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4431  *  Fix Command Arguments for Rs6000_Param
4432  */
4433 static const char* apzRs6000_ParamPatch[] = {
4434     "format",
4435     "rename(const char *_old, const char *_new)",
4436     (char*)NULL };
4438 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4440  *  Description of Sco_Math fix
4441  */
4442 tSCC zSco_MathName[] =
4443      "sco_math";
4446  *  File name selection pattern
4447  */
4448 tSCC zSco_MathList[] =
4449   "|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|";
4451  *  Machine/OS name selection pattern
4452  */
4453 #define apzSco_MathMachs (const char**)NULL
4456  *  content selection pattern - do fix if pattern found
4457  */
4458 tSCC zSco_MathSelect0[] =
4459        "inline double abs";
4461 #define    SCO_MATH_TEST_CT  1
4462 static tTestDesc aSco_MathTests[] = {
4463   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4466  *  Fix Command Arguments for Sco_Math
4467  */
4468 static const char* apzSco_MathPatch[] = { "sed",
4469     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4470 #ifndef __GNUC__\n",
4471     "-e", "/.*__builtin_generic/a\\\n\
4472 #else\\\n\
4473 #define __fp_class(a) \\\\\\\n\
4474   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4475    __fpclassifyl(a), \\\\\\\n\
4476     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4477       __fpclassifyf(a),__fpclassify(a)))\\\n\
4478 #endif",
4479     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4480 #ifndef __GNUC__\n",
4481     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4482 #endif /* ! __GNUC__ */",
4483     (char*)NULL };
4485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4487  *  Description of Sco_Regset fix
4488  */
4489 tSCC zSco_RegsetName[] =
4490      "sco_regset";
4493  *  File name selection pattern
4494  */
4495 tSCC zSco_RegsetList[] =
4496   "|sys/regset.h|";
4498  *  Machine/OS name selection pattern
4499  */
4500 tSCC* apzSco_RegsetMachs[] = {
4501         "*-*-sco3.2v5*",
4502         (const char*)NULL };
4505  *  content selection pattern - do fix if pattern found
4506  */
4507 tSCC zSco_RegsetSelect0[] =
4508        "(struct[ \t]+.*)fpstate";
4510 #define    SCO_REGSET_TEST_CT  1
4511 static tTestDesc aSco_RegsetTests[] = {
4512   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4515  *  Fix Command Arguments for Sco_Regset
4516  */
4517 static const char* apzSco_RegsetPatch[] = {
4518     "format",
4519     "%1rsfpstate",
4520     (char*)NULL };
4522 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4524  *  Description of Sco_Static_Func fix
4525  */
4526 tSCC zSco_Static_FuncName[] =
4527      "sco_static_func";
4530  *  File name selection pattern
4531  */
4532 tSCC zSco_Static_FuncList[] =
4533   "|sys/stat.h|";
4535  *  Machine/OS name selection pattern
4536  */
4537 tSCC* apzSco_Static_FuncMachs[] = {
4538         "i?86-*-sco3.2*",
4539         (const char*)NULL };
4542  *  content selection pattern - do fix if pattern found
4543  */
4544 tSCC zSco_Static_FuncSelect0[] =
4545        "^static int";
4547 #define    SCO_STATIC_FUNC_TEST_CT  1
4548 static tTestDesc aSco_Static_FuncTests[] = {
4549   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4552  *  Fix Command Arguments for Sco_Static_Func
4553  */
4554 static const char* apzSco_Static_FuncPatch[] = { "sed",
4555     "-e", "/^static int/i\\\n\
4556 #if __cplusplus\\\n\
4557 extern \"C\" {\\\n\
4558 #endif /* __cplusplus */",
4559     "-e", "/^}$/a\\\n\
4560 #if __cplusplus\\\n\
4561  }\\\n\
4562 #endif /* __cplusplus */",
4563     (char*)NULL };
4565 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4567  *  Description of Sco_Utime fix
4568  */
4569 tSCC zSco_UtimeName[] =
4570      "sco_utime";
4573  *  File name selection pattern
4574  */
4575 tSCC zSco_UtimeList[] =
4576   "|sys/times.h|";
4578  *  Machine/OS name selection pattern
4579  */
4580 tSCC* apzSco_UtimeMachs[] = {
4581         "i?86-*-sco3.2v4*",
4582         (const char*)NULL };
4585  *  content selection pattern - do fix if pattern found
4586  */
4587 tSCC zSco_UtimeSelect0[] =
4588        "\\(const char \\*, struct utimbuf \\*\\);";
4590 #define    SCO_UTIME_TEST_CT  1
4591 static tTestDesc aSco_UtimeTests[] = {
4592   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4595  *  Fix Command Arguments for Sco_Utime
4596  */
4597 static const char* apzSco_UtimePatch[] = {
4598     "format",
4599     "(const char *, const struct utimbuf *);",
4600     (char*)NULL };
4602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4604  *  Description of Solaris_Mutex_Init_1 fix
4605  */
4606 tSCC zSolaris_Mutex_Init_1Name[] =
4607      "solaris_mutex_init_1";
4610  *  File name selection pattern
4611  */
4612 tSCC zSolaris_Mutex_Init_1List[] =
4613   "|pthread.h|";
4615  *  Machine/OS name selection pattern
4616  */
4617 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
4620  *  content selection pattern - do fix if pattern found
4621  */
4622 tSCC zSolaris_Mutex_Init_1Select0[] =
4623        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
4625 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
4626 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
4627   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
4630  *  Fix Command Arguments for Solaris_Mutex_Init_1
4631  */
4632 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
4633     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
4634 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
4635     (char*)NULL };
4637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4639  *  Description of Solaris_Mutex_Init_2 fix
4640  */
4641 tSCC zSolaris_Mutex_Init_2Name[] =
4642      "solaris_mutex_init_2";
4645  *  File name selection pattern
4646  */
4647 tSCC zSolaris_Mutex_Init_2List[] =
4648   "|pthread.h|";
4650  *  Machine/OS name selection pattern
4651  */
4652 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
4655  *  content selection pattern - do fix if pattern found
4656  */
4657 tSCC zSolaris_Mutex_Init_2Select0[] =
4658        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4660 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
4661 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
4662   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
4665  *  Fix Command Arguments for Solaris_Mutex_Init_2
4666  */
4667 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4668     "format",
4669     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4670 %0\n\
4671 #else\n\
4672 %1, {0}}%3\n\
4673 #endif",
4674     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4675     (char*)NULL };
4677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4679  *  Description of Solaris_Socket fix
4680  */
4681 tSCC zSolaris_SocketName[] =
4682      "solaris_socket";
4685  *  File name selection pattern
4686  */
4687 tSCC zSolaris_SocketList[] =
4688   "|sys/socket.h|";
4690  *  Machine/OS name selection pattern
4691  */
4692 #define apzSolaris_SocketMachs (const char**)NULL
4695  *  content selection pattern - do fix if pattern found
4696  */
4697 tSCC zSolaris_SocketSelect0[] =
4698        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4700 #define    SOLARIS_SOCKET_TEST_CT  1
4701 static tTestDesc aSolaris_SocketTests[] = {
4702   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
4705  *  Fix Command Arguments for Solaris_Socket
4706  */
4707 static const char* apzSolaris_SocketPatch[] = {
4708     "format",
4709     "extern int %1(int, %2void *, int, int);",
4710     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4711     (char*)NULL };
4713 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4715  *  Description of Solaris_Stdio_Tag fix
4716  */
4717 tSCC zSolaris_Stdio_TagName[] =
4718      "solaris_stdio_tag";
4721  *  File name selection pattern
4722  */
4723 tSCC zSolaris_Stdio_TagList[] =
4724   "|stdio_tag.h|";
4726  *  Machine/OS name selection pattern
4727  */
4728 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4731  *  content selection pattern - do fix if pattern found
4732  */
4733 tSCC zSolaris_Stdio_TagSelect0[] =
4734        "__cplusplus < 54321L";
4736 #define    SOLARIS_STDIO_TAG_TEST_CT  1
4737 static tTestDesc aSolaris_Stdio_TagTests[] = {
4738   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4741  *  Fix Command Arguments for Solaris_Stdio_Tag
4742  */
4743 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4744     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4745     (char*)NULL };
4747 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4749  *  Description of Solaris_Unistd fix
4750  */
4751 tSCC zSolaris_UnistdName[] =
4752      "solaris_unistd";
4755  *  File name selection pattern
4756  */
4757 tSCC zSolaris_UnistdList[] =
4758   "|unistd.h|";
4760  *  Machine/OS name selection pattern
4761  */
4762 #define apzSolaris_UnistdMachs (const char**)NULL
4765  *  content selection pattern - do fix if pattern found
4766  */
4767 tSCC zSolaris_UnistdSelect0[] =
4768        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4771  *  content bypass pattern - skip fix if pattern found
4772  */
4773 tSCC zSolaris_UnistdBypass0[] =
4774        "getpagesize";
4776 #define    SOLARIS_UNISTD_TEST_CT  2
4777 static tTestDesc aSolaris_UnistdTests[] = {
4778   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
4779   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4782  *  Fix Command Arguments for Solaris_Unistd
4783  */
4784 static const char* apzSolaris_UnistdPatch[] = {
4785     "format",
4786     "extern int getpagesize();\n\
4787 %0",
4788     "^extern (pid_t|int) getpgid\\(.*\\);",
4789     (char*)NULL };
4791 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4793  *  Description of Solaris_Widec fix
4794  */
4795 tSCC zSolaris_WidecName[] =
4796      "solaris_widec";
4799  *  File name selection pattern
4800  */
4801 tSCC zSolaris_WidecList[] =
4802   "|widec.h|";
4804  *  Machine/OS name selection pattern
4805  */
4806 tSCC* apzSolaris_WidecMachs[] = {
4807         "*-*-solaris2.[0-5]",
4808         "*-*-solaris2.[0-5].*",
4809         (const char*)NULL };
4812  *  content selection pattern - do fix if pattern found
4813  */
4814 tSCC zSolaris_WidecSelect0[] =
4815        "#include <euc.h>";
4818  *  content bypass pattern - skip fix if pattern found
4819  */
4820 tSCC zSolaris_WidecBypass0[] =
4821        "include.*wchar\\.h";
4823 #define    SOLARIS_WIDEC_TEST_CT  2
4824 static tTestDesc aSolaris_WidecTests[] = {
4825   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
4826   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
4829  *  Fix Command Arguments for Solaris_Widec
4830  */
4831 static const char* apzSolaris_WidecPatch[] = {
4832     "format",
4833     "%0\n\
4834 #include <wchar.h>",
4835     (char*)NULL };
4837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4839  *  Description of Statsswtch fix
4840  */
4841 tSCC zStatsswtchName[] =
4842      "statsswtch";
4845  *  File name selection pattern
4846  */
4847 tSCC zStatsswtchList[] =
4848   "|rpcsvc/rstat.h|";
4850  *  Machine/OS name selection pattern
4851  */
4852 #define apzStatsswtchMachs (const char**)NULL
4855  *  content selection pattern - do fix if pattern found
4856  */
4857 tSCC zStatsswtchSelect0[] =
4858        "boottime$";
4860 #define    STATSSWTCH_TEST_CT  1
4861 static tTestDesc aStatsswtchTests[] = {
4862   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
4865  *  Fix Command Arguments for Statsswtch
4866  */
4867 static const char* apzStatsswtchPatch[] = {
4868     "format",
4869     "boottime;",
4870     (char*)NULL };
4872 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4874  *  Description of Stdio_Stdarg_H fix
4875  */
4876 tSCC zStdio_Stdarg_HName[] =
4877      "stdio_stdarg_h";
4880  *  File name selection pattern
4881  */
4882 tSCC zStdio_Stdarg_HList[] =
4883   "|stdio.h|";
4885  *  Machine/OS name selection pattern
4886  */
4887 #define apzStdio_Stdarg_HMachs (const char**)NULL
4890  *  content bypass pattern - skip fix if pattern found
4891  */
4892 tSCC zStdio_Stdarg_HBypass0[] =
4893        "include.*(stdarg.h|machine/ansi.h)";
4895 #define    STDIO_STDARG_H_TEST_CT  1
4896 static tTestDesc aStdio_Stdarg_HTests[] = {
4897   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4900  *  Fix Command Arguments for Stdio_Stdarg_H
4901  */
4902 static const char* apzStdio_Stdarg_HPatch[] = {
4903     "wrap",
4904     "#define __need___va_list\n\
4905 #include <stdarg.h>\n",
4906     (char*)NULL };
4908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4910  *  Description of Stdio_Va_List fix
4911  */
4912 tSCC zStdio_Va_ListName[] =
4913      "stdio_va_list";
4916  *  File name selection pattern
4917  */
4918 tSCC zStdio_Va_ListList[] =
4919   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
4921  *  Machine/OS name selection pattern
4922  */
4923 #define apzStdio_Va_ListMachs (const char**)NULL
4926  *  content bypass pattern - skip fix if pattern found
4927  */
4928 tSCC zStdio_Va_ListBypass0[] =
4929        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4931 #define    STDIO_VA_LIST_TEST_CT  1
4932 static tTestDesc aStdio_Va_ListTests[] = {
4933   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
4936  *  Fix Command Arguments for Stdio_Va_List
4937  */
4938 static const char* apzStdio_Va_ListPatch[] = { "sed",
4939     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4940 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4941 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4942 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4943 s@ va_list@ __not_va_list__@\n\
4944 s@\\*va_list@*__not_va_list__@\n\
4945 s@ __va_list)@ __gnuc_va_list)@\n\
4946 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4947 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4948 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4949 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
4950 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4951 s@VA_LIST@DUMMY_VA_LIST@\n\
4952 s@_Va_LIST@_VA_LIST@",
4953     (char*)NULL };
4955 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4957  *  Description of Stdio_Va_List_Clients fix
4958  */
4959 tSCC zStdio_Va_List_ClientsName[] =
4960      "stdio_va_list_clients";
4963  *  File name selection pattern
4964  */
4965 tSCC zStdio_Va_List_ClientsList[] =
4966   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
4968  *  Machine/OS name selection pattern
4969  */
4970 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
4973  *  content bypass pattern - skip fix if pattern found
4974  */
4975 tSCC zStdio_Va_List_ClientsBypass0[] =
4976        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4977 tSCC zStdio_Va_List_ClientsBypass1[] =
4978        "include <stdarg\\.h>|#ifdef va_start";
4980 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
4981 static tTestDesc aStdio_Va_List_ClientsTests[] = {
4982   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
4983   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
4986  *  Fix Command Arguments for Stdio_Va_List_Clients
4987  */
4988 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
4989     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
4990 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4991 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4992 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4993 s@ va_list@ __not_va_list__@\n\
4994 s@\\*va_list@*__not_va_list__@\n\
4995 s@ __va_list)@ __gnuc_va_list)@\n\
4996 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4997 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4998 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4999 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5000 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5001 s@VA_LIST@DUMMY_VA_LIST@\n\
5002 s@_Va_LIST@_VA_LIST@",
5003     (char*)NULL };
5005 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5007  *  Description of Strict_Ansi_Not fix
5008  */
5009 tSCC zStrict_Ansi_NotName[] =
5010      "strict_ansi_not";
5013  *  File name selection pattern
5014  */
5015 #define zStrict_Ansi_NotList (char*)NULL
5017  *  Machine/OS name selection pattern
5018  */
5019 #define apzStrict_Ansi_NotMachs (const char**)NULL
5022  *  content selection pattern - do fix if pattern found
5023  */
5024 tSCC zStrict_Ansi_NotSelect0[] =
5025        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5028  *  content bypass pattern - skip fix if pattern found
5029  */
5030 tSCC zStrict_Ansi_NotBypass0[] =
5031        "GNU and MIPS C compilers define __STDC__ differently";
5032 tSCC zStrict_Ansi_NotBypass1[] =
5033        "__SCO_VERSION__.*__STDC__ != 1";
5036  *  perform the C function call test
5037  */
5038 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5040 #define    STRICT_ANSI_NOT_TEST_CT  4
5041 static tTestDesc aStrict_Ansi_NotTests[] = {
5042   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5043   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5044   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5045   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5048  *  Fix Command Arguments for Strict_Ansi_Not
5049  */
5050 static const char* apzStrict_Ansi_NotPatch[] = {
5051     "format",
5052     "%1 !defined(__STRICT_ANSI__)",
5053     (char*)NULL };
5055 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5057  *  Description of Strict_Ansi_Not_Ctd fix
5058  */
5059 tSCC zStrict_Ansi_Not_CtdName[] =
5060      "strict_ansi_not_ctd";
5063  *  File name selection pattern
5064  */
5065 tSCC zStrict_Ansi_Not_CtdList[] =
5066   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5068  *  Machine/OS name selection pattern
5069  */
5070 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5073  *  content selection pattern - do fix if pattern found
5074  */
5075 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5076        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5079  *  perform the C function call test
5080  */
5081 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5083 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5084 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5085   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5086   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5089  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5090  */
5091 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5092     "format",
5093     "%1 !defined(__STRICT_ANSI__)",
5094     (char*)NULL };
5096 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5098  *  Description of Strict_Ansi_Only fix
5099  */
5100 tSCC zStrict_Ansi_OnlyName[] =
5101      "strict_ansi_only";
5104  *  File name selection pattern
5105  */
5106 #define zStrict_Ansi_OnlyList (char*)NULL
5108  *  Machine/OS name selection pattern
5109  */
5110 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5113  *  content selection pattern - do fix if pattern found
5114  */
5115 tSCC zStrict_Ansi_OnlySelect0[] =
5116        "^([ \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)";
5119  *  perform the C function call test
5120  */
5121 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5123 #define    STRICT_ANSI_ONLY_TEST_CT  2
5124 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5125   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5126   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5129  *  Fix Command Arguments for Strict_Ansi_Only
5130  */
5131 static const char* apzStrict_Ansi_OnlyPatch[] = {
5132     "format",
5133     "%1 defined(__STRICT_ANSI__)",
5134     (char*)NULL };
5136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5138  *  Description of Struct_File fix
5139  */
5140 tSCC zStruct_FileName[] =
5141      "struct_file";
5144  *  File name selection pattern
5145  */
5146 tSCC zStruct_FileList[] =
5147   "|rpc/xdr.h|";
5149  *  Machine/OS name selection pattern
5150  */
5151 #define apzStruct_FileMachs (const char**)NULL
5154  *  content selection pattern - do fix if pattern found
5155  */
5156 tSCC zStruct_FileSelect0[] =
5157        "^.*xdrstdio_create.*struct __file_s";
5159 #define    STRUCT_FILE_TEST_CT  1
5160 static tTestDesc aStruct_FileTests[] = {
5161   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5164  *  Fix Command Arguments for Struct_File
5165  */
5166 static const char* apzStruct_FilePatch[] = {
5167     "format",
5168     "struct __file_s;\n\
5169 %0",
5170     (char*)NULL };
5172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5174  *  Description of Struct_Sockaddr fix
5175  */
5176 tSCC zStruct_SockaddrName[] =
5177      "struct_sockaddr";
5180  *  File name selection pattern
5181  */
5182 tSCC zStruct_SockaddrList[] =
5183   "|rpc/auth.h|";
5185  *  Machine/OS name selection pattern
5186  */
5187 #define apzStruct_SockaddrMachs (const char**)NULL
5190  *  content selection pattern - do fix if pattern found
5191  */
5192 tSCC zStruct_SockaddrSelect0[] =
5193        "^.*authdes_create.*struct sockaddr[^_]";
5196  *  content bypass pattern - skip fix if pattern found
5197  */
5198 tSCC zStruct_SockaddrBypass0[] =
5199        "<sys/socket.h>";
5200 tSCC zStruct_SockaddrBypass1[] =
5201        "struct sockaddr;\n";
5203 #define    STRUCT_SOCKADDR_TEST_CT  3
5204 static tTestDesc aStruct_SockaddrTests[] = {
5205   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5206   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5207   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5210  *  Fix Command Arguments for Struct_Sockaddr
5211  */
5212 static const char* apzStruct_SockaddrPatch[] = {
5213     "format",
5214     "struct sockaddr;\n\
5215 %0",
5216     (char*)NULL };
5218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5220  *  Description of Sun_Auth_Proto fix
5221  */
5222 tSCC zSun_Auth_ProtoName[] =
5223      "sun_auth_proto";
5226  *  File name selection pattern
5227  */
5228 tSCC zSun_Auth_ProtoList[] =
5229   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5231  *  Machine/OS name selection pattern
5232  */
5233 #define apzSun_Auth_ProtoMachs (const char**)NULL
5236  *  content selection pattern - do fix if pattern found
5237  */
5238 tSCC zSun_Auth_ProtoSelect0[] =
5239        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5241 #define    SUN_AUTH_PROTO_TEST_CT  1
5242 static tTestDesc aSun_Auth_ProtoTests[] = {
5243   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5246  *  Fix Command Arguments for Sun_Auth_Proto
5247  */
5248 static const char* apzSun_Auth_ProtoPatch[] = {
5249     "format",
5250     "#ifdef __cplusplus\n\
5251 %1(...);%2\n\
5252 #else\n\
5253 %1();%2\n\
5254 #endif",
5255     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5256     (char*)NULL };
5258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5260  *  Description of Sun_Bogus_Ifdef fix
5261  */
5262 tSCC zSun_Bogus_IfdefName[] =
5263      "sun_bogus_ifdef";
5266  *  File name selection pattern
5267  */
5268 tSCC zSun_Bogus_IfdefList[] =
5269   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5271  *  Machine/OS name selection pattern
5272  */
5273 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5276  *  content selection pattern - do fix if pattern found
5277  */
5278 tSCC zSun_Bogus_IfdefSelect0[] =
5279        "#ifdef(.*\\|\\|.*)";
5281 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5282 static tTestDesc aSun_Bogus_IfdefTests[] = {
5283   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5286  *  Fix Command Arguments for Sun_Bogus_Ifdef
5287  */
5288 static const char* apzSun_Bogus_IfdefPatch[] = {
5289     "format",
5290     "#if%1",
5291     (char*)NULL };
5293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5295  *  Description of Sun_Catmacro fix
5296  */
5297 tSCC zSun_CatmacroName[] =
5298      "sun_catmacro";
5301  *  File name selection pattern
5302  */
5303 tSCC zSun_CatmacroList[] =
5304   "|pixrect/memvar.h|";
5306  *  Machine/OS name selection pattern
5307  */
5308 #define apzSun_CatmacroMachs (const char**)NULL
5311  *  content selection pattern - do fix if pattern found
5312  */
5313 tSCC zSun_CatmacroSelect0[] =
5314        "^#define[ \t]+CAT\\(a,b\\).*";
5316 #define    SUN_CATMACRO_TEST_CT  1
5317 static tTestDesc aSun_CatmacroTests[] = {
5318   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
5321  *  Fix Command Arguments for Sun_Catmacro
5322  */
5323 static const char* apzSun_CatmacroPatch[] = {
5324     "format",
5325     "#ifdef __STDC__\n\
5326 #  define CAT(a,b) a##b\n\
5327 #else\n\
5328 %0\n\
5329 #endif",
5330     (char*)NULL };
5332 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5334  *  Description of Sun_Malloc fix
5335  */
5336 tSCC zSun_MallocName[] =
5337      "sun_malloc";
5340  *  File name selection pattern
5341  */
5342 tSCC zSun_MallocList[] =
5343   "|malloc.h|";
5345  *  Machine/OS name selection pattern
5346  */
5347 #define apzSun_MallocMachs (const char**)NULL
5348 #define SUN_MALLOC_TEST_CT  0
5349 #define aSun_MallocTests   (tTestDesc*)NULL
5352  *  Fix Command Arguments for Sun_Malloc
5353  */
5354 static const char* apzSun_MallocPatch[] = { "sed",
5355     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
5356     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
5357     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
5358     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
5359     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
5360     (char*)NULL };
5362 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5364  *  Description of Sun_Rusers_Semi fix
5365  */
5366 tSCC zSun_Rusers_SemiName[] =
5367      "sun_rusers_semi";
5370  *  File name selection pattern
5371  */
5372 tSCC zSun_Rusers_SemiList[] =
5373   "|rpcsvc/rusers.h|";
5375  *  Machine/OS name selection pattern
5376  */
5377 #define apzSun_Rusers_SemiMachs (const char**)NULL
5380  *  content selection pattern - do fix if pattern found
5381  */
5382 tSCC zSun_Rusers_SemiSelect0[] =
5383        "_cnt$";
5385 #define    SUN_RUSERS_SEMI_TEST_CT  1
5386 static tTestDesc aSun_Rusers_SemiTests[] = {
5387   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
5390  *  Fix Command Arguments for Sun_Rusers_Semi
5391  */
5392 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
5393     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
5394     (char*)NULL };
5396 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5398  *  Description of Sun_Signal fix
5399  */
5400 tSCC zSun_SignalName[] =
5401      "sun_signal";
5404  *  File name selection pattern
5405  */
5406 tSCC zSun_SignalList[] =
5407   "|sys/signal.h|signal.h|";
5409  *  Machine/OS name selection pattern
5410  */
5411 #define apzSun_SignalMachs (const char**)NULL
5414  *  content selection pattern - do fix if pattern found
5415  */
5416 tSCC zSun_SignalSelect0[] =
5417        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
5419 #define    SUN_SIGNAL_TEST_CT  1
5420 static tTestDesc aSun_SignalTests[] = {
5421   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
5424  *  Fix Command Arguments for Sun_Signal
5425  */
5426 static const char* apzSun_SignalPatch[] = {
5427     "format",
5428     "#ifdef __cplusplus\n\
5429 void\t(*signal(...))(...);\n\
5430 #else\n\
5431 %0\n\
5432 #endif",
5433     (char*)NULL };
5435 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5437  *  Description of Sunos_Strlen fix
5438  */
5439 tSCC zSunos_StrlenName[] =
5440      "sunos_strlen";
5443  *  File name selection pattern
5444  */
5445 tSCC zSunos_StrlenList[] =
5446   "|strings.h|";
5448  *  Machine/OS name selection pattern
5449  */
5450 #define apzSunos_StrlenMachs (const char**)NULL
5453  *  content selection pattern - do fix if pattern found
5454  */
5455 tSCC zSunos_StrlenSelect0[] =
5456        "int[ \t]*strlen\\(\\);(.*)";
5458 #define    SUNOS_STRLEN_TEST_CT  1
5459 static tTestDesc aSunos_StrlenTests[] = {
5460   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
5463  *  Fix Command Arguments for Sunos_Strlen
5464  */
5465 static const char* apzSunos_StrlenPatch[] = {
5466     "format",
5467     "__SIZE_TYPE__ strlen();%1",
5468     (char*)NULL };
5470 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5472  *  Description of Svr4__P fix
5473  */
5474 tSCC zSvr4__PName[] =
5475      "svr4__p";
5478  *  File name selection pattern
5479  */
5480 tSCC zSvr4__PList[] =
5481   "|math.h|floatingpoint.h|";
5483  *  Machine/OS name selection pattern
5484  */
5485 #define apzSvr4__PMachs (const char**)NULL
5488  *  content selection pattern - do fix if pattern found
5489  */
5490 tSCC zSvr4__PSelect0[] =
5491        "^#define[ \t]+__P.*";
5493 #define    SVR4__P_TEST_CT  1
5494 static tTestDesc aSvr4__PTests[] = {
5495   { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
5498  *  Fix Command Arguments for Svr4__P
5499  */
5500 static const char* apzSvr4__PPatch[] = {
5501     "format",
5502     "#ifndef __P\n\
5503 %0\n\
5504 #endif",
5505     (char*)NULL };
5507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5509  *  Description of Svr4_Disable_Opt fix
5510  */
5511 tSCC zSvr4_Disable_OptName[] =
5512      "svr4_disable_opt";
5515  *  File name selection pattern
5516  */
5517 tSCC zSvr4_Disable_OptList[] =
5518   "|string.h|";
5520  *  Machine/OS name selection pattern
5521  */
5522 #define apzSvr4_Disable_OptMachs (const char**)NULL
5525  *  content selection pattern - do fix if pattern found
5526  */
5527 tSCC zSvr4_Disable_OptSelect0[] =
5528        "#define.*__std_hdr_";
5530 #define    SVR4_DISABLE_OPT_TEST_CT  1
5531 static tTestDesc aSvr4_Disable_OptTests[] = {
5532   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
5535  *  Fix Command Arguments for Svr4_Disable_Opt
5536  */
5537 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
5538     "-e", "/#define.*__std_hdr_/d",
5539     (char*)NULL };
5541 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5543  *  Description of Svr4_Getcwd fix
5544  */
5545 tSCC zSvr4_GetcwdName[] =
5546      "svr4_getcwd";
5549  *  File name selection pattern
5550  */
5551 tSCC zSvr4_GetcwdList[] =
5552   "|stdlib.h|unistd.h|prototypes.h|";
5554  *  Machine/OS name selection pattern
5555  */
5556 #define apzSvr4_GetcwdMachs (const char**)NULL
5559  *  content selection pattern - do fix if pattern found
5560  */
5561 tSCC zSvr4_GetcwdSelect0[] =
5562        "getcwd\\(char \\*, int\\)";
5564 #define    SVR4_GETCWD_TEST_CT  1
5565 static tTestDesc aSvr4_GetcwdTests[] = {
5566   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
5569  *  Fix Command Arguments for Svr4_Getcwd
5570  */
5571 static const char* apzSvr4_GetcwdPatch[] = {
5572     "format",
5573     "getcwd(char *, size_t)",
5574     (char*)NULL };
5576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5578  *  Description of Svr4_Krnl fix
5579  */
5580 tSCC zSvr4_KrnlName[] =
5581      "svr4_krnl";
5584  *  File name selection pattern
5585  */
5586 tSCC zSvr4_KrnlList[] =
5587   "|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|";
5589  *  Machine/OS name selection pattern
5590  */
5591 tSCC* apzSvr4_KrnlMachs[] = {
5592         "*-*-sysv4*",
5593         "i?86-sequent-ptx*",
5594         (const char*)NULL };
5597  *  content bypass pattern - skip fix if pattern found
5598  */
5599 tSCC zSvr4_KrnlBypass0[] =
5600        "_KERNEL";
5602 #define    SVR4_KRNL_TEST_CT  1
5603 static tTestDesc aSvr4_KrnlTests[] = {
5604   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
5607  *  Fix Command Arguments for Svr4_Krnl
5608  */
5609 static const char* apzSvr4_KrnlPatch[] = {
5610     "wrap",
5611     "#ifdef _KERNEL\n",
5612     "#endif /* _KERNEL */\n",
5613     (char*)NULL };
5615 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5617  *  Description of Svr4_Profil fix
5618  */
5619 tSCC zSvr4_ProfilName[] =
5620      "svr4_profil";
5623  *  File name selection pattern
5624  */
5625 tSCC zSvr4_ProfilList[] =
5626   "|stdlib.h|unistd.h|";
5628  *  Machine/OS name selection pattern
5629  */
5630 #define apzSvr4_ProfilMachs (const char**)NULL
5633  *  content selection pattern - do fix if pattern found
5634  */
5635 tSCC zSvr4_ProfilSelect0[] =
5636        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
5639  *  content bypass pattern - skip fix if pattern found
5640  */
5641 tSCC zSvr4_ProfilBypass0[] =
5642        "Silicon Graphics";
5644 #define    SVR4_PROFIL_TEST_CT  2
5645 static tTestDesc aSvr4_ProfilTests[] = {
5646   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
5647   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
5650  *  Fix Command Arguments for Svr4_Profil
5651  */
5652 static const char* apzSvr4_ProfilPatch[] = {
5653     "format",
5654     "profil(unsigned short *, size_t, int, unsigned int)",
5655     (char*)NULL };
5657 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5659  *  Description of Svr4_Sighandler_Type fix
5660  */
5661 tSCC zSvr4_Sighandler_TypeName[] =
5662      "svr4_sighandler_type";
5665  *  File name selection pattern
5666  */
5667 tSCC zSvr4_Sighandler_TypeList[] =
5668   "|sys/signal.h|";
5670  *  Machine/OS name selection pattern
5671  */
5672 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
5675  *  content selection pattern - do fix if pattern found
5676  */
5677 tSCC zSvr4_Sighandler_TypeSelect0[] =
5678        "void *\\(\\*\\)\\(\\)";
5680 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
5681 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
5682   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
5685  *  Fix Command Arguments for Svr4_Sighandler_Type
5686  */
5687 static const char* apzSvr4_Sighandler_TypePatch[] = {
5688     "format",
5689     "void (*)(int)",
5690     (char*)NULL };
5692 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5694  *  Description of Svr4_Undeclared_Getrnge fix
5695  */
5696 tSCC zSvr4_Undeclared_GetrngeName[] =
5697      "svr4_undeclared_getrnge";
5700  *  File name selection pattern
5701  */
5702 tSCC zSvr4_Undeclared_GetrngeList[] =
5703   "|regexp.h|";
5705  *  Machine/OS name selection pattern
5706  */
5707 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
5710  *  content selection pattern - do fix if pattern found
5711  */
5712 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
5713        "getrnge";
5716  *  content bypass pattern - skip fix if pattern found
5717  */
5718 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
5719        "static void getrnge";
5721 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
5722 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
5723   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
5724   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
5727  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
5728  */
5729 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
5730     "format",
5731     "%0\n\
5732 static int getrnge ();",
5733     "^static int[ \t]+size;",
5734     (char*)NULL };
5736 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5738  *  Description of Sysv68_String fix
5739  */
5740 tSCC zSysv68_StringName[] =
5741      "sysv68_string";
5744  *  File name selection pattern
5745  */
5746 tSCC zSysv68_StringList[] =
5747   "|testing.h|string.h|";
5749  *  Machine/OS name selection pattern
5750  */
5751 #define apzSysv68_StringMachs (const char**)NULL
5752 #define SYSV68_STRING_TEST_CT  0
5753 #define aSysv68_StringTests   (tTestDesc*)NULL
5756  *  Fix Command Arguments for Sysv68_String
5757  */
5758 static const char* apzSysv68_StringPatch[] = { "sed",
5759     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
5760     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
5761     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
5762     "-e", "/^extern char$/N",
5763     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
5764     "-e", "/^extern int$/N",
5765     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
5766     "-e", "/^\tstrncmp(),$/N",
5767     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
5768 extern unsigned int\\\n\
5769 \\2/",
5770     (char*)NULL };
5772 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5774  *  Description of Sysz_Stdlib_For_Sun fix
5775  */
5776 tSCC zSysz_Stdlib_For_SunName[] =
5777      "sysz_stdlib_for_sun";
5780  *  File name selection pattern
5781  */
5782 tSCC zSysz_Stdlib_For_SunList[] =
5783   "|stdlib.h|";
5785  *  Machine/OS name selection pattern
5786  */
5787 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
5790  *  content selection pattern - do fix if pattern found
5791  */
5792 tSCC zSysz_Stdlib_For_SunSelect0[] =
5793        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
5795 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
5796 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5797   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5800  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
5801  */
5802 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5803     "format",
5804     "void *\t%1(",
5805     (char*)NULL };
5807 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5809  *  Description of Thread_Keyword fix
5810  */
5811 tSCC zThread_KeywordName[] =
5812      "thread_keyword";
5815  *  File name selection pattern
5816  */
5817 tSCC zThread_KeywordList[] =
5818   "|pthread.h|bits/sigthread.h|";
5820  *  Machine/OS name selection pattern
5821  */
5822 #define apzThread_KeywordMachs (const char**)NULL
5825  *  content selection pattern - do fix if pattern found
5826  */
5827 tSCC zThread_KeywordSelect0[] =
5828        "([* ])__thread([,)])";
5830 #define    THREAD_KEYWORD_TEST_CT  1
5831 static tTestDesc aThread_KeywordTests[] = {
5832   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
5835  *  Fix Command Arguments for Thread_Keyword
5836  */
5837 static const char* apzThread_KeywordPatch[] = {
5838     "format",
5839     "%1__thr%2",
5840     (char*)NULL };
5842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5844  *  Description of Tinfo_Cplusplus fix
5845  */
5846 tSCC zTinfo_CplusplusName[] =
5847      "tinfo_cplusplus";
5850  *  File name selection pattern
5851  */
5852 tSCC zTinfo_CplusplusList[] =
5853   "|tinfo.h|";
5855  *  Machine/OS name selection pattern
5856  */
5857 #define apzTinfo_CplusplusMachs (const char**)NULL
5860  *  content selection pattern - do fix if pattern found
5861  */
5862 tSCC zTinfo_CplusplusSelect0[] =
5863        "[ \t]_cplusplus";
5865 #define    TINFO_CPLUSPLUS_TEST_CT  1
5866 static tTestDesc aTinfo_CplusplusTests[] = {
5867   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5870  *  Fix Command Arguments for Tinfo_Cplusplus
5871  */
5872 static const char* apzTinfo_CplusplusPatch[] = {
5873     "format",
5874     " __cplusplus",
5875     (char*)NULL };
5877 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5879  *  Description of Ultrix_Atexit_Param fix
5880  */
5881 tSCC zUltrix_Atexit_ParamName[] =
5882      "ultrix_atexit_param";
5885  *  File name selection pattern
5886  */
5887 tSCC zUltrix_Atexit_ParamList[] =
5888   "|stdlib.h|";
5890  *  Machine/OS name selection pattern
5891  */
5892 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5895  *  content selection pattern - do fix if pattern found
5896  */
5897 tSCC zUltrix_Atexit_ParamSelect0[] =
5898        "atexit\\(.*\\(\\)";
5900 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
5901 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5902   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5905  *  Fix Command Arguments for Ultrix_Atexit_Param
5906  */
5907 static const char* apzUltrix_Atexit_ParamPatch[] = {
5908     "format",
5909     "atexit( void (*__func)( void )",
5910     (char*)NULL };
5912 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5914  *  Description of Ultrix_Atof_Param fix
5915  */
5916 tSCC zUltrix_Atof_ParamName[] =
5917      "ultrix_atof_param";
5920  *  File name selection pattern
5921  */
5922 tSCC zUltrix_Atof_ParamList[] =
5923   "|math.h|";
5925  *  Machine/OS name selection pattern
5926  */
5927 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5930  *  content selection pattern - do fix if pattern found
5931  */
5932 tSCC zUltrix_Atof_ParamSelect0[] =
5933        "atof\\([ \t]*char";
5935 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
5936 static tTestDesc aUltrix_Atof_ParamTests[] = {
5937   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5940  *  Fix Command Arguments for Ultrix_Atof_Param
5941  */
5942 static const char* apzUltrix_Atof_ParamPatch[] = {
5943     "format",
5944     "atof(const char",
5945     (char*)NULL };
5947 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5949  *  Description of Ultrix_Const fix
5950  */
5951 tSCC zUltrix_ConstName[] =
5952      "ultrix_const";
5955  *  File name selection pattern
5956  */
5957 tSCC zUltrix_ConstList[] =
5958   "|stdio.h|";
5960  *  Machine/OS name selection pattern
5961  */
5962 #define apzUltrix_ConstMachs (const char**)NULL
5965  *  content selection pattern - do fix if pattern found
5966  */
5967 tSCC zUltrix_ConstSelect0[] =
5968        "perror\\( char \\*";
5970 #define    ULTRIX_CONST_TEST_CT  1
5971 static tTestDesc aUltrix_ConstTests[] = {
5972   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
5975  *  Fix Command Arguments for Ultrix_Const
5976  */
5977 static const char* apzUltrix_ConstPatch[] = {
5978     "format",
5979     "%1 const %3 *__",
5980     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5981     (char*)NULL };
5983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5985  *  Description of Ultrix_Const2 fix
5986  */
5987 tSCC zUltrix_Const2Name[] =
5988      "ultrix_const2";
5991  *  File name selection pattern
5992  */
5993 tSCC zUltrix_Const2List[] =
5994   "|stdio.h|";
5996  *  Machine/OS name selection pattern
5997  */
5998 #define apzUltrix_Const2Machs (const char**)NULL
6001  *  content selection pattern - do fix if pattern found
6002  */
6003 tSCC zUltrix_Const2Select0[] =
6004        "\\*fopen\\( char \\*";
6006 #define    ULTRIX_CONST2_TEST_CT  1
6007 static tTestDesc aUltrix_Const2Tests[] = {
6008   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6011  *  Fix Command Arguments for Ultrix_Const2
6012  */
6013 static const char* apzUltrix_Const2Patch[] = {
6014     "format",
6015     "%1( const char *%3, const char *",
6016     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6017     (char*)NULL };
6019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6021  *  Description of Ultrix_Const3 fix
6022  */
6023 tSCC zUltrix_Const3Name[] =
6024      "ultrix_const3";
6027  *  File name selection pattern
6028  */
6029 tSCC zUltrix_Const3List[] =
6030   "|stdio.h|";
6032  *  Machine/OS name selection pattern
6033  */
6034 #define apzUltrix_Const3Machs (const char**)NULL
6037  *  content selection pattern - do fix if pattern found
6038  */
6039 tSCC zUltrix_Const3Select0[] =
6040        "fdopen\\( .*, char \\*";
6042 #define    ULTRIX_CONST3_TEST_CT  1
6043 static tTestDesc aUltrix_Const3Tests[] = {
6044   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6047  *  Fix Command Arguments for Ultrix_Const3
6048  */
6049 static const char* apzUltrix_Const3Patch[] = {
6050     "format",
6051     "%1 const %3 *__",
6052     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6053     (char*)NULL };
6055 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6057  *  Description of Ultrix_Fix_Fixproto fix
6058  */
6059 tSCC zUltrix_Fix_FixprotoName[] =
6060      "ultrix_fix_fixproto";
6063  *  File name selection pattern
6064  */
6065 tSCC zUltrix_Fix_FixprotoList[] =
6066   "|sys/utsname.h|";
6068  *  Machine/OS name selection pattern
6069  */
6070 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6073  *  content selection pattern - do fix if pattern found
6074  */
6075 tSCC zUltrix_Fix_FixprotoSelect0[] =
6076        "ULTRIX";
6078 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6079 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6080   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6083  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6084  */
6085 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6086     "format",
6087     "struct utsname;\n\
6088 %0",
6089     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6090     (char*)NULL };
6092 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6094  *  Description of Ultrix_Ifdef fix
6095  */
6096 tSCC zUltrix_IfdefName[] =
6097      "ultrix_ifdef";
6100  *  File name selection pattern
6101  */
6102 tSCC zUltrix_IfdefList[] =
6103   "|sys/file.h|";
6105  *  Machine/OS name selection pattern
6106  */
6107 #define apzUltrix_IfdefMachs (const char**)NULL
6110  *  content selection pattern - do fix if pattern found
6111  */
6112 tSCC zUltrix_IfdefSelect0[] =
6113        "^#ifdef KERNEL[ \t]+&&";
6115 #define    ULTRIX_IFDEF_TEST_CT  1
6116 static tTestDesc aUltrix_IfdefTests[] = {
6117   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6120  *  Fix Command Arguments for Ultrix_Ifdef
6121  */
6122 static const char* apzUltrix_IfdefPatch[] = {
6123     "format",
6124     "#if defined(KERNEL) &&",
6125     (char*)NULL };
6127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6129  *  Description of Ultrix_Locale fix
6130  */
6131 tSCC zUltrix_LocaleName[] =
6132      "ultrix_locale";
6135  *  File name selection pattern
6136  */
6137 tSCC zUltrix_LocaleList[] =
6138   "|locale.h|";
6140  *  Machine/OS name selection pattern
6141  */
6142 #define apzUltrix_LocaleMachs (const char**)NULL
6145  *  content selection pattern - do fix if pattern found
6146  */
6147 tSCC zUltrix_LocaleSelect0[] =
6148        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6150 #define    ULTRIX_LOCALE_TEST_CT  1
6151 static tTestDesc aUltrix_LocaleTests[] = {
6152   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6155  *  Fix Command Arguments for Ultrix_Locale
6156  */
6157 static const char* apzUltrix_LocalePatch[] = {
6158     "wrap",
6159     (char*)NULL };
6161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6163  *  Description of Ultrix_Math_Ifdef fix
6164  */
6165 tSCC zUltrix_Math_IfdefName[] =
6166      "ultrix_math_ifdef";
6169  *  File name selection pattern
6170  */
6171 tSCC zUltrix_Math_IfdefList[] =
6172   "|sys/limits.h|float.h|math.h|";
6174  *  Machine/OS name selection pattern
6175  */
6176 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6179  *  content selection pattern - do fix if pattern found
6180  */
6181 tSCC zUltrix_Math_IfdefSelect0[] =
6182        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6184 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6185 static tTestDesc aUltrix_Math_IfdefTests[] = {
6186   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6189  *  Fix Command Arguments for Ultrix_Math_Ifdef
6190  */
6191 static const char* apzUltrix_Math_IfdefPatch[] = {
6192     "format",
6193     "%1",
6194     (char*)NULL };
6196 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6198  *  Description of Ultrix_Nested_Ioctl fix
6199  */
6200 tSCC zUltrix_Nested_IoctlName[] =
6201      "ultrix_nested_ioctl";
6204  *  File name selection pattern
6205  */
6206 tSCC zUltrix_Nested_IoctlList[] =
6207   "|sys/ioctl.h|";
6209  *  Machine/OS name selection pattern
6210  */
6211 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6214  *  content selection pattern - do fix if pattern found
6215  */
6216 tSCC zUltrix_Nested_IoctlSelect0[] =
6217        "^/\\* #define SIOCSCREEN";
6219 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6220 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6221   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6224  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6225  */
6226 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6227     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6228     (char*)NULL };
6230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6232  *  Description of Ultrix_Nested_Svc fix
6233  */
6234 tSCC zUltrix_Nested_SvcName[] =
6235      "ultrix_nested_svc";
6238  *  File name selection pattern
6239  */
6240 tSCC zUltrix_Nested_SvcList[] =
6241   "|rpc/svc.h|";
6243  *  Machine/OS name selection pattern
6244  */
6245 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6248  *  content selection pattern - do fix if pattern found
6249  */
6250 tSCC zUltrix_Nested_SvcSelect0[] =
6251        "^ \\*[ \t]*int protocol;  */\\*";
6253 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6254 static tTestDesc aUltrix_Nested_SvcTests[] = {
6255   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6258  *  Fix Command Arguments for Ultrix_Nested_Svc
6259  */
6260 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6261     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6262     (char*)NULL };
6264 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6266  *  Description of Ultrix_Stat fix
6267  */
6268 tSCC zUltrix_StatName[] =
6269      "ultrix_stat";
6272  *  File name selection pattern
6273  */
6274 tSCC zUltrix_StatList[] =
6275   "|sys/stat.h|";
6277  *  Machine/OS name selection pattern
6278  */
6279 #define apzUltrix_StatMachs (const char**)NULL
6282  *  content selection pattern - do fix if pattern found
6283  */
6284 tSCC zUltrix_StatSelect0[] =
6285        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6287 #define    ULTRIX_STAT_TEST_CT  1
6288 static tTestDesc aUltrix_StatTests[] = {
6289   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6292  *  Fix Command Arguments for Ultrix_Stat
6293  */
6294 static const char* apzUltrix_StatPatch[] = { "sed",
6295     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6296 \\\n\
6297 /* macro to test for symbolic link */\\\n\
6298 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6299     "-e", "/^[ \t]*fstat(),$/a\\\n\
6300 \tlstat(),\n",
6301     (char*)NULL };
6303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6305  *  Description of Ultrix_Static fix
6306  */
6307 tSCC zUltrix_StaticName[] =
6308      "ultrix_static";
6311  *  File name selection pattern
6312  */
6313 tSCC zUltrix_StaticList[] =
6314   "|machine/cpu.h|";
6316  *  Machine/OS name selection pattern
6317  */
6318 #define apzUltrix_StaticMachs (const char**)NULL
6321  *  content selection pattern - do fix if pattern found
6322  */
6323 tSCC zUltrix_StaticSelect0[] =
6324        "#include \"r[34]_cpu";
6326 #define    ULTRIX_STATIC_TEST_CT  1
6327 static tTestDesc aUltrix_StaticTests[] = {
6328   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
6331  *  Fix Command Arguments for Ultrix_Static
6332  */
6333 static const char* apzUltrix_StaticPatch[] = { "sed",
6334     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
6335     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
6336     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
6337     (char*)NULL };
6339 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6341  *  Description of Ultrix_Stdlib fix
6342  */
6343 tSCC zUltrix_StdlibName[] =
6344      "ultrix_stdlib";
6347  *  File name selection pattern
6348  */
6349 tSCC zUltrix_StdlibList[] =
6350   "|stdlib.h|";
6352  *  Machine/OS name selection pattern
6353  */
6354 #define apzUltrix_StdlibMachs (const char**)NULL
6357  *  content selection pattern - do fix if pattern found
6358  */
6359 tSCC zUltrix_StdlibSelect0[] =
6360        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
6362 #define    ULTRIX_STDLIB_TEST_CT  1
6363 static tTestDesc aUltrix_StdlibTests[] = {
6364   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
6367  *  Fix Command Arguments for Ultrix_Stdlib
6368  */
6369 static const char* apzUltrix_StdlibPatch[] = { "sed",
6370     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
6371 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
6372 void\t\tunsetenv( const char *__name );\\\n\
6373 int\t\tputenv( char *__s );\n",
6374     "-e", "/^char.*getenv();.*$/a\\\n\
6375 int\tsetenv();\\\n\
6376 void\tunsetenv();\\\n\
6377 int\tputenv();\n",
6378     (char*)NULL };
6380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6382  *  Description of Ultrix_Strings fix
6383  */
6384 tSCC zUltrix_StringsName[] =
6385      "ultrix_strings";
6388  *  File name selection pattern
6389  */
6390 tSCC zUltrix_StringsList[] =
6391   "|strings.h|";
6393  *  Machine/OS name selection pattern
6394  */
6395 #define apzUltrix_StringsMachs (const char**)NULL
6398  *  content selection pattern - do fix if pattern found
6399  */
6400 tSCC zUltrix_StringsSelect0[] =
6401        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6403 #define    ULTRIX_STRINGS_TEST_CT  1
6404 static tTestDesc aUltrix_StringsTests[] = {
6405   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
6408  *  Fix Command Arguments for Ultrix_Strings
6409  */
6410 static const char* apzUltrix_StringsPatch[] = {
6411     "wrap",
6412     (char*)NULL };
6414 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6416  *  Description of Ultrix_Strings2 fix
6417  */
6418 tSCC zUltrix_Strings2Name[] =
6419      "ultrix_strings2";
6422  *  File name selection pattern
6423  */
6424 tSCC zUltrix_Strings2List[] =
6425   "|strings.h|";
6427  *  Machine/OS name selection pattern
6428  */
6429 #define apzUltrix_Strings2Machs (const char**)NULL
6432  *  content selection pattern - do fix if pattern found
6433  */
6434 tSCC zUltrix_Strings2Select0[] =
6435        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
6437 #define    ULTRIX_STRINGS2_TEST_CT  1
6438 static tTestDesc aUltrix_Strings2Tests[] = {
6439   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
6442  *  Fix Command Arguments for Ultrix_Strings2
6443  */
6444 static const char* apzUltrix_Strings2Patch[] = { "sed",
6445     "-e", "/^.*strncmp( const .* );.*/a\\\n\
6446 \\\n\
6447 extern int\\\n\
6448 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
6449 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
6450     "-e", "/^.*strncmp();.*/a\\\n\
6451 extern int\\\n\
6452 \tstrcasecmp(),\\\n\
6453 \tstrncasecmp();\n",
6454     (char*)NULL };
6456 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6458  *  Description of Ultrix_Sys_Time fix
6459  */
6460 tSCC zUltrix_Sys_TimeName[] =
6461      "ultrix_sys_time";
6464  *  File name selection pattern
6465  */
6466 tSCC zUltrix_Sys_TimeList[] =
6467   "|sys/time.h|";
6469  *  Machine/OS name selection pattern
6470  */
6471 #define apzUltrix_Sys_TimeMachs (const char**)NULL
6474  *  content selection pattern - do fix if pattern found
6475  */
6476 tSCC zUltrix_Sys_TimeSelect0[] =
6477        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
6479 #define    ULTRIX_SYS_TIME_TEST_CT  1
6480 static tTestDesc aUltrix_Sys_TimeTests[] = {
6481   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
6484  *  Fix Command Arguments for Ultrix_Sys_Time
6485  */
6486 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
6487     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
6488 \\\n\
6489 extern int adjtime(struct timeval *, struct timeval *);\\\n\
6490 extern int getitimer(int, struct itimerval *);\\\n\
6491 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
6492 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
6493 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
6494 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
6495 extern int stime(const time_t *);\\\n\
6496 extern int utimes(const char *, const struct timeval[2]);\\\n\
6497 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
6498     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
6499 extern\tint adjtime();\\\n\
6500 extern\tint getitimer();\\\n\
6501 extern\tint setitimer();\\\n\
6502 extern\tint gettimeofday();\\\n\
6503 extern\tint settimeofday();\\\n\
6504 extern\tvoid profil();\\\n\
6505 extern\tint stime();\\\n\
6506 extern\tint utimes();\\\n\
6507 extern\tint select();\n",
6508     (char*)NULL };
6510 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6512  *  Description of Ultrix_Unistd fix
6513  */
6514 tSCC zUltrix_UnistdName[] =
6515      "ultrix_unistd";
6518  *  File name selection pattern
6519  */
6520 tSCC zUltrix_UnistdList[] =
6521   "|unistd.h|";
6523  *  Machine/OS name selection pattern
6524  */
6525 #define apzUltrix_UnistdMachs (const char**)NULL
6528  *  content selection pattern - do fix if pattern found
6529  */
6530 tSCC zUltrix_UnistdSelect0[] =
6531        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
6533 #define    ULTRIX_UNISTD_TEST_CT  1
6534 static tTestDesc aUltrix_UnistdTests[] = {
6535   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
6538  *  Fix Command Arguments for Ultrix_Unistd
6539  */
6540 static const char* apzUltrix_UnistdPatch[] = { "sed",
6541     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
6542 \tgetpagesize(),\n",
6543     "-e", "/^[ \t]*fork(),.*$/a\\\n\
6544 \tvfork(),\n",
6545     (char*)NULL };
6547 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6549  *  Description of Undefine_Null fix
6550  */
6551 tSCC zUndefine_NullName[] =
6552      "undefine_null";
6555  *  File name selection pattern
6556  */
6557 #define zUndefine_NullList (char*)NULL
6559  *  Machine/OS name selection pattern
6560  */
6561 #define apzUndefine_NullMachs (const char**)NULL
6564  *  content selection pattern - do fix if pattern found
6565  */
6566 tSCC zUndefine_NullSelect0[] =
6567        "^#[ \t]*define[ \t]+NULL[ \t]";
6570  *  content bypass pattern - skip fix if pattern found
6571  */
6572 tSCC zUndefine_NullBypass0[] =
6573        "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
6575 #define    UNDEFINE_NULL_TEST_CT  2
6576 static tTestDesc aUndefine_NullTests[] = {
6577   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
6578   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
6581  *  Fix Command Arguments for Undefine_Null
6582  */
6583 static const char* apzUndefine_NullPatch[] = {
6584     "format",
6585     "#ifndef NULL\n\
6586 #define NULL%1\n\
6587 #endif\n",
6588     "^#[ \t]*define[ \t]+NULL([^\r\n\
6589 ]+)[\r]*\n",
6590     (char*)NULL };
6592 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6594  *  Description of Unicosmk_Restrict fix
6595  */
6596 tSCC zUnicosmk_RestrictName[] =
6597      "unicosmk_restrict";
6600  *  File name selection pattern
6601  */
6602 tSCC zUnicosmk_RestrictList[] =
6603   "|stdio.h|stdlib.h|wchar.h|";
6605  *  Machine/OS name selection pattern
6606  */
6607 tSCC* apzUnicosmk_RestrictMachs[] = {
6608         "*-*-unicosmk*",
6609         (const char*)NULL };
6612  *  content selection pattern - do fix if pattern found
6613  */
6614 tSCC zUnicosmk_RestrictSelect0[] =
6615        "(\\*[ \t]*)restrict([ \t]+)";
6617 #define    UNICOSMK_RESTRICT_TEST_CT  1
6618 static tTestDesc aUnicosmk_RestrictTests[] = {
6619   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
6622  *  Fix Command Arguments for Unicosmk_Restrict
6623  */
6624 static const char* apzUnicosmk_RestrictPatch[] = {
6625     "format",
6626     "%1__restrict__%2",
6627     (char*)NULL };
6629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6631  *  Description of Uw7_Byteorder_Fix fix
6632  */
6633 tSCC zUw7_Byteorder_FixName[] =
6634      "uw7_byteorder_fix";
6637  *  File name selection pattern
6638  */
6639 tSCC zUw7_Byteorder_FixList[] =
6640   "|arpa/inet.h|";
6642  *  Machine/OS name selection pattern
6643  */
6644 tSCC* apzUw7_Byteorder_FixMachs[] = {
6645         "*-*-sysv4*",
6646         "i?86-*-sysv5*",
6647         "i?86-*-udk*",
6648         "i?86-*-solaris2.[0-4]",
6649         "powerpcle-*-solaris2.[0-4]",
6650         "sparc-*-solaris2.[0-4]",
6651         (const char*)NULL };
6654  *  content selection pattern - do fix if pattern found
6655  */
6656 tSCC zUw7_Byteorder_FixSelect0[] =
6657        "in_port_t";
6660  *  perform the 'test' shell command - do fix on success
6661  */
6662 tSCC zUw7_Byteorder_FixTest0[] =
6663        "-f sys/byteorder.h";
6665 #define    UW7_BYTEORDER_FIX_TEST_CT  2
6666 static tTestDesc aUw7_Byteorder_FixTests[] = {
6667   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
6668   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
6671  *  Fix Command Arguments for Uw7_Byteorder_Fix
6672  */
6673 static const char* apzUw7_Byteorder_FixPatch[] = {
6674     "format",
6675     "",
6676     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
6677     (char*)NULL };
6679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6681  *  Description of Va_I960_Macro fix
6682  */
6683 tSCC zVa_I960_MacroName[] =
6684      "va_i960_macro";
6687  *  File name selection pattern
6688  */
6689 tSCC zVa_I960_MacroList[] =
6690   "|arch/i960/archI960.h|";
6692  *  Machine/OS name selection pattern
6693  */
6694 #define apzVa_I960_MacroMachs (const char**)NULL
6697  *  content selection pattern - do fix if pattern found
6698  */
6699 tSCC zVa_I960_MacroSelect0[] =
6700        "__(vsiz|vali|vpad|alignof__)";
6702 #define    VA_I960_MACRO_TEST_CT  1
6703 static tTestDesc aVa_I960_MacroTests[] = {
6704   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
6707  *  Fix Command Arguments for Va_I960_Macro
6708  */
6709 static const char* apzVa_I960_MacroPatch[] = {
6710     "format",
6711     "__vx%1",
6712     (char*)NULL };
6714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6716  *  Description of Void_Null fix
6717  */
6718 tSCC zVoid_NullName[] =
6719      "void_null";
6722  *  File name selection pattern
6723  */
6724 tSCC zVoid_NullList[] =
6725   "|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|";
6727  *  Machine/OS name selection pattern
6728  */
6729 #define apzVoid_NullMachs (const char**)NULL
6732  *  content selection pattern - do fix if pattern found
6733  */
6734 tSCC zVoid_NullSelect0[] =
6735        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
6738  *  content bypass pattern - skip fix if pattern found
6739  */
6740 tSCC zVoid_NullBypass0[] =
6741        "__cplusplus";
6743 #define    VOID_NULL_TEST_CT  2
6744 static tTestDesc aVoid_NullTests[] = {
6745   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
6746   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
6749  *  Fix Command Arguments for Void_Null
6750  */
6751 static const char* apzVoid_NullPatch[] = {
6752     "format",
6753     "#define NULL 0",
6754     (char*)NULL };
6756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6758  *  Description of Vxworks_Gcc_Problem fix
6759  */
6760 tSCC zVxworks_Gcc_ProblemName[] =
6761      "vxworks_gcc_problem";
6764  *  File name selection pattern
6765  */
6766 tSCC zVxworks_Gcc_ProblemList[] =
6767   "|types/vxTypesBase.h|";
6769  *  Machine/OS name selection pattern
6770  */
6771 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
6774  *  content selection pattern - do fix if pattern found
6775  */
6776 tSCC zVxworks_Gcc_ProblemSelect0[] =
6777        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
6779 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
6780 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
6781   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
6784  *  Fix Command Arguments for Vxworks_Gcc_Problem
6785  */
6786 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
6787     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
6788     "-e", "/[ \t]size_t/i\\\n\
6789 #ifndef _GCC_SIZE_T\\\n\
6790 #define _GCC_SIZE_T\n",
6791     "-e", "/[ \t]size_t/a\\\n\
6792 #endif\n",
6793     "-e", "/[ \t]ptrdiff_t/i\\\n\
6794 #ifndef _GCC_PTRDIFF_T\\\n\
6795 #define _GCC_PTRDIFF_T\n",
6796     "-e", "/[ \t]ptrdiff_t/a\\\n\
6797 #endif\n",
6798     "-e", "/[ \t]wchar_t/i\\\n\
6799 #ifndef _GCC_WCHAR_T\\\n\
6800 #define _GCC_WCHAR_T\n",
6801     "-e", "/[ \t]wchar_t/a\\\n\
6802 #endif\n",
6803     (char*)NULL };
6805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6807  *  Description of Vxworks_Needs_Vxtypes fix
6808  */
6809 tSCC zVxworks_Needs_VxtypesName[] =
6810      "vxworks_needs_vxtypes";
6813  *  File name selection pattern
6814  */
6815 tSCC zVxworks_Needs_VxtypesList[] =
6816   "|time.h|";
6818  *  Machine/OS name selection pattern
6819  */
6820 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
6823  *  content selection pattern - do fix if pattern found
6824  */
6825 tSCC zVxworks_Needs_VxtypesSelect0[] =
6826        "uint_t([ \t]+_clocks_per_sec)";
6828 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
6829 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
6830   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
6833  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
6834  */
6835 static const char* apzVxworks_Needs_VxtypesPatch[] = {
6836     "format",
6837     "unsigned int%1",
6838     (char*)NULL };
6840 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6842  *  Description of Vxworks_Needs_Vxworks fix
6843  */
6844 tSCC zVxworks_Needs_VxworksName[] =
6845      "vxworks_needs_vxworks";
6848  *  File name selection pattern
6849  */
6850 tSCC zVxworks_Needs_VxworksList[] =
6851   "|sys/stat.h|";
6853  *  Machine/OS name selection pattern
6854  */
6855 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
6858  *  content selection pattern - do fix if pattern found
6859  */
6860 tSCC zVxworks_Needs_VxworksSelect0[] =
6861        "#[ \t]define[ \t]+__INCstath";
6864  *  perform the 'test' shell command - do fix on success
6865  */
6866 tSCC zVxworks_Needs_VxworksTest0[] =
6867        " -r types/vxTypesOld.h";
6868 tSCC zVxworks_Needs_VxworksTest1[] =
6869        " -n \"`egrep '#include' $file`\"";
6870 tSCC zVxworks_Needs_VxworksTest2[] =
6871        " -n \"`egrep ULONG $file`\"";
6873 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
6874 static tTestDesc aVxworks_Needs_VxworksTests[] = {
6875   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
6876   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
6877   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
6878   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
6881  *  Fix Command Arguments for Vxworks_Needs_Vxworks
6882  */
6883 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
6884     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
6885 #include <types/vxTypesOld.h>\n",
6886     (char*)NULL };
6888 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6890  *  Description of Vxworks_Time fix
6891  */
6892 tSCC zVxworks_TimeName[] =
6893      "vxworks_time";
6896  *  File name selection pattern
6897  */
6898 tSCC zVxworks_TimeList[] =
6899   "|time.h|";
6901  *  Machine/OS name selection pattern
6902  */
6903 #define apzVxworks_TimeMachs (const char**)NULL
6906  *  content selection pattern - do fix if pattern found
6907  */
6908 tSCC zVxworks_TimeSelect0[] =
6909        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
6912  *  perform the 'test' shell command - do fix on success
6913  */
6914 tSCC zVxworks_TimeTest0[] =
6915        " -r vxWorks.h";
6917 #define    VXWORKS_TIME_TEST_CT  2
6918 static tTestDesc aVxworks_TimeTests[] = {
6919   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
6920   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
6923  *  Fix Command Arguments for Vxworks_Time
6924  */
6925 static const char* apzVxworks_TimePatch[] = {
6926     "format",
6927     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
6928 #ifdef __cplusplus\n\
6929 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
6930 #else\n\
6931 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
6932 #endif\n\
6933 #define __gcc_VOIDFUNCPTR_defined\n\
6934 #endif\n\
6935 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
6936     (char*)NULL };
6938 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6940  *  Description of Windiss_Math1 fix
6941  */
6942 tSCC zWindiss_Math1Name[] =
6943      "windiss_math1";
6946  *  File name selection pattern
6947  */
6948 tSCC zWindiss_Math1List[] =
6949   "|math.h|";
6951  *  Machine/OS name selection pattern
6952  */
6953 tSCC* apzWindiss_Math1Machs[] = {
6954         "*-*-windiss",
6955         (const char*)NULL };
6956 #define WINDISS_MATH1_TEST_CT  0
6957 #define aWindiss_Math1Tests   (tTestDesc*)NULL
6960  *  Fix Command Arguments for Windiss_Math1
6961  */
6962 static const char* apzWindiss_Math1Patch[] = { "sed",
6963     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
6964     (char*)NULL };
6966 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6968  *  Description of Windiss_Math2 fix
6969  */
6970 tSCC zWindiss_Math2Name[] =
6971      "windiss_math2";
6974  *  File name selection pattern
6975  */
6976 tSCC zWindiss_Math2List[] =
6977   "|math.h|";
6979  *  Machine/OS name selection pattern
6980  */
6981 tSCC* apzWindiss_Math2Machs[] = {
6982         "*-*-windiss",
6983         (const char*)NULL };
6984 #define WINDISS_MATH2_TEST_CT  0
6985 #define aWindiss_Math2Tests   (tTestDesc*)NULL
6988  *  Fix Command Arguments for Windiss_Math2
6989  */
6990 static const char* apzWindiss_Math2Patch[] = { "sed",
6991     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
6992     (char*)NULL };
6994 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6996  *  Description of Windiss_Valist fix
6997  */
6998 tSCC zWindiss_ValistName[] =
6999      "windiss_valist";
7002  *  File name selection pattern
7003  */
7004 #define zWindiss_ValistList (char*)NULL
7006  *  Machine/OS name selection pattern
7007  */
7008 tSCC* apzWindiss_ValistMachs[] = {
7009         "*-*-windiss",
7010         (const char*)NULL };
7013  *  content selection pattern - do fix if pattern found
7014  */
7015 tSCC zWindiss_ValistSelect0[] =
7016        "(#include.*)diab/va_list.h";
7018 #define    WINDISS_VALIST_TEST_CT  1
7019 static tTestDesc aWindiss_ValistTests[] = {
7020   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
7023  *  Fix Command Arguments for Windiss_Valist
7024  */
7025 static const char* apzWindiss_ValistPatch[] = { "sed",
7026     "-e", "s|diab/va_list.h|stdarg.h|",
7027     (char*)NULL };
7029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7031  *  Description of X11_Class fix
7032  */
7033 tSCC zX11_ClassName[] =
7034      "x11_class";
7037  *  File name selection pattern
7038  */
7039 tSCC zX11_ClassList[] =
7040   "|X11/ShellP.h|";
7042  *  Machine/OS name selection pattern
7043  */
7044 #define apzX11_ClassMachs (const char**)NULL
7047  *  content selection pattern - do fix if pattern found
7048  */
7049 tSCC zX11_ClassSelect0[] =
7050        "^([ \t]*char \\*)class;(.*)";
7053  *  content bypass pattern - skip fix if pattern found
7054  */
7055 tSCC zX11_ClassBypass0[] =
7056        "__cplusplus";
7058 #define    X11_CLASS_TEST_CT  2
7059 static tTestDesc aX11_ClassTests[] = {
7060   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7061   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7064  *  Fix Command Arguments for X11_Class
7065  */
7066 static const char* apzX11_ClassPatch[] = {
7067     "format",
7068     "#ifdef __cplusplus\n\
7069 %1c_class;%2\n\
7070 #else\n\
7071 %1class;%2\n\
7072 #endif",
7073     (char*)NULL };
7075 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7077  *  Description of X11_Class_Usage fix
7078  */
7079 tSCC zX11_Class_UsageName[] =
7080      "x11_class_usage";
7083  *  File name selection pattern
7084  */
7085 tSCC zX11_Class_UsageList[] =
7086   "|Xm/BaseClassI.h|";
7088  *  Machine/OS name selection pattern
7089  */
7090 #define apzX11_Class_UsageMachs (const char**)NULL
7093  *  content selection pattern - do fix if pattern found
7094  */
7095 tSCC zX11_Class_UsageSelect0[] =
7096        " class\\)";
7099  *  content bypass pattern - skip fix if pattern found
7100  */
7101 tSCC zX11_Class_UsageBypass0[] =
7102        "__cplusplus";
7104 #define    X11_CLASS_USAGE_TEST_CT  2
7105 static tTestDesc aX11_Class_UsageTests[] = {
7106   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7107   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7110  *  Fix Command Arguments for X11_Class_Usage
7111  */
7112 static const char* apzX11_Class_UsagePatch[] = {
7113     "format",
7114     " c_class)",
7115     (char*)NULL };
7117 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7119  *  Description of X11_New fix
7120  */
7121 tSCC zX11_NewName[] =
7122      "x11_new";
7125  *  File name selection pattern
7126  */
7127 tSCC zX11_NewList[] =
7128   "|Xm/Traversal.h|";
7130  *  Machine/OS name selection pattern
7131  */
7132 #define apzX11_NewMachs (const char**)NULL
7135  *  content bypass pattern - skip fix if pattern found
7136  */
7137 tSCC zX11_NewBypass0[] =
7138        "__cplusplus";
7140 #define    X11_NEW_TEST_CT  1
7141 static tTestDesc aX11_NewTests[] = {
7142   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7145  *  Fix Command Arguments for X11_New
7146  */
7147 static const char* apzX11_NewPatch[] = { "sed",
7148     "-e", "/Widget\told, new;/i\\\n\
7149 #ifdef __cplusplus\\\n\
7150 \tWidget\told, c_new;\\\n\
7151 #else\n",
7152     "-e", "/Widget\told, new;/a\\\n\
7153 #endif\n",
7154     "-e", "s/Widget new,/Widget c_new,/g",
7155     (char*)NULL };
7157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7159  *  Description of X11_Sprintf fix
7160  */
7161 tSCC zX11_SprintfName[] =
7162      "x11_sprintf";
7165  *  File name selection pattern
7166  */
7167 tSCC zX11_SprintfList[] =
7168   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7170  *  Machine/OS name selection pattern
7171  */
7172 #define apzX11_SprintfMachs (const char**)NULL
7175  *  content selection pattern - do fix if pattern found
7176  */
7177 tSCC zX11_SprintfSelect0[] =
7178        "^extern char \\*\tsprintf\\(\\);$";
7180 #define    X11_SPRINTF_TEST_CT  1
7181 static tTestDesc aX11_SprintfTests[] = {
7182   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7185  *  Fix Command Arguments for X11_Sprintf
7186  */
7187 static const char* apzX11_SprintfPatch[] = {
7188     "format",
7189     "#ifndef __STDC__\n\
7190 %0\n\
7191 #endif /* !defined __STDC__ */",
7192     (char*)NULL };
7195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7197  *  List of all fixes
7198  */
7199 #define REGEX_COUNT          206
7200 #define MACH_LIST_SIZE_LIMIT 261
7201 #define FIX_COUNT            181
7204  *  Enumerate the fixes
7205  */
7206 typedef enum {
7207     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7208     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7209     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7210     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7211     AAB_SUN_MEMCPY_FIXIDX,
7212     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7213     AAB_ULTRIX_LIMITS_FIXIDX,
7214     AAB_ULTRIX_MEMORY_FIXIDX,
7215     AAB_ULTRIX_STRING_FIXIDX,
7216     AIX_PTHREAD_FIXIDX,
7217     AIX_SYSMACHINE_FIXIDX,
7218     AIX_SYSWAIT_FIXIDX,
7219     AIX_SYSWAIT_2_FIXIDX,
7220     AIX_VOLATILE_FIXIDX,
7221     ALPHA___ASSERT_FIXIDX,
7222     ALPHA___EXTERN_PREFIX_FIXIDX,
7223     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7224     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7225     ALPHA_ASSERT_FIXIDX,
7226     ALPHA_BAD_LVAL_FIXIDX,
7227     ALPHA_GETOPT_FIXIDX,
7228     ALPHA_PARENS_FIXIDX,
7229     ALPHA_PTHREAD_FIXIDX,
7230     ALPHA_PTHREAD_GCC_FIXIDX,
7231     ALPHA_SBRK_FIXIDX,
7232     ALPHA_WCHAR_FIXIDX,
7233     AVOID_BOOL_DEFINE_FIXIDX,
7234     AVOID_BOOL_TYPE_FIXIDX,
7235     AVOID_WCHAR_T_TYPE_FIXIDX,
7236     BAD_STRUCT_TERM_FIXIDX,
7237     BADQUOTE_FIXIDX,
7238     BROKEN_ASSERT_STDIO_FIXIDX,
7239     BROKEN_ASSERT_STDLIB_FIXIDX,
7240     BROKEN_CABS_FIXIDX,
7241     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7242     CTRL_QUOTES_DEF_FIXIDX,
7243     CTRL_QUOTES_USE_FIXIDX,
7244     CXX_UNREADY_FIXIDX,
7245     DARWIN_GCC4_BREAKAGE_FIXIDX,
7246     DARWIN_PRIVATE_EXTERN_FIXIDX,
7247     DEC_INTERN_ASM_FIXIDX,
7248     DJGPP_WCHAR_H_FIXIDX,
7249     ECD_CURSOR_FIXIDX,
7250     EXCEPTION_STRUCTURE_FIXIDX,
7251     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7252     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7253     GNU_TYPES_FIXIDX,
7254     HP_INLINE_FIXIDX,
7255     HP_SYSFILE_FIXIDX,
7256     HPUX10_CPP_POW_INLINE_FIXIDX,
7257     HPUX11_CPP_POW_INLINE_FIXIDX,
7258     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7259     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7260     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7261     HPUX11_ABS_FIXIDX,
7262     HPUX11_FABSF_FIXIDX,
7263     HPUX11_SIZE_T_FIXIDX,
7264     HPUX11_SNPRINTF_FIXIDX,
7265     HPUX11_UINT32_C_FIXIDX,
7266     HPUX11_VSNPRINTF_FIXIDX,
7267     HPUX8_BOGUS_INLINES_FIXIDX,
7268     HPUX_CTYPE_MACROS_FIXIDX,
7269     HPUX_LONG_DOUBLE_FIXIDX,
7270     HPUX_MAXINT_FIXIDX,
7271     HPUX_SYSTIME_FIXIDX,
7272     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7273     IO_QUOTES_DEF_FIXIDX,
7274     IO_QUOTES_USE_FIXIDX,
7275     IP_MISSING_SEMI_FIXIDX,
7276     IRIX___RESTRICT_FIXIDX,
7277     IRIX___GENERIC1_FIXIDX,
7278     IRIX___GENERIC2_FIXIDX,
7279     IRIX_ASM_APOSTROPHE_FIXIDX,
7280     IRIX_LIMITS_CONST_FIXIDX,
7281     IRIX_SOCKLEN_T_FIXIDX,
7282     IRIX_STDIO_VA_LIST_FIXIDX,
7283     IRIX_WCSFTIME_FIXIDX,
7284     ISC_FMOD_FIXIDX,
7285     ISC_OMITS_WITH_STDC_FIXIDX,
7286     KANDR_CONCAT_FIXIDX,
7287     LIBC1_G_VA_LIST_FIXIDX,
7288     LIBC1_IFDEFD_MEMX_FIXIDX,
7289     LIMITS_IFNDEFS_FIXIDX,
7290     LINUX_IA64_UCONTEXT_FIXIDX,
7291     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7292     LYNXOS_MISSING_PUTENV_FIXIDX,
7293     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7294     MACHINE_NAME_FIXIDX,
7295     MATH_EXCEPTION_FIXIDX,
7296     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7297     MATH_HUGE_VAL_IFNDEF_FIXIDX,
7298     NESTED_AUTH_DES_FIXIDX,
7299     NESTED_MOTOROLA_FIXIDX,
7300     NESTED_SYS_LIMITS_FIXIDX,
7301     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7302     NEXT_MATH_PREFIX_FIXIDX,
7303     NEXT_TEMPLATE_FIXIDX,
7304     NEXT_VOLITILE_FIXIDX,
7305     NEXT_WAIT_UNION_FIXIDX,
7306     NODEENT_SYNTAX_FIXIDX,
7307     OBSTACK_LVALUE_CAST_FIXIDX,
7308     OSF_NAMESPACE_A_FIXIDX,
7309     OSF_NAMESPACE_C_FIXIDX,
7310     PTHREAD_PAGE_SIZE_FIXIDX,
7311     READ_RET_TYPE_FIXIDX,
7312     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7313     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7314     RS6000_DOUBLE_FIXIDX,
7315     RS6000_FCHMOD_FIXIDX,
7316     RS6000_PARAM_FIXIDX,
7317     SCO_MATH_FIXIDX,
7318     SCO_REGSET_FIXIDX,
7319     SCO_STATIC_FUNC_FIXIDX,
7320     SCO_UTIME_FIXIDX,
7321     SOLARIS_MUTEX_INIT_1_FIXIDX,
7322     SOLARIS_MUTEX_INIT_2_FIXIDX,
7323     SOLARIS_SOCKET_FIXIDX,
7324     SOLARIS_STDIO_TAG_FIXIDX,
7325     SOLARIS_UNISTD_FIXIDX,
7326     SOLARIS_WIDEC_FIXIDX,
7327     STATSSWTCH_FIXIDX,
7328     STDIO_STDARG_H_FIXIDX,
7329     STDIO_VA_LIST_FIXIDX,
7330     STDIO_VA_LIST_CLIENTS_FIXIDX,
7331     STRICT_ANSI_NOT_FIXIDX,
7332     STRICT_ANSI_NOT_CTD_FIXIDX,
7333     STRICT_ANSI_ONLY_FIXIDX,
7334     STRUCT_FILE_FIXIDX,
7335     STRUCT_SOCKADDR_FIXIDX,
7336     SUN_AUTH_PROTO_FIXIDX,
7337     SUN_BOGUS_IFDEF_FIXIDX,
7338     SUN_CATMACRO_FIXIDX,
7339     SUN_MALLOC_FIXIDX,
7340     SUN_RUSERS_SEMI_FIXIDX,
7341     SUN_SIGNAL_FIXIDX,
7342     SUNOS_STRLEN_FIXIDX,
7343     SVR4__P_FIXIDX,
7344     SVR4_DISABLE_OPT_FIXIDX,
7345     SVR4_GETCWD_FIXIDX,
7346     SVR4_KRNL_FIXIDX,
7347     SVR4_PROFIL_FIXIDX,
7348     SVR4_SIGHANDLER_TYPE_FIXIDX,
7349     SVR4_UNDECLARED_GETRNGE_FIXIDX,
7350     SYSV68_STRING_FIXIDX,
7351     SYSZ_STDLIB_FOR_SUN_FIXIDX,
7352     THREAD_KEYWORD_FIXIDX,
7353     TINFO_CPLUSPLUS_FIXIDX,
7354     ULTRIX_ATEXIT_PARAM_FIXIDX,
7355     ULTRIX_ATOF_PARAM_FIXIDX,
7356     ULTRIX_CONST_FIXIDX,
7357     ULTRIX_CONST2_FIXIDX,
7358     ULTRIX_CONST3_FIXIDX,
7359     ULTRIX_FIX_FIXPROTO_FIXIDX,
7360     ULTRIX_IFDEF_FIXIDX,
7361     ULTRIX_LOCALE_FIXIDX,
7362     ULTRIX_MATH_IFDEF_FIXIDX,
7363     ULTRIX_NESTED_IOCTL_FIXIDX,
7364     ULTRIX_NESTED_SVC_FIXIDX,
7365     ULTRIX_STAT_FIXIDX,
7366     ULTRIX_STATIC_FIXIDX,
7367     ULTRIX_STDLIB_FIXIDX,
7368     ULTRIX_STRINGS_FIXIDX,
7369     ULTRIX_STRINGS2_FIXIDX,
7370     ULTRIX_SYS_TIME_FIXIDX,
7371     ULTRIX_UNISTD_FIXIDX,
7372     UNDEFINE_NULL_FIXIDX,
7373     UNICOSMK_RESTRICT_FIXIDX,
7374     UW7_BYTEORDER_FIX_FIXIDX,
7375     VA_I960_MACRO_FIXIDX,
7376     VOID_NULL_FIXIDX,
7377     VXWORKS_GCC_PROBLEM_FIXIDX,
7378     VXWORKS_NEEDS_VXTYPES_FIXIDX,
7379     VXWORKS_NEEDS_VXWORKS_FIXIDX,
7380     VXWORKS_TIME_FIXIDX,
7381     WINDISS_MATH1_FIXIDX,
7382     WINDISS_MATH2_FIXIDX,
7383     WINDISS_VALIST_FIXIDX,
7384     X11_CLASS_FIXIDX,
7385     X11_CLASS_USAGE_FIXIDX,
7386     X11_NEW_FIXIDX,
7387     X11_SPRINTF_FIXIDX
7388 } t_fixinc_idx;
7390 tFixDesc fixDescList[ FIX_COUNT ] = {
7391   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
7392      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
7393      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7394      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
7396   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
7397      apzAab_Fd_Zero_Gnu_Types_HMachs,
7398      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7399      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
7401   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
7402      apzAab_Fd_Zero_Selectbits_HMachs,
7403      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7404      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
7406   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
7407      apzAab_Solaris_Sys_Varargs_HMachs,
7408      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7409      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
7411   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
7412      apzAab_Sun_MemcpyMachs,
7413      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7414      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
7416   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
7417      apzAab_Ultrix_Ansi_CompatMachs,
7418      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7419      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
7421   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
7422      apzAab_Ultrix_LimitsMachs,
7423      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7424      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
7426   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
7427      apzAab_Ultrix_MemoryMachs,
7428      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7429      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
7431   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
7432      apzAab_Ultrix_StringMachs,
7433      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
7434      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
7436   {  zAix_PthreadName,    zAix_PthreadList,
7437      apzAix_PthreadMachs,
7438      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7439      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
7441   {  zAix_SysmachineName,    zAix_SysmachineList,
7442      apzAix_SysmachineMachs,
7443      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7444      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
7446   {  zAix_SyswaitName,    zAix_SyswaitList,
7447      apzAix_SyswaitMachs,
7448      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7449      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
7451   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
7452      apzAix_Syswait_2Machs,
7453      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7454      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
7456   {  zAix_VolatileName,    zAix_VolatileList,
7457      apzAix_VolatileMachs,
7458      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7459      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
7461   {  zAlpha___AssertName,    zAlpha___AssertList,
7462      apzAlpha___AssertMachs,
7463      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7464      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
7466   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
7467      apzAlpha___Extern_PrefixMachs,
7468      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7469      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
7471   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
7472      apzAlpha___Extern_Prefix_StandardsMachs,
7473      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7474      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
7476   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
7477      apzAlpha___Extern_Prefix_Sys_StatMachs,
7478      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7479      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
7481   {  zAlpha_AssertName,    zAlpha_AssertList,
7482      apzAlpha_AssertMachs,
7483      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7484      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
7486   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
7487      apzAlpha_Bad_LvalMachs,
7488      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
7489      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
7491   {  zAlpha_GetoptName,    zAlpha_GetoptList,
7492      apzAlpha_GetoptMachs,
7493      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7494      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
7496   {  zAlpha_ParensName,    zAlpha_ParensList,
7497      apzAlpha_ParensMachs,
7498      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7499      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
7501   {  zAlpha_PthreadName,    zAlpha_PthreadList,
7502      apzAlpha_PthreadMachs,
7503      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7504      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
7506   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
7507      apzAlpha_Pthread_GccMachs,
7508      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7509      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
7511   {  zAlpha_SbrkName,    zAlpha_SbrkList,
7512      apzAlpha_SbrkMachs,
7513      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7514      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
7516   {  zAlpha_WcharName,    zAlpha_WcharList,
7517      apzAlpha_WcharMachs,
7518      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
7519      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
7521   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
7522      apzAvoid_Bool_DefineMachs,
7523      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7524      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
7526   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
7527      apzAvoid_Bool_TypeMachs,
7528      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7529      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
7531   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
7532      apzAvoid_Wchar_T_TypeMachs,
7533      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7534      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
7536   {  zBad_Struct_TermName,    zBad_Struct_TermList,
7537      apzBad_Struct_TermMachs,
7538      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7539      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
7541   {  zBadquoteName,    zBadquoteList,
7542      apzBadquoteMachs,
7543      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7544      aBadquoteTests,   apzBadquotePatch, 0 },
7546   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
7547      apzBroken_Assert_StdioMachs,
7548      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7549      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
7551   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
7552      apzBroken_Assert_StdlibMachs,
7553      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7554      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
7556   {  zBroken_CabsName,    zBroken_CabsList,
7557      apzBroken_CabsMachs,
7558      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7559      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
7561   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
7562      apzBsd_Stdio_Attrs_ConflictMachs,
7563      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7564      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
7566   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
7567      apzCtrl_Quotes_DefMachs,
7568      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7569      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
7571   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
7572      apzCtrl_Quotes_UseMachs,
7573      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7574      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
7576   {  zCxx_UnreadyName,    zCxx_UnreadyList,
7577      apzCxx_UnreadyMachs,
7578      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7579      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
7581   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
7582      apzDarwin_Gcc4_BreakageMachs,
7583      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7584      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
7586   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
7587      apzDarwin_Private_ExternMachs,
7588      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7589      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
7591   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
7592      apzDec_Intern_AsmMachs,
7593      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
7594      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
7596   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
7597      apzDjgpp_Wchar_HMachs,
7598      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7599      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
7601   {  zEcd_CursorName,    zEcd_CursorList,
7602      apzEcd_CursorMachs,
7603      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7604      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
7606   {  zException_StructureName,    zException_StructureList,
7607      apzException_StructureMachs,
7608      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7609      aException_StructureTests,   apzException_StructurePatch, 0 },
7611   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
7612      apzFreebsd_Gcc3_BreakageMachs,
7613      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7614      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
7616   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
7617      apzFreebsd_Gcc4_BreakageMachs,
7618      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7619      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
7621   {  zGnu_TypesName,    zGnu_TypesList,
7622      apzGnu_TypesMachs,
7623      GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7624      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
7626   {  zHp_InlineName,    zHp_InlineList,
7627      apzHp_InlineMachs,
7628      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7629      aHp_InlineTests,   apzHp_InlinePatch, 0 },
7631   {  zHp_SysfileName,    zHp_SysfileList,
7632      apzHp_SysfileMachs,
7633      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7634      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
7636   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
7637      apzHpux10_Cpp_Pow_InlineMachs,
7638      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7639      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
7641   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
7642      apzHpux11_Cpp_Pow_InlineMachs,
7643      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7644      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
7646   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
7647      apzHpux10_Ctype_Declarations1Machs,
7648      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7649      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
7651   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
7652      apzHpux10_Ctype_Declarations2Machs,
7653      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7654      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
7656   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
7657      apzHpux10_Stdio_DeclarationsMachs,
7658      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7659      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
7661   {  zHpux11_AbsName,    zHpux11_AbsList,
7662      apzHpux11_AbsMachs,
7663      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7664      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
7666   {  zHpux11_FabsfName,    zHpux11_FabsfList,
7667      apzHpux11_FabsfMachs,
7668      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7669      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
7671   {  zHpux11_Size_TName,    zHpux11_Size_TList,
7672      apzHpux11_Size_TMachs,
7673      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7674      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
7676   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
7677      apzHpux11_SnprintfMachs,
7678      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7679      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
7681   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
7682      apzHpux11_Uint32_CMachs,
7683      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7684      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
7686   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
7687      apzHpux11_VsnprintfMachs,
7688      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7689      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
7691   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
7692      apzHpux8_Bogus_InlinesMachs,
7693      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
7694      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
7696   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
7697      apzHpux_Ctype_MacrosMachs,
7698      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7699      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
7701   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
7702      apzHpux_Long_DoubleMachs,
7703      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
7704      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
7706   {  zHpux_MaxintName,    zHpux_MaxintList,
7707      apzHpux_MaxintMachs,
7708      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7709      aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
7711   {  zHpux_SystimeName,    zHpux_SystimeList,
7712      apzHpux_SystimeMachs,
7713      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7714      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
7716   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
7717      apzInt_Abort_Free_And_ExitMachs,
7718      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7719      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
7721   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
7722      apzIo_Quotes_DefMachs,
7723      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7724      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
7726   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
7727      apzIo_Quotes_UseMachs,
7728      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7729      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
7731   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
7732      apzIp_Missing_SemiMachs,
7733      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
7734      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
7736   {  zIrix___RestrictName,    zIrix___RestrictList,
7737      apzIrix___RestrictMachs,
7738      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7739      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
7741   {  zIrix___Generic1Name,    zIrix___Generic1List,
7742      apzIrix___Generic1Machs,
7743      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7744      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
7746   {  zIrix___Generic2Name,    zIrix___Generic2List,
7747      apzIrix___Generic2Machs,
7748      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7749      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
7751   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
7752      apzIrix_Asm_ApostropheMachs,
7753      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7754      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
7756   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
7757      apzIrix_Limits_ConstMachs,
7758      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7759      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
7761   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
7762      apzIrix_Socklen_TMachs,
7763      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7764      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
7766   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
7767      apzIrix_Stdio_Va_ListMachs,
7768      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7769      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
7771   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
7772      apzIrix_WcsftimeMachs,
7773      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7774      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
7776   {  zIsc_FmodName,    zIsc_FmodList,
7777      apzIsc_FmodMachs,
7778      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7779      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
7781   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
7782      apzIsc_Omits_With_StdcMachs,
7783      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7784      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
7786   {  zKandr_ConcatName,    zKandr_ConcatList,
7787      apzKandr_ConcatMachs,
7788      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7789      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
7791   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
7792      apzLibc1_G_Va_ListMachs,
7793      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7794      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
7796   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
7797      apzLibc1_Ifdefd_MemxMachs,
7798      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7799      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
7801   {  zLimits_IfndefsName,    zLimits_IfndefsList,
7802      apzLimits_IfndefsMachs,
7803      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7804      aLimits_IfndefsTests,   apzLimits_IfndefsPatch, 0 },
7806   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
7807      apzLinux_Ia64_UcontextMachs,
7808      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7809      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
7811   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
7812      apzLynxos_No_Warning_In_Sys_Time_HMachs,
7813      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7814      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
7816   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
7817      apzLynxos_Missing_PutenvMachs,
7818      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7819      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
7821   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
7822      apzMachine_Ansi_H_Va_ListMachs,
7823      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7824      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
7826   {  zMachine_NameName,    zMachine_NameList,
7827      apzMachine_NameMachs,
7828      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7829      aMachine_NameTests,   apzMachine_NamePatch, 0 },
7831   {  zMath_ExceptionName,    zMath_ExceptionList,
7832      apzMath_ExceptionMachs,
7833      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7834      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
7836   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
7837      apzMath_Huge_Val_From_Dbl_MaxMachs,
7838      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
7839      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
7841   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
7842      apzMath_Huge_Val_IfndefMachs,
7843      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7844      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
7846   {  zNested_Auth_DesName,    zNested_Auth_DesList,
7847      apzNested_Auth_DesMachs,
7848      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7849      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
7851   {  zNested_MotorolaName,    zNested_MotorolaList,
7852      apzNested_MotorolaMachs,
7853      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
7854      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
7856   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
7857      apzNested_Sys_LimitsMachs,
7858      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
7859      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
7861   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
7862      apzNetbsd_Extra_SemicolonMachs,
7863      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7864      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
7866   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
7867      apzNext_Math_PrefixMachs,
7868      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7869      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
7871   {  zNext_TemplateName,    zNext_TemplateList,
7872      apzNext_TemplateMachs,
7873      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7874      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
7876   {  zNext_VolitileName,    zNext_VolitileList,
7877      apzNext_VolitileMachs,
7878      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7879      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
7881   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
7882      apzNext_Wait_UnionMachs,
7883      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7884      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
7886   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
7887      apzNodeent_SyntaxMachs,
7888      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7889      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
7891   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
7892      apzObstack_Lvalue_CastMachs,
7893      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7894      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
7896   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
7897      apzOsf_Namespace_AMachs,
7898      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7899      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
7901   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
7902      apzOsf_Namespace_CMachs,
7903      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7904      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
7906   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
7907      apzPthread_Page_SizeMachs,
7908      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7909      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
7911   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
7912      apzRead_Ret_TypeMachs,
7913      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7914      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
7916   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
7917      apzRpc_Xdr_Lvalue_Cast_AMachs,
7918      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7919      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
7921   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
7922      apzRpc_Xdr_Lvalue_Cast_BMachs,
7923      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7924      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
7926   {  zRs6000_DoubleName,    zRs6000_DoubleList,
7927      apzRs6000_DoubleMachs,
7928      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7929      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
7931   {  zRs6000_FchmodName,    zRs6000_FchmodList,
7932      apzRs6000_FchmodMachs,
7933      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7934      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
7936   {  zRs6000_ParamName,    zRs6000_ParamList,
7937      apzRs6000_ParamMachs,
7938      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7939      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
7941   {  zSco_MathName,    zSco_MathList,
7942      apzSco_MathMachs,
7943      SCO_MATH_TEST_CT, FD_MACH_ONLY,
7944      aSco_MathTests,   apzSco_MathPatch, 0 },
7946   {  zSco_RegsetName,    zSco_RegsetList,
7947      apzSco_RegsetMachs,
7948      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7949      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
7951   {  zSco_Static_FuncName,    zSco_Static_FuncList,
7952      apzSco_Static_FuncMachs,
7953      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
7954      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
7956   {  zSco_UtimeName,    zSco_UtimeList,
7957      apzSco_UtimeMachs,
7958      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7959      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
7961   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
7962      apzSolaris_Mutex_Init_1Machs,
7963      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
7964      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
7966   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
7967      apzSolaris_Mutex_Init_2Machs,
7968      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7969      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
7971   {  zSolaris_SocketName,    zSolaris_SocketList,
7972      apzSolaris_SocketMachs,
7973      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7974      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
7976   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
7977      apzSolaris_Stdio_TagMachs,
7978      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
7979      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
7981   {  zSolaris_UnistdName,    zSolaris_UnistdList,
7982      apzSolaris_UnistdMachs,
7983      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7984      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
7986   {  zSolaris_WidecName,    zSolaris_WidecList,
7987      apzSolaris_WidecMachs,
7988      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7989      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
7991   {  zStatsswtchName,    zStatsswtchList,
7992      apzStatsswtchMachs,
7993      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7994      aStatsswtchTests,   apzStatsswtchPatch, 0 },
7996   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
7997      apzStdio_Stdarg_HMachs,
7998      STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7999      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
8001   {  zStdio_Va_ListName,    zStdio_Va_ListList,
8002      apzStdio_Va_ListMachs,
8003      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
8004      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
8006   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
8007      apzStdio_Va_List_ClientsMachs,
8008      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8009      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
8011   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
8012      apzStrict_Ansi_NotMachs,
8013      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8014      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
8016   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
8017      apzStrict_Ansi_Not_CtdMachs,
8018      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8019      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
8021   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
8022      apzStrict_Ansi_OnlyMachs,
8023      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8024      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
8026   {  zStruct_FileName,    zStruct_FileList,
8027      apzStruct_FileMachs,
8028      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8029      aStruct_FileTests,   apzStruct_FilePatch, 0 },
8031   {  zStruct_SockaddrName,    zStruct_SockaddrList,
8032      apzStruct_SockaddrMachs,
8033      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8034      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
8036   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8037      apzSun_Auth_ProtoMachs,
8038      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8039      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8041   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8042      apzSun_Bogus_IfdefMachs,
8043      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8044      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8046   {  zSun_CatmacroName,    zSun_CatmacroList,
8047      apzSun_CatmacroMachs,
8048      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8049      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8051   {  zSun_MallocName,    zSun_MallocList,
8052      apzSun_MallocMachs,
8053      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8054      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8056   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8057      apzSun_Rusers_SemiMachs,
8058      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8059      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8061   {  zSun_SignalName,    zSun_SignalList,
8062      apzSun_SignalMachs,
8063      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8064      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8066   {  zSunos_StrlenName,    zSunos_StrlenList,
8067      apzSunos_StrlenMachs,
8068      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8069      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8071   {  zSvr4__PName,    zSvr4__PList,
8072      apzSvr4__PMachs,
8073      SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8074      aSvr4__PTests,   apzSvr4__PPatch, 0 },
8076   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8077      apzSvr4_Disable_OptMachs,
8078      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8079      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8081   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8082      apzSvr4_GetcwdMachs,
8083      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8084      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8086   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8087      apzSvr4_KrnlMachs,
8088      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8089      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8091   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8092      apzSvr4_ProfilMachs,
8093      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8094      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8096   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8097      apzSvr4_Sighandler_TypeMachs,
8098      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8099      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8101   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8102      apzSvr4_Undeclared_GetrngeMachs,
8103      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8104      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8106   {  zSysv68_StringName,    zSysv68_StringList,
8107      apzSysv68_StringMachs,
8108      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8109      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8111   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8112      apzSysz_Stdlib_For_SunMachs,
8113      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8114      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8116   {  zThread_KeywordName,    zThread_KeywordList,
8117      apzThread_KeywordMachs,
8118      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8119      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8121   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8122      apzTinfo_CplusplusMachs,
8123      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8124      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8126   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8127      apzUltrix_Atexit_ParamMachs,
8128      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8129      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8131   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8132      apzUltrix_Atof_ParamMachs,
8133      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8134      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8136   {  zUltrix_ConstName,    zUltrix_ConstList,
8137      apzUltrix_ConstMachs,
8138      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8139      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8141   {  zUltrix_Const2Name,    zUltrix_Const2List,
8142      apzUltrix_Const2Machs,
8143      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8144      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8146   {  zUltrix_Const3Name,    zUltrix_Const3List,
8147      apzUltrix_Const3Machs,
8148      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8149      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8151   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8152      apzUltrix_Fix_FixprotoMachs,
8153      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8154      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8156   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8157      apzUltrix_IfdefMachs,
8158      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8159      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8161   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8162      apzUltrix_LocaleMachs,
8163      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8164      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8166   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8167      apzUltrix_Math_IfdefMachs,
8168      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8169      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8171   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8172      apzUltrix_Nested_IoctlMachs,
8173      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8174      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8176   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8177      apzUltrix_Nested_SvcMachs,
8178      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8179      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8181   {  zUltrix_StatName,    zUltrix_StatList,
8182      apzUltrix_StatMachs,
8183      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8184      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8186   {  zUltrix_StaticName,    zUltrix_StaticList,
8187      apzUltrix_StaticMachs,
8188      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8189      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8191   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8192      apzUltrix_StdlibMachs,
8193      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8194      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8196   {  zUltrix_StringsName,    zUltrix_StringsList,
8197      apzUltrix_StringsMachs,
8198      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8199      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8201   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8202      apzUltrix_Strings2Machs,
8203      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8204      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8206   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8207      apzUltrix_Sys_TimeMachs,
8208      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8209      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8211   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8212      apzUltrix_UnistdMachs,
8213      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8214      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8216   {  zUndefine_NullName,    zUndefine_NullList,
8217      apzUndefine_NullMachs,
8218      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8219      aUndefine_NullTests,   apzUndefine_NullPatch, 0 },
8221   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8222      apzUnicosmk_RestrictMachs,
8223      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8224      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8226   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8227      apzUw7_Byteorder_FixMachs,
8228      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8229      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8231   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8232      apzVa_I960_MacroMachs,
8233      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8234      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8236   {  zVoid_NullName,    zVoid_NullList,
8237      apzVoid_NullMachs,
8238      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8239      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8241   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8242      apzVxworks_Gcc_ProblemMachs,
8243      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8244      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8246   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8247      apzVxworks_Needs_VxtypesMachs,
8248      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8249      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8251   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8252      apzVxworks_Needs_VxworksMachs,
8253      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8254      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8256   {  zVxworks_TimeName,    zVxworks_TimeList,
8257      apzVxworks_TimeMachs,
8258      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8259      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8261   {  zWindiss_Math1Name,    zWindiss_Math1List,
8262      apzWindiss_Math1Machs,
8263      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8264      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8266   {  zWindiss_Math2Name,    zWindiss_Math2List,
8267      apzWindiss_Math2Machs,
8268      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8269      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8271   {  zWindiss_ValistName,    zWindiss_ValistList,
8272      apzWindiss_ValistMachs,
8273      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8274      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8276   {  zX11_ClassName,    zX11_ClassList,
8277      apzX11_ClassMachs,
8278      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8279      aX11_ClassTests,   apzX11_ClassPatch, 0 },
8281   {  zX11_Class_UsageName,    zX11_Class_UsageList,
8282      apzX11_Class_UsageMachs,
8283      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8284      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
8286   {  zX11_NewName,    zX11_NewList,
8287      apzX11_NewMachs,
8288      X11_NEW_TEST_CT, FD_MACH_ONLY,
8289      aX11_NewTests,   apzX11_NewPatch, 0 },
8291   {  zX11_SprintfName,    zX11_SprintfList,
8292      apzX11_SprintfMachs,
8293      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8294      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }