OSDN Git Service

ead2c54cf6dff896ebfe5c032f75455e4e9c77d8
[pf3gnuchains/gcc-fork.git] / fixincludes / fixincl.x
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Thursday November 24, 2005 at 09:46:46 PM PST
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Nov 24 21:46:46 PST 2005
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 193 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 of the License, or (at your option)
30  *  any later version.
31  *  
32  *  inclhack is distributed in the hope that it will be useful,
33  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
34  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
35  *  See the GNU General Public License for more details.
36  *  
37  *  You should have received a copy of the GNU General Public License
38  *  along with inclhack.  If not, write to:
39  *      The Free Software Foundation, Inc.,
40  *      51 Franklin Street, Fifth Floor
41  *      Boston, MA  02110-1301, USA.
42  */
43
44 /* * * * * * * * * * * * * * * * * * * * * * * * * *
45  *
46  *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
47  */
48 tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
49      "AAB_darwin7_9_long_double_funcs";
50
51 /*
52  *  File name selection pattern
53  */
54 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
55   "|architecture/ppc/math.h|";
56 /*
57  *  Machine/OS name selection pattern
58  */
59 tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
60         "*-*-darwin7.9*",
61         (const char*)NULL };
62
63 /*
64  *  content bypass pattern - skip fix if pattern found
65  */
66 tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
67        "powl";
68
69 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
70 static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
71   { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
72
73 /*
74  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
75  */
76 static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
77 "/* This file prototypes the long double functions available on Mac OS\n\
78    10.3.9.  */\n\
79 #ifndef __MATH__\n\
80 # include_next <architecture/ppc/math.h>\n\
81 # ifndef __LIBMLDBL_COMPAT\n\
82 #  ifdef __LONG_DOUBLE_128__\n\
83 #   define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
84 #  else\n\
85 #   define __LIBMLDBL_COMPAT(sym)\n\
86 #  endif /* __LONG_DOUBLE_128__ */\n\
87 # endif /* __LIBMLDBL_COMPAT */\n\
88 # ifdef __cplusplus\n\
89    extern \"C\" {\n\
90 # endif\n\
91   extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
92   extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
93   extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
94   extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
95   extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
96   extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
97   extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
98   extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
99   extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
100   extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
101   extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
102   extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
103   extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
104   extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
105   extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
106   extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
107   extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
108   extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
109   extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
110   extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
111   extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
112   extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
113   extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
114   extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
115   extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
116   extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
117   extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
118   extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
119   extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
120   extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
121   extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
122   extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
123   extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
124   extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
125   extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
126   extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
127   extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
128   extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
129   extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
130   extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
131   extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
132   extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
133   extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
134   extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
135   extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
136   extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
137   extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
138   extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
139   extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
140   extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
141   extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
142   extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
143   extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
144   extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
145   extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
146   extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
147   extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
148 # ifdef __cplusplus\n\
149    }\n\
150 # endif\n\
151 #endif /* __MATH__ */",
152     (char*)NULL };
153
154 /* * * * * * * * * * * * * * * * * * * * * * * * * *
155  *
156  *  Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
157  */
158 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
159      "AAB_darwin7_9_long_double_funcs_2";
160
161 /*
162  *  File name selection pattern
163  */
164 tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
165   "|math.h|";
166 /*
167  *  Machine/OS name selection pattern
168  */
169 tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
170         "*-*-darwin7.9*",
171         (const char*)NULL };
172
173 /*
174  *  content selection pattern - do fix if pattern found
175  */
176 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
177        "#include[ \\t]+\\\"";
178
179 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
180 static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
181   { TT_EGREP,    zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
182
183 /*
184  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
185  */
186 static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
187     "format",
188     "%1<%2.h>",
189     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
190     (char*)NULL };
191
192 /* * * * * * * * * * * * * * * * * * * * * * * * * *
193  *
194  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
195  */
196 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
197      "AAB_fd_zero_asm_posix_types_h";
198
199 /*
200  *  File name selection pattern
201  */
202 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
203   "|asm/posix_types.h|";
204 /*
205  *  Machine/OS name selection pattern
206  */
207 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
208         "i[34567]86-*-linux*",
209         (const char*)NULL };
210
211 /*
212  *  content bypass pattern - skip fix if pattern found
213  */
214 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
215        "} while";
216
217 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
218 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
219   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
220
221 /*
222  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
223  */
224 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
225 "/* This file fixes a bug in the __FD_ZERO macro\n\
226    for older versions of the Linux kernel. */\n\
227 #ifndef _POSIX_TYPES_H_WRAPPER\n\
228 #include <features.h>\n\
229  #include_next <asm/posix_types.h>\n\n\
230 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
231 #undef __FD_ZERO\n\
232 #define __FD_ZERO(fdsetp) \\\n\
233   do { \\\n\
234     int __d0, __d1; \\\n\
235 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
236 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
237 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
238   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
239   } while (0)\n\
240 #endif\n\n\
241 #define _POSIX_TYPES_H_WRAPPER\n\
242 #endif /* _POSIX_TYPES_H_WRAPPER */",
243     (char*)NULL };
244
245 /* * * * * * * * * * * * * * * * * * * * * * * * * *
246  *
247  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
248  */
249 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
250      "AAB_fd_zero_gnu_types_h";
251
252 /*
253  *  File name selection pattern
254  */
255 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
256   "|gnu/types.h|";
257 /*
258  *  Machine/OS name selection pattern
259  */
260 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
261         "i[34567]86-*-linux*",
262         (const char*)NULL };
263 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
264 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
265
266 /*
267  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
268  */
269 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
270 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
271 #ifndef _TYPES_H_WRAPPER\n\
272 #include <features.h>\n\
273 #include_next <gnu/types.h>\n\n\
274 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
275 #undef __FD_ZERO\n\
276 # define __FD_ZERO(fdsetp) \\\n\
277   do { \\\n\
278     int __d0, __d1; \\\n\
279         __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
280         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
281         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
282           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
283   } while (0)\n\
284 #endif\n\n\
285 #define _TYPES_H_WRAPPER\n\
286 #endif /* _TYPES_H_WRAPPER */",
287     (char*)NULL };
288
289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
290  *
291  *  Description of Aab_Fd_Zero_Selectbits_H fix
292  */
293 tSCC zAab_Fd_Zero_Selectbits_HName[] =
294      "AAB_fd_zero_selectbits_h";
295
296 /*
297  *  File name selection pattern
298  */
299 tSCC zAab_Fd_Zero_Selectbits_HList[] =
300   "|selectbits.h|";
301 /*
302  *  Machine/OS name selection pattern
303  */
304 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
305         "i[34567]86-*-linux*",
306         (const char*)NULL };
307 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
308 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
309
310 /*
311  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
312  */
313 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
314 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
315 #ifndef _SELECTBITS_H_WRAPPER\n\
316   #include <features.h>\n\
317   #include_next <selectbits.h>\n\n\
318   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
319   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
320   && __GLIBC_MINOR__ == 0\n\
321      #undef __FD_ZERO\n\
322      #define __FD_ZERO(fdsetp) \\\\\n\
323      do { \\\\\n\
324         int __d0, __d1; \\\\\n\
325       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
326                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
327                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
328                                         / sizeof (__fd_mask)), \\\\\n\
329                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
330                         : \"memory\"); \\\\\n\
331       } while (0)\n\
332   #endif\n\n\
333   #define _SELECTBITS_H_WRAPPER\n\
334 #endif /* _SELECTBITS_H_WRAPPER */",
335     (char*)NULL };
336
337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
338  *
339  *  Description of Aab_Solaris_Sys_Varargs_H fix
340  */
341 tSCC zAab_Solaris_Sys_Varargs_HName[] =
342      "AAB_solaris_sys_varargs_h";
343
344 /*
345  *  File name selection pattern
346  */
347 tSCC zAab_Solaris_Sys_Varargs_HList[] =
348   "|sys/varargs.h|";
349 /*
350  *  Machine/OS name selection pattern
351  */
352 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
353         "*-*-solaris*",
354         (const char*)NULL };
355 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
356 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
357
358 /*
359  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
360  */
361 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
362 "#ifdef __STDC__\n\
363   #include <stdarg.h>\n\
364 #else\n\
365   #include <varargs.h>\n\
366 #endif",
367     (char*)NULL };
368
369 /* * * * * * * * * * * * * * * * * * * * * * * * * *
370  *
371  *  Description of Aab_Sun_Memcpy fix
372  */
373 tSCC zAab_Sun_MemcpyName[] =
374      "AAB_sun_memcpy";
375
376 /*
377  *  File name selection pattern
378  */
379 tSCC zAab_Sun_MemcpyList[] =
380   "|memory.h|";
381 /*
382  *  Machine/OS name selection pattern
383  */
384 #define apzAab_Sun_MemcpyMachs (const char**)NULL
385
386 /*
387  *  content selection pattern - do fix if pattern found
388  */
389 tSCC zAab_Sun_MemcpySelect0[] =
390        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
391
392 #define    AAB_SUN_MEMCPY_TEST_CT  1
393 static tTestDesc aAab_Sun_MemcpyTests[] = {
394   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
395
396 /*
397  *  Fix Command Arguments for Aab_Sun_Memcpy
398  */
399 static const char* apzAab_Sun_MemcpyPatch[] = {
400 "/* This file was generated by fixincludes */\n\
401 #ifndef __memory_h__\n\
402   #define __memory_h__\n\n\
403   #ifdef __STDC__\n\
404     extern void *memccpy();\n\
405     extern void *memchr();\n\
406     extern void *memcpy();\n\
407     extern void *memset();\n\
408   #else\n\
409     extern char *memccpy();\n\
410     extern char *memchr();\n\
411     extern char *memcpy();\n\
412     extern char *memset();\n\
413   #endif /* __STDC__ */\n\n\
414   extern int memcmp();\n\n\
415 #endif /* __memory_h__ */\n\
416 _EndOfHeader;\n\
417 };\n\n\n\
418 /*\n\
419  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
420  *  stdarg.h or varargs.h files as appropriate.\n\
421  */\n\
422 #ifdef SVR4\n\
423 fix = {\n\
424     hackname = AAB_svr4_no_varargs;\n\
425     files    = sys/varargs.h;\n\
426     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
427                \"#ifndef _SYS_VARARGS_H\\n\"\n\
428                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
429                \"#ifdef __STDC__\\n\"\n\
430                \"#include <stdarg.h>\\n\"\n\
431                \"#else\\n\"\n\
432                \"#include <varargs.h>\\n\"\n\
433                \"#endif\\n\\n\"\n\n\
434                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
435 };\n\
436 #endif\n\n\n\
437 /*\n\
438  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
439  *  optimized byteswapping.  (The original probably implemented some\n\
440  *  incompatible optimized byteswapping.)\n\
441  */\n\
442 fix = {\n\
443     hackname = AAB_svr4_replace_byteorder;\n\
444     mach     = \"*-*-sysv4*\";\n\
445     mach     = \"i[34567]86-*-sysv5*\";\n\
446     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
447     mach     = \"i[34567]86-*-udk*\";\n\
448     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
449     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
450     mach     = \"sparc-*-solaris2.[0-4]\";\n\
451     mach     = \"i[34567]86-sequent-ptx*\";\n\
452     files    = sys/byteorder.h;\n\
453     replace  = <<-  _EndOfHeader_\n\
454 #ifndef _SYS_BYTEORDER_H\n\
455 #define _SYS_BYTEORDER_H\n\n\
456 /* Functions to convert `short' and `long' quantities from host byte order\n\
457    to (internet) network byte order (i.e. big-endian).\n\n\
458    Written by Ron Guilmette (rfg@ncd.com).\n\n\
459    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
460    For big-endian machines these functions are essentially no-ops.\n\n\
461    For little-endian machines, we define the functions using specialized\n\
462    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
463 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
464   #error You lose!  This file is only useful with GNU compilers.\n\
465 #endif\n\n\
466 #ifndef __BYTE_ORDER__\n\
467   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
468      double underscores added at the front and back.  */\n\
469   #define __LITTLE_ENDIAN__   1234\n\
470   #define __BIG_ENDIAN__      4321\n\
471   #define __PDP_ENDIAN__      3412\n\
472 #endif\n\n\
473 #ifdef __STDC__\n\
474   static __inline__ unsigned long htonl (unsigned long);\n\
475   static __inline__ unsigned short htons (unsigned int);\n\
476   static __inline__ unsigned long ntohl (unsigned long);\n\
477   static __inline__ unsigned short ntohs (unsigned int);\n\
478 #endif /* defined (__STDC__) */\n\n\
479 #if defined (__i386__)\n\n\
480   #ifndef __BYTE_ORDER__\n\
481     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
482   #endif\n\n\
483   /* Convert a host long to a network long.  */\n\n\
484   /* We must use a new-style function definition, so that this will also\n\
485      be valid for C++.  */\n\
486   static __inline__ unsigned long\n\
487   htonl (unsigned long __arg)\n\
488   {\n\
489     register unsigned long __result;\n\n\
490     __asm__ (\"xchg%B0 %b0,%h0\n\
491   ror%L0 $16,%0\n\
492   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
493     return __result;\n\
494   }\n\n\
495   /* Convert a host short to a network short.  */\n\n\
496   static __inline__ unsigned short\n\
497   htons (unsigned int __arg)\n\
498   {\n\
499     register unsigned short __result;\n\n\
500     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
501     return __result;\n\
502   }\n\n\
503 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
504   #ifndef __BYTE_ORDER__\n\
505     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
506   #endif\n\n\
507   /* For other little-endian machines, using C code is just as efficient as\n\
508      using assembly code.  */\n\n\
509   /* Convert a host long to a network long.  */\n\n\
510   static __inline__ unsigned long\n\
511   htonl (unsigned long __arg)\n\
512   {\n\
513     register unsigned long __result;\n\n\
514     __result = (__arg >> 24) & 0x000000ff;\n\
515     __result |= (__arg >> 8) & 0x0000ff00;\n\
516     __result |= (__arg << 8) & 0x00ff0000;\n\
517     __result |= (__arg << 24) & 0xff000000;\n\
518     return __result;\n\
519   }\n\n\
520   /* Convert a host short to a network short.  */\n\n\
521   static __inline__ unsigned short\n\
522   htons (unsigned int __arg)\n\
523   {\n\
524     register unsigned short __result;\n\n\
525     __result = (__arg << 8) & 0xff00;\n\
526     __result |= (__arg >> 8) & 0x00ff;\n\
527     return __result;\n\
528   }\n\n\
529 #else /* must be a big-endian machine */\n\n\
530   #ifndef __BYTE_ORDER__\n\
531     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
532   #endif\n\n\
533   /* Convert a host long to a network long.  */\n\n\
534   static __inline__ unsigned long\n\
535   htonl (unsigned long __arg)\n\
536   {\n\
537     return __arg;\n\
538   }\n\n\
539   /* Convert a host short to a network short.  */\n\n\
540   static __inline__ unsigned short\n\
541   htons (unsigned int __arg)\n\
542   {\n\
543     return __arg;\n\
544   }\n\n\
545 #endif /* big-endian */\n\n\
546 /* Convert a network long to a host long.  */\n\n\
547 static __inline__ unsigned long\n\
548 ntohl (unsigned long __arg)\n\
549 {\n\
550   return htonl (__arg);\n\
551 }\n\n\
552 /* Convert a network short to a host short.  */\n\n\
553 static __inline__ unsigned short\n\
554 ntohs (unsigned int __arg)\n\
555 {\n\
556   return htons (__arg);\n\
557 }\n\
558 #endif",
559     (char*)NULL };
560
561 /* * * * * * * * * * * * * * * * * * * * * * * * * *
562  *
563  *  Description of Aab_Ultrix_Ansi_Compat fix
564  */
565 tSCC zAab_Ultrix_Ansi_CompatName[] =
566      "AAB_ultrix_ansi_compat";
567
568 /*
569  *  File name selection pattern
570  */
571 tSCC zAab_Ultrix_Ansi_CompatList[] =
572   "|ansi_compat.h|";
573 /*
574  *  Machine/OS name selection pattern
575  */
576 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
577
578 /*
579  *  content selection pattern - do fix if pattern found
580  */
581 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
582        "ULTRIX";
583
584 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
585 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
586   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
587
588 /*
589  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
590  */
591 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
592 "/* This file intentionally left blank.  */\n",
593     (char*)NULL };
594
595 /* * * * * * * * * * * * * * * * * * * * * * * * * *
596  *
597  *  Description of Aab_Ultrix_Limits fix
598  */
599 tSCC zAab_Ultrix_LimitsName[] =
600      "AAB_ultrix_limits";
601
602 /*
603  *  File name selection pattern
604  */
605 tSCC zAab_Ultrix_LimitsList[] =
606   "|limits.h|";
607 /*
608  *  Machine/OS name selection pattern
609  */
610 tSCC* apzAab_Ultrix_LimitsMachs[] = {
611         "*-*-ultrix4.3",
612         (const char*)NULL };
613 #define AAB_ULTRIX_LIMITS_TEST_CT  0
614 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
615
616 /*
617  *  Fix Command Arguments for Aab_Ultrix_Limits
618  */
619 static const char* apzAab_Ultrix_LimitsPatch[] = {
620 "#ifndef _LIMITS_INCLUDED\n\
621   #define _LIMITS_INCLUDED\n\
622   #include <sys/limits.h>\n\
623 #endif /* _LIMITS_INCLUDED */",
624     (char*)NULL };
625
626 /* * * * * * * * * * * * * * * * * * * * * * * * * *
627  *
628  *  Description of Aab_Ultrix_Memory fix
629  */
630 tSCC zAab_Ultrix_MemoryName[] =
631      "AAB_ultrix_memory";
632
633 /*
634  *  File name selection pattern
635  */
636 tSCC zAab_Ultrix_MemoryList[] =
637   "|memory.h|";
638 /*
639  *  Machine/OS name selection pattern
640  */
641 tSCC* apzAab_Ultrix_MemoryMachs[] = {
642         "*-*-ultrix4.3",
643         (const char*)NULL };
644 #define AAB_ULTRIX_MEMORY_TEST_CT  0
645 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
646
647 /*
648  *  Fix Command Arguments for Aab_Ultrix_Memory
649  */
650 static const char* apzAab_Ultrix_MemoryPatch[] = {
651 "#ifndef _MEMORY_INCLUDED\n\
652   #define _MEMORY_INCLUDED\n\
653   #include <strings.h>\n\
654 #endif /* _MEMORY_INCLUDED */",
655     (char*)NULL };
656
657 /* * * * * * * * * * * * * * * * * * * * * * * * * *
658  *
659  *  Description of Aab_Ultrix_String fix
660  */
661 tSCC zAab_Ultrix_StringName[] =
662      "AAB_ultrix_string";
663
664 /*
665  *  File name selection pattern
666  */
667 tSCC zAab_Ultrix_StringList[] =
668   "|string.h|";
669 /*
670  *  Machine/OS name selection pattern
671  */
672 tSCC* apzAab_Ultrix_StringMachs[] = {
673         "*-*-ultrix4.3",
674         (const char*)NULL };
675 #define AAB_ULTRIX_STRING_TEST_CT  0
676 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
677
678 /*
679  *  Fix Command Arguments for Aab_Ultrix_String
680  */
681 static const char* apzAab_Ultrix_StringPatch[] = {
682 "#ifndef _STRING_INCLUDED\n\
683   #define _STRING_INCLUDED\n\
684   #include <strings.h>\n\
685 #endif /* _STRING_INCLUDED */",
686     (char*)NULL };
687
688 /* * * * * * * * * * * * * * * * * * * * * * * * * *
689  *
690  *  Description of Aix_Pthread fix
691  */
692 tSCC zAix_PthreadName[] =
693      "aix_pthread";
694
695 /*
696  *  File name selection pattern
697  */
698 tSCC zAix_PthreadList[] =
699   "|pthread.h|";
700 /*
701  *  Machine/OS name selection pattern
702  */
703 #define apzAix_PthreadMachs (const char**)NULL
704
705 /*
706  *  content selection pattern - do fix if pattern found
707  */
708 tSCC zAix_PthreadSelect0[] =
709        "(#define [A-Za-z_0-9]+)(\\\\\n\
710 [^A-Za-z_0-9 \t\n\
711 (])";
712
713 #define    AIX_PTHREAD_TEST_CT  1
714 static tTestDesc aAix_PthreadTests[] = {
715   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
716
717 /*
718  *  Fix Command Arguments for Aix_Pthread
719  */
720 static const char* apzAix_PthreadPatch[] = {
721     "format",
722     "%1 %2",
723     (char*)NULL };
724
725 /* * * * * * * * * * * * * * * * * * * * * * * * * *
726  *
727  *  Description of Aix_Sysmachine fix
728  */
729 tSCC zAix_SysmachineName[] =
730      "aix_sysmachine";
731
732 /*
733  *  File name selection pattern
734  */
735 tSCC zAix_SysmachineList[] =
736   "|sys/machine.h|";
737 /*
738  *  Machine/OS name selection pattern
739  */
740 #define apzAix_SysmachineMachs (const char**)NULL
741
742 /*
743  *  content selection pattern - do fix if pattern found
744  */
745 tSCC zAix_SysmachineSelect0[] =
746        "\\\\ +\n";
747
748 #define    AIX_SYSMACHINE_TEST_CT  1
749 static tTestDesc aAix_SysmachineTests[] = {
750   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
751
752 /*
753  *  Fix Command Arguments for Aix_Sysmachine
754  */
755 static const char* apzAix_SysmachinePatch[] = {
756     "format",
757     "\\\n",
758     (char*)NULL };
759
760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
761  *
762  *  Description of Aix_Syswait fix
763  */
764 tSCC zAix_SyswaitName[] =
765      "aix_syswait";
766
767 /*
768  *  File name selection pattern
769  */
770 tSCC zAix_SyswaitList[] =
771   "|sys/wait.h|";
772 /*
773  *  Machine/OS name selection pattern
774  */
775 #define apzAix_SyswaitMachs (const char**)NULL
776
777 /*
778  *  content selection pattern - do fix if pattern found
779  */
780 tSCC zAix_SyswaitSelect0[] =
781        "^extern pid_t wait3\\(\\);\n";
782 tSCC zAix_SyswaitSelect1[] =
783        "bos325,";
784
785 #define    AIX_SYSWAIT_TEST_CT  2
786 static tTestDesc aAix_SyswaitTests[] = {
787   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
788   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
789
790 /*
791  *  Fix Command Arguments for Aix_Syswait
792  */
793 static const char* apzAix_SyswaitPatch[] = {
794     "format",
795     "struct rusage;\n\
796 %0",
797     (char*)NULL };
798
799 /* * * * * * * * * * * * * * * * * * * * * * * * * *
800  *
801  *  Description of Aix_Syswait_2 fix
802  */
803 tSCC zAix_Syswait_2Name[] =
804      "aix_syswait_2";
805
806 /*
807  *  File name selection pattern
808  */
809 tSCC zAix_Syswait_2List[] =
810   "|sys/wait.h|";
811 /*
812  *  Machine/OS name selection pattern
813  */
814 #define apzAix_Syswait_2Machs (const char**)NULL
815
816 /*
817  *  content selection pattern - do fix if pattern found
818  */
819 tSCC zAix_Syswait_2Select0[] =
820        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
821
822 #define    AIX_SYSWAIT_2_TEST_CT  1
823 static tTestDesc aAix_Syswait_2Tests[] = {
824   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
825
826 /*
827  *  Fix Command Arguments for Aix_Syswait_2
828  */
829 static const char* apzAix_Syswait_2Patch[] = {
830     "format",
831     "? (int)%1",
832     (char*)NULL };
833
834 /* * * * * * * * * * * * * * * * * * * * * * * * * *
835  *
836  *  Description of Aix_Volatile fix
837  */
838 tSCC zAix_VolatileName[] =
839      "aix_volatile";
840
841 /*
842  *  File name selection pattern
843  */
844 tSCC zAix_VolatileList[] =
845   "|sys/signal.h|";
846 /*
847  *  Machine/OS name selection pattern
848  */
849 #define apzAix_VolatileMachs (const char**)NULL
850
851 /*
852  *  content selection pattern - do fix if pattern found
853  */
854 tSCC zAix_VolatileSelect0[] =
855        "typedef volatile int sig_atomic_t";
856
857 #define    AIX_VOLATILE_TEST_CT  1
858 static tTestDesc aAix_VolatileTests[] = {
859   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
860
861 /*
862  *  Fix Command Arguments for Aix_Volatile
863  */
864 static const char* apzAix_VolatilePatch[] = {
865     "format",
866     "typedef int sig_atomic_t",
867     (char*)NULL };
868
869 /* * * * * * * * * * * * * * * * * * * * * * * * * *
870  *
871  *  Description of Alpha___Assert fix
872  */
873 tSCC zAlpha___AssertName[] =
874      "alpha___assert";
875
876 /*
877  *  File name selection pattern
878  */
879 tSCC zAlpha___AssertList[] =
880   "|assert.h|";
881 /*
882  *  Machine/OS name selection pattern
883  */
884 #define apzAlpha___AssertMachs (const char**)NULL
885
886 /*
887  *  content selection pattern - do fix if pattern found
888  */
889 tSCC zAlpha___AssertSelect0[] =
890        "__assert\\(char \\*, char \\*, int\\)";
891
892 #define    ALPHA___ASSERT_TEST_CT  1
893 static tTestDesc aAlpha___AssertTests[] = {
894   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
895
896 /*
897  *  Fix Command Arguments for Alpha___Assert
898  */
899 static const char* apzAlpha___AssertPatch[] = {
900     "format",
901     "__assert(const char *, const char *, int)",
902     (char*)NULL };
903
904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
905  *
906  *  Description of Alpha___Extern_Prefix fix
907  */
908 tSCC zAlpha___Extern_PrefixName[] =
909      "alpha___extern_prefix";
910
911 /*
912  *  File name selection pattern
913  */
914 #define zAlpha___Extern_PrefixList (char*)NULL
915 /*
916  *  Machine/OS name selection pattern
917  */
918 tSCC* apzAlpha___Extern_PrefixMachs[] = {
919         "alpha*-dec-osf*",
920         (const char*)NULL };
921
922 /*
923  *  content selection pattern - do fix if pattern found
924  */
925 tSCC zAlpha___Extern_PrefixSelect0[] =
926        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
927 (#[ \t]*pragma[ \t]*extern_prefix.*)";
928
929 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
930 static tTestDesc aAlpha___Extern_PrefixTests[] = {
931   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
932
933 /*
934  *  Fix Command Arguments for Alpha___Extern_Prefix
935  */
936 static const char* apzAlpha___Extern_PrefixPatch[] = {
937     "format",
938     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
939 %3",
940     (char*)NULL };
941
942 /* * * * * * * * * * * * * * * * * * * * * * * * * *
943  *
944  *  Description of Alpha___Extern_Prefix_Standards fix
945  */
946 tSCC zAlpha___Extern_Prefix_StandardsName[] =
947      "alpha___extern_prefix_standards";
948
949 /*
950  *  File name selection pattern
951  */
952 tSCC zAlpha___Extern_Prefix_StandardsList[] =
953   "|standards.h|";
954 /*
955  *  Machine/OS name selection pattern
956  */
957 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
958         "alpha*-dec-osf*",
959         (const char*)NULL };
960
961 /*
962  *  content selection pattern - do fix if pattern found
963  */
964 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
965        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
966
967 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
968 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
969   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
970
971 /*
972  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
973  */
974 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
975     "format",
976     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
977     (char*)NULL };
978
979 /* * * * * * * * * * * * * * * * * * * * * * * * * *
980  *
981  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
982  */
983 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
984      "alpha___extern_prefix_sys_stat";
985
986 /*
987  *  File name selection pattern
988  */
989 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
990   "|sys/stat.h|sys/mount.h|";
991 /*
992  *  Machine/OS name selection pattern
993  */
994 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
995         "alpha*-dec-osf5*",
996         (const char*)NULL };
997
998 /*
999  *  content selection pattern - do fix if pattern found
1000  */
1001 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
1002        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
1003
1004 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
1005 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
1006   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
1007
1008 /*
1009  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
1010  */
1011 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
1012     "format",
1013     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
1014     (char*)NULL };
1015
1016 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1017  *
1018  *  Description of Alpha_Assert fix
1019  */
1020 tSCC zAlpha_AssertName[] =
1021      "alpha_assert";
1022
1023 /*
1024  *  File name selection pattern
1025  */
1026 tSCC zAlpha_AssertList[] =
1027   "|assert.h|";
1028 /*
1029  *  Machine/OS name selection pattern
1030  */
1031 #define apzAlpha_AssertMachs (const char**)NULL
1032
1033 /*
1034  *  content selection pattern - do fix if pattern found
1035  */
1036 tSCC zAlpha_AssertSelect0[] =
1037        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1038
1039 #define    ALPHA_ASSERT_TEST_CT  1
1040 static tTestDesc aAlpha_AssertTests[] = {
1041   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1042
1043 /*
1044  *  Fix Command Arguments for Alpha_Assert
1045  */
1046 static const char* apzAlpha_AssertPatch[] = {
1047     "format",
1048     "%1(EX)",
1049     (char*)NULL };
1050
1051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1052  *
1053  *  Description of Alpha_Bad_Lval fix
1054  */
1055 tSCC zAlpha_Bad_LvalName[] =
1056      "alpha_bad_lval";
1057
1058 /*
1059  *  File name selection pattern
1060  */
1061 #define zAlpha_Bad_LvalList (char*)NULL
1062 /*
1063  *  Machine/OS name selection pattern
1064  */
1065 tSCC* apzAlpha_Bad_LvalMachs[] = {
1066         "alpha*-dec-osf*",
1067         (const char*)NULL };
1068
1069 /*
1070  *  content selection pattern - do fix if pattern found
1071  */
1072 tSCC zAlpha_Bad_LvalSelect0[] =
1073        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1074
1075 #define    ALPHA_BAD_LVAL_TEST_CT  1
1076 static tTestDesc aAlpha_Bad_LvalTests[] = {
1077   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
1078
1079 /*
1080  *  Fix Command Arguments for Alpha_Bad_Lval
1081  */
1082 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
1083     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1084     (char*)NULL };
1085
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1087  *
1088  *  Description of Alpha_Getopt fix
1089  */
1090 tSCC zAlpha_GetoptName[] =
1091      "alpha_getopt";
1092
1093 /*
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_GetoptList[] =
1097   "|stdio.h|stdlib.h|";
1098 /*
1099  *  Machine/OS name selection pattern
1100  */
1101 #define apzAlpha_GetoptMachs (const char**)NULL
1102
1103 /*
1104  *  content selection pattern - do fix if pattern found
1105  */
1106 tSCC zAlpha_GetoptSelect0[] =
1107        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1108
1109 #define    ALPHA_GETOPT_TEST_CT  1
1110 static tTestDesc aAlpha_GetoptTests[] = {
1111   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1112
1113 /*
1114  *  Fix Command Arguments for Alpha_Getopt
1115  */
1116 static const char* apzAlpha_GetoptPatch[] = {
1117     "format",
1118     "getopt(int, char *const[], const char *)",
1119     (char*)NULL };
1120
1121 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1122  *
1123  *  Description of Alpha_Parens fix
1124  */
1125 tSCC zAlpha_ParensName[] =
1126      "alpha_parens";
1127
1128 /*
1129  *  File name selection pattern
1130  */
1131 tSCC zAlpha_ParensList[] =
1132   "|sym.h|";
1133 /*
1134  *  Machine/OS name selection pattern
1135  */
1136 #define apzAlpha_ParensMachs (const char**)NULL
1137
1138 /*
1139  *  content selection pattern - do fix if pattern found
1140  */
1141 tSCC zAlpha_ParensSelect0[] =
1142        "#ifndef\\(__mips64\\)";
1143
1144 #define    ALPHA_PARENS_TEST_CT  1
1145 static tTestDesc aAlpha_ParensTests[] = {
1146   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1147
1148 /*
1149  *  Fix Command Arguments for Alpha_Parens
1150  */
1151 static const char* apzAlpha_ParensPatch[] = {
1152     "format",
1153     "#ifndef __mips64",
1154     (char*)NULL };
1155
1156 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1157  *
1158  *  Description of Alpha_Pthread fix
1159  */
1160 tSCC zAlpha_PthreadName[] =
1161      "alpha_pthread";
1162
1163 /*
1164  *  File name selection pattern
1165  */
1166 tSCC zAlpha_PthreadList[] =
1167   "|pthread.h|";
1168 /*
1169  *  Machine/OS name selection pattern
1170  */
1171 tSCC* apzAlpha_PthreadMachs[] = {
1172         "alpha*-dec-osf*",
1173         (const char*)NULL };
1174
1175 /*
1176  *  content selection pattern - do fix if pattern found
1177  */
1178 tSCC zAlpha_PthreadSelect0[] =
1179        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1180 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1181
1182 #define    ALPHA_PTHREAD_TEST_CT  1
1183 static tTestDesc aAlpha_PthreadTests[] = {
1184   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1185
1186 /*
1187  *  Fix Command Arguments for Alpha_Pthread
1188  */
1189 static const char* apzAlpha_PthreadPatch[] = {
1190     "format",
1191     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1192 %5",
1193     (char*)NULL };
1194
1195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1196  *
1197  *  Description of Alpha_Pthread_Gcc fix
1198  */
1199 tSCC zAlpha_Pthread_GccName[] =
1200      "alpha_pthread_gcc";
1201
1202 /*
1203  *  File name selection pattern
1204  */
1205 tSCC zAlpha_Pthread_GccList[] =
1206   "|pthread.h|";
1207 /*
1208  *  Machine/OS name selection pattern
1209  */
1210 tSCC* apzAlpha_Pthread_GccMachs[] = {
1211         "alpha*-dec-osf*",
1212         (const char*)NULL };
1213
1214 /*
1215  *  content selection pattern - do fix if pattern found
1216  */
1217 tSCC zAlpha_Pthread_GccSelect0[] =
1218        "#else\n\
1219 # error <pthread.h>: unrecognized compiler.";
1220
1221 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1222 static tTestDesc aAlpha_Pthread_GccTests[] = {
1223   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1224
1225 /*
1226  *  Fix Command Arguments for Alpha_Pthread_Gcc
1227  */
1228 static const char* apzAlpha_Pthread_GccPatch[] = {
1229     "format",
1230     "#elif defined (__GNUC__)\n\
1231 # define _PTHREAD_ENV_GCC\n\
1232 %0",
1233     (char*)NULL };
1234
1235 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1236  *
1237  *  Description of Alpha_Pthread_Init fix
1238  */
1239 tSCC zAlpha_Pthread_InitName[] =
1240      "alpha_pthread_init";
1241
1242 /*
1243  *  File name selection pattern
1244  */
1245 tSCC zAlpha_Pthread_InitList[] =
1246   "|pthread.h|";
1247 /*
1248  *  Machine/OS name selection pattern
1249  */
1250 tSCC* apzAlpha_Pthread_InitMachs[] = {
1251         "alpha*-dec-osf*",
1252         (const char*)NULL };
1253
1254 /*
1255  *  content selection pattern - do fix if pattern found
1256  */
1257 tSCC zAlpha_Pthread_InitSelect0[] =
1258        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1259
1260 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1261 static tTestDesc aAlpha_Pthread_InitTests[] = {
1262   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1263
1264 /*
1265  *  Fix Command Arguments for Alpha_Pthread_Init
1266  */
1267 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1268     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1269 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1270 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1271 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1272 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1273 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1274     (char*)NULL };
1275
1276 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1277  *
1278  *  Description of Alpha_Sbrk fix
1279  */
1280 tSCC zAlpha_SbrkName[] =
1281      "alpha_sbrk";
1282
1283 /*
1284  *  File name selection pattern
1285  */
1286 tSCC zAlpha_SbrkList[] =
1287   "|unistd.h|";
1288 /*
1289  *  Machine/OS name selection pattern
1290  */
1291 #define apzAlpha_SbrkMachs (const char**)NULL
1292
1293 /*
1294  *  content selection pattern - do fix if pattern found
1295  */
1296 tSCC zAlpha_SbrkSelect0[] =
1297        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1298
1299 #define    ALPHA_SBRK_TEST_CT  1
1300 static tTestDesc aAlpha_SbrkTests[] = {
1301   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1302
1303 /*
1304  *  Fix Command Arguments for Alpha_Sbrk
1305  */
1306 static const char* apzAlpha_SbrkPatch[] = {
1307     "format",
1308     "void *sbrk(",
1309     (char*)NULL };
1310
1311 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1312  *
1313  *  Description of Alpha_Wchar fix
1314  */
1315 tSCC zAlpha_WcharName[] =
1316      "alpha_wchar";
1317
1318 /*
1319  *  File name selection pattern
1320  */
1321 tSCC zAlpha_WcharList[] =
1322   "|wchar.h|";
1323 /*
1324  *  Machine/OS name selection pattern
1325  */
1326 tSCC* apzAlpha_WcharMachs[] = {
1327         "alpha*-dec-osf4*",
1328         (const char*)NULL };
1329
1330 /*
1331  *  content selection pattern - do fix if pattern found
1332  */
1333 tSCC zAlpha_WcharSelect0[] =
1334        "#define wcstok wcstok_r";
1335
1336 #define    ALPHA_WCHAR_TEST_CT  1
1337 static tTestDesc aAlpha_WcharTests[] = {
1338   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1339
1340 /*
1341  *  Fix Command Arguments for Alpha_Wchar
1342  */
1343 static const char* apzAlpha_WcharPatch[] = { "sed",
1344     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1345     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1346     (char*)NULL };
1347
1348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1349  *
1350  *  Description of Avoid_Bool_Define fix
1351  */
1352 tSCC zAvoid_Bool_DefineName[] =
1353      "avoid_bool_define";
1354
1355 /*
1356  *  File name selection pattern
1357  */
1358 tSCC zAvoid_Bool_DefineList[] =
1359   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1360 /*
1361  *  Machine/OS name selection pattern
1362  */
1363 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1364
1365 /*
1366  *  content selection pattern - do fix if pattern found
1367  */
1368 tSCC zAvoid_Bool_DefineSelect0[] =
1369        "#[ \t]*define[ \t]+bool[ \t]";
1370
1371 /*
1372  *  content bypass pattern - skip fix if pattern found
1373  */
1374 tSCC zAvoid_Bool_DefineBypass0[] =
1375        "__cplusplus";
1376
1377 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1378 static tTestDesc aAvoid_Bool_DefineTests[] = {
1379   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1380   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1381
1382 /*
1383  *  Fix Command Arguments for Avoid_Bool_Define
1384  */
1385 static const char* apzAvoid_Bool_DefinePatch[] = {
1386     "format",
1387     "#ifndef __cplusplus\n\
1388 %0\n\
1389 #endif",
1390     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1391     (char*)NULL };
1392
1393 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1394  *
1395  *  Description of Avoid_Bool_Type fix
1396  */
1397 tSCC zAvoid_Bool_TypeName[] =
1398      "avoid_bool_type";
1399
1400 /*
1401  *  File name selection pattern
1402  */
1403 tSCC zAvoid_Bool_TypeList[] =
1404   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1405 /*
1406  *  Machine/OS name selection pattern
1407  */
1408 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1409
1410 /*
1411  *  content selection pattern - do fix if pattern found
1412  */
1413 tSCC zAvoid_Bool_TypeSelect0[] =
1414        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1415
1416 /*
1417  *  content bypass pattern - skip fix if pattern found
1418  */
1419 tSCC zAvoid_Bool_TypeBypass0[] =
1420        "__cplusplus";
1421
1422 #define    AVOID_BOOL_TYPE_TEST_CT  2
1423 static tTestDesc aAvoid_Bool_TypeTests[] = {
1424   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1425   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1426
1427 /*
1428  *  Fix Command Arguments for Avoid_Bool_Type
1429  */
1430 static const char* apzAvoid_Bool_TypePatch[] = {
1431     "format",
1432     "#ifndef __cplusplus\n\
1433 %0\n\
1434 #endif",
1435     (char*)NULL };
1436
1437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1438  *
1439  *  Description of Avoid_Wchar_T_Type fix
1440  */
1441 tSCC zAvoid_Wchar_T_TypeName[] =
1442      "avoid_wchar_t_type";
1443
1444 /*
1445  *  File name selection pattern
1446  */
1447 #define zAvoid_Wchar_T_TypeList (char*)NULL
1448 /*
1449  *  Machine/OS name selection pattern
1450  */
1451 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1452
1453 /*
1454  *  content selection pattern - do fix if pattern found
1455  */
1456 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1457        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1458
1459 /*
1460  *  content bypass pattern - skip fix if pattern found
1461  */
1462 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1463        "__cplusplus";
1464 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1465        "_LINUX_NLS_H";
1466 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1467        "XFree86: xc/lib/X11/Xlib\\.h";
1468
1469 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1470 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1471   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1472   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1473   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1474   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1475
1476 /*
1477  *  Fix Command Arguments for Avoid_Wchar_T_Type
1478  */
1479 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1480     "format",
1481     "#ifndef __cplusplus\n\
1482 %0\n\
1483 #endif",
1484     (char*)NULL };
1485
1486 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1487  *
1488  *  Description of Bad_Struct_Term fix
1489  */
1490 tSCC zBad_Struct_TermName[] =
1491      "bad_struct_term";
1492
1493 /*
1494  *  File name selection pattern
1495  */
1496 tSCC zBad_Struct_TermList[] =
1497   "|curses.h|";
1498 /*
1499  *  Machine/OS name selection pattern
1500  */
1501 #define apzBad_Struct_TermMachs (const char**)NULL
1502
1503 /*
1504  *  content selection pattern - do fix if pattern found
1505  */
1506 tSCC zBad_Struct_TermSelect0[] =
1507        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1508
1509 #define    BAD_STRUCT_TERM_TEST_CT  1
1510 static tTestDesc aBad_Struct_TermTests[] = {
1511   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1512
1513 /*
1514  *  Fix Command Arguments for Bad_Struct_Term
1515  */
1516 static const char* apzBad_Struct_TermPatch[] = {
1517     "format",
1518     "struct term;",
1519     (char*)NULL };
1520
1521 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1522  *
1523  *  Description of Badquote fix
1524  */
1525 tSCC zBadquoteName[] =
1526      "badquote";
1527
1528 /*
1529  *  File name selection pattern
1530  */
1531 tSCC zBadquoteList[] =
1532   "|sundev/vuid_event.h|";
1533 /*
1534  *  Machine/OS name selection pattern
1535  */
1536 #define apzBadquoteMachs (const char**)NULL
1537
1538 /*
1539  *  content selection pattern - do fix if pattern found
1540  */
1541 tSCC zBadquoteSelect0[] =
1542        "doesn't";
1543
1544 #define    BADQUOTE_TEST_CT  1
1545 static tTestDesc aBadquoteTests[] = {
1546   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1547
1548 /*
1549  *  Fix Command Arguments for Badquote
1550  */
1551 static const char* apzBadquotePatch[] = {
1552     "format",
1553     "does not",
1554     (char*)NULL };
1555
1556 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1557  *
1558  *  Description of Broken_Assert_Stdio fix
1559  */
1560 tSCC zBroken_Assert_StdioName[] =
1561      "broken_assert_stdio";
1562
1563 /*
1564  *  File name selection pattern
1565  */
1566 tSCC zBroken_Assert_StdioList[] =
1567   "|assert.h|";
1568 /*
1569  *  Machine/OS name selection pattern
1570  */
1571 #define apzBroken_Assert_StdioMachs (const char**)NULL
1572
1573 /*
1574  *  content selection pattern - do fix if pattern found
1575  */
1576 tSCC zBroken_Assert_StdioSelect0[] =
1577        "stderr";
1578
1579 /*
1580  *  content bypass pattern - skip fix if pattern found
1581  */
1582 tSCC zBroken_Assert_StdioBypass0[] =
1583        "include.*stdio\\.h";
1584
1585 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1586 static tTestDesc aBroken_Assert_StdioTests[] = {
1587   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1588   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1589
1590 /*
1591  *  Fix Command Arguments for Broken_Assert_Stdio
1592  */
1593 static const char* apzBroken_Assert_StdioPatch[] = {
1594     "wrap",
1595     "#include <stdio.h>\n",
1596     (char*)NULL };
1597
1598 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1599  *
1600  *  Description of Broken_Assert_Stdlib fix
1601  */
1602 tSCC zBroken_Assert_StdlibName[] =
1603      "broken_assert_stdlib";
1604
1605 /*
1606  *  File name selection pattern
1607  */
1608 tSCC zBroken_Assert_StdlibList[] =
1609   "|assert.h|";
1610 /*
1611  *  Machine/OS name selection pattern
1612  */
1613 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1614
1615 /*
1616  *  content selection pattern - do fix if pattern found
1617  */
1618 tSCC zBroken_Assert_StdlibSelect0[] =
1619        "exit *\\(|abort *\\(";
1620
1621 /*
1622  *  content bypass pattern - skip fix if pattern found
1623  */
1624 tSCC zBroken_Assert_StdlibBypass0[] =
1625        "include.*stdlib\\.h";
1626
1627 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1628 static tTestDesc aBroken_Assert_StdlibTests[] = {
1629   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1630   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1631
1632 /*
1633  *  Fix Command Arguments for Broken_Assert_Stdlib
1634  */
1635 static const char* apzBroken_Assert_StdlibPatch[] = {
1636     "wrap",
1637     "#ifdef __cplusplus\n\
1638 #include <stdlib.h>\n\
1639 #endif\n",
1640     (char*)NULL };
1641
1642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1643  *
1644  *  Description of Broken_Cabs fix
1645  */
1646 tSCC zBroken_CabsName[] =
1647      "broken_cabs";
1648
1649 /*
1650  *  File name selection pattern
1651  */
1652 tSCC zBroken_CabsList[] =
1653   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1654 /*
1655  *  Machine/OS name selection pattern
1656  */
1657 #define apzBroken_CabsMachs (const char**)NULL
1658
1659 /*
1660  *  content selection pattern - do fix if pattern found
1661  */
1662 tSCC zBroken_CabsSelect0[] =
1663        "^extern[ \t]+double[ \t]+cabs";
1664
1665 #define    BROKEN_CABS_TEST_CT  1
1666 static tTestDesc aBroken_CabsTests[] = {
1667   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1668
1669 /*
1670  *  Fix Command Arguments for Broken_Cabs
1671  */
1672 static const char* apzBroken_CabsPatch[] = {
1673     "format",
1674     "",
1675     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1676     (char*)NULL };
1677
1678 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1679  *
1680  *  Description of Bsd_Stdio_Attrs_Conflict fix
1681  */
1682 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1683      "bsd_stdio_attrs_conflict";
1684
1685 /*
1686  *  File name selection pattern
1687  */
1688 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1689   "|stdio.h|";
1690 /*
1691  *  Machine/OS name selection pattern
1692  */
1693 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1694         "*-*-*bsd*",
1695         "*-*-*darwin*",
1696         (const char*)NULL };
1697
1698 /*
1699  *  content selection pattern - do fix if pattern found
1700  */
1701 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1702        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1703
1704 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1705 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1706   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1707
1708 /*
1709  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1710  */
1711 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1712     "format",
1713     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1714 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1715 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1716     (char*)NULL };
1717
1718 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1719  *
1720  *  Description of Ctrl_Quotes_Def fix
1721  */
1722 tSCC zCtrl_Quotes_DefName[] =
1723      "ctrl_quotes_def";
1724
1725 /*
1726  *  File name selection pattern
1727  */
1728 #define zCtrl_Quotes_DefList (char*)NULL
1729 /*
1730  *  Machine/OS name selection pattern
1731  */
1732 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1733
1734 /*
1735  *  content selection pattern - do fix if pattern found
1736  */
1737 tSCC zCtrl_Quotes_DefSelect0[] =
1738        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1739
1740 #define    CTRL_QUOTES_DEF_TEST_CT  1
1741 static tTestDesc aCtrl_Quotes_DefTests[] = {
1742   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1743
1744 /*
1745  *  Fix Command Arguments for Ctrl_Quotes_Def
1746  */
1747 static const char* apzCtrl_Quotes_DefPatch[] = {
1748     "char_macro_def",
1749     "CTRL",
1750     (char*)NULL };
1751
1752 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1753  *
1754  *  Description of Ctrl_Quotes_Use fix
1755  */
1756 tSCC zCtrl_Quotes_UseName[] =
1757      "ctrl_quotes_use";
1758
1759 /*
1760  *  File name selection pattern
1761  */
1762 #define zCtrl_Quotes_UseList (char*)NULL
1763 /*
1764  *  Machine/OS name selection pattern
1765  */
1766 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1767
1768 /*
1769  *  content selection pattern - do fix if pattern found
1770  */
1771 tSCC zCtrl_Quotes_UseSelect0[] =
1772        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1773
1774 #define    CTRL_QUOTES_USE_TEST_CT  1
1775 static tTestDesc aCtrl_Quotes_UseTests[] = {
1776   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1777
1778 /*
1779  *  Fix Command Arguments for Ctrl_Quotes_Use
1780  */
1781 static const char* apzCtrl_Quotes_UsePatch[] = {
1782     "char_macro_use",
1783     "CTRL",
1784     (char*)NULL };
1785
1786 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1787  *
1788  *  Description of Cxx_Unready fix
1789  */
1790 tSCC zCxx_UnreadyName[] =
1791      "cxx_unready";
1792
1793 /*
1794  *  File name selection pattern
1795  */
1796 tSCC zCxx_UnreadyList[] =
1797   "|sys/mman.h|rpc/types.h|";
1798 /*
1799  *  Machine/OS name selection pattern
1800  */
1801 #define apzCxx_UnreadyMachs (const char**)NULL
1802
1803 /*
1804  *  content selection pattern - do fix if pattern found
1805  */
1806 tSCC zCxx_UnreadySelect0[] =
1807        "[^#]+malloc.*;";
1808
1809 /*
1810  *  content bypass pattern - skip fix if pattern found
1811  */
1812 tSCC zCxx_UnreadyBypass0[] =
1813        "\"C\"|__BEGIN_DECLS";
1814
1815 #define    CXX_UNREADY_TEST_CT  2
1816 static tTestDesc aCxx_UnreadyTests[] = {
1817   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1818   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1819
1820 /*
1821  *  Fix Command Arguments for Cxx_Unready
1822  */
1823 static const char* apzCxx_UnreadyPatch[] = {
1824     "wrap",
1825     "#ifdef __cplusplus\n\
1826 extern \"C\" {\n\
1827 #endif\n",
1828     "#ifdef __cplusplus\n\
1829 }\n\
1830 #endif\n",
1831     (char*)NULL };
1832
1833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1834  *
1835  *  Description of Darwin_Gcc4_Breakage fix
1836  */
1837 tSCC zDarwin_Gcc4_BreakageName[] =
1838      "darwin_gcc4_breakage";
1839
1840 /*
1841  *  File name selection pattern
1842  */
1843 tSCC zDarwin_Gcc4_BreakageList[] =
1844   "|AvailabilityMacros.h|";
1845 /*
1846  *  Machine/OS name selection pattern
1847  */
1848 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1849         "*-*-darwin*",
1850         (const char*)NULL };
1851
1852 /*
1853  *  content selection pattern - do fix if pattern found
1854  */
1855 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1856        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1857
1858 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1859 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1860   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1861
1862 /*
1863  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1864  */
1865 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1866     "format",
1867     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1868     (char*)NULL };
1869
1870 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1871  *
1872  *  Description of Darwin_Private_Extern fix
1873  */
1874 tSCC zDarwin_Private_ExternName[] =
1875      "darwin_private_extern";
1876
1877 /*
1878  *  File name selection pattern
1879  */
1880 tSCC zDarwin_Private_ExternList[] =
1881   "|mach-o/dyld.h|";
1882 /*
1883  *  Machine/OS name selection pattern
1884  */
1885 tSCC* apzDarwin_Private_ExternMachs[] = {
1886         "*-*-darwin*",
1887         (const char*)NULL };
1888
1889 /*
1890  *  content selection pattern - do fix if pattern found
1891  */
1892 tSCC zDarwin_Private_ExternSelect0[] =
1893        "__private_extern__ [a-z_]+ _dyld_";
1894
1895 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1896 static tTestDesc aDarwin_Private_ExternTests[] = {
1897   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1898
1899 /*
1900  *  Fix Command Arguments for Darwin_Private_Extern
1901  */
1902 static const char* apzDarwin_Private_ExternPatch[] = {
1903     "format",
1904     "extern",
1905     "__private_extern__",
1906     (char*)NULL };
1907
1908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1909  *
1910  *  Description of Dec_Intern_Asm fix
1911  */
1912 tSCC zDec_Intern_AsmName[] =
1913      "dec_intern_asm";
1914
1915 /*
1916  *  File name selection pattern
1917  */
1918 tSCC zDec_Intern_AsmList[] =
1919   "|c_asm.h|";
1920 /*
1921  *  Machine/OS name selection pattern
1922  */
1923 #define apzDec_Intern_AsmMachs (const char**)NULL
1924 #define DEC_INTERN_ASM_TEST_CT  0
1925 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1926
1927 /*
1928  *  Fix Command Arguments for Dec_Intern_Asm
1929  */
1930 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1931     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1932 #ifdef __DECC\n",
1933     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1934 #endif\n",
1935     (char*)NULL };
1936
1937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1938  *
1939  *  Description of Djgpp_Wchar_H fix
1940  */
1941 tSCC zDjgpp_Wchar_HName[] =
1942      "djgpp_wchar_h";
1943
1944 /*
1945  *  File name selection pattern
1946  */
1947 #define zDjgpp_Wchar_HList (char*)NULL
1948 /*
1949  *  Machine/OS name selection pattern
1950  */
1951 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1952
1953 /*
1954  *  content selection pattern - do fix if pattern found
1955  */
1956 tSCC zDjgpp_Wchar_HSelect0[] =
1957        "__DJ_wint_t";
1958
1959 /*
1960  *  content bypass pattern - skip fix if pattern found
1961  */
1962 tSCC zDjgpp_Wchar_HBypass0[] =
1963        "sys/djtypes.h";
1964
1965 #define    DJGPP_WCHAR_H_TEST_CT  2
1966 static tTestDesc aDjgpp_Wchar_HTests[] = {
1967   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1968   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1969
1970 /*
1971  *  Fix Command Arguments for Djgpp_Wchar_H
1972  */
1973 static const char* apzDjgpp_Wchar_HPatch[] = {
1974     "format",
1975     "%0\n\
1976 #include <sys/djtypes.h>",
1977     "#include <stddef.h>",
1978     (char*)NULL };
1979
1980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1981  *
1982  *  Description of Ecd_Cursor fix
1983  */
1984 tSCC zEcd_CursorName[] =
1985      "ecd_cursor";
1986
1987 /*
1988  *  File name selection pattern
1989  */
1990 tSCC zEcd_CursorList[] =
1991   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1992 /*
1993  *  Machine/OS name selection pattern
1994  */
1995 #define apzEcd_CursorMachs (const char**)NULL
1996
1997 /*
1998  *  content selection pattern - do fix if pattern found
1999  */
2000 tSCC zEcd_CursorSelect0[] =
2001        "ecd\\.cursor";
2002
2003 #define    ECD_CURSOR_TEST_CT  1
2004 static tTestDesc aEcd_CursorTests[] = {
2005   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
2006
2007 /*
2008  *  Fix Command Arguments for Ecd_Cursor
2009  */
2010 static const char* apzEcd_CursorPatch[] = {
2011     "format",
2012     "ecd_cursor",
2013     (char*)NULL };
2014
2015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2016  *
2017  *  Description of Exception_Structure fix
2018  */
2019 tSCC zException_StructureName[] =
2020      "exception_structure";
2021
2022 /*
2023  *  File name selection pattern
2024  */
2025 tSCC zException_StructureList[] =
2026   "|math.h|";
2027 /*
2028  *  Machine/OS name selection pattern
2029  */
2030 #define apzException_StructureMachs (const char**)NULL
2031
2032 /*
2033  *  content selection pattern - do fix if pattern found
2034  */
2035 tSCC zException_StructureSelect0[] =
2036        "matherr";
2037
2038 /*
2039  *  content bypass pattern - skip fix if pattern found
2040  */
2041 tSCC zException_StructureBypass0[] =
2042        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
2043
2044 #define    EXCEPTION_STRUCTURE_TEST_CT  2
2045 static tTestDesc aException_StructureTests[] = {
2046   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
2047   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
2048
2049 /*
2050  *  Fix Command Arguments for Exception_Structure
2051  */
2052 static const char* apzException_StructurePatch[] = {
2053     "wrap",
2054     "struct exception;\n",
2055     (char*)NULL };
2056
2057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2058  *
2059  *  Description of Freebsd_Gcc3_Breakage fix
2060  */
2061 tSCC zFreebsd_Gcc3_BreakageName[] =
2062      "freebsd_gcc3_breakage";
2063
2064 /*
2065  *  File name selection pattern
2066  */
2067 tSCC zFreebsd_Gcc3_BreakageList[] =
2068   "|sys/cdefs.h|";
2069 /*
2070  *  Machine/OS name selection pattern
2071  */
2072 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2073         "*-*-freebsd*",
2074         (const char*)NULL };
2075
2076 /*
2077  *  content selection pattern - do fix if pattern found
2078  */
2079 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2080        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2081
2082 /*
2083  *  content bypass pattern - skip fix if pattern found
2084  */
2085 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2086        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2087
2088 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
2089 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2090   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2091   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2092
2093 /*
2094  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
2095  */
2096 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2097     "format",
2098     "%0 || __GNUC__ >= 3",
2099     (char*)NULL };
2100
2101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2102  *
2103  *  Description of Freebsd_Gcc4_Breakage fix
2104  */
2105 tSCC zFreebsd_Gcc4_BreakageName[] =
2106      "freebsd_gcc4_breakage";
2107
2108 /*
2109  *  File name selection pattern
2110  */
2111 tSCC zFreebsd_Gcc4_BreakageList[] =
2112   "|sys/cdefs.h|";
2113 /*
2114  *  Machine/OS name selection pattern
2115  */
2116 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2117         "*-*-freebsd*",
2118         (const char*)NULL };
2119
2120 /*
2121  *  content selection pattern - do fix if pattern found
2122  */
2123 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2124        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2125
2126 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
2127 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2128   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2129
2130 /*
2131  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
2132  */
2133 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2134     "format",
2135     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2136     (char*)NULL };
2137
2138 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2139  *
2140  *  Description of Gnu_Types fix
2141  */
2142 tSCC zGnu_TypesName[] =
2143      "gnu_types";
2144
2145 /*
2146  *  File name selection pattern
2147  */
2148 tSCC zGnu_TypesList[] =
2149   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2150 /*
2151  *  Machine/OS name selection pattern
2152  */
2153 tSCC* apzGnu_TypesMachs[] = {
2154         "*-*-solaris2.1[0-9]*",
2155         (const char*)NULL };
2156
2157 /*
2158  *  content selection pattern - do fix if pattern found
2159  */
2160 tSCC zGnu_TypesSelect0[] =
2161        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2162
2163 /*
2164  *  content bypass pattern - skip fix if pattern found
2165  */
2166 tSCC zGnu_TypesBypass0[] =
2167        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2168
2169 #define    GNU_TYPES_TEST_CT  2
2170 static tTestDesc aGnu_TypesTests[] = {
2171   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2172   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2173
2174 /*
2175  *  Fix Command Arguments for Gnu_Types
2176  */
2177 static const char* apzGnu_TypesPatch[] = {
2178     "gnu_type",
2179     (char*)NULL };
2180
2181 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2182  *
2183  *  Description of Hp_Inline fix
2184  */
2185 tSCC zHp_InlineName[] =
2186      "hp_inline";
2187
2188 /*
2189  *  File name selection pattern
2190  */
2191 tSCC zHp_InlineList[] =
2192   "|sys/spinlock.h|machine/machparam.h|";
2193 /*
2194  *  Machine/OS name selection pattern
2195  */
2196 #define apzHp_InlineMachs (const char**)NULL
2197
2198 /*
2199  *  content selection pattern - do fix if pattern found
2200  */
2201 tSCC zHp_InlineSelect0[] =
2202        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2203
2204 #define    HP_INLINE_TEST_CT  1
2205 static tTestDesc aHp_InlineTests[] = {
2206   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2207
2208 /*
2209  *  Fix Command Arguments for Hp_Inline
2210  */
2211 static const char* apzHp_InlinePatch[] = {
2212     "format",
2213     "%1<machine/%2.h>",
2214     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2215     (char*)NULL };
2216
2217 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2218  *
2219  *  Description of Hp_Sysfile fix
2220  */
2221 tSCC zHp_SysfileName[] =
2222      "hp_sysfile";
2223
2224 /*
2225  *  File name selection pattern
2226  */
2227 tSCC zHp_SysfileList[] =
2228   "|sys/file.h|";
2229 /*
2230  *  Machine/OS name selection pattern
2231  */
2232 #define apzHp_SysfileMachs (const char**)NULL
2233
2234 /*
2235  *  content selection pattern - do fix if pattern found
2236  */
2237 tSCC zHp_SysfileSelect0[] =
2238        "HPUX_SOURCE";
2239
2240 #define    HP_SYSFILE_TEST_CT  1
2241 static tTestDesc aHp_SysfileTests[] = {
2242   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2243
2244 /*
2245  *  Fix Command Arguments for Hp_Sysfile
2246  */
2247 static const char* apzHp_SysfilePatch[] = {
2248     "format",
2249     "(struct file *, ...)",
2250     "\\(\\.\\.\\.\\)",
2251     (char*)NULL };
2252
2253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2254  *
2255  *  Description of Hpux10_Cpp_Pow_Inline fix
2256  */
2257 tSCC zHpux10_Cpp_Pow_InlineName[] =
2258      "hpux10_cpp_pow_inline";
2259
2260 /*
2261  *  File name selection pattern
2262  */
2263 tSCC zHpux10_Cpp_Pow_InlineList[] =
2264   "|fixinc-test-limits.h|math.h|";
2265 /*
2266  *  Machine/OS name selection pattern
2267  */
2268 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2269
2270 /*
2271  *  content selection pattern - do fix if pattern found
2272  */
2273 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2274        "^# +ifdef +__cplusplus\n\
2275  +\\}\n\
2276  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2277 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2278  +\\}\n\
2279  +extern +\"C\" +\\{\n\
2280 #else\n\
2281 # +endif";
2282
2283 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2284 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2285   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2286
2287 /*
2288  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2289  */
2290 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2291     "format",
2292     "",
2293     (char*)NULL };
2294
2295 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2296  *
2297  *  Description of Hpux11_Cpp_Pow_Inline fix
2298  */
2299 tSCC zHpux11_Cpp_Pow_InlineName[] =
2300      "hpux11_cpp_pow_inline";
2301
2302 /*
2303  *  File name selection pattern
2304  */
2305 tSCC zHpux11_Cpp_Pow_InlineList[] =
2306   "|math.h|";
2307 /*
2308  *  Machine/OS name selection pattern
2309  */
2310 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2311
2312 /*
2313  *  content selection pattern - do fix if pattern found
2314  */
2315 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2316        " +inline double pow\\(double d,int expon\\) \\{\n\
2317  +return pow\\(d, \\(double\\)expon\\);\n\
2318  +\\}\n";
2319
2320 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2321 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2322   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2323
2324 /*
2325  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2326  */
2327 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2328     "format",
2329     "",
2330     (char*)NULL };
2331
2332 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2333  *
2334  *  Description of Hpux10_Ctype_Declarations1 fix
2335  */
2336 tSCC zHpux10_Ctype_Declarations1Name[] =
2337      "hpux10_ctype_declarations1";
2338
2339 /*
2340  *  File name selection pattern
2341  */
2342 tSCC zHpux10_Ctype_Declarations1List[] =
2343   "|ctype.h|";
2344 /*
2345  *  Machine/OS name selection pattern
2346  */
2347 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2348
2349 /*
2350  *  content selection pattern - do fix if pattern found
2351  */
2352 tSCC zHpux10_Ctype_Declarations1Select0[] =
2353        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2354
2355 /*
2356  *  content bypass pattern - skip fix if pattern found
2357  */
2358 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2359        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2360
2361 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2362 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2363   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2364   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2365
2366 /*
2367  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2368  */
2369 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2370     "format",
2371     "#ifdef _PROTOTYPES\n\
2372 extern int __tolower(int);\n\
2373 extern int __toupper(int);\n\
2374 #else /* NOT _PROTOTYPES */\n\
2375 extern int __tolower();\n\
2376 extern int __toupper();\n\
2377 #endif /* _PROTOTYPES */\n\n\
2378 %0\n",
2379     (char*)NULL };
2380
2381 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2382  *
2383  *  Description of Hpux10_Ctype_Declarations2 fix
2384  */
2385 tSCC zHpux10_Ctype_Declarations2Name[] =
2386      "hpux10_ctype_declarations2";
2387
2388 /*
2389  *  File name selection pattern
2390  */
2391 tSCC zHpux10_Ctype_Declarations2List[] =
2392   "|ctype.h|";
2393 /*
2394  *  Machine/OS name selection pattern
2395  */
2396 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2397
2398 /*
2399  *  content selection pattern - do fix if pattern found
2400  */
2401 tSCC zHpux10_Ctype_Declarations2Select0[] =
2402        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2403
2404 /*
2405  *  content bypass pattern - skip fix if pattern found
2406  */
2407 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2408        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2409
2410 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2411 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2412   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2413   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2414
2415 /*
2416  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2417  */
2418 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2419     "format",
2420     "%0\n\n\
2421 #ifdef _PROTOTYPES\n\
2422      extern int _isalnum(int);\n\
2423      extern int _isalpha(int);\n\
2424      extern int _iscntrl(int);\n\
2425      extern int _isdigit(int);\n\
2426      extern int _isgraph(int);\n\
2427      extern int _islower(int);\n\
2428      extern int _isprint(int);\n\
2429      extern int _ispunct(int);\n\
2430      extern int _isspace(int);\n\
2431      extern int _isupper(int);\n\
2432      extern int _isxdigit(int);\n\
2433 #  else /* not _PROTOTYPES */\n\
2434      extern int _isalnum();\n\
2435      extern int _isalpha();\n\
2436      extern int _iscntrl();\n\
2437      extern int _isdigit();\n\
2438      extern int _isgraph();\n\
2439      extern int _islower();\n\
2440      extern int _isprint();\n\
2441      extern int _ispunct();\n\
2442      extern int _isspace();\n\
2443      extern int _isupper();\n\
2444      extern int _isxdigit();\n\
2445 #endif /* _PROTOTYPES */\n",
2446     (char*)NULL };
2447
2448 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2449  *
2450  *  Description of Hpux10_Stdio_Declarations fix
2451  */
2452 tSCC zHpux10_Stdio_DeclarationsName[] =
2453      "hpux10_stdio_declarations";
2454
2455 /*
2456  *  File name selection pattern
2457  */
2458 tSCC zHpux10_Stdio_DeclarationsList[] =
2459   "|stdio.h|";
2460 /*
2461  *  Machine/OS name selection pattern
2462  */
2463 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2464
2465 /*
2466  *  content selection pattern - do fix if pattern found
2467  */
2468 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2469        "^#[ \t]*define _iob[ \t]*__iob";
2470
2471 /*
2472  *  content bypass pattern - skip fix if pattern found
2473  */
2474 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2475        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2476
2477 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2478 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2479   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2480   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2481
2482 /*
2483  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2484  */
2485 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2486     "format",
2487     "%0\n\n\
2488 #  if defined(__STDC__) || defined(__cplusplus)\n\
2489      extern int snprintf(char *, size_t, const char *, ...);\n\
2490      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2491 #  else /* not __STDC__) || __cplusplus */\n\
2492      extern int snprintf();\n\
2493      extern int vsnprintf();\n\
2494 #  endif /* __STDC__) || __cplusplus */\n",
2495     (char*)NULL };
2496
2497 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2498  *
2499  *  Description of Hpux11_Abs fix
2500  */
2501 tSCC zHpux11_AbsName[] =
2502      "hpux11_abs";
2503
2504 /*
2505  *  File name selection pattern
2506  */
2507 tSCC zHpux11_AbsList[] =
2508   "|stdlib.h|";
2509 /*
2510  *  Machine/OS name selection pattern
2511  */
2512 tSCC* apzHpux11_AbsMachs[] = {
2513         "ia64-hp-hpux11*",
2514         (const char*)NULL };
2515
2516 /*
2517  *  content selection pattern - do fix if pattern found
2518  */
2519 tSCC zHpux11_AbsSelect0[] =
2520        "ifndef _MATH_INCLUDED";
2521
2522 #define    HPUX11_ABS_TEST_CT  1
2523 static tTestDesc aHpux11_AbsTests[] = {
2524   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2525
2526 /*
2527  *  Fix Command Arguments for Hpux11_Abs
2528  */
2529 static const char* apzHpux11_AbsPatch[] = {
2530     "format",
2531     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2532     (char*)NULL };
2533
2534 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2535  *
2536  *  Description of Hpux11_Fabsf fix
2537  */
2538 tSCC zHpux11_FabsfName[] =
2539      "hpux11_fabsf";
2540
2541 /*
2542  *  File name selection pattern
2543  */
2544 tSCC zHpux11_FabsfList[] =
2545   "|math.h|";
2546 /*
2547  *  Machine/OS name selection pattern
2548  */
2549 #define apzHpux11_FabsfMachs (const char**)NULL
2550
2551 /*
2552  *  content selection pattern - do fix if pattern found
2553  */
2554 tSCC zHpux11_FabsfSelect0[] =
2555        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2556
2557 /*
2558  *  content bypass pattern - skip fix if pattern found
2559  */
2560 tSCC zHpux11_FabsfBypass0[] =
2561        "__cplusplus";
2562
2563 #define    HPUX11_FABSF_TEST_CT  2
2564 static tTestDesc aHpux11_FabsfTests[] = {
2565   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2566   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2567
2568 /*
2569  *  Fix Command Arguments for Hpux11_Fabsf
2570  */
2571 static const char* apzHpux11_FabsfPatch[] = {
2572     "format",
2573     "#ifndef __cplusplus\n\
2574 %0\n\
2575 #endif",
2576     (char*)NULL };
2577
2578 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2579  *
2580  *  Description of Hpux11_Size_T fix
2581  */
2582 tSCC zHpux11_Size_TName[] =
2583      "hpux11_size_t";
2584
2585 /*
2586  *  File name selection pattern
2587  */
2588 #define zHpux11_Size_TList (char*)NULL
2589 /*
2590  *  Machine/OS name selection pattern
2591  */
2592 tSCC* apzHpux11_Size_TMachs[] = {
2593         "*-hp-hpux11*",
2594         (const char*)NULL };
2595
2596 /*
2597  *  content selection pattern - do fix if pattern found
2598  */
2599 tSCC zHpux11_Size_TSelect0[] =
2600        "__size_t";
2601
2602 #define    HPUX11_SIZE_T_TEST_CT  1
2603 static tTestDesc aHpux11_Size_TTests[] = {
2604   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2605
2606 /*
2607  *  Fix Command Arguments for Hpux11_Size_T
2608  */
2609 static const char* apzHpux11_Size_TPatch[] = {
2610     "format",
2611     "_hpux_size_t",
2612     (char*)NULL };
2613
2614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2615  *
2616  *  Description of Hpux11_Snprintf fix
2617  */
2618 tSCC zHpux11_SnprintfName[] =
2619      "hpux11_snprintf";
2620
2621 /*
2622  *  File name selection pattern
2623  */
2624 tSCC zHpux11_SnprintfList[] =
2625   "|stdio.h|";
2626 /*
2627  *  Machine/OS name selection pattern
2628  */
2629 #define apzHpux11_SnprintfMachs (const char**)NULL
2630
2631 /*
2632  *  content selection pattern - do fix if pattern found
2633  */
2634 tSCC zHpux11_SnprintfSelect0[] =
2635        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2636
2637 #define    HPUX11_SNPRINTF_TEST_CT  1
2638 static tTestDesc aHpux11_SnprintfTests[] = {
2639   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2640
2641 /*
2642  *  Fix Command Arguments for Hpux11_Snprintf
2643  */
2644 static const char* apzHpux11_SnprintfPatch[] = {
2645     "format",
2646     "%1 const %3",
2647     (char*)NULL };
2648
2649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2650  *
2651  *  Description of Hpux11_Uint32_C fix
2652  */
2653 tSCC zHpux11_Uint32_CName[] =
2654      "hpux11_uint32_c";
2655
2656 /*
2657  *  File name selection pattern
2658  */
2659 tSCC zHpux11_Uint32_CList[] =
2660   "|inttypes.h|";
2661 /*
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzHpux11_Uint32_CMachs (const char**)NULL
2665
2666 /*
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zHpux11_Uint32_CSelect0[] =
2670        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2671
2672 #define    HPUX11_UINT32_C_TEST_CT  1
2673 static tTestDesc aHpux11_Uint32_CTests[] = {
2674   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2675
2676 /*
2677  *  Fix Command Arguments for Hpux11_Uint32_C
2678  */
2679 static const char* apzHpux11_Uint32_CPatch[] = {
2680     "format",
2681     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2682     (char*)NULL };
2683
2684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2685  *
2686  *  Description of Hpux11_Vsnprintf fix
2687  */
2688 tSCC zHpux11_VsnprintfName[] =
2689      "hpux11_vsnprintf";
2690
2691 /*
2692  *  File name selection pattern
2693  */
2694 tSCC zHpux11_VsnprintfList[] =
2695   "|stdio.h|";
2696 /*
2697  *  Machine/OS name selection pattern
2698  */
2699 #define apzHpux11_VsnprintfMachs (const char**)NULL
2700
2701 /*
2702  *  content selection pattern - do fix if pattern found
2703  */
2704 tSCC zHpux11_VsnprintfSelect0[] =
2705        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2706
2707 #define    HPUX11_VSNPRINTF_TEST_CT  1
2708 static tTestDesc aHpux11_VsnprintfTests[] = {
2709   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2710
2711 /*
2712  *  Fix Command Arguments for Hpux11_Vsnprintf
2713  */
2714 static const char* apzHpux11_VsnprintfPatch[] = {
2715     "format",
2716     "%1 __va_list);",
2717     (char*)NULL };
2718
2719 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2720  *
2721  *  Description of Hpux8_Bogus_Inlines fix
2722  */
2723 tSCC zHpux8_Bogus_InlinesName[] =
2724      "hpux8_bogus_inlines";
2725
2726 /*
2727  *  File name selection pattern
2728  */
2729 tSCC zHpux8_Bogus_InlinesList[] =
2730   "|math.h|";
2731 /*
2732  *  Machine/OS name selection pattern
2733  */
2734 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2735
2736 /*
2737  *  content selection pattern - do fix if pattern found
2738  */
2739 tSCC zHpux8_Bogus_InlinesSelect0[] =
2740        "inline";
2741
2742 /*
2743  *  content bypass pattern - skip fix if pattern found
2744  */
2745 tSCC zHpux8_Bogus_InlinesBypass0[] =
2746        "__GNUG__";
2747
2748 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2749 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2750   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2751   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2752
2753 /*
2754  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2755  */
2756 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2757     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2758     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2759     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2760     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2761     (char*)NULL };
2762
2763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2764  *
2765  *  Description of Hpux_Ctype_Macros fix
2766  */
2767 tSCC zHpux_Ctype_MacrosName[] =
2768      "hpux_ctype_macros";
2769
2770 /*
2771  *  File name selection pattern
2772  */
2773 tSCC zHpux_Ctype_MacrosList[] =
2774   "|ctype.h|";
2775 /*
2776  *  Machine/OS name selection pattern
2777  */
2778 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2779
2780 /*
2781  *  content selection pattern - do fix if pattern found
2782  */
2783 tSCC zHpux_Ctype_MacrosSelect0[] =
2784        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2785
2786 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2787 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2788   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2789
2790 /*
2791  *  Fix Command Arguments for Hpux_Ctype_Macros
2792  */
2793 static const char* apzHpux_Ctype_MacrosPatch[] = {
2794     "format",
2795     "%1(int)%3",
2796     (char*)NULL };
2797
2798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2799  *
2800  *  Description of Hpux_Htonl fix
2801  */
2802 tSCC zHpux_HtonlName[] =
2803      "hpux_htonl";
2804
2805 /*
2806  *  File name selection pattern
2807  */
2808 tSCC zHpux_HtonlList[] =
2809   "|netinet/in.h|";
2810 /*
2811  *  Machine/OS name selection pattern
2812  */
2813 #define apzHpux_HtonlMachs (const char**)NULL
2814
2815 /*
2816  *  content selection pattern - do fix if pattern found
2817  */
2818 tSCC zHpux_HtonlSelect0[] =
2819        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2820 (/\\*\n\
2821  \\* Macros for number representation conversion\\.\n\
2822  \\*/\n\
2823 #ifndef ntohl)";
2824
2825 #define    HPUX_HTONL_TEST_CT  1
2826 static tTestDesc aHpux_HtonlTests[] = {
2827   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2828
2829 /*
2830  *  Fix Command Arguments for Hpux_Htonl
2831  */
2832 static const char* apzHpux_HtonlPatch[] = {
2833     "format",
2834     "#if 1\n\
2835 %1",
2836     (char*)NULL };
2837
2838 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2839  *
2840  *  Description of Hpux_Long_Double fix
2841  */
2842 tSCC zHpux_Long_DoubleName[] =
2843      "hpux_long_double";
2844
2845 /*
2846  *  File name selection pattern
2847  */
2848 tSCC zHpux_Long_DoubleList[] =
2849   "|stdlib.h|";
2850 /*
2851  *  Machine/OS name selection pattern
2852  */
2853 #define apzHpux_Long_DoubleMachs (const char**)NULL
2854
2855 /*
2856  *  content selection pattern - do fix if pattern found
2857  */
2858 tSCC zHpux_Long_DoubleSelect0[] =
2859        "extern[ \t]long_double[ \t]strtold";
2860
2861 /*
2862  *  content bypass pattern - skip fix if pattern found
2863  */
2864 tSCC zHpux_Long_DoubleBypass0[] =
2865        "long_double_t";
2866
2867 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2868 static tTestDesc aHpux_Long_DoubleTests[] = {
2869   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2870   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2871
2872 /*
2873  *  Fix Command Arguments for Hpux_Long_Double
2874  */
2875 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2876     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2877     "-e", "s/long_double/long double/g",
2878     (char*)NULL };
2879
2880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2881  *
2882  *  Description of Hpux_Systime fix
2883  */
2884 tSCC zHpux_SystimeName[] =
2885      "hpux_systime";
2886
2887 /*
2888  *  File name selection pattern
2889  */
2890 tSCC zHpux_SystimeList[] =
2891   "|sys/time.h|";
2892 /*
2893  *  Machine/OS name selection pattern
2894  */
2895 #define apzHpux_SystimeMachs (const char**)NULL
2896
2897 /*
2898  *  content selection pattern - do fix if pattern found
2899  */
2900 tSCC zHpux_SystimeSelect0[] =
2901        "^extern struct sigevent;";
2902
2903 #define    HPUX_SYSTIME_TEST_CT  1
2904 static tTestDesc aHpux_SystimeTests[] = {
2905   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2906
2907 /*
2908  *  Fix Command Arguments for Hpux_Systime
2909  */
2910 static const char* apzHpux_SystimePatch[] = {
2911     "format",
2912     "struct sigevent;",
2913     (char*)NULL };
2914
2915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2916  *
2917  *  Description of Huge_Val_Hex fix
2918  */
2919 tSCC zHuge_Val_HexName[] =
2920      "huge_val_hex";
2921
2922 /*
2923  *  File name selection pattern
2924  */
2925 tSCC zHuge_Val_HexList[] =
2926   "|bits/huge_val.h|";
2927 /*
2928  *  Machine/OS name selection pattern
2929  */
2930 #define apzHuge_Val_HexMachs (const char**)NULL
2931
2932 /*
2933  *  content selection pattern - do fix if pattern found
2934  */
2935 tSCC zHuge_Val_HexSelect0[] =
2936        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
2937
2938 /*
2939  *  content bypass pattern - skip fix if pattern found
2940  */
2941 tSCC zHuge_Val_HexBypass0[] =
2942        "__builtin_huge_val";
2943
2944 #define    HUGE_VAL_HEX_TEST_CT  2
2945 static tTestDesc aHuge_Val_HexTests[] = {
2946   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
2947   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
2948
2949 /*
2950  *  Fix Command Arguments for Huge_Val_Hex
2951  */
2952 static const char* apzHuge_Val_HexPatch[] = {
2953     "format",
2954     "#define HUGE_VAL (__builtin_huge_val())\n",
2955     (char*)NULL };
2956
2957 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2958  *
2959  *  Description of Huge_Valf_Hex fix
2960  */
2961 tSCC zHuge_Valf_HexName[] =
2962      "huge_valf_hex";
2963
2964 /*
2965  *  File name selection pattern
2966  */
2967 tSCC zHuge_Valf_HexList[] =
2968   "|bits/huge_val.h|";
2969 /*
2970  *  Machine/OS name selection pattern
2971  */
2972 #define apzHuge_Valf_HexMachs (const char**)NULL
2973
2974 /*
2975  *  content selection pattern - do fix if pattern found
2976  */
2977 tSCC zHuge_Valf_HexSelect0[] =
2978        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
2979
2980 /*
2981  *  content bypass pattern - skip fix if pattern found
2982  */
2983 tSCC zHuge_Valf_HexBypass0[] =
2984        "__builtin_huge_valf";
2985
2986 #define    HUGE_VALF_HEX_TEST_CT  2
2987 static tTestDesc aHuge_Valf_HexTests[] = {
2988   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
2989   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
2990
2991 /*
2992  *  Fix Command Arguments for Huge_Valf_Hex
2993  */
2994 static const char* apzHuge_Valf_HexPatch[] = {
2995     "format",
2996     "#define HUGE_VALF (__builtin_huge_valf())\n",
2997     (char*)NULL };
2998
2999 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3000  *
3001  *  Description of Huge_Vall_Hex fix
3002  */
3003 tSCC zHuge_Vall_HexName[] =
3004      "huge_vall_hex";
3005
3006 /*
3007  *  File name selection pattern
3008  */
3009 tSCC zHuge_Vall_HexList[] =
3010   "|bits/huge_val.h|";
3011 /*
3012  *  Machine/OS name selection pattern
3013  */
3014 #define apzHuge_Vall_HexMachs (const char**)NULL
3015
3016 /*
3017  *  content selection pattern - do fix if pattern found
3018  */
3019 tSCC zHuge_Vall_HexSelect0[] =
3020        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
3021
3022 /*
3023  *  content bypass pattern - skip fix if pattern found
3024  */
3025 tSCC zHuge_Vall_HexBypass0[] =
3026        "__builtin_huge_vall";
3027
3028 #define    HUGE_VALL_HEX_TEST_CT  2
3029 static tTestDesc aHuge_Vall_HexTests[] = {
3030   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
3031   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
3032
3033 /*
3034  *  Fix Command Arguments for Huge_Vall_Hex
3035  */
3036 static const char* apzHuge_Vall_HexPatch[] = {
3037     "format",
3038     "#define HUGE_VALL (__builtin_huge_vall())\n",
3039     (char*)NULL };
3040
3041 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3042  *
3043  *  Description of Int_Abort_Free_And_Exit fix
3044  */
3045 tSCC zInt_Abort_Free_And_ExitName[] =
3046      "int_abort_free_and_exit";
3047
3048 /*
3049  *  File name selection pattern
3050  */
3051 tSCC zInt_Abort_Free_And_ExitList[] =
3052   "|stdlib.h|";
3053 /*
3054  *  Machine/OS name selection pattern
3055  */
3056 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
3057
3058 /*
3059  *  content selection pattern - do fix if pattern found
3060  */
3061 tSCC zInt_Abort_Free_And_ExitSelect0[] =
3062        "int[ \t]+(abort|free|exit)[ \t]*\\(";
3063
3064 /*
3065  *  content bypass pattern - skip fix if pattern found
3066  */
3067 tSCC zInt_Abort_Free_And_ExitBypass0[] =
3068        "_CLASSIC_ANSI_TYPES";
3069
3070 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
3071 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
3072   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
3073   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
3074
3075 /*
3076  *  Fix Command Arguments for Int_Abort_Free_And_Exit
3077  */
3078 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
3079     "format",
3080     "void\t%1(",
3081     (char*)NULL };
3082
3083 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3084  *
3085  *  Description of Io_Quotes_Def fix
3086  */
3087 tSCC zIo_Quotes_DefName[] =
3088      "io_quotes_def";
3089
3090 /*
3091  *  File name selection pattern
3092  */
3093 #define zIo_Quotes_DefList (char*)NULL
3094 /*
3095  *  Machine/OS name selection pattern
3096  */
3097 #define apzIo_Quotes_DefMachs (const char**)NULL
3098
3099 /*
3100  *  content selection pattern - do fix if pattern found
3101  */
3102 tSCC zIo_Quotes_DefSelect0[] =
3103        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
3104
3105 #define    IO_QUOTES_DEF_TEST_CT  1
3106 static tTestDesc aIo_Quotes_DefTests[] = {
3107   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
3108
3109 /*
3110  *  Fix Command Arguments for Io_Quotes_Def
3111  */
3112 static const char* apzIo_Quotes_DefPatch[] = {
3113     "char_macro_def",
3114     "IO",
3115     (char*)NULL };
3116
3117 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3118  *
3119  *  Description of Io_Quotes_Use fix
3120  */
3121 tSCC zIo_Quotes_UseName[] =
3122      "io_quotes_use";
3123
3124 /*
3125  *  File name selection pattern
3126  */
3127 #define zIo_Quotes_UseList (char*)NULL
3128 /*
3129  *  Machine/OS name selection pattern
3130  */
3131 #define apzIo_Quotes_UseMachs (const char**)NULL
3132
3133 /*
3134  *  content selection pattern - do fix if pattern found
3135  */
3136 tSCC zIo_Quotes_UseSelect0[] =
3137        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
3138
3139 #define    IO_QUOTES_USE_TEST_CT  1
3140 static tTestDesc aIo_Quotes_UseTests[] = {
3141   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
3142
3143 /*
3144  *  Fix Command Arguments for Io_Quotes_Use
3145  */
3146 static const char* apzIo_Quotes_UsePatch[] = {
3147     "char_macro_use",
3148     "IO",
3149     (char*)NULL };
3150
3151 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3152  *
3153  *  Description of Ip_Missing_Semi fix
3154  */
3155 tSCC zIp_Missing_SemiName[] =
3156      "ip_missing_semi";
3157
3158 /*
3159  *  File name selection pattern
3160  */
3161 tSCC zIp_Missing_SemiList[] =
3162   "|netinet/ip.h|";
3163 /*
3164  *  Machine/OS name selection pattern
3165  */
3166 #define apzIp_Missing_SemiMachs (const char**)NULL
3167
3168 /*
3169  *  content selection pattern - do fix if pattern found
3170  */
3171 tSCC zIp_Missing_SemiSelect0[] =
3172        "}$";
3173
3174 #define    IP_MISSING_SEMI_TEST_CT  1
3175 static tTestDesc aIp_Missing_SemiTests[] = {
3176   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
3177
3178 /*
3179  *  Fix Command Arguments for Ip_Missing_Semi
3180  */
3181 static const char* apzIp_Missing_SemiPatch[] = { "sed",
3182     "-e", "/^struct/,/^};/s/}$/};/",
3183     (char*)NULL };
3184
3185 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3186  *
3187  *  Description of Irix___Restrict fix
3188  */
3189 tSCC zIrix___RestrictName[] =
3190      "irix___restrict";
3191
3192 /*
3193  *  File name selection pattern
3194  */
3195 tSCC zIrix___RestrictList[] =
3196   "|internal/sgimacros.h|";
3197 /*
3198  *  Machine/OS name selection pattern
3199  */
3200 tSCC* apzIrix___RestrictMachs[] = {
3201         "mips-sgi-irix6.5",
3202         (const char*)NULL };
3203
3204 /*
3205  *  content selection pattern - do fix if pattern found
3206  */
3207 tSCC zIrix___RestrictSelect0[] =
3208        "(#ifdef __c99\n\
3209 )(#[ \t]*define __restrict restrict)";
3210
3211 #define    IRIX___RESTRICT_TEST_CT  1
3212 static tTestDesc aIrix___RestrictTests[] = {
3213   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
3214
3215 /*
3216  *  Fix Command Arguments for Irix___Restrict
3217  */
3218 static const char* apzIrix___RestrictPatch[] = {
3219     "format",
3220     "%1#  ifndef __cplusplus\n\
3221 %2\n\
3222 #  endif",
3223     (char*)NULL };
3224
3225 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3226  *
3227  *  Description of Irix___Generic1 fix
3228  */
3229 tSCC zIrix___Generic1Name[] =
3230      "irix___generic1";
3231
3232 /*
3233  *  File name selection pattern
3234  */
3235 tSCC zIrix___Generic1List[] =
3236   "|internal/math_core.h|";
3237 /*
3238  *  Machine/OS name selection pattern
3239  */
3240 tSCC* apzIrix___Generic1Machs[] = {
3241         "mips-sgi-irix6.5",
3242         (const char*)NULL };
3243
3244 /*
3245  *  content selection pattern - do fix if pattern found
3246  */
3247 tSCC zIrix___Generic1Select0[] =
3248        "#define ([a-z]+)\\(x\\) *__generic.*";
3249
3250 #define    IRIX___GENERIC1_TEST_CT  1
3251 static tTestDesc aIrix___Generic1Tests[] = {
3252   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
3253
3254 /*
3255  *  Fix Command Arguments for Irix___Generic1
3256  */
3257 static const char* apzIrix___Generic1Patch[] = {
3258     "format",
3259     "extern int %1(double);\n\
3260 extern int %1f(float);\n\
3261 extern int %1l(long double);\n\
3262 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
3263                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
3264                : _%1l(x))\n",
3265     (char*)NULL };
3266
3267 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3268  *
3269  *  Description of Irix___Generic2 fix
3270  */
3271 tSCC zIrix___Generic2Name[] =
3272      "irix___generic2";
3273
3274 /*
3275  *  File name selection pattern
3276  */
3277 tSCC zIrix___Generic2List[] =
3278   "|internal/math_core.h|";
3279 /*
3280  *  Machine/OS name selection pattern
3281  */
3282 tSCC* apzIrix___Generic2Machs[] = {
3283         "mips-sgi-irix6.5",
3284         (const char*)NULL };
3285
3286 /*
3287  *  content selection pattern - do fix if pattern found
3288  */
3289 tSCC zIrix___Generic2Select0[] =
3290        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3291
3292 #define    IRIX___GENERIC2_TEST_CT  1
3293 static tTestDesc aIrix___Generic2Tests[] = {
3294   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3295
3296 /*
3297  *  Fix Command Arguments for Irix___Generic2
3298  */
3299 static const char* apzIrix___Generic2Patch[] = {
3300     "format",
3301     "#define %1(x,y) \\\n\
3302   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3303    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3304    : _%1l(x,y))\n",
3305     (char*)NULL };
3306
3307 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3308  *
3309  *  Description of Irix_Asm_Apostrophe fix
3310  */
3311 tSCC zIrix_Asm_ApostropheName[] =
3312      "irix_asm_apostrophe";
3313
3314 /*
3315  *  File name selection pattern
3316  */
3317 tSCC zIrix_Asm_ApostropheList[] =
3318   "|sys/asm.h|";
3319 /*
3320  *  Machine/OS name selection pattern
3321  */
3322 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3323
3324 /*
3325  *  content selection pattern - do fix if pattern found
3326  */
3327 tSCC zIrix_Asm_ApostropheSelect0[] =
3328        "^[ \t]*#.*[Ww]e're";
3329
3330 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3331 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3332   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3333
3334 /*
3335  *  Fix Command Arguments for Irix_Asm_Apostrophe
3336  */
3337 static const char* apzIrix_Asm_ApostrophePatch[] = {
3338     "format",
3339     "%1 are",
3340     "^([ \t]*#.*[Ww]e)'re",
3341     (char*)NULL };
3342
3343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3344  *
3345  *  Description of Irix_Limits_Const fix
3346  */
3347 tSCC zIrix_Limits_ConstName[] =
3348      "irix_limits_const";
3349
3350 /*
3351  *  File name selection pattern
3352  */
3353 tSCC zIrix_Limits_ConstList[] =
3354   "|fixinc-test-limits.h|limits.h|";
3355 /*
3356  *  Machine/OS name selection pattern
3357  */
3358 #define apzIrix_Limits_ConstMachs (const char**)NULL
3359
3360 /*
3361  *  content selection pattern - do fix if pattern found
3362  */
3363 tSCC zIrix_Limits_ConstSelect0[] =
3364        "^extern const ";
3365
3366 #define    IRIX_LIMITS_CONST_TEST_CT  1
3367 static tTestDesc aIrix_Limits_ConstTests[] = {
3368   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3369
3370 /*
3371  *  Fix Command Arguments for Irix_Limits_Const
3372  */
3373 static const char* apzIrix_Limits_ConstPatch[] = {
3374     "format",
3375     "extern __const ",
3376     (char*)NULL };
3377
3378 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3379  *
3380  *  Description of Irix_Socklen_T fix
3381  */
3382 tSCC zIrix_Socklen_TName[] =
3383      "irix_socklen_t";
3384
3385 /*
3386  *  File name selection pattern
3387  */
3388 tSCC zIrix_Socklen_TList[] =
3389   "|sys/socket.h|";
3390 /*
3391  *  Machine/OS name selection pattern
3392  */
3393 tSCC* apzIrix_Socklen_TMachs[] = {
3394         "mips-sgi-irix6.5",
3395         (const char*)NULL };
3396
3397 /*
3398  *  content selection pattern - do fix if pattern found
3399  */
3400 tSCC zIrix_Socklen_TSelect0[] =
3401        "(#define _SOCKLEN_T\n\
3402 )(typedef u_int32_t socklen_t;)";
3403
3404 #define    IRIX_SOCKLEN_T_TEST_CT  1
3405 static tTestDesc aIrix_Socklen_TTests[] = {
3406   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3407
3408 /*
3409  *  Fix Command Arguments for Irix_Socklen_T
3410  */
3411 static const char* apzIrix_Socklen_TPatch[] = {
3412     "format",
3413     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3414 typedef int socklen_t;\n\
3415 #else\n\
3416 %2\n\
3417 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3418     (char*)NULL };
3419
3420 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3421  *
3422  *  Description of Irix_Stdio_Va_List fix
3423  */
3424 tSCC zIrix_Stdio_Va_ListName[] =
3425      "irix_stdio_va_list";
3426
3427 /*
3428  *  File name selection pattern
3429  */
3430 tSCC zIrix_Stdio_Va_ListList[] =
3431   "|stdio.h|internal/stdio_core.h|";
3432 /*
3433  *  Machine/OS name selection pattern
3434  */
3435 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3436
3437 /*
3438  *  content selection pattern - do fix if pattern found
3439  */
3440 tSCC zIrix_Stdio_Va_ListSelect0[] =
3441        "/\\* va_list \\*/ char \\*";
3442
3443 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3444 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3445   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3446
3447 /*
3448  *  Fix Command Arguments for Irix_Stdio_Va_List
3449  */
3450 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3451     "format",
3452     "__gnuc_va_list",
3453     (char*)NULL };
3454
3455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3456  *
3457  *  Description of Irix_Wcsftime fix
3458  */
3459 tSCC zIrix_WcsftimeName[] =
3460      "irix_wcsftime";
3461
3462 /*
3463  *  File name selection pattern
3464  */
3465 tSCC zIrix_WcsftimeList[] =
3466   "|internal/wchar_core.h|";
3467 /*
3468  *  Machine/OS name selection pattern
3469  */
3470 tSCC* apzIrix_WcsftimeMachs[] = {
3471         "mips-sgi-irix6.5",
3472         (const char*)NULL };
3473
3474 /*
3475  *  content selection pattern - do fix if pattern found
3476  */
3477 tSCC zIrix_WcsftimeSelect0[] =
3478        "#if _NO_XOPEN5\n\
3479 (extern size_t[ \t]+wcsftime.*const char *.*)";
3480
3481 #define    IRIX_WCSFTIME_TEST_CT  1
3482 static tTestDesc aIrix_WcsftimeTests[] = {
3483   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3484
3485 /*
3486  *  Fix Command Arguments for Irix_Wcsftime
3487  */
3488 static const char* apzIrix_WcsftimePatch[] = {
3489     "format",
3490     "#if _NO_XOPEN5 && !defined(__c99)\n\
3491 %1",
3492     (char*)NULL };
3493
3494 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3495  *
3496  *  Description of Isc_Fmod fix
3497  */
3498 tSCC zIsc_FmodName[] =
3499      "isc_fmod";
3500
3501 /*
3502  *  File name selection pattern
3503  */
3504 tSCC zIsc_FmodList[] =
3505   "|math.h|";
3506 /*
3507  *  Machine/OS name selection pattern
3508  */
3509 #define apzIsc_FmodMachs (const char**)NULL
3510
3511 /*
3512  *  content selection pattern - do fix if pattern found
3513  */
3514 tSCC zIsc_FmodSelect0[] =
3515        "fmod\\(double\\)";
3516
3517 #define    ISC_FMOD_TEST_CT  1
3518 static tTestDesc aIsc_FmodTests[] = {
3519   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3520
3521 /*
3522  *  Fix Command Arguments for Isc_Fmod
3523  */
3524 static const char* apzIsc_FmodPatch[] = {
3525     "format",
3526     "fmod(double, double)",
3527     (char*)NULL };
3528
3529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3530  *
3531  *  Description of Isc_Omits_With_Stdc fix
3532  */
3533 tSCC zIsc_Omits_With_StdcName[] =
3534      "isc_omits_with_stdc";
3535
3536 /*
3537  *  File name selection pattern
3538  */
3539 tSCC zIsc_Omits_With_StdcList[] =
3540   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3541 /*
3542  *  Machine/OS name selection pattern
3543  */
3544 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3545
3546 /*
3547  *  content selection pattern - do fix if pattern found
3548  */
3549 tSCC zIsc_Omits_With_StdcSelect0[] =
3550        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3551
3552 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3553 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3554   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3555
3556 /*
3557  *  Fix Command Arguments for Isc_Omits_With_Stdc
3558  */
3559 static const char* apzIsc_Omits_With_StdcPatch[] = {
3560     "format",
3561     "!defined(_POSIX_SOURCE)",
3562     (char*)NULL };
3563
3564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3565  *
3566  *  Description of Kandr_Concat fix
3567  */
3568 tSCC zKandr_ConcatName[] =
3569      "kandr_concat";
3570
3571 /*
3572  *  File name selection pattern
3573  */
3574 tSCC zKandr_ConcatList[] =
3575   "|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|";
3576 /*
3577  *  Machine/OS name selection pattern
3578  */
3579 #define apzKandr_ConcatMachs (const char**)NULL
3580
3581 /*
3582  *  content selection pattern - do fix if pattern found
3583  */
3584 tSCC zKandr_ConcatSelect0[] =
3585        "/\\*\\*/";
3586
3587 #define    KANDR_CONCAT_TEST_CT  1
3588 static tTestDesc aKandr_ConcatTests[] = {
3589   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3590
3591 /*
3592  *  Fix Command Arguments for Kandr_Concat
3593  */
3594 static const char* apzKandr_ConcatPatch[] = {
3595     "format",
3596     "##",
3597     (char*)NULL };
3598
3599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3600  *
3601  *  Description of Libc1_G_Va_List fix
3602  */
3603 tSCC zLibc1_G_Va_ListName[] =
3604      "libc1_G_va_list";
3605
3606 /*
3607  *  File name selection pattern
3608  */
3609 tSCC zLibc1_G_Va_ListList[] =
3610   "|_G_config.h|";
3611 /*
3612  *  Machine/OS name selection pattern
3613  */
3614 tSCC* apzLibc1_G_Va_ListMachs[] = {
3615         "*-*-linux*libc1",
3616         (const char*)NULL };
3617
3618 /*
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zLibc1_G_Va_ListSelect0[] =
3622        "typedef void \\* _G_va_list;";
3623
3624 #define    LIBC1_G_VA_LIST_TEST_CT  1
3625 static tTestDesc aLibc1_G_Va_ListTests[] = {
3626   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3627
3628 /*
3629  *  Fix Command Arguments for Libc1_G_Va_List
3630  */
3631 static const char* apzLibc1_G_Va_ListPatch[] = {
3632     "format",
3633     "typedef __builtin_va_list _G_va_list;",
3634     (char*)NULL };
3635
3636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3637  *
3638  *  Description of Libc1_Ifdefd_Memx fix
3639  */
3640 tSCC zLibc1_Ifdefd_MemxName[] =
3641      "libc1_ifdefd_memx";
3642
3643 /*
3644  *  File name selection pattern
3645  */
3646 tSCC zLibc1_Ifdefd_MemxList[] =
3647   "|testing.h|string.h|";
3648 /*
3649  *  Machine/OS name selection pattern
3650  */
3651 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3652
3653 /*
3654  *  content selection pattern - do fix if pattern found
3655  */
3656 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3657        "' is a built-in function for gcc 2\\.x\\. \\*/";
3658
3659 /*
3660  *  content bypass pattern - skip fix if pattern found
3661  */
3662 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3663        "__cplusplus";
3664
3665 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3666 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3667   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3668   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3669
3670 /*
3671  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3672  */
3673 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3674     "format",
3675     "%1",
3676     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3677 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3678 (/\\* .* \\*/\n\
3679 extern [a-z_]+ mem.*(\n\
3680 [^#].*)*;)\n\
3681 #endif",
3682     (char*)NULL };
3683
3684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3685  *
3686  *  Description of Linux_Ia64_Ucontext fix
3687  */
3688 tSCC zLinux_Ia64_UcontextName[] =
3689      "linux_ia64_ucontext";
3690
3691 /*
3692  *  File name selection pattern
3693  */
3694 tSCC zLinux_Ia64_UcontextList[] =
3695   "|sys/ucontext.h|";
3696 /*
3697  *  Machine/OS name selection pattern
3698  */
3699 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3700         "ia64-*-linux*",
3701         (const char*)NULL };
3702
3703 /*
3704  *  content selection pattern - do fix if pattern found
3705  */
3706 tSCC zLinux_Ia64_UcontextSelect0[] =
3707        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3708
3709 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3710 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3711   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3712
3713 /*
3714  *  Fix Command Arguments for Linux_Ia64_Ucontext
3715  */
3716 static const char* apzLinux_Ia64_UcontextPatch[] = {
3717     "format",
3718     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3719     (char*)NULL };
3720
3721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3722  *
3723  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3724  */
3725 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3726      "lynxos_no_warning_in_sys_time_h";
3727
3728 /*
3729  *  File name selection pattern
3730  */
3731 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3732   "|sys/time.h|";
3733 /*
3734  *  Machine/OS name selection pattern
3735  */
3736 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3737
3738 /*
3739  *  content selection pattern - do fix if pattern found
3740  */
3741 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3742        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3743
3744 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3745 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3746   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3747
3748 /*
3749  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3750  */
3751 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3752     "format",
3753     "",
3754     (char*)NULL };
3755
3756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3757  *
3758  *  Description of Lynxos_Missing_Putenv fix
3759  */
3760 tSCC zLynxos_Missing_PutenvName[] =
3761      "lynxos_missing_putenv";
3762
3763 /*
3764  *  File name selection pattern
3765  */
3766 tSCC zLynxos_Missing_PutenvList[] =
3767   "|stdlib.h|";
3768 /*
3769  *  Machine/OS name selection pattern
3770  */
3771 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3772         "*-*-lynxos*",
3773         (const char*)NULL };
3774
3775 /*
3776  *  content selection pattern - do fix if pattern found
3777  */
3778 tSCC zLynxos_Missing_PutenvSelect0[] =
3779        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3780
3781 /*
3782  *  content bypass pattern - skip fix if pattern found
3783  */
3784 tSCC zLynxos_Missing_PutenvBypass0[] =
3785        "putenv[ \\t]*\\(";
3786
3787 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3788 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3789   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3790   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3791
3792 /*
3793  *  Fix Command Arguments for Lynxos_Missing_Putenv
3794  */
3795 static const char* apzLynxos_Missing_PutenvPatch[] = {
3796     "format",
3797     "%0\n\
3798 extern int putenv\t\t\t\t_AP((char *));",
3799     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3800     (char*)NULL };
3801
3802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3803  *
3804  *  Description of Machine_Ansi_H_Va_List fix
3805  */
3806 tSCC zMachine_Ansi_H_Va_ListName[] =
3807      "machine_ansi_h_va_list";
3808
3809 /*
3810  *  File name selection pattern
3811  */
3812 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3813 /*
3814  *  Machine/OS name selection pattern
3815  */
3816 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3817
3818 /*
3819  *  content selection pattern - do fix if pattern found
3820  */
3821 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3822        "define[ \t]+_BSD_VA_LIST_[ \t]";
3823
3824 /*
3825  *  content bypass pattern - skip fix if pattern found
3826  */
3827 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3828        "__builtin_va_list";
3829
3830 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3831 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3832   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3833   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3834
3835 /*
3836  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3837  */
3838 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3839     "format",
3840     "%1__builtin_va_list",
3841     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3842     (char*)NULL };
3843
3844 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3845  *
3846  *  Description of Machine_Name fix
3847  */
3848 tSCC zMachine_NameName[] =
3849      "machine_name";
3850
3851 /*
3852  *  File name selection pattern
3853  */
3854 #define zMachine_NameList (char*)NULL
3855 /*
3856  *  Machine/OS name selection pattern
3857  */
3858 #define apzMachine_NameMachs (const char**)NULL
3859
3860 /*
3861  *  perform the C function call test
3862  */
3863 tSCC zMachine_NameFTst0[] = "machine_name";
3864
3865 #define    MACHINE_NAME_TEST_CT  1
3866 static tTestDesc aMachine_NameTests[] = {
3867   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3868
3869 /*
3870  *  Fix Command Arguments for Machine_Name
3871  */
3872 static const char* apzMachine_NamePatch[] = {
3873     "machine_name",
3874     (char*)NULL };
3875
3876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3877  *
3878  *  Description of Math_Exception fix
3879  */
3880 tSCC zMath_ExceptionName[] =
3881      "math_exception";
3882
3883 /*
3884  *  File name selection pattern
3885  */
3886 tSCC zMath_ExceptionList[] =
3887   "|math.h|";
3888 /*
3889  *  Machine/OS name selection pattern
3890  */
3891 #define apzMath_ExceptionMachs (const char**)NULL
3892
3893 /*
3894  *  content selection pattern - do fix if pattern found
3895  */
3896 tSCC zMath_ExceptionSelect0[] =
3897        "struct exception";
3898
3899 /*
3900  *  content bypass pattern - skip fix if pattern found
3901  */
3902 tSCC zMath_ExceptionBypass0[] =
3903        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3904
3905 #define    MATH_EXCEPTION_TEST_CT  2
3906 static tTestDesc aMath_ExceptionTests[] = {
3907   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3908   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3909
3910 /*
3911  *  Fix Command Arguments for Math_Exception
3912  */
3913 static const char* apzMath_ExceptionPatch[] = {
3914     "wrap",
3915     "#ifdef __cplusplus\n\
3916 #define exception __math_exception\n\
3917 #endif\n",
3918     "#ifdef __cplusplus\n\
3919 #undef exception\n\
3920 #endif\n",
3921     (char*)NULL };
3922
3923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3924  *
3925  *  Description of Math_Huge_Val_From_Dbl_Max fix
3926  */
3927 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3928      "math_huge_val_from_dbl_max";
3929
3930 /*
3931  *  File name selection pattern
3932  */
3933 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3934   "|math.h|";
3935 /*
3936  *  Machine/OS name selection pattern
3937  */
3938 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3939
3940 /*
3941  *  content selection pattern - do fix if pattern found
3942  */
3943 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3944        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3945
3946 /*
3947  *  content bypass pattern - skip fix if pattern found
3948  */
3949 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3950        "define[ \t]+DBL_MAX";
3951
3952 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3953 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3954   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3955   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3956
3957 /*
3958  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3959  */
3960 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3961     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3962 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3963 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3964 \telse cat\n\
3965 \tfi",
3966     (char*)NULL };
3967
3968 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3969  *
3970  *  Description of Nested_Auth_Des fix
3971  */
3972 tSCC zNested_Auth_DesName[] =
3973      "nested_auth_des";
3974
3975 /*
3976  *  File name selection pattern
3977  */
3978 tSCC zNested_Auth_DesList[] =
3979   "|rpc/rpc.h|";
3980 /*
3981  *  Machine/OS name selection pattern
3982  */
3983 #define apzNested_Auth_DesMachs (const char**)NULL
3984
3985 /*
3986  *  content selection pattern - do fix if pattern found
3987  */
3988 tSCC zNested_Auth_DesSelect0[] =
3989        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3990
3991 #define    NESTED_AUTH_DES_TEST_CT  1
3992 static tTestDesc aNested_Auth_DesTests[] = {
3993   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3994
3995 /*
3996  *  Fix Command Arguments for Nested_Auth_Des
3997  */
3998 static const char* apzNested_Auth_DesPatch[] = {
3999     "format",
4000     "%1*/ /*",
4001     (char*)NULL };
4002
4003 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4004  *
4005  *  Description of Nested_Motorola fix
4006  */
4007 tSCC zNested_MotorolaName[] =
4008      "nested_motorola";
4009
4010 /*
4011  *  File name selection pattern
4012  */
4013 tSCC zNested_MotorolaList[] =
4014   "|sys/limits.h|limits.h|";
4015 /*
4016  *  Machine/OS name selection pattern
4017  */
4018 tSCC* apzNested_MotorolaMachs[] = {
4019         "m68k-motorola-sysv*",
4020         (const char*)NULL };
4021
4022 /*
4023  *  content selection pattern - do fix if pattern found
4024  */
4025 tSCC zNested_MotorolaSelect0[] =
4026        "max # bytes atomic in write|error value returned by Math lib";
4027
4028 #define    NESTED_MOTOROLA_TEST_CT  1
4029 static tTestDesc aNested_MotorolaTests[] = {
4030   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
4031
4032 /*
4033  *  Fix Command Arguments for Nested_Motorola
4034  */
4035 static const char* apzNested_MotorolaPatch[] = { "sed",
4036     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
4037     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
4038     (char*)NULL };
4039
4040 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4041  *
4042  *  Description of Nested_Sys_Limits fix
4043  */
4044 tSCC zNested_Sys_LimitsName[] =
4045      "nested_sys_limits";
4046
4047 /*
4048  *  File name selection pattern
4049  */
4050 tSCC zNested_Sys_LimitsList[] =
4051   "|sys/limits.h|";
4052 /*
4053  *  Machine/OS name selection pattern
4054  */
4055 #define apzNested_Sys_LimitsMachs (const char**)NULL
4056
4057 /*
4058  *  content selection pattern - do fix if pattern found
4059  */
4060 tSCC zNested_Sys_LimitsSelect0[] =
4061        "CHILD_MAX";
4062
4063 #define    NESTED_SYS_LIMITS_TEST_CT  1
4064 static tTestDesc aNested_Sys_LimitsTests[] = {
4065   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
4066
4067 /*
4068  *  Fix Command Arguments for Nested_Sys_Limits
4069  */
4070 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
4071     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
4072     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
4073     (char*)NULL };
4074
4075 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4076  *
4077  *  Description of Netbsd_Extra_Semicolon fix
4078  */
4079 tSCC zNetbsd_Extra_SemicolonName[] =
4080      "netbsd_extra_semicolon";
4081
4082 /*
4083  *  File name selection pattern
4084  */
4085 tSCC zNetbsd_Extra_SemicolonList[] =
4086   "|sys/cdefs.h|";
4087 /*
4088  *  Machine/OS name selection pattern
4089  */
4090 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
4091         "*-*-netbsd*",
4092         (const char*)NULL };
4093
4094 /*
4095  *  content selection pattern - do fix if pattern found
4096  */
4097 tSCC zNetbsd_Extra_SemicolonSelect0[] =
4098        "#define[ \t]*__END_DECLS[ \t]*};";
4099
4100 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
4101 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
4102   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
4103
4104 /*
4105  *  Fix Command Arguments for Netbsd_Extra_Semicolon
4106  */
4107 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
4108     "format",
4109     "#define __END_DECLS }",
4110     (char*)NULL };
4111
4112 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4113  *
4114  *  Description of Next_Math_Prefix fix
4115  */
4116 tSCC zNext_Math_PrefixName[] =
4117      "next_math_prefix";
4118
4119 /*
4120  *  File name selection pattern
4121  */
4122 tSCC zNext_Math_PrefixList[] =
4123   "|ansi/math.h|";
4124 /*
4125  *  Machine/OS name selection pattern
4126  */
4127 #define apzNext_Math_PrefixMachs (const char**)NULL
4128
4129 /*
4130  *  content selection pattern - do fix if pattern found
4131  */
4132 tSCC zNext_Math_PrefixSelect0[] =
4133        "^extern[ \t]+double[ \t]+__const__[ \t]";
4134
4135 #define    NEXT_MATH_PREFIX_TEST_CT  1
4136 static tTestDesc aNext_Math_PrefixTests[] = {
4137   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
4138
4139 /*
4140  *  Fix Command Arguments for Next_Math_Prefix
4141  */
4142 static const char* apzNext_Math_PrefixPatch[] = {
4143     "format",
4144     "extern double %1(",
4145     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
4146     (char*)NULL };
4147
4148 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4149  *
4150  *  Description of Next_Template fix
4151  */
4152 tSCC zNext_TemplateName[] =
4153      "next_template";
4154
4155 /*
4156  *  File name selection pattern
4157  */
4158 tSCC zNext_TemplateList[] =
4159   "|bsd/libc.h|";
4160 /*
4161  *  Machine/OS name selection pattern
4162  */
4163 #define apzNext_TemplateMachs (const char**)NULL
4164
4165 /*
4166  *  content selection pattern - do fix if pattern found
4167  */
4168 tSCC zNext_TemplateSelect0[] =
4169        "[ \t]template\\)";
4170
4171 #define    NEXT_TEMPLATE_TEST_CT  1
4172 static tTestDesc aNext_TemplateTests[] = {
4173   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
4174
4175 /*
4176  *  Fix Command Arguments for Next_Template
4177  */
4178 static const char* apzNext_TemplatePatch[] = {
4179     "format",
4180     "(%1)",
4181     "\\(([^)]*)[ \t]template\\)",
4182     (char*)NULL };
4183
4184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4185  *
4186  *  Description of Next_Volitile fix
4187  */
4188 tSCC zNext_VolitileName[] =
4189      "next_volitile";
4190
4191 /*
4192  *  File name selection pattern
4193  */
4194 tSCC zNext_VolitileList[] =
4195   "|ansi/stdlib.h|";
4196 /*
4197  *  Machine/OS name selection pattern
4198  */
4199 #define apzNext_VolitileMachs (const char**)NULL
4200
4201 /*
4202  *  content selection pattern - do fix if pattern found
4203  */
4204 tSCC zNext_VolitileSelect0[] =
4205        "^extern[ \t]+volatile[ \t]+void[ \t]";
4206
4207 #define    NEXT_VOLITILE_TEST_CT  1
4208 static tTestDesc aNext_VolitileTests[] = {
4209   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
4210
4211 /*
4212  *  Fix Command Arguments for Next_Volitile
4213  */
4214 static const char* apzNext_VolitilePatch[] = {
4215     "format",
4216     "extern void %1(",
4217     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
4218     (char*)NULL };
4219
4220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4221  *
4222  *  Description of Next_Wait_Union fix
4223  */
4224 tSCC zNext_Wait_UnionName[] =
4225      "next_wait_union";
4226
4227 /*
4228  *  File name selection pattern
4229  */
4230 tSCC zNext_Wait_UnionList[] =
4231   "|sys/wait.h|";
4232 /*
4233  *  Machine/OS name selection pattern
4234  */
4235 #define apzNext_Wait_UnionMachs (const char**)NULL
4236
4237 /*
4238  *  content selection pattern - do fix if pattern found
4239  */
4240 tSCC zNext_Wait_UnionSelect0[] =
4241        "wait\\(union wait";
4242
4243 #define    NEXT_WAIT_UNION_TEST_CT  1
4244 static tTestDesc aNext_Wait_UnionTests[] = {
4245   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
4246
4247 /*
4248  *  Fix Command Arguments for Next_Wait_Union
4249  */
4250 static const char* apzNext_Wait_UnionPatch[] = {
4251     "format",
4252     "wait(void",
4253     (char*)NULL };
4254
4255 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4256  *
4257  *  Description of Nodeent_Syntax fix
4258  */
4259 tSCC zNodeent_SyntaxName[] =
4260      "nodeent_syntax";
4261
4262 /*
4263  *  File name selection pattern
4264  */
4265 tSCC zNodeent_SyntaxList[] =
4266   "|netdnet/dnetdb.h|";
4267 /*
4268  *  Machine/OS name selection pattern
4269  */
4270 #define apzNodeent_SyntaxMachs (const char**)NULL
4271
4272 /*
4273  *  content selection pattern - do fix if pattern found
4274  */
4275 tSCC zNodeent_SyntaxSelect0[] =
4276        "char[ \t]*\\*na_addr[ \t]*$";
4277
4278 #define    NODEENT_SYNTAX_TEST_CT  1
4279 static tTestDesc aNodeent_SyntaxTests[] = {
4280   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4281
4282 /*
4283  *  Fix Command Arguments for Nodeent_Syntax
4284  */
4285 static const char* apzNodeent_SyntaxPatch[] = {
4286     "format",
4287     "%0;",
4288     (char*)NULL };
4289
4290 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4291  *
4292  *  Description of Obstack_Lvalue_Cast fix
4293  */
4294 tSCC zObstack_Lvalue_CastName[] =
4295      "obstack_lvalue_cast";
4296
4297 /*
4298  *  File name selection pattern
4299  */
4300 tSCC zObstack_Lvalue_CastList[] =
4301   "|obstack.h|";
4302 /*
4303  *  Machine/OS name selection pattern
4304  */
4305 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4306
4307 /*
4308  *  content selection pattern - do fix if pattern found
4309  */
4310 tSCC zObstack_Lvalue_CastSelect0[] =
4311        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4312
4313 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4314 static tTestDesc aObstack_Lvalue_CastTests[] = {
4315   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4316
4317 /*
4318  *  Fix Command Arguments for Obstack_Lvalue_Cast
4319  */
4320 static const char* apzObstack_Lvalue_CastPatch[] = {
4321     "format",
4322     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4323     (char*)NULL };
4324
4325 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4326  *
4327  *  Description of Osf_Namespace_A fix
4328  */
4329 tSCC zOsf_Namespace_AName[] =
4330      "osf_namespace_a";
4331
4332 /*
4333  *  File name selection pattern
4334  */
4335 tSCC zOsf_Namespace_AList[] =
4336   "|reg_types.h|sys/lc_core.h|";
4337 /*
4338  *  Machine/OS name selection pattern
4339  */
4340 #define apzOsf_Namespace_AMachs (const char**)NULL
4341
4342 /*
4343  *  perform the 'test' shell command - do fix on success
4344  */
4345 tSCC zOsf_Namespace_ATest0[] =
4346        " -r reg_types.h";
4347 tSCC zOsf_Namespace_ATest1[] =
4348        " -r sys/lc_core.h";
4349 tSCC zOsf_Namespace_ATest2[] =
4350        " -n \"`grep '} regex_t;' reg_types.h`\"";
4351 tSCC zOsf_Namespace_ATest3[] =
4352        " -z \"`grep __regex_t regex.h`\"";
4353
4354 #define    OSF_NAMESPACE_A_TEST_CT  4
4355 static tTestDesc aOsf_Namespace_ATests[] = {
4356   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4357   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4358   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4359   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4360
4361 /*
4362  *  Fix Command Arguments for Osf_Namespace_A
4363  */
4364 static const char* apzOsf_Namespace_APatch[] = {
4365     "format",
4366     "__%0",
4367     "reg(ex|off|match)_t",
4368     (char*)NULL };
4369
4370 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4371  *
4372  *  Description of Osf_Namespace_C fix
4373  */
4374 tSCC zOsf_Namespace_CName[] =
4375      "osf_namespace_c";
4376
4377 /*
4378  *  File name selection pattern
4379  */
4380 tSCC zOsf_Namespace_CList[] =
4381   "|regex.h|";
4382 /*
4383  *  Machine/OS name selection pattern
4384  */
4385 #define apzOsf_Namespace_CMachs (const char**)NULL
4386
4387 /*
4388  *  content selection pattern - do fix if pattern found
4389  */
4390 tSCC zOsf_Namespace_CSelect0[] =
4391        "#include <reg_types.h>.*";
4392
4393 /*
4394  *  perform the 'test' shell command - do fix on success
4395  */
4396 tSCC zOsf_Namespace_CTest0[] =
4397        " -r reg_types.h";
4398 tSCC zOsf_Namespace_CTest1[] =
4399        " -r sys/lc_core.h";
4400 tSCC zOsf_Namespace_CTest2[] =
4401        " -n \"`grep '} regex_t;' reg_types.h`\"";
4402 tSCC zOsf_Namespace_CTest3[] =
4403        " -z \"`grep __regex_t regex.h`\"";
4404
4405 #define    OSF_NAMESPACE_C_TEST_CT  5
4406 static tTestDesc aOsf_Namespace_CTests[] = {
4407   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4408   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4409   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4410   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4411   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4412
4413 /*
4414  *  Fix Command Arguments for Osf_Namespace_C
4415  */
4416 static const char* apzOsf_Namespace_CPatch[] = {
4417     "format",
4418     "%0\n\
4419 typedef __regex_t\tregex_t;\n\
4420 typedef __regoff_t\tregoff_t;\n\
4421 typedef __regmatch_t\tregmatch_t;",
4422     (char*)NULL };
4423
4424 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4425  *
4426  *  Description of Pthread_Page_Size fix
4427  */
4428 tSCC zPthread_Page_SizeName[] =
4429      "pthread_page_size";
4430
4431 /*
4432  *  File name selection pattern
4433  */
4434 tSCC zPthread_Page_SizeList[] =
4435   "|pthread.h|";
4436 /*
4437  *  Machine/OS name selection pattern
4438  */
4439 #define apzPthread_Page_SizeMachs (const char**)NULL
4440
4441 /*
4442  *  content selection pattern - do fix if pattern found
4443  */
4444 tSCC zPthread_Page_SizeSelect0[] =
4445        "^int __page_size";
4446
4447 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4448 static tTestDesc aPthread_Page_SizeTests[] = {
4449   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4450
4451 /*
4452  *  Fix Command Arguments for Pthread_Page_Size
4453  */
4454 static const char* apzPthread_Page_SizePatch[] = {
4455     "format",
4456     "extern %0",
4457     (char*)NULL };
4458
4459 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4460  *
4461  *  Description of Pthread_Incomplete_Struct_Argument fix
4462  */
4463 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4464      "pthread_incomplete_struct_argument";
4465
4466 /*
4467  *  File name selection pattern
4468  */
4469 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4470   "|pthread.h|";
4471 /*
4472  *  Machine/OS name selection pattern
4473  */
4474 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4475
4476 /*
4477  *  content selection pattern - do fix if pattern found
4478  */
4479 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4480        "struct __jmp_buf_tag";
4481
4482 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4483 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4484   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4485
4486 /*
4487  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4488  */
4489 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4490     "format",
4491     "%1 *%2%3",
4492     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4493     (char*)NULL };
4494
4495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4496  *
4497  *  Description of Read_Ret_Type fix
4498  */
4499 tSCC zRead_Ret_TypeName[] =
4500      "read_ret_type";
4501
4502 /*
4503  *  File name selection pattern
4504  */
4505 tSCC zRead_Ret_TypeList[] =
4506   "|stdio.h|";
4507 /*
4508  *  Machine/OS name selection pattern
4509  */
4510 #define apzRead_Ret_TypeMachs (const char**)NULL
4511
4512 /*
4513  *  content selection pattern - do fix if pattern found
4514  */
4515 tSCC zRead_Ret_TypeSelect0[] =
4516        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4517
4518 #define    READ_RET_TYPE_TEST_CT  1
4519 static tTestDesc aRead_Ret_TypeTests[] = {
4520   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4521
4522 /*
4523  *  Fix Command Arguments for Read_Ret_Type
4524  */
4525 static const char* apzRead_Ret_TypePatch[] = {
4526     "format",
4527     "extern unsigned int fread(), fwrite();\n\
4528 %1%2",
4529     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4530     (char*)NULL };
4531
4532 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4533  *
4534  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4535  */
4536 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4537      "rpc_xdr_lvalue_cast_a";
4538
4539 /*
4540  *  File name selection pattern
4541  */
4542 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4543   "|rpc/xdr.h|";
4544 /*
4545  *  Machine/OS name selection pattern
4546  */
4547 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4548
4549 /*
4550  *  content selection pattern - do fix if pattern found
4551  */
4552 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4553        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4554 .*__extension__.*";
4555
4556 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4557 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4558   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4559
4560 /*
4561  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4562  */
4563 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4564     "format",
4565     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4566     (char*)NULL };
4567
4568 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4569  *
4570  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4571  */
4572 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4573      "rpc_xdr_lvalue_cast_b";
4574
4575 /*
4576  *  File name selection pattern
4577  */
4578 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4579   "|rpc/xdr.h|";
4580 /*
4581  *  Machine/OS name selection pattern
4582  */
4583 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4584
4585 /*
4586  *  content selection pattern - do fix if pattern found
4587  */
4588 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4589        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4590 .*__extension__.*";
4591
4592 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4593 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4594   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4595
4596 /*
4597  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4598  */
4599 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4600     "format",
4601     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4602     (char*)NULL };
4603
4604 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4605  *
4606  *  Description of Rs6000_Double fix
4607  */
4608 tSCC zRs6000_DoubleName[] =
4609      "rs6000_double";
4610
4611 /*
4612  *  File name selection pattern
4613  */
4614 tSCC zRs6000_DoubleList[] =
4615   "|math.h|";
4616 /*
4617  *  Machine/OS name selection pattern
4618  */
4619 #define apzRs6000_DoubleMachs (const char**)NULL
4620
4621 /*
4622  *  content selection pattern - do fix if pattern found
4623  */
4624 tSCC zRs6000_DoubleSelect0[] =
4625        "[^a-zA-Z_]class\\(";
4626
4627 #define    RS6000_DOUBLE_TEST_CT  1
4628 static tTestDesc aRs6000_DoubleTests[] = {
4629   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4630
4631 /*
4632  *  Fix Command Arguments for Rs6000_Double
4633  */
4634 static const char* apzRs6000_DoublePatch[] = {
4635     "format",
4636     "#ifndef __cplusplus\n\
4637 %0\n\
4638 #endif",
4639     "^.*[^a-zA-Z_]class\\(.*",
4640     (char*)NULL };
4641
4642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4643  *
4644  *  Description of Rs6000_Fchmod fix
4645  */
4646 tSCC zRs6000_FchmodName[] =
4647      "rs6000_fchmod";
4648
4649 /*
4650  *  File name selection pattern
4651  */
4652 tSCC zRs6000_FchmodList[] =
4653   "|sys/stat.h|";
4654 /*
4655  *  Machine/OS name selection pattern
4656  */
4657 #define apzRs6000_FchmodMachs (const char**)NULL
4658
4659 /*
4660  *  content selection pattern - do fix if pattern found
4661  */
4662 tSCC zRs6000_FchmodSelect0[] =
4663        "fchmod\\(char \\*";
4664
4665 #define    RS6000_FCHMOD_TEST_CT  1
4666 static tTestDesc aRs6000_FchmodTests[] = {
4667   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4668
4669 /*
4670  *  Fix Command Arguments for Rs6000_Fchmod
4671  */
4672 static const char* apzRs6000_FchmodPatch[] = {
4673     "format",
4674     "fchmod(int",
4675     (char*)NULL };
4676
4677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4678  *
4679  *  Description of Rs6000_Param fix
4680  */
4681 tSCC zRs6000_ParamName[] =
4682      "rs6000_param";
4683
4684 /*
4685  *  File name selection pattern
4686  */
4687 tSCC zRs6000_ParamList[] =
4688   "|stdio.h|unistd.h|";
4689 /*
4690  *  Machine/OS name selection pattern
4691  */
4692 #define apzRs6000_ParamMachs (const char**)NULL
4693
4694 /*
4695  *  content selection pattern - do fix if pattern found
4696  */
4697 tSCC zRs6000_ParamSelect0[] =
4698        "rename\\(const char \\*old, const char \\*new\\)";
4699
4700 #define    RS6000_PARAM_TEST_CT  1
4701 static tTestDesc aRs6000_ParamTests[] = {
4702   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4703
4704 /*
4705  *  Fix Command Arguments for Rs6000_Param
4706  */
4707 static const char* apzRs6000_ParamPatch[] = {
4708     "format",
4709     "rename(const char *_old, const char *_new)",
4710     (char*)NULL };
4711
4712 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4713  *
4714  *  Description of Sco_Math fix
4715  */
4716 tSCC zSco_MathName[] =
4717      "sco_math";
4718
4719 /*
4720  *  File name selection pattern
4721  */
4722 tSCC zSco_MathList[] =
4723   "|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|";
4724 /*
4725  *  Machine/OS name selection pattern
4726  */
4727 #define apzSco_MathMachs (const char**)NULL
4728
4729 /*
4730  *  content selection pattern - do fix if pattern found
4731  */
4732 tSCC zSco_MathSelect0[] =
4733        "inline double abs";
4734
4735 /*
4736  *  content bypass pattern - skip fix if pattern found
4737  */
4738 tSCC zSco_MathBypass0[] =
4739        "__GNUG__";
4740
4741 #define    SCO_MATH_TEST_CT  2
4742 static tTestDesc aSco_MathTests[] = {
4743   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4744   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4745
4746 /*
4747  *  Fix Command Arguments for Sco_Math
4748  */
4749 static const char* apzSco_MathPatch[] = { "sed",
4750     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4751 #ifndef __GNUC__\n",
4752     "-e", "/.*__builtin_generic/a\\\n\
4753 #else\\\n\
4754 #define __fp_class(a) \\\\\\\n\
4755   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4756    __fpclassifyl(a), \\\\\\\n\
4757     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4758       __fpclassifyf(a),__fpclassify(a)))\\\n\
4759 #endif",
4760     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4761 #ifndef __GNUC__\n",
4762     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4763 #endif /* ! __GNUC__ */",
4764     (char*)NULL };
4765
4766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4767  *
4768  *  Description of Sco_Regset fix
4769  */
4770 tSCC zSco_RegsetName[] =
4771      "sco_regset";
4772
4773 /*
4774  *  File name selection pattern
4775  */
4776 tSCC zSco_RegsetList[] =
4777   "|sys/regset.h|";
4778 /*
4779  *  Machine/OS name selection pattern
4780  */
4781 tSCC* apzSco_RegsetMachs[] = {
4782         "*-*-sco3.2v5*",
4783         (const char*)NULL };
4784
4785 /*
4786  *  content selection pattern - do fix if pattern found
4787  */
4788 tSCC zSco_RegsetSelect0[] =
4789        "(struct[ \t]+.*)fpstate";
4790
4791 #define    SCO_REGSET_TEST_CT  1
4792 static tTestDesc aSco_RegsetTests[] = {
4793   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4794
4795 /*
4796  *  Fix Command Arguments for Sco_Regset
4797  */
4798 static const char* apzSco_RegsetPatch[] = {
4799     "format",
4800     "%1rsfpstate",
4801     (char*)NULL };
4802
4803 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4804  *
4805  *  Description of Sco_Static_Func fix
4806  */
4807 tSCC zSco_Static_FuncName[] =
4808      "sco_static_func";
4809
4810 /*
4811  *  File name selection pattern
4812  */
4813 tSCC zSco_Static_FuncList[] =
4814   "|sys/stat.h|";
4815 /*
4816  *  Machine/OS name selection pattern
4817  */
4818 tSCC* apzSco_Static_FuncMachs[] = {
4819         "i?86-*-sco3.2*",
4820         (const char*)NULL };
4821
4822 /*
4823  *  content selection pattern - do fix if pattern found
4824  */
4825 tSCC zSco_Static_FuncSelect0[] =
4826        "^static int";
4827
4828 #define    SCO_STATIC_FUNC_TEST_CT  1
4829 static tTestDesc aSco_Static_FuncTests[] = {
4830   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4831
4832 /*
4833  *  Fix Command Arguments for Sco_Static_Func
4834  */
4835 static const char* apzSco_Static_FuncPatch[] = { "sed",
4836     "-e", "/^static int/i\\\n\
4837 #if __cplusplus\\\n\
4838 extern \"C\" {\\\n\
4839 #endif /* __cplusplus */",
4840     "-e", "/^}$/a\\\n\
4841 #if __cplusplus\\\n\
4842  }\\\n\
4843 #endif /* __cplusplus */",
4844     (char*)NULL };
4845
4846 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4847  *
4848  *  Description of Sco_Utime fix
4849  */
4850 tSCC zSco_UtimeName[] =
4851      "sco_utime";
4852
4853 /*
4854  *  File name selection pattern
4855  */
4856 tSCC zSco_UtimeList[] =
4857   "|sys/times.h|";
4858 /*
4859  *  Machine/OS name selection pattern
4860  */
4861 tSCC* apzSco_UtimeMachs[] = {
4862         "i?86-*-sco3.2v4*",
4863         (const char*)NULL };
4864
4865 /*
4866  *  content selection pattern - do fix if pattern found
4867  */
4868 tSCC zSco_UtimeSelect0[] =
4869        "\\(const char \\*, struct utimbuf \\*\\);";
4870
4871 #define    SCO_UTIME_TEST_CT  1
4872 static tTestDesc aSco_UtimeTests[] = {
4873   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4874
4875 /*
4876  *  Fix Command Arguments for Sco_Utime
4877  */
4878 static const char* apzSco_UtimePatch[] = {
4879     "format",
4880     "(const char *, const struct utimbuf *);",
4881     (char*)NULL };
4882
4883 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4884  *
4885  *  Description of Solaris_Math_1 fix
4886  */
4887 tSCC zSolaris_Math_1Name[] =
4888      "solaris_math_1";
4889
4890 /*
4891  *  File name selection pattern
4892  */
4893 tSCC zSolaris_Math_1List[] =
4894   "|iso/math_c99.h|";
4895 /*
4896  *  Machine/OS name selection pattern
4897  */
4898 #define apzSolaris_Math_1Machs (const char**)NULL
4899
4900 /*
4901  *  content selection pattern - do fix if pattern found
4902  */
4903 tSCC zSolaris_Math_1Select0[] =
4904        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4905
4906 /*
4907  *  content bypass pattern - skip fix if pattern found
4908  */
4909 tSCC zSolaris_Math_1Bypass0[] =
4910        "__GNUC__";
4911
4912 #define    SOLARIS_MATH_1_TEST_CT  2
4913 static tTestDesc aSolaris_Math_1Tests[] = {
4914   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
4915   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
4916
4917 /*
4918  *  Fix Command Arguments for Solaris_Math_1
4919  */
4920 static const char* apzSolaris_Math_1Patch[] = {
4921     "format",
4922     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
4923     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
4924     (char*)NULL };
4925
4926 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4927  *
4928  *  Description of Solaris_Math_2 fix
4929  */
4930 tSCC zSolaris_Math_2Name[] =
4931      "solaris_math_2";
4932
4933 /*
4934  *  File name selection pattern
4935  */
4936 tSCC zSolaris_Math_2List[] =
4937   "|iso/math_c99.h|";
4938 /*
4939  *  Machine/OS name selection pattern
4940  */
4941 #define apzSolaris_Math_2Machs (const char**)NULL
4942
4943 /*
4944  *  content selection pattern - do fix if pattern found
4945  */
4946 tSCC zSolaris_Math_2Select0[] =
4947        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4948
4949 /*
4950  *  content bypass pattern - skip fix if pattern found
4951  */
4952 tSCC zSolaris_Math_2Bypass0[] =
4953        "__GNUC__";
4954
4955 #define    SOLARIS_MATH_2_TEST_CT  2
4956 static tTestDesc aSolaris_Math_2Tests[] = {
4957   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
4958   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
4959
4960 /*
4961  *  Fix Command Arguments for Solaris_Math_2
4962  */
4963 static const char* apzSolaris_Math_2Patch[] = {
4964     "format",
4965     "#define\tINFINITY\t(__builtin_inff())",
4966     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
4967     (char*)NULL };
4968
4969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4970  *
4971  *  Description of Solaris_Math_3 fix
4972  */
4973 tSCC zSolaris_Math_3Name[] =
4974      "solaris_math_3";
4975
4976 /*
4977  *  File name selection pattern
4978  */
4979 tSCC zSolaris_Math_3List[] =
4980   "|iso/math_c99.h|";
4981 /*
4982  *  Machine/OS name selection pattern
4983  */
4984 #define apzSolaris_Math_3Machs (const char**)NULL
4985
4986 /*
4987  *  content selection pattern - do fix if pattern found
4988  */
4989 tSCC zSolaris_Math_3Select0[] =
4990        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4991
4992 /*
4993  *  content bypass pattern - skip fix if pattern found
4994  */
4995 tSCC zSolaris_Math_3Bypass0[] =
4996        "__GNUC__";
4997
4998 #define    SOLARIS_MATH_3_TEST_CT  2
4999 static tTestDesc aSolaris_Math_3Tests[] = {
5000   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
5001   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
5002
5003 /*
5004  *  Fix Command Arguments for Solaris_Math_3
5005  */
5006 static const char* apzSolaris_Math_3Patch[] = {
5007     "format",
5008     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
5009     "^#define[ \t]+NAN[ \t]+__builtin_nan",
5010     (char*)NULL };
5011
5012 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5013  *
5014  *  Description of Solaris_Math_4 fix
5015  */
5016 tSCC zSolaris_Math_4Name[] =
5017      "solaris_math_4";
5018
5019 /*
5020  *  File name selection pattern
5021  */
5022 tSCC zSolaris_Math_4List[] =
5023   "|iso/math_c99.h|";
5024 /*
5025  *  Machine/OS name selection pattern
5026  */
5027 #define apzSolaris_Math_4Machs (const char**)NULL
5028
5029 /*
5030  *  content selection pattern - do fix if pattern found
5031  */
5032 tSCC zSolaris_Math_4Select0[] =
5033        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5034
5035 /*
5036  *  content bypass pattern - skip fix if pattern found
5037  */
5038 tSCC zSolaris_Math_4Bypass0[] =
5039        "__GNUC__";
5040
5041 #define    SOLARIS_MATH_4_TEST_CT  2
5042 static tTestDesc aSolaris_Math_4Tests[] = {
5043   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
5044   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
5045
5046 /*
5047  *  Fix Command Arguments for Solaris_Math_4
5048  */
5049 static const char* apzSolaris_Math_4Patch[] = {
5050     "format",
5051     "#define\tfpclassify(x) \\\n\
5052   __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
5053 \t\t   isnan(__x_fp) \\\n\
5054 \t\t     ? FP_NAN \\\n\
5055 \t\t     : isinf(__x_fp) \\\n\
5056 \t\t       ? FP_INFINITE \\\n\
5057 \t\t       : isnormal(__x_fp) \\\n\
5058 \t\t\t ? FP_NORMAL \\\n\
5059 \t\t\t : __x_fp == 0.0 \\\n\
5060 \t\t\t   ? FP_ZERO \\\n\
5061 \t\t\t   : FP_SUBNORMAL; })",
5062     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
5063     (char*)NULL };
5064
5065 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5066  *
5067  *  Description of Solaris_Math_5 fix
5068  */
5069 tSCC zSolaris_Math_5Name[] =
5070      "solaris_math_5";
5071
5072 /*
5073  *  File name selection pattern
5074  */
5075 tSCC zSolaris_Math_5List[] =
5076   "|iso/math_c99.h|";
5077 /*
5078  *  Machine/OS name selection pattern
5079  */
5080 #define apzSolaris_Math_5Machs (const char**)NULL
5081
5082 /*
5083  *  content selection pattern - do fix if pattern found
5084  */
5085 tSCC zSolaris_Math_5Select0[] =
5086        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5087
5088 /*
5089  *  content bypass pattern - skip fix if pattern found
5090  */
5091 tSCC zSolaris_Math_5Bypass0[] =
5092        "__GNUC__";
5093
5094 #define    SOLARIS_MATH_5_TEST_CT  2
5095 static tTestDesc aSolaris_Math_5Tests[] = {
5096   { TT_NEGREP,   zSolaris_Math_5Bypass0, (regex_t*)NULL },
5097   { TT_EGREP,    zSolaris_Math_5Select0, (regex_t*)NULL }, };
5098
5099 /*
5100  *  Fix Command Arguments for Solaris_Math_5
5101  */
5102 static const char* apzSolaris_Math_5Patch[] = {
5103     "format",
5104     "#define\tisfinite(x) \\\n\
5105   __extension__ ({ __typeof (x) __x_f = (x); \\\n\
5106 \t\t   __builtin_expect(!isnan(__x_f - __x_f), 1); })",
5107     "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
5108     (char*)NULL };
5109
5110 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5111  *
5112  *  Description of Solaris_Math_6 fix
5113  */
5114 tSCC zSolaris_Math_6Name[] =
5115      "solaris_math_6";
5116
5117 /*
5118  *  File name selection pattern
5119  */
5120 tSCC zSolaris_Math_6List[] =
5121   "|iso/math_c99.h|";
5122 /*
5123  *  Machine/OS name selection pattern
5124  */
5125 #define apzSolaris_Math_6Machs (const char**)NULL
5126
5127 /*
5128  *  content selection pattern - do fix if pattern found
5129  */
5130 tSCC zSolaris_Math_6Select0[] =
5131        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5132
5133 /*
5134  *  content bypass pattern - skip fix if pattern found
5135  */
5136 tSCC zSolaris_Math_6Bypass0[] =
5137        "__GNUC__";
5138
5139 #define    SOLARIS_MATH_6_TEST_CT  2
5140 static tTestDesc aSolaris_Math_6Tests[] = {
5141   { TT_NEGREP,   zSolaris_Math_6Bypass0, (regex_t*)NULL },
5142   { TT_EGREP,    zSolaris_Math_6Select0, (regex_t*)NULL }, };
5143
5144 /*
5145  *  Fix Command Arguments for Solaris_Math_6
5146  */
5147 static const char* apzSolaris_Math_6Patch[] = {
5148     "format",
5149     "#define\tisinf(x) \\\n\
5150   __extension__ ({ __typeof (x) __x_i = (x); \\\n\
5151 \t\t   __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
5152     "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
5153     (char*)NULL };
5154
5155 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5156  *
5157  *  Description of Solaris_Math_7 fix
5158  */
5159 tSCC zSolaris_Math_7Name[] =
5160      "solaris_math_7";
5161
5162 /*
5163  *  File name selection pattern
5164  */
5165 tSCC zSolaris_Math_7List[] =
5166   "|iso/math_c99.h|";
5167 /*
5168  *  Machine/OS name selection pattern
5169  */
5170 #define apzSolaris_Math_7Machs (const char**)NULL
5171
5172 /*
5173  *  content selection pattern - do fix if pattern found
5174  */
5175 tSCC zSolaris_Math_7Select0[] =
5176        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5177
5178 /*
5179  *  content bypass pattern - skip fix if pattern found
5180  */
5181 tSCC zSolaris_Math_7Bypass0[] =
5182        "__GNUC__";
5183
5184 #define    SOLARIS_MATH_7_TEST_CT  2
5185 static tTestDesc aSolaris_Math_7Tests[] = {
5186   { TT_NEGREP,   zSolaris_Math_7Bypass0, (regex_t*)NULL },
5187   { TT_EGREP,    zSolaris_Math_7Select0, (regex_t*)NULL }, };
5188
5189 /*
5190  *  Fix Command Arguments for Solaris_Math_7
5191  */
5192 static const char* apzSolaris_Math_7Patch[] = {
5193     "format",
5194     "#define\tisnormal(x) \\\n\
5195   __extension__ ({ __typeof(x) __x_n = (x); \\\n\
5196 \t\t   if (__x_n < 0.0) __x_n = -__x_n; \\\n\
5197 \t\t   __builtin_expect(isfinite(__x_n) \\\n\
5198 \t\t\t\t    && (sizeof(__x_n) == sizeof(float) \\\n\
5199 \t\t\t\t\t  ? __x_n >= __FLT_MIN__ \\\n\
5200 \t\t\t\t\t  : sizeof(__x_n) == sizeof(long double) \\\n\
5201 \t\t\t\t\t    ? __x_n >= __LDBL_MIN__ \\\n\
5202 \t\t\t\t\t    : __x_n >= __DBL_MIN__), 1); })",
5203     "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
5204     (char*)NULL };
5205
5206 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5207  *
5208  *  Description of Solaris_Math_8 fix
5209  */
5210 tSCC zSolaris_Math_8Name[] =
5211      "solaris_math_8";
5212
5213 /*
5214  *  File name selection pattern
5215  */
5216 tSCC zSolaris_Math_8List[] =
5217   "|iso/math_c99.h|";
5218 /*
5219  *  Machine/OS name selection pattern
5220  */
5221 #define apzSolaris_Math_8Machs (const char**)NULL
5222
5223 /*
5224  *  content selection pattern - do fix if pattern found
5225  */
5226 tSCC zSolaris_Math_8Select0[] =
5227        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5228
5229 /*
5230  *  content bypass pattern - skip fix if pattern found
5231  */
5232 tSCC zSolaris_Math_8Bypass0[] =
5233        "__GNUC__";
5234
5235 #define    SOLARIS_MATH_8_TEST_CT  2
5236 static tTestDesc aSolaris_Math_8Tests[] = {
5237   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
5238   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
5239
5240 /*
5241  *  Fix Command Arguments for Solaris_Math_8
5242  */
5243 static const char* apzSolaris_Math_8Patch[] = {
5244     "format",
5245     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
5246 \t\t\t   ? __builtin_signbitf(x) \\\n\
5247 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
5248 \t\t\t     ? __builtin_signbitl(x) \\\n\
5249 \t\t\t     : __builtin_signbit(x))",
5250     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
5251     (char*)NULL };
5252
5253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5254  *
5255  *  Description of Solaris_Math_9 fix
5256  */
5257 tSCC zSolaris_Math_9Name[] =
5258      "solaris_math_9";
5259
5260 /*
5261  *  File name selection pattern
5262  */
5263 tSCC zSolaris_Math_9List[] =
5264   "|iso/math_c99.h|";
5265 /*
5266  *  Machine/OS name selection pattern
5267  */
5268 #define apzSolaris_Math_9Machs (const char**)NULL
5269
5270 /*
5271  *  content selection pattern - do fix if pattern found
5272  */
5273 tSCC zSolaris_Math_9Select0[] =
5274        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5275
5276 /*
5277  *  content bypass pattern - skip fix if pattern found
5278  */
5279 tSCC zSolaris_Math_9Bypass0[] =
5280        "__GNUC__";
5281
5282 #define    SOLARIS_MATH_9_TEST_CT  2
5283 static tTestDesc aSolaris_Math_9Tests[] = {
5284   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
5285   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
5286
5287 /*
5288  *  Fix Command Arguments for Solaris_Math_9
5289  */
5290 static const char* apzSolaris_Math_9Patch[] = {
5291     "format",
5292     "#define\t%1(x, y)%2__builtin_%1(x, y)",
5293     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
5294     (char*)NULL };
5295
5296 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5297  *
5298  *  Description of Solaris_Mutex_Init_1 fix
5299  */
5300 tSCC zSolaris_Mutex_Init_1Name[] =
5301      "solaris_mutex_init_1";
5302
5303 /*
5304  *  File name selection pattern
5305  */
5306 tSCC zSolaris_Mutex_Init_1List[] =
5307   "|pthread.h|";
5308 /*
5309  *  Machine/OS name selection pattern
5310  */
5311 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
5312
5313 /*
5314  *  content selection pattern - do fix if pattern found
5315  */
5316 tSCC zSolaris_Mutex_Init_1Select0[] =
5317        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
5318
5319 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
5320 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
5321   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
5322
5323 /*
5324  *  Fix Command Arguments for Solaris_Mutex_Init_1
5325  */
5326 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
5327     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
5328 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
5329     (char*)NULL };
5330
5331 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5332  *
5333  *  Description of Solaris_Mutex_Init_2 fix
5334  */
5335 tSCC zSolaris_Mutex_Init_2Name[] =
5336      "solaris_mutex_init_2";
5337
5338 /*
5339  *  File name selection pattern
5340  */
5341 tSCC zSolaris_Mutex_Init_2List[] =
5342   "|pthread.h|";
5343 /*
5344  *  Machine/OS name selection pattern
5345  */
5346 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
5347
5348 /*
5349  *  content selection pattern - do fix if pattern found
5350  */
5351 tSCC zSolaris_Mutex_Init_2Select0[] =
5352        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5353
5354 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
5355 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
5356   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
5357
5358 /*
5359  *  Fix Command Arguments for Solaris_Mutex_Init_2
5360  */
5361 static const char* apzSolaris_Mutex_Init_2Patch[] = {
5362     "format",
5363     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5364 %0\n\
5365 #else\n\
5366 %1, {0}}%3\n\
5367 #endif",
5368     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
5369     (char*)NULL };
5370
5371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5372  *
5373  *  Description of Solaris_Socket fix
5374  */
5375 tSCC zSolaris_SocketName[] =
5376      "solaris_socket";
5377
5378 /*
5379  *  File name selection pattern
5380  */
5381 tSCC zSolaris_SocketList[] =
5382   "|sys/socket.h|";
5383 /*
5384  *  Machine/OS name selection pattern
5385  */
5386 #define apzSolaris_SocketMachs (const char**)NULL
5387
5388 /*
5389  *  content selection pattern - do fix if pattern found
5390  */
5391 tSCC zSolaris_SocketSelect0[] =
5392        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
5393
5394 #define    SOLARIS_SOCKET_TEST_CT  1
5395 static tTestDesc aSolaris_SocketTests[] = {
5396   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
5397
5398 /*
5399  *  Fix Command Arguments for Solaris_Socket
5400  */
5401 static const char* apzSolaris_SocketPatch[] = {
5402     "format",
5403     "extern int %1(int, %2void *, int, int);",
5404     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
5405     (char*)NULL };
5406
5407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5408  *
5409  *  Description of Solaris_Stdio_Tag fix
5410  */
5411 tSCC zSolaris_Stdio_TagName[] =
5412      "solaris_stdio_tag";
5413
5414 /*
5415  *  File name selection pattern
5416  */
5417 tSCC zSolaris_Stdio_TagList[] =
5418   "|stdio_tag.h|";
5419 /*
5420  *  Machine/OS name selection pattern
5421  */
5422 #define apzSolaris_Stdio_TagMachs (const char**)NULL
5423
5424 /*
5425  *  content selection pattern - do fix if pattern found
5426  */
5427 tSCC zSolaris_Stdio_TagSelect0[] =
5428        "__cplusplus < 54321L";
5429
5430 /*
5431  *  content bypass pattern - skip fix if pattern found
5432  */
5433 tSCC zSolaris_Stdio_TagBypass0[] =
5434        "__GNUC__";
5435
5436 #define    SOLARIS_STDIO_TAG_TEST_CT  2
5437 static tTestDesc aSolaris_Stdio_TagTests[] = {
5438   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
5439   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
5440
5441 /*
5442  *  Fix Command Arguments for Solaris_Stdio_Tag
5443  */
5444 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
5445     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
5446     (char*)NULL };
5447
5448 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5449  *
5450  *  Description of Solaris_Unistd fix
5451  */
5452 tSCC zSolaris_UnistdName[] =
5453      "solaris_unistd";
5454
5455 /*
5456  *  File name selection pattern
5457  */
5458 tSCC zSolaris_UnistdList[] =
5459   "|unistd.h|";
5460 /*
5461  *  Machine/OS name selection pattern
5462  */
5463 #define apzSolaris_UnistdMachs (const char**)NULL
5464
5465 /*
5466  *  content selection pattern - do fix if pattern found
5467  */
5468 tSCC zSolaris_UnistdSelect0[] =
5469        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
5470
5471 /*
5472  *  content bypass pattern - skip fix if pattern found
5473  */
5474 tSCC zSolaris_UnistdBypass0[] =
5475        "getpagesize";
5476
5477 #define    SOLARIS_UNISTD_TEST_CT  2
5478 static tTestDesc aSolaris_UnistdTests[] = {
5479   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
5480   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
5481
5482 /*
5483  *  Fix Command Arguments for Solaris_Unistd
5484  */
5485 static const char* apzSolaris_UnistdPatch[] = {
5486     "format",
5487     "extern int getpagesize();\n\
5488 %0",
5489     "^extern (pid_t|int) getpgid\\(.*\\);",
5490     (char*)NULL };
5491
5492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5493  *
5494  *  Description of Solaris_Widec fix
5495  */
5496 tSCC zSolaris_WidecName[] =
5497      "solaris_widec";
5498
5499 /*
5500  *  File name selection pattern
5501  */
5502 tSCC zSolaris_WidecList[] =
5503   "|widec.h|";
5504 /*
5505  *  Machine/OS name selection pattern
5506  */
5507 tSCC* apzSolaris_WidecMachs[] = {
5508         "*-*-solaris2.[0-5]",
5509         "*-*-solaris2.[0-5].*",
5510         (const char*)NULL };
5511
5512 /*
5513  *  content selection pattern - do fix if pattern found
5514  */
5515 tSCC zSolaris_WidecSelect0[] =
5516        "#include <euc.h>";
5517
5518 /*
5519  *  content bypass pattern - skip fix if pattern found
5520  */
5521 tSCC zSolaris_WidecBypass0[] =
5522        "include.*wchar\\.h";
5523
5524 #define    SOLARIS_WIDEC_TEST_CT  2
5525 static tTestDesc aSolaris_WidecTests[] = {
5526   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
5527   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
5528
5529 /*
5530  *  Fix Command Arguments for Solaris_Widec
5531  */
5532 static const char* apzSolaris_WidecPatch[] = {
5533     "format",
5534     "%0\n\
5535 #include <wchar.h>",
5536     (char*)NULL };
5537
5538 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5539  *
5540  *  Description of Statsswtch fix
5541  */
5542 tSCC zStatsswtchName[] =
5543      "statsswtch";
5544
5545 /*
5546  *  File name selection pattern
5547  */
5548 tSCC zStatsswtchList[] =
5549   "|rpcsvc/rstat.h|";
5550 /*
5551  *  Machine/OS name selection pattern
5552  */
5553 #define apzStatsswtchMachs (const char**)NULL
5554
5555 /*
5556  *  content selection pattern - do fix if pattern found
5557  */
5558 tSCC zStatsswtchSelect0[] =
5559        "boottime$";
5560
5561 #define    STATSSWTCH_TEST_CT  1
5562 static tTestDesc aStatsswtchTests[] = {
5563   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
5564
5565 /*
5566  *  Fix Command Arguments for Statsswtch
5567  */
5568 static const char* apzStatsswtchPatch[] = {
5569     "format",
5570     "boottime;",
5571     (char*)NULL };
5572
5573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5574  *
5575  *  Description of Stdio_Stdarg_H fix
5576  */
5577 tSCC zStdio_Stdarg_HName[] =
5578      "stdio_stdarg_h";
5579
5580 /*
5581  *  File name selection pattern
5582  */
5583 tSCC zStdio_Stdarg_HList[] =
5584   "|stdio.h|";
5585 /*
5586  *  Machine/OS name selection pattern
5587  */
5588 tSCC* apzStdio_Stdarg_HMachs[] = {
5589         "*-*-solaris2.1[0-9]*",
5590         (const char*)NULL };
5591
5592 /*
5593  *  content bypass pattern - skip fix if pattern found
5594  */
5595 tSCC zStdio_Stdarg_HBypass0[] =
5596        "include.*(stdarg.h|machine/ansi.h)";
5597
5598 #define    STDIO_STDARG_H_TEST_CT  1
5599 static tTestDesc aStdio_Stdarg_HTests[] = {
5600   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
5601
5602 /*
5603  *  Fix Command Arguments for Stdio_Stdarg_H
5604  */
5605 static const char* apzStdio_Stdarg_HPatch[] = {
5606     "wrap",
5607     "#define __need___va_list\n\
5608 #include <stdarg.h>\n",
5609     (char*)NULL };
5610
5611 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5612  *
5613  *  Description of Stdio_Va_List fix
5614  */
5615 tSCC zStdio_Va_ListName[] =
5616      "stdio_va_list";
5617
5618 /*
5619  *  File name selection pattern
5620  */
5621 tSCC zStdio_Va_ListList[] =
5622   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
5623 /*
5624  *  Machine/OS name selection pattern
5625  */
5626 tSCC* apzStdio_Va_ListMachs[] = {
5627         "*-*-solaris2.1[0-9]*",
5628         (const char*)NULL };
5629
5630 /*
5631  *  content bypass pattern - skip fix if pattern found
5632  */
5633 tSCC zStdio_Va_ListBypass0[] =
5634        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5635
5636 #define    STDIO_VA_LIST_TEST_CT  1
5637 static tTestDesc aStdio_Va_ListTests[] = {
5638   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
5639
5640 /*
5641  *  Fix Command Arguments for Stdio_Va_List
5642  */
5643 static const char* apzStdio_Va_ListPatch[] = { "sed",
5644     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5645 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5646 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5647 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5648 s@ va_list@ __not_va_list__@\n\
5649 s@\\*va_list@*__not_va_list__@\n\
5650 s@ __va_list)@ __gnuc_va_list)@\n\
5651 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5652 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5653 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5654 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5655 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5656 s@VA_LIST@DUMMY_VA_LIST@\n\
5657 s@_Va_LIST@_VA_LIST@",
5658     (char*)NULL };
5659
5660 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5661  *
5662  *  Description of Stdio_Va_List_Clients fix
5663  */
5664 tSCC zStdio_Va_List_ClientsName[] =
5665      "stdio_va_list_clients";
5666
5667 /*
5668  *  File name selection pattern
5669  */
5670 tSCC zStdio_Va_List_ClientsList[] =
5671   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
5672 /*
5673  *  Machine/OS name selection pattern
5674  */
5675 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
5676
5677 /*
5678  *  content bypass pattern - skip fix if pattern found
5679  */
5680 tSCC zStdio_Va_List_ClientsBypass0[] =
5681        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5682 tSCC zStdio_Va_List_ClientsBypass1[] =
5683        "include <stdarg\\.h>|#ifdef va_start";
5684
5685 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
5686 static tTestDesc aStdio_Va_List_ClientsTests[] = {
5687   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
5688   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
5689
5690 /*
5691  *  Fix Command Arguments for Stdio_Va_List_Clients
5692  */
5693 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
5694     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5695 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5696 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5697 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5698 s@ va_list@ __not_va_list__@\n\
5699 s@\\*va_list@*__not_va_list__@\n\
5700 s@ __va_list)@ __gnuc_va_list)@\n\
5701 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5702 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5703 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5704 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5705 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5706 s@VA_LIST@DUMMY_VA_LIST@\n\
5707 s@_Va_LIST@_VA_LIST@",
5708     (char*)NULL };
5709
5710 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5711  *
5712  *  Description of Strict_Ansi_Not fix
5713  */
5714 tSCC zStrict_Ansi_NotName[] =
5715      "strict_ansi_not";
5716
5717 /*
5718  *  File name selection pattern
5719  */
5720 #define zStrict_Ansi_NotList (char*)NULL
5721 /*
5722  *  Machine/OS name selection pattern
5723  */
5724 #define apzStrict_Ansi_NotMachs (const char**)NULL
5725
5726 /*
5727  *  content selection pattern - do fix if pattern found
5728  */
5729 tSCC zStrict_Ansi_NotSelect0[] =
5730        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5731
5732 /*
5733  *  content bypass pattern - skip fix if pattern found
5734  */
5735 tSCC zStrict_Ansi_NotBypass0[] =
5736        "GNU and MIPS C compilers define __STDC__ differently";
5737 tSCC zStrict_Ansi_NotBypass1[] =
5738        "__SCO_VERSION__.*__STDC__ != 1";
5739
5740 /*
5741  *  perform the C function call test
5742  */
5743 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5744
5745 #define    STRICT_ANSI_NOT_TEST_CT  4
5746 static tTestDesc aStrict_Ansi_NotTests[] = {
5747   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5748   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5749   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5750   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5751
5752 /*
5753  *  Fix Command Arguments for Strict_Ansi_Not
5754  */
5755 static const char* apzStrict_Ansi_NotPatch[] = {
5756     "format",
5757     "%1 !defined(__STRICT_ANSI__)",
5758     (char*)NULL };
5759
5760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5761  *
5762  *  Description of Strict_Ansi_Not_Ctd fix
5763  */
5764 tSCC zStrict_Ansi_Not_CtdName[] =
5765      "strict_ansi_not_ctd";
5766
5767 /*
5768  *  File name selection pattern
5769  */
5770 tSCC zStrict_Ansi_Not_CtdList[] =
5771   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5772 /*
5773  *  Machine/OS name selection pattern
5774  */
5775 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5776
5777 /*
5778  *  content selection pattern - do fix if pattern found
5779  */
5780 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5781        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5782
5783 /*
5784  *  perform the C function call test
5785  */
5786 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5787
5788 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5789 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5790   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5791   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5792
5793 /*
5794  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5795  */
5796 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5797     "format",
5798     "%1 !defined(__STRICT_ANSI__)",
5799     (char*)NULL };
5800
5801 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5802  *
5803  *  Description of Strict_Ansi_Only fix
5804  */
5805 tSCC zStrict_Ansi_OnlyName[] =
5806      "strict_ansi_only";
5807
5808 /*
5809  *  File name selection pattern
5810  */
5811 #define zStrict_Ansi_OnlyList (char*)NULL
5812 /*
5813  *  Machine/OS name selection pattern
5814  */
5815 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5816
5817 /*
5818  *  content selection pattern - do fix if pattern found
5819  */
5820 tSCC zStrict_Ansi_OnlySelect0[] =
5821        "^([ \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)";
5822
5823 /*
5824  *  perform the C function call test
5825  */
5826 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5827
5828 #define    STRICT_ANSI_ONLY_TEST_CT  2
5829 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5830   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5831   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5832
5833 /*
5834  *  Fix Command Arguments for Strict_Ansi_Only
5835  */
5836 static const char* apzStrict_Ansi_OnlyPatch[] = {
5837     "format",
5838     "%1 defined(__STRICT_ANSI__)",
5839     (char*)NULL };
5840
5841 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5842  *
5843  *  Description of Struct_File fix
5844  */
5845 tSCC zStruct_FileName[] =
5846      "struct_file";
5847
5848 /*
5849  *  File name selection pattern
5850  */
5851 tSCC zStruct_FileList[] =
5852   "|rpc/xdr.h|";
5853 /*
5854  *  Machine/OS name selection pattern
5855  */
5856 #define apzStruct_FileMachs (const char**)NULL
5857
5858 /*
5859  *  content selection pattern - do fix if pattern found
5860  */
5861 tSCC zStruct_FileSelect0[] =
5862        "^.*xdrstdio_create.*struct __file_s";
5863
5864 #define    STRUCT_FILE_TEST_CT  1
5865 static tTestDesc aStruct_FileTests[] = {
5866   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5867
5868 /*
5869  *  Fix Command Arguments for Struct_File
5870  */
5871 static const char* apzStruct_FilePatch[] = {
5872     "format",
5873     "struct __file_s;\n\
5874 %0",
5875     (char*)NULL };
5876
5877 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5878  *
5879  *  Description of Struct_Sockaddr fix
5880  */
5881 tSCC zStruct_SockaddrName[] =
5882      "struct_sockaddr";
5883
5884 /*
5885  *  File name selection pattern
5886  */
5887 tSCC zStruct_SockaddrList[] =
5888   "|rpc/auth.h|";
5889 /*
5890  *  Machine/OS name selection pattern
5891  */
5892 #define apzStruct_SockaddrMachs (const char**)NULL
5893
5894 /*
5895  *  content selection pattern - do fix if pattern found
5896  */
5897 tSCC zStruct_SockaddrSelect0[] =
5898        "^.*authdes_create.*struct sockaddr[^_]";
5899
5900 /*
5901  *  content bypass pattern - skip fix if pattern found
5902  */
5903 tSCC zStruct_SockaddrBypass0[] =
5904        "<sys/socket.h>";
5905 tSCC zStruct_SockaddrBypass1[] =
5906        "struct sockaddr;\n";
5907
5908 #define    STRUCT_SOCKADDR_TEST_CT  3
5909 static tTestDesc aStruct_SockaddrTests[] = {
5910   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5911   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5912   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5913
5914 /*
5915  *  Fix Command Arguments for Struct_Sockaddr
5916  */
5917 static const char* apzStruct_SockaddrPatch[] = {
5918     "format",
5919     "struct sockaddr;\n\
5920 %0",
5921     (char*)NULL };
5922
5923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5924  *
5925  *  Description of Sun_Auth_Proto fix
5926  */
5927 tSCC zSun_Auth_ProtoName[] =
5928      "sun_auth_proto";
5929
5930 /*
5931  *  File name selection pattern
5932  */
5933 tSCC zSun_Auth_ProtoList[] =
5934   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5935 /*
5936  *  Machine/OS name selection pattern
5937  */
5938 #define apzSun_Auth_ProtoMachs (const char**)NULL
5939
5940 /*
5941  *  content selection pattern - do fix if pattern found
5942  */
5943 tSCC zSun_Auth_ProtoSelect0[] =
5944        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5945
5946 /*
5947  *  content bypass pattern - skip fix if pattern found
5948  */
5949 tSCC zSun_Auth_ProtoBypass0[] =
5950        "__cplusplus";
5951
5952 #define    SUN_AUTH_PROTO_TEST_CT  2
5953 static tTestDesc aSun_Auth_ProtoTests[] = {
5954   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
5955   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5956
5957 /*
5958  *  Fix Command Arguments for Sun_Auth_Proto
5959  */
5960 static const char* apzSun_Auth_ProtoPatch[] = {
5961     "format",
5962     "#ifdef __cplusplus\n\
5963 %1(...);%2\n\
5964 #else\n\
5965 %1();%2\n\
5966 #endif",
5967     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5968     (char*)NULL };
5969
5970 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5971  *
5972  *  Description of Sun_Bogus_Ifdef fix
5973  */
5974 tSCC zSun_Bogus_IfdefName[] =
5975      "sun_bogus_ifdef";
5976
5977 /*
5978  *  File name selection pattern
5979  */
5980 tSCC zSun_Bogus_IfdefList[] =
5981   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5982 /*
5983  *  Machine/OS name selection pattern
5984  */
5985 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5986
5987 /*
5988  *  content selection pattern - do fix if pattern found
5989  */
5990 tSCC zSun_Bogus_IfdefSelect0[] =
5991        "#ifdef(.*\\|\\|.*)";
5992
5993 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5994 static tTestDesc aSun_Bogus_IfdefTests[] = {
5995   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5996
5997 /*
5998  *  Fix Command Arguments for Sun_Bogus_Ifdef
5999  */
6000 static const char* apzSun_Bogus_IfdefPatch[] = {
6001     "format",
6002     "#if%1",
6003     (char*)NULL };
6004
6005 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6006  *
6007  *  Description of Sun_Catmacro fix
6008  */
6009 tSCC zSun_CatmacroName[] =
6010      "sun_catmacro";
6011
6012 /*
6013  *  File name selection pattern
6014  */
6015 tSCC zSun_CatmacroList[] =
6016   "|pixrect/memvar.h|";
6017 /*
6018  *  Machine/OS name selection pattern
6019  */
6020 #define apzSun_CatmacroMachs (const char**)NULL
6021
6022 /*
6023  *  content selection pattern - do fix if pattern found
6024  */
6025 tSCC zSun_CatmacroSelect0[] =
6026        "^#define[ \t]+CAT\\(a,b\\).*";
6027
6028 #define    SUN_CATMACRO_TEST_CT  1
6029 static tTestDesc aSun_CatmacroTests[] = {
6030   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
6031
6032 /*
6033  *  Fix Command Arguments for Sun_Catmacro
6034  */
6035 static const char* apzSun_CatmacroPatch[] = {
6036     "format",
6037     "#ifdef __STDC__\n\
6038 #  define CAT(a,b) a##b\n\
6039 #else\n\
6040 %0\n\
6041 #endif",
6042     (char*)NULL };
6043
6044 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6045  *
6046  *  Description of Sun_Malloc fix
6047  */
6048 tSCC zSun_MallocName[] =
6049      "sun_malloc";
6050
6051 /*
6052  *  File name selection pattern
6053  */
6054 tSCC zSun_MallocList[] =
6055   "|malloc.h|";
6056 /*
6057  *  Machine/OS name selection pattern
6058  */
6059 #define apzSun_MallocMachs (const char**)NULL
6060
6061 /*
6062  *  content bypass pattern - skip fix if pattern found
6063  */
6064 tSCC zSun_MallocBypass0[] =
6065        "_CLASSIC_ANSI_TYPES";
6066
6067 #define    SUN_MALLOC_TEST_CT  1
6068 static tTestDesc aSun_MallocTests[] = {
6069   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
6070
6071 /*
6072  *  Fix Command Arguments for Sun_Malloc
6073  */
6074 static const char* apzSun_MallocPatch[] = { "sed",
6075     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
6076     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
6077     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
6078     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
6079     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
6080     (char*)NULL };
6081
6082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6083  *
6084  *  Description of Sun_Rusers_Semi fix
6085  */
6086 tSCC zSun_Rusers_SemiName[] =
6087      "sun_rusers_semi";
6088
6089 /*
6090  *  File name selection pattern
6091  */
6092 tSCC zSun_Rusers_SemiList[] =
6093   "|rpcsvc/rusers.h|";
6094 /*
6095  *  Machine/OS name selection pattern
6096  */
6097 #define apzSun_Rusers_SemiMachs (const char**)NULL
6098
6099 /*
6100  *  content selection pattern - do fix if pattern found
6101  */
6102 tSCC zSun_Rusers_SemiSelect0[] =
6103        "_cnt$";
6104
6105 #define    SUN_RUSERS_SEMI_TEST_CT  1
6106 static tTestDesc aSun_Rusers_SemiTests[] = {
6107   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
6108
6109 /*
6110  *  Fix Command Arguments for Sun_Rusers_Semi
6111  */
6112 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
6113     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
6114     (char*)NULL };
6115
6116 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6117  *
6118  *  Description of Sun_Signal fix
6119  */
6120 tSCC zSun_SignalName[] =
6121      "sun_signal";
6122
6123 /*
6124  *  File name selection pattern
6125  */
6126 tSCC zSun_SignalList[] =
6127   "|sys/signal.h|signal.h|";
6128 /*
6129  *  Machine/OS name selection pattern
6130  */
6131 #define apzSun_SignalMachs (const char**)NULL
6132
6133 /*
6134  *  content selection pattern - do fix if pattern found
6135  */
6136 tSCC zSun_SignalSelect0[] =
6137        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
6138
6139 #define    SUN_SIGNAL_TEST_CT  1
6140 static tTestDesc aSun_SignalTests[] = {
6141   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
6142
6143 /*
6144  *  Fix Command Arguments for Sun_Signal
6145  */
6146 static const char* apzSun_SignalPatch[] = {
6147     "format",
6148     "#ifdef __cplusplus\n\
6149 void\t(*signal(...))(...);\n\
6150 #else\n\
6151 %0\n\
6152 #endif",
6153     (char*)NULL };
6154
6155 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6156  *
6157  *  Description of Sunos_Strlen fix
6158  */
6159 tSCC zSunos_StrlenName[] =
6160      "sunos_strlen";
6161
6162 /*
6163  *  File name selection pattern
6164  */
6165 tSCC zSunos_StrlenList[] =
6166   "|strings.h|";
6167 /*
6168  *  Machine/OS name selection pattern
6169  */
6170 #define apzSunos_StrlenMachs (const char**)NULL
6171
6172 /*
6173  *  content selection pattern - do fix if pattern found
6174  */
6175 tSCC zSunos_StrlenSelect0[] =
6176        "int[ \t]*strlen\\(\\);(.*)";
6177
6178 #define    SUNOS_STRLEN_TEST_CT  1
6179 static tTestDesc aSunos_StrlenTests[] = {
6180   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
6181
6182 /*
6183  *  Fix Command Arguments for Sunos_Strlen
6184  */
6185 static const char* apzSunos_StrlenPatch[] = {
6186     "format",
6187     "__SIZE_TYPE__ strlen();%1",
6188     (char*)NULL };
6189
6190 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6191  *
6192  *  Description of Svr4_Disable_Opt fix
6193  */
6194 tSCC zSvr4_Disable_OptName[] =
6195      "svr4_disable_opt";
6196
6197 /*
6198  *  File name selection pattern
6199  */
6200 tSCC zSvr4_Disable_OptList[] =
6201   "|string.h|";
6202 /*
6203  *  Machine/OS name selection pattern
6204  */
6205 #define apzSvr4_Disable_OptMachs (const char**)NULL
6206
6207 /*
6208  *  content selection pattern - do fix if pattern found
6209  */
6210 tSCC zSvr4_Disable_OptSelect0[] =
6211        "#define.*__std_hdr_";
6212
6213 #define    SVR4_DISABLE_OPT_TEST_CT  1
6214 static tTestDesc aSvr4_Disable_OptTests[] = {
6215   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
6216
6217 /*
6218  *  Fix Command Arguments for Svr4_Disable_Opt
6219  */
6220 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
6221     "-e", "/#define.*__std_hdr_/d",
6222     (char*)NULL };
6223
6224 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6225  *
6226  *  Description of Svr4_Getcwd fix
6227  */
6228 tSCC zSvr4_GetcwdName[] =
6229      "svr4_getcwd";
6230
6231 /*
6232  *  File name selection pattern
6233  */
6234 tSCC zSvr4_GetcwdList[] =
6235   "|stdlib.h|unistd.h|prototypes.h|";
6236 /*
6237  *  Machine/OS name selection pattern
6238  */
6239 #define apzSvr4_GetcwdMachs (const char**)NULL
6240
6241 /*
6242  *  content selection pattern - do fix if pattern found
6243  */
6244 tSCC zSvr4_GetcwdSelect0[] =
6245        "getcwd\\(char \\*, int\\)";
6246
6247 #define    SVR4_GETCWD_TEST_CT  1
6248 static tTestDesc aSvr4_GetcwdTests[] = {
6249   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
6250
6251 /*
6252  *  Fix Command Arguments for Svr4_Getcwd
6253  */
6254 static const char* apzSvr4_GetcwdPatch[] = {
6255     "format",
6256     "getcwd(char *, size_t)",
6257     (char*)NULL };
6258
6259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6260  *
6261  *  Description of Svr4_Krnl fix
6262  */
6263 tSCC zSvr4_KrnlName[] =
6264      "svr4_krnl";
6265
6266 /*
6267  *  File name selection pattern
6268  */
6269 tSCC zSvr4_KrnlList[] =
6270   "|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|";
6271 /*
6272  *  Machine/OS name selection pattern
6273  */
6274 tSCC* apzSvr4_KrnlMachs[] = {
6275         "*-*-sysv4*",
6276         "i?86-sequent-ptx*",
6277         (const char*)NULL };
6278
6279 /*
6280  *  content bypass pattern - skip fix if pattern found
6281  */
6282 tSCC zSvr4_KrnlBypass0[] =
6283        "_KERNEL";
6284
6285 #define    SVR4_KRNL_TEST_CT  1
6286 static tTestDesc aSvr4_KrnlTests[] = {
6287   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
6288
6289 /*
6290  *  Fix Command Arguments for Svr4_Krnl
6291  */
6292 static const char* apzSvr4_KrnlPatch[] = {
6293     "wrap",
6294     "#ifdef _KERNEL\n",
6295     "#endif /* _KERNEL */\n",
6296     (char*)NULL };
6297
6298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6299  *
6300  *  Description of Svr4_Profil fix
6301  */
6302 tSCC zSvr4_ProfilName[] =
6303      "svr4_profil";
6304
6305 /*
6306  *  File name selection pattern
6307  */
6308 tSCC zSvr4_ProfilList[] =
6309   "|stdlib.h|unistd.h|";
6310 /*
6311  *  Machine/OS name selection pattern
6312  */
6313 #define apzSvr4_ProfilMachs (const char**)NULL
6314
6315 /*
6316  *  content selection pattern - do fix if pattern found
6317  */
6318 tSCC zSvr4_ProfilSelect0[] =
6319        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
6320
6321 /*
6322  *  content bypass pattern - skip fix if pattern found
6323  */
6324 tSCC zSvr4_ProfilBypass0[] =
6325        "Silicon Graphics";
6326
6327 #define    SVR4_PROFIL_TEST_CT  2
6328 static tTestDesc aSvr4_ProfilTests[] = {
6329   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
6330   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
6331
6332 /*
6333  *  Fix Command Arguments for Svr4_Profil
6334  */
6335 static const char* apzSvr4_ProfilPatch[] = {
6336     "format",
6337     "profil(unsigned short *, size_t, int, unsigned int)",
6338     (char*)NULL };
6339
6340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6341  *
6342  *  Description of Svr4_Sighandler_Type fix
6343  */
6344 tSCC zSvr4_Sighandler_TypeName[] =
6345      "svr4_sighandler_type";
6346
6347 /*
6348  *  File name selection pattern
6349  */
6350 tSCC zSvr4_Sighandler_TypeList[] =
6351   "|sys/signal.h|";
6352 /*
6353  *  Machine/OS name selection pattern
6354  */
6355 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
6356
6357 /*
6358  *  content selection pattern - do fix if pattern found
6359  */
6360 tSCC zSvr4_Sighandler_TypeSelect0[] =
6361        "void *\\(\\*\\)\\(\\)";
6362
6363 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
6364 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
6365   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
6366
6367 /*
6368  *  Fix Command Arguments for Svr4_Sighandler_Type
6369  */
6370 static const char* apzSvr4_Sighandler_TypePatch[] = {
6371     "format",
6372     "void (*)(int)",
6373     (char*)NULL };
6374
6375 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6376  *
6377  *  Description of Svr4_Undeclared_Getrnge fix
6378  */
6379 tSCC zSvr4_Undeclared_GetrngeName[] =
6380      "svr4_undeclared_getrnge";
6381
6382 /*
6383  *  File name selection pattern
6384  */
6385 tSCC zSvr4_Undeclared_GetrngeList[] =
6386   "|regexp.h|";
6387 /*
6388  *  Machine/OS name selection pattern
6389  */
6390 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
6391
6392 /*
6393  *  content selection pattern - do fix if pattern found
6394  */
6395 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
6396        "getrnge";
6397
6398 /*
6399  *  content bypass pattern - skip fix if pattern found
6400  */
6401 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
6402        "static void getrnge";
6403
6404 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
6405 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
6406   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
6407   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
6408
6409 /*
6410  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
6411  */
6412 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
6413     "format",
6414     "%0\n\
6415 static int getrnge ();",
6416     "^static int[ \t]+size;",
6417     (char*)NULL };
6418
6419 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6420  *
6421  *  Description of Sysv68_String fix
6422  */
6423 tSCC zSysv68_StringName[] =
6424      "sysv68_string";
6425
6426 /*
6427  *  File name selection pattern
6428  */
6429 tSCC zSysv68_StringList[] =
6430   "|testing.h|string.h|";
6431 /*
6432  *  Machine/OS name selection pattern
6433  */
6434 #define apzSysv68_StringMachs (const char**)NULL
6435
6436 /*
6437  *  content bypass pattern - skip fix if pattern found
6438  */
6439 tSCC zSysv68_StringBypass0[] =
6440        "_CLASSIC_ANSI_TYPES";
6441
6442 #define    SYSV68_STRING_TEST_CT  1
6443 static tTestDesc aSysv68_StringTests[] = {
6444   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
6445
6446 /*
6447  *  Fix Command Arguments for Sysv68_String
6448  */
6449 static const char* apzSysv68_StringPatch[] = { "sed",
6450     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
6451     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
6452     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
6453     "-e", "/^extern char$/N",
6454     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
6455     "-e", "/^extern int$/N",
6456     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
6457     "-e", "/^\tstrncmp(),$/N",
6458     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
6459 extern unsigned int\\\n\
6460 \\2/",
6461     (char*)NULL };
6462
6463 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6464  *
6465  *  Description of Sysz_Stdlib_For_Sun fix
6466  */
6467 tSCC zSysz_Stdlib_For_SunName[] =
6468      "sysz_stdlib_for_sun";
6469
6470 /*
6471  *  File name selection pattern
6472  */
6473 tSCC zSysz_Stdlib_For_SunList[] =
6474   "|stdlib.h|";
6475 /*
6476  *  Machine/OS name selection pattern
6477  */
6478 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
6479
6480 /*
6481  *  content selection pattern - do fix if pattern found
6482  */
6483 tSCC zSysz_Stdlib_For_SunSelect0[] =
6484        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
6485
6486 /*
6487  *  content bypass pattern - skip fix if pattern found
6488  */
6489 tSCC zSysz_Stdlib_For_SunBypass0[] =
6490        "_CLASSIC_ANSI_TYPES";
6491
6492 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
6493 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
6494   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
6495   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
6496
6497 /*
6498  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
6499  */
6500 static const char* apzSysz_Stdlib_For_SunPatch[] = {
6501     "format",
6502     "void *\t%1(",
6503     (char*)NULL };
6504
6505 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6506  *
6507  *  Description of Thread_Keyword fix
6508  */
6509 tSCC zThread_KeywordName[] =
6510      "thread_keyword";
6511
6512 /*
6513  *  File name selection pattern
6514  */
6515 tSCC zThread_KeywordList[] =
6516   "|pthread.h|bits/sigthread.h|";
6517 /*
6518  *  Machine/OS name selection pattern
6519  */
6520 #define apzThread_KeywordMachs (const char**)NULL
6521
6522 /*
6523  *  content selection pattern - do fix if pattern found
6524  */
6525 tSCC zThread_KeywordSelect0[] =
6526        "([* ])__thread([,)])";
6527
6528 #define    THREAD_KEYWORD_TEST_CT  1
6529 static tTestDesc aThread_KeywordTests[] = {
6530   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
6531
6532 /*
6533  *  Fix Command Arguments for Thread_Keyword
6534  */
6535 static const char* apzThread_KeywordPatch[] = {
6536     "format",
6537     "%1__thr%2",
6538     (char*)NULL };
6539
6540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6541  *
6542  *  Description of Tinfo_Cplusplus fix
6543  */
6544 tSCC zTinfo_CplusplusName[] =
6545      "tinfo_cplusplus";
6546
6547 /*
6548  *  File name selection pattern
6549  */
6550 tSCC zTinfo_CplusplusList[] =
6551   "|tinfo.h|";
6552 /*
6553  *  Machine/OS name selection pattern
6554  */
6555 #define apzTinfo_CplusplusMachs (const char**)NULL
6556
6557 /*
6558  *  content selection pattern - do fix if pattern found
6559  */
6560 tSCC zTinfo_CplusplusSelect0[] =
6561        "[ \t]_cplusplus";
6562
6563 #define    TINFO_CPLUSPLUS_TEST_CT  1
6564 static tTestDesc aTinfo_CplusplusTests[] = {
6565   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
6566
6567 /*
6568  *  Fix Command Arguments for Tinfo_Cplusplus
6569  */
6570 static const char* apzTinfo_CplusplusPatch[] = {
6571     "format",
6572     " __cplusplus",
6573     (char*)NULL };
6574
6575 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6576  *
6577  *  Description of Ultrix_Atexit_Param fix
6578  */
6579 tSCC zUltrix_Atexit_ParamName[] =
6580      "ultrix_atexit_param";
6581
6582 /*
6583  *  File name selection pattern
6584  */
6585 tSCC zUltrix_Atexit_ParamList[] =
6586   "|stdlib.h|";
6587 /*
6588  *  Machine/OS name selection pattern
6589  */
6590 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
6591
6592 /*
6593  *  content selection pattern - do fix if pattern found
6594  */
6595 tSCC zUltrix_Atexit_ParamSelect0[] =
6596        "atexit\\(.*\\(\\)";
6597
6598 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
6599 static tTestDesc aUltrix_Atexit_ParamTests[] = {
6600   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
6601
6602 /*
6603  *  Fix Command Arguments for Ultrix_Atexit_Param
6604  */
6605 static const char* apzUltrix_Atexit_ParamPatch[] = {
6606     "format",
6607     "atexit( void (*__func)( void )",
6608     (char*)NULL };
6609
6610 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6611  *
6612  *  Description of Ultrix_Atof_Param fix
6613  */
6614 tSCC zUltrix_Atof_ParamName[] =
6615      "ultrix_atof_param";
6616
6617 /*
6618  *  File name selection pattern
6619  */
6620 tSCC zUltrix_Atof_ParamList[] =
6621   "|math.h|";
6622 /*
6623  *  Machine/OS name selection pattern
6624  */
6625 #define apzUltrix_Atof_ParamMachs (const char**)NULL
6626
6627 /*
6628  *  content selection pattern - do fix if pattern found
6629  */
6630 tSCC zUltrix_Atof_ParamSelect0[] =
6631        "atof\\([ \t]*char";
6632
6633 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
6634 static tTestDesc aUltrix_Atof_ParamTests[] = {
6635   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
6636
6637 /*
6638  *  Fix Command Arguments for Ultrix_Atof_Param
6639  */
6640 static const char* apzUltrix_Atof_ParamPatch[] = {
6641     "format",
6642     "atof(const char",
6643     (char*)NULL };
6644
6645 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6646  *
6647  *  Description of Ultrix_Const fix
6648  */
6649 tSCC zUltrix_ConstName[] =
6650      "ultrix_const";
6651
6652 /*
6653  *  File name selection pattern
6654  */
6655 tSCC zUltrix_ConstList[] =
6656   "|stdio.h|";
6657 /*
6658  *  Machine/OS name selection pattern
6659  */
6660 #define apzUltrix_ConstMachs (const char**)NULL
6661
6662 /*
6663  *  content selection pattern - do fix if pattern found
6664  */
6665 tSCC zUltrix_ConstSelect0[] =
6666        "perror\\( char \\*";
6667
6668 #define    ULTRIX_CONST_TEST_CT  1
6669 static tTestDesc aUltrix_ConstTests[] = {
6670   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
6671
6672 /*
6673  *  Fix Command Arguments for Ultrix_Const
6674  */
6675 static const char* apzUltrix_ConstPatch[] = {
6676     "format",
6677     "%1 const %3 *__",
6678     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
6679     (char*)NULL };
6680
6681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6682  *
6683  *  Description of Ultrix_Const2 fix
6684  */
6685 tSCC zUltrix_Const2Name[] =
6686      "ultrix_const2";
6687
6688 /*
6689  *  File name selection pattern
6690  */
6691 tSCC zUltrix_Const2List[] =
6692   "|stdio.h|";
6693 /*
6694  *  Machine/OS name selection pattern
6695  */
6696 #define apzUltrix_Const2Machs (const char**)NULL
6697
6698 /*
6699  *  content selection pattern - do fix if pattern found
6700  */
6701 tSCC zUltrix_Const2Select0[] =
6702        "\\*fopen\\( char \\*";
6703
6704 #define    ULTRIX_CONST2_TEST_CT  1
6705 static tTestDesc aUltrix_Const2Tests[] = {
6706   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6707
6708 /*
6709  *  Fix Command Arguments for Ultrix_Const2
6710  */
6711 static const char* apzUltrix_Const2Patch[] = {
6712     "format",
6713     "%1( const char *%3, const char *",
6714     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6715     (char*)NULL };
6716
6717 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6718  *
6719  *  Description of Ultrix_Const3 fix
6720  */
6721 tSCC zUltrix_Const3Name[] =
6722      "ultrix_const3";
6723
6724 /*
6725  *  File name selection pattern
6726  */
6727 tSCC zUltrix_Const3List[] =
6728   "|stdio.h|";
6729 /*
6730  *  Machine/OS name selection pattern
6731  */
6732 #define apzUltrix_Const3Machs (const char**)NULL
6733
6734 /*
6735  *  content selection pattern - do fix if pattern found
6736  */
6737 tSCC zUltrix_Const3Select0[] =
6738        "fdopen\\( .*, char \\*";
6739
6740 #define    ULTRIX_CONST3_TEST_CT  1
6741 static tTestDesc aUltrix_Const3Tests[] = {
6742   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6743
6744 /*
6745  *  Fix Command Arguments for Ultrix_Const3
6746  */
6747 static const char* apzUltrix_Const3Patch[] = {
6748     "format",
6749     "%1 const %3 *__",
6750     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6751     (char*)NULL };
6752
6753 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6754  *
6755  *  Description of Ultrix_Fix_Fixproto fix
6756  */
6757 tSCC zUltrix_Fix_FixprotoName[] =
6758      "ultrix_fix_fixproto";
6759
6760 /*
6761  *  File name selection pattern
6762  */
6763 tSCC zUltrix_Fix_FixprotoList[] =
6764   "|sys/utsname.h|";
6765 /*
6766  *  Machine/OS name selection pattern
6767  */
6768 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6769
6770 /*
6771  *  content selection pattern - do fix if pattern found
6772  */
6773 tSCC zUltrix_Fix_FixprotoSelect0[] =
6774        "ULTRIX";
6775
6776 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6777 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6778   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6779
6780 /*
6781  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6782  */
6783 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6784     "format",
6785     "struct utsname;\n\
6786 %0",
6787     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6788     (char*)NULL };
6789
6790 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6791  *
6792  *  Description of Ultrix_Ifdef fix
6793  */
6794 tSCC zUltrix_IfdefName[] =
6795      "ultrix_ifdef";
6796
6797 /*
6798  *  File name selection pattern
6799  */
6800 tSCC zUltrix_IfdefList[] =
6801   "|sys/file.h|";
6802 /*
6803  *  Machine/OS name selection pattern
6804  */
6805 #define apzUltrix_IfdefMachs (const char**)NULL
6806
6807 /*
6808  *  content selection pattern - do fix if pattern found
6809  */
6810 tSCC zUltrix_IfdefSelect0[] =
6811        "^#ifdef KERNEL[ \t]+&&";
6812
6813 #define    ULTRIX_IFDEF_TEST_CT  1
6814 static tTestDesc aUltrix_IfdefTests[] = {
6815   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6816
6817 /*
6818  *  Fix Command Arguments for Ultrix_Ifdef
6819  */
6820 static const char* apzUltrix_IfdefPatch[] = {
6821     "format",
6822     "#if defined(KERNEL) &&",
6823     (char*)NULL };
6824
6825 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6826  *
6827  *  Description of Ultrix_Locale fix
6828  */
6829 tSCC zUltrix_LocaleName[] =
6830      "ultrix_locale";
6831
6832 /*
6833  *  File name selection pattern
6834  */
6835 tSCC zUltrix_LocaleList[] =
6836   "|locale.h|";
6837 /*
6838  *  Machine/OS name selection pattern
6839  */
6840 #define apzUltrix_LocaleMachs (const char**)NULL
6841
6842 /*
6843  *  content selection pattern - do fix if pattern found
6844  */
6845 tSCC zUltrix_LocaleSelect0[] =
6846        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6847
6848 #define    ULTRIX_LOCALE_TEST_CT  1
6849 static tTestDesc aUltrix_LocaleTests[] = {
6850   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6851
6852 /*
6853  *  Fix Command Arguments for Ultrix_Locale
6854  */
6855 static const char* apzUltrix_LocalePatch[] = {
6856     "wrap",
6857     (char*)NULL };
6858
6859 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6860  *
6861  *  Description of Ultrix_Math_Ifdef fix
6862  */
6863 tSCC zUltrix_Math_IfdefName[] =
6864      "ultrix_math_ifdef";
6865
6866 /*
6867  *  File name selection pattern
6868  */
6869 tSCC zUltrix_Math_IfdefList[] =
6870   "|sys/limits.h|float.h|math.h|";
6871 /*
6872  *  Machine/OS name selection pattern
6873  */
6874 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6875
6876 /*
6877  *  content selection pattern - do fix if pattern found
6878  */
6879 tSCC zUltrix_Math_IfdefSelect0[] =
6880        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6881
6882 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6883 static tTestDesc aUltrix_Math_IfdefTests[] = {
6884   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6885
6886 /*
6887  *  Fix Command Arguments for Ultrix_Math_Ifdef
6888  */
6889 static const char* apzUltrix_Math_IfdefPatch[] = {
6890     "format",
6891     "%1",
6892     (char*)NULL };
6893
6894 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6895  *
6896  *  Description of Ultrix_Nested_Ioctl fix
6897  */
6898 tSCC zUltrix_Nested_IoctlName[] =
6899      "ultrix_nested_ioctl";
6900
6901 /*
6902  *  File name selection pattern
6903  */
6904 tSCC zUltrix_Nested_IoctlList[] =
6905   "|sys/ioctl.h|";
6906 /*
6907  *  Machine/OS name selection pattern
6908  */
6909 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6910
6911 /*
6912  *  content selection pattern - do fix if pattern found
6913  */
6914 tSCC zUltrix_Nested_IoctlSelect0[] =
6915        "^/\\* #define SIOCSCREEN";
6916
6917 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6918 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6919   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6920
6921 /*
6922  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6923  */
6924 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6925     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6926     (char*)NULL };
6927
6928 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6929  *
6930  *  Description of Ultrix_Nested_Svc fix
6931  */
6932 tSCC zUltrix_Nested_SvcName[] =
6933      "ultrix_nested_svc";
6934
6935 /*
6936  *  File name selection pattern
6937  */
6938 tSCC zUltrix_Nested_SvcList[] =
6939   "|rpc/svc.h|";
6940 /*
6941  *  Machine/OS name selection pattern
6942  */
6943 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6944
6945 /*
6946  *  content selection pattern - do fix if pattern found
6947  */
6948 tSCC zUltrix_Nested_SvcSelect0[] =
6949        "^ \\*[ \t]*int protocol;  */\\*";
6950
6951 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6952 static tTestDesc aUltrix_Nested_SvcTests[] = {
6953   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6954
6955 /*
6956  *  Fix Command Arguments for Ultrix_Nested_Svc
6957  */
6958 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6959     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6960     (char*)NULL };
6961
6962 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6963  *
6964  *  Description of Ultrix_Stat fix
6965  */
6966 tSCC zUltrix_StatName[] =
6967      "ultrix_stat";
6968
6969 /*
6970  *  File name selection pattern
6971  */
6972 tSCC zUltrix_StatList[] =
6973   "|sys/stat.h|";
6974 /*
6975  *  Machine/OS name selection pattern
6976  */
6977 #define apzUltrix_StatMachs (const char**)NULL
6978
6979 /*
6980  *  content selection pattern - do fix if pattern found
6981  */
6982 tSCC zUltrix_StatSelect0[] =
6983        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6984
6985 #define    ULTRIX_STAT_TEST_CT  1
6986 static tTestDesc aUltrix_StatTests[] = {
6987   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6988
6989 /*
6990  *  Fix Command Arguments for Ultrix_Stat
6991  */
6992 static const char* apzUltrix_StatPatch[] = { "sed",
6993     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6994 \\\n\
6995 /* macro to test for symbolic link */\\\n\
6996 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6997     "-e", "/^[ \t]*fstat(),$/a\\\n\
6998 \tlstat(),\n",
6999     (char*)NULL };
7000
7001 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7002  *
7003  *  Description of Ultrix_Static fix
7004  */
7005 tSCC zUltrix_StaticName[] =
7006      "ultrix_static";
7007
7008 /*
7009  *  File name selection pattern
7010  */
7011 tSCC zUltrix_StaticList[] =
7012   "|machine/cpu.h|";
7013 /*
7014  *  Machine/OS name selection pattern
7015  */
7016 #define apzUltrix_StaticMachs (const char**)NULL
7017
7018 /*
7019  *  content selection pattern - do fix if pattern found
7020  */
7021 tSCC zUltrix_StaticSelect0[] =
7022        "#include \"r[34]_cpu";
7023
7024 #define    ULTRIX_STATIC_TEST_CT  1
7025 static tTestDesc aUltrix_StaticTests[] = {
7026   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
7027
7028 /*
7029  *  Fix Command Arguments for Ultrix_Static
7030  */
7031 static const char* apzUltrix_StaticPatch[] = { "sed",
7032     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
7033     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
7034     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
7035     (char*)NULL };
7036
7037 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7038  *
7039  *  Description of Ultrix_Stdlib fix
7040  */
7041 tSCC zUltrix_StdlibName[] =
7042      "ultrix_stdlib";
7043
7044 /*
7045  *  File name selection pattern
7046  */
7047 tSCC zUltrix_StdlibList[] =
7048   "|stdlib.h|";
7049 /*
7050  *  Machine/OS name selection pattern
7051  */
7052 #define apzUltrix_StdlibMachs (const char**)NULL
7053
7054 /*
7055  *  content selection pattern - do fix if pattern found
7056  */
7057 tSCC zUltrix_StdlibSelect0[] =
7058        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
7059
7060 #define    ULTRIX_STDLIB_TEST_CT  1
7061 static tTestDesc aUltrix_StdlibTests[] = {
7062   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
7063
7064 /*
7065  *  Fix Command Arguments for Ultrix_Stdlib
7066  */
7067 static const char* apzUltrix_StdlibPatch[] = { "sed",
7068     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
7069 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
7070 void\t\tunsetenv( const char *__name );\\\n\
7071 int\t\tputenv( char *__s );\n",
7072     "-e", "/^char.*getenv();.*$/a\\\n\
7073 int\tsetenv();\\\n\
7074 void\tunsetenv();\\\n\
7075 int\tputenv();\n",
7076     (char*)NULL };
7077
7078 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7079  *
7080  *  Description of Ultrix_Strings fix
7081  */
7082 tSCC zUltrix_StringsName[] =
7083      "ultrix_strings";
7084
7085 /*
7086  *  File name selection pattern
7087  */
7088 tSCC zUltrix_StringsList[] =
7089   "|strings.h|";
7090 /*
7091  *  Machine/OS name selection pattern
7092  */
7093 #define apzUltrix_StringsMachs (const char**)NULL
7094
7095 /*
7096  *  content selection pattern - do fix if pattern found
7097  */
7098 tSCC zUltrix_StringsSelect0[] =
7099        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7100
7101 #define    ULTRIX_STRINGS_TEST_CT  1
7102 static tTestDesc aUltrix_StringsTests[] = {
7103   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
7104
7105 /*
7106  *  Fix Command Arguments for Ultrix_Strings
7107  */
7108 static const char* apzUltrix_StringsPatch[] = {
7109     "wrap",
7110     (char*)NULL };
7111
7112 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7113  *
7114  *  Description of Ultrix_Strings2 fix
7115  */
7116 tSCC zUltrix_Strings2Name[] =
7117      "ultrix_strings2";
7118
7119 /*
7120  *  File name selection pattern
7121  */
7122 tSCC zUltrix_Strings2List[] =
7123   "|strings.h|";
7124 /*
7125  *  Machine/OS name selection pattern
7126  */
7127 #define apzUltrix_Strings2Machs (const char**)NULL
7128
7129 /*
7130  *  content selection pattern - do fix if pattern found
7131  */
7132 tSCC zUltrix_Strings2Select0[] =
7133        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7134
7135 #define    ULTRIX_STRINGS2_TEST_CT  1
7136 static tTestDesc aUltrix_Strings2Tests[] = {
7137   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
7138
7139 /*
7140  *  Fix Command Arguments for Ultrix_Strings2
7141  */
7142 static const char* apzUltrix_Strings2Patch[] = { "sed",
7143     "-e", "/^.*strncmp( const .* );.*/a\\\n\
7144 \\\n\
7145 extern int\\\n\
7146 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
7147 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
7148     "-e", "/^.*strncmp();.*/a\\\n\
7149 extern int\\\n\
7150 \tstrcasecmp(),\\\n\
7151 \tstrncasecmp();\n",
7152     (char*)NULL };
7153
7154 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7155  *
7156  *  Description of Ultrix_Sys_Time fix
7157  */
7158 tSCC zUltrix_Sys_TimeName[] =
7159      "ultrix_sys_time";
7160
7161 /*
7162  *  File name selection pattern
7163  */
7164 tSCC zUltrix_Sys_TimeList[] =
7165   "|sys/time.h|";
7166 /*
7167  *  Machine/OS name selection pattern
7168  */
7169 #define apzUltrix_Sys_TimeMachs (const char**)NULL
7170
7171 /*
7172  *  content selection pattern - do fix if pattern found
7173  */
7174 tSCC zUltrix_Sys_TimeSelect0[] =
7175        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
7176
7177 #define    ULTRIX_SYS_TIME_TEST_CT  1
7178 static tTestDesc aUltrix_Sys_TimeTests[] = {
7179   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
7180
7181 /*
7182  *  Fix Command Arguments for Ultrix_Sys_Time
7183  */
7184 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
7185     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
7186 \\\n\
7187 extern int adjtime(struct timeval *, struct timeval *);\\\n\
7188 extern int getitimer(int, struct itimerval *);\\\n\
7189 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
7190 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
7191 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
7192 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
7193 extern int stime(const time_t *);\\\n\
7194 extern int utimes(const char *, const struct timeval[2]);\\\n\
7195 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
7196     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
7197 extern\tint adjtime();\\\n\
7198 extern\tint getitimer();\\\n\
7199 extern\tint setitimer();\\\n\
7200 extern\tint gettimeofday();\\\n\
7201 extern\tint settimeofday();\\\n\
7202 extern\tvoid profil();\\\n\
7203 extern\tint stime();\\\n\
7204 extern\tint utimes();\\\n\
7205 extern\tint select();\n",
7206     (char*)NULL };
7207
7208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7209  *
7210  *  Description of Ultrix_Unistd fix
7211  */
7212 tSCC zUltrix_UnistdName[] =
7213      "ultrix_unistd";
7214
7215 /*
7216  *  File name selection pattern
7217  */
7218 tSCC zUltrix_UnistdList[] =
7219   "|unistd.h|";
7220 /*
7221  *  Machine/OS name selection pattern
7222  */
7223 #define apzUltrix_UnistdMachs (const char**)NULL
7224
7225 /*
7226  *  content selection pattern - do fix if pattern found
7227  */
7228 tSCC zUltrix_UnistdSelect0[] =
7229        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
7230
7231 #define    ULTRIX_UNISTD_TEST_CT  1
7232 static tTestDesc aUltrix_UnistdTests[] = {
7233   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
7234
7235 /*
7236  *  Fix Command Arguments for Ultrix_Unistd
7237  */
7238 static const char* apzUltrix_UnistdPatch[] = { "sed",
7239     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
7240 \tgetpagesize(),\n",
7241     "-e", "/^[ \t]*fork(),.*$/a\\\n\
7242 \tvfork(),\n",
7243     (char*)NULL };
7244
7245 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7246  *
7247  *  Description of Unicosmk_Restrict fix
7248  */
7249 tSCC zUnicosmk_RestrictName[] =
7250      "unicosmk_restrict";
7251
7252 /*
7253  *  File name selection pattern
7254  */
7255 tSCC zUnicosmk_RestrictList[] =
7256   "|stdio.h|stdlib.h|wchar.h|";
7257 /*
7258  *  Machine/OS name selection pattern
7259  */
7260 tSCC* apzUnicosmk_RestrictMachs[] = {
7261         "*-*-unicosmk*",
7262         (const char*)NULL };
7263
7264 /*
7265  *  content selection pattern - do fix if pattern found
7266  */
7267 tSCC zUnicosmk_RestrictSelect0[] =
7268        "(\\*[ \t]*)restrict([ \t]+)";
7269
7270 #define    UNICOSMK_RESTRICT_TEST_CT  1
7271 static tTestDesc aUnicosmk_RestrictTests[] = {
7272   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
7273
7274 /*
7275  *  Fix Command Arguments for Unicosmk_Restrict
7276  */
7277 static const char* apzUnicosmk_RestrictPatch[] = {
7278     "format",
7279     "%1__restrict__%2",
7280     (char*)NULL };
7281
7282 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7283  *
7284  *  Description of Uw7_Byteorder_Fix fix
7285  */
7286 tSCC zUw7_Byteorder_FixName[] =
7287      "uw7_byteorder_fix";
7288
7289 /*
7290  *  File name selection pattern
7291  */
7292 tSCC zUw7_Byteorder_FixList[] =
7293   "|arpa/inet.h|";
7294 /*
7295  *  Machine/OS name selection pattern
7296  */
7297 tSCC* apzUw7_Byteorder_FixMachs[] = {
7298         "*-*-sysv4*",
7299         "i?86-*-sysv5*",
7300         "i?86-*-udk*",
7301         "i?86-*-solaris2.[0-4]",
7302         "powerpcle-*-solaris2.[0-4]",
7303         "sparc-*-solaris2.[0-4]",
7304         (const char*)NULL };
7305
7306 /*
7307  *  content selection pattern - do fix if pattern found
7308  */
7309 tSCC zUw7_Byteorder_FixSelect0[] =
7310        "in_port_t";
7311
7312 /*
7313  *  perform the 'test' shell command - do fix on success
7314  */
7315 tSCC zUw7_Byteorder_FixTest0[] =
7316        "-f sys/byteorder.h";
7317
7318 #define    UW7_BYTEORDER_FIX_TEST_CT  2
7319 static tTestDesc aUw7_Byteorder_FixTests[] = {
7320   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
7321   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
7322
7323 /*
7324  *  Fix Command Arguments for Uw7_Byteorder_Fix
7325  */
7326 static const char* apzUw7_Byteorder_FixPatch[] = {
7327     "format",
7328     "",
7329     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
7330     (char*)NULL };
7331
7332 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7333  *
7334  *  Description of Va_I960_Macro fix
7335  */
7336 tSCC zVa_I960_MacroName[] =
7337      "va_i960_macro";
7338
7339 /*
7340  *  File name selection pattern
7341  */
7342 tSCC zVa_I960_MacroList[] =
7343   "|arch/i960/archI960.h|";
7344 /*
7345  *  Machine/OS name selection pattern
7346  */
7347 #define apzVa_I960_MacroMachs (const char**)NULL
7348
7349 /*
7350  *  content selection pattern - do fix if pattern found
7351  */
7352 tSCC zVa_I960_MacroSelect0[] =
7353        "__(vsiz|vali|vpad|alignof__)";
7354
7355 #define    VA_I960_MACRO_TEST_CT  1
7356 static tTestDesc aVa_I960_MacroTests[] = {
7357   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7358
7359 /*
7360  *  Fix Command Arguments for Va_I960_Macro
7361  */
7362 static const char* apzVa_I960_MacroPatch[] = {
7363     "format",
7364     "__vx%1",
7365     (char*)NULL };
7366
7367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7368  *
7369  *  Description of Void_Null fix
7370  */
7371 tSCC zVoid_NullName[] =
7372      "void_null";
7373
7374 /*
7375  *  File name selection pattern
7376  */
7377 tSCC zVoid_NullList[] =
7378   "|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|";
7379 /*
7380  *  Machine/OS name selection pattern
7381  */
7382 #define apzVoid_NullMachs (const char**)NULL
7383
7384 /*
7385  *  content selection pattern - do fix if pattern found
7386  */
7387 tSCC zVoid_NullSelect0[] =
7388        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
7389
7390 /*
7391  *  content bypass pattern - skip fix if pattern found
7392  */
7393 tSCC zVoid_NullBypass0[] =
7394        "__cplusplus";
7395
7396 #define    VOID_NULL_TEST_CT  2
7397 static tTestDesc aVoid_NullTests[] = {
7398   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
7399   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
7400
7401 /*
7402  *  Fix Command Arguments for Void_Null
7403  */
7404 static const char* apzVoid_NullPatch[] = {
7405     "format",
7406     "#define NULL 0",
7407     (char*)NULL };
7408
7409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7410  *
7411  *  Description of Vxworks_Gcc_Problem fix
7412  */
7413 tSCC zVxworks_Gcc_ProblemName[] =
7414      "vxworks_gcc_problem";
7415
7416 /*
7417  *  File name selection pattern
7418  */
7419 tSCC zVxworks_Gcc_ProblemList[] =
7420   "|types/vxTypesBase.h|";
7421 /*
7422  *  Machine/OS name selection pattern
7423  */
7424 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
7425
7426 /*
7427  *  content selection pattern - do fix if pattern found
7428  */
7429 tSCC zVxworks_Gcc_ProblemSelect0[] =
7430        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
7431
7432 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
7433 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
7434   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
7435
7436 /*
7437  *  Fix Command Arguments for Vxworks_Gcc_Problem
7438  */
7439 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
7440     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
7441     "-e", "/[ \t]size_t/i\\\n\
7442 #ifndef _GCC_SIZE_T\\\n\
7443 #define _GCC_SIZE_T\n",
7444     "-e", "/[ \t]size_t/a\\\n\
7445 #endif\n",
7446     "-e", "/[ \t]ptrdiff_t/i\\\n\
7447 #ifndef _GCC_PTRDIFF_T\\\n\
7448 #define _GCC_PTRDIFF_T\n",
7449     "-e", "/[ \t]ptrdiff_t/a\\\n\
7450 #endif\n",
7451     "-e", "/[ \t]wchar_t/i\\\n\
7452 #ifndef _GCC_WCHAR_T\\\n\
7453 #define _GCC_WCHAR_T\n",
7454     "-e", "/[ \t]wchar_t/a\\\n\
7455 #endif\n",
7456     (char*)NULL };
7457
7458 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7459  *
7460  *  Description of Vxworks_Needs_Vxtypes fix
7461  */
7462 tSCC zVxworks_Needs_VxtypesName[] =
7463      "vxworks_needs_vxtypes";
7464
7465 /*
7466  *  File name selection pattern
7467  */
7468 tSCC zVxworks_Needs_VxtypesList[] =
7469   "|time.h|";
7470 /*
7471  *  Machine/OS name selection pattern
7472  */
7473 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
7474
7475 /*
7476  *  content selection pattern - do fix if pattern found
7477  */
7478 tSCC zVxworks_Needs_VxtypesSelect0[] =
7479        "uint_t([ \t]+_clocks_per_sec)";
7480
7481 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
7482 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
7483   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
7484
7485 /*
7486  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
7487  */
7488 static const char* apzVxworks_Needs_VxtypesPatch[] = {
7489     "format",
7490     "unsigned int%1",
7491     (char*)NULL };
7492
7493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7494  *
7495  *  Description of Vxworks_Needs_Vxworks fix
7496  */
7497 tSCC zVxworks_Needs_VxworksName[] =
7498      "vxworks_needs_vxworks";
7499
7500 /*
7501  *  File name selection pattern
7502  */
7503 tSCC zVxworks_Needs_VxworksList[] =
7504   "|sys/stat.h|";
7505 /*
7506  *  Machine/OS name selection pattern
7507  */
7508 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
7509
7510 /*
7511  *  content selection pattern - do fix if pattern found
7512  */
7513 tSCC zVxworks_Needs_VxworksSelect0[] =
7514        "#[ \t]define[ \t]+__INCstath";
7515
7516 /*
7517  *  perform the 'test' shell command - do fix on success
7518  */
7519 tSCC zVxworks_Needs_VxworksTest0[] =
7520        " -r types/vxTypesOld.h";
7521 tSCC zVxworks_Needs_VxworksTest1[] =
7522        " -n \"`egrep '#include' $file`\"";
7523 tSCC zVxworks_Needs_VxworksTest2[] =
7524        " -n \"`egrep ULONG $file`\"";
7525
7526 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
7527 static tTestDesc aVxworks_Needs_VxworksTests[] = {
7528   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
7529   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
7530   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
7531   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
7532
7533 /*
7534  *  Fix Command Arguments for Vxworks_Needs_Vxworks
7535  */
7536 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
7537     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
7538 #include <types/vxTypesOld.h>\n",
7539     (char*)NULL };
7540
7541 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7542  *
7543  *  Description of Vxworks_Time fix
7544  */
7545 tSCC zVxworks_TimeName[] =
7546      "vxworks_time";
7547
7548 /*
7549  *  File name selection pattern
7550  */
7551 tSCC zVxworks_TimeList[] =
7552   "|time.h|";
7553 /*
7554  *  Machine/OS name selection pattern
7555  */
7556 #define apzVxworks_TimeMachs (const char**)NULL
7557
7558 /*
7559  *  content selection pattern - do fix if pattern found
7560  */
7561 tSCC zVxworks_TimeSelect0[] =
7562        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
7563
7564 /*
7565  *  perform the 'test' shell command - do fix on success
7566  */
7567 tSCC zVxworks_TimeTest0[] =
7568        " -r vxWorks.h";
7569
7570 #define    VXWORKS_TIME_TEST_CT  2
7571 static tTestDesc aVxworks_TimeTests[] = {
7572   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
7573   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
7574
7575 /*
7576  *  Fix Command Arguments for Vxworks_Time
7577  */
7578 static const char* apzVxworks_TimePatch[] = {
7579     "format",
7580     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
7581 #ifdef __cplusplus\n\
7582 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
7583 #else\n\
7584 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
7585 #endif\n\
7586 #define __gcc_VOIDFUNCPTR_defined\n\
7587 #endif\n\
7588 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
7589     (char*)NULL };
7590
7591 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7592  *
7593  *  Description of Windiss_Math1 fix
7594  */
7595 tSCC zWindiss_Math1Name[] =
7596      "windiss_math1";
7597
7598 /*
7599  *  File name selection pattern
7600  */
7601 tSCC zWindiss_Math1List[] =
7602   "|math.h|";
7603 /*
7604  *  Machine/OS name selection pattern
7605  */
7606 tSCC* apzWindiss_Math1Machs[] = {
7607         "*-*-windiss",
7608         (const char*)NULL };
7609 #define WINDISS_MATH1_TEST_CT  0
7610 #define aWindiss_Math1Tests   (tTestDesc*)NULL
7611
7612 /*
7613  *  Fix Command Arguments for Windiss_Math1
7614  */
7615 static const char* apzWindiss_Math1Patch[] = { "sed",
7616     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
7617     (char*)NULL };
7618
7619 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7620  *
7621  *  Description of Windiss_Math2 fix
7622  */
7623 tSCC zWindiss_Math2Name[] =
7624      "windiss_math2";
7625
7626 /*
7627  *  File name selection pattern
7628  */
7629 tSCC zWindiss_Math2List[] =
7630   "|math.h|";
7631 /*
7632  *  Machine/OS name selection pattern
7633  */
7634 tSCC* apzWindiss_Math2Machs[] = {
7635         "*-*-windiss",
7636         (const char*)NULL };
7637 #define WINDISS_MATH2_TEST_CT  0
7638 #define aWindiss_Math2Tests   (tTestDesc*)NULL
7639
7640 /*
7641  *  Fix Command Arguments for Windiss_Math2
7642  */
7643 static const char* apzWindiss_Math2Patch[] = { "sed",
7644     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
7645     (char*)NULL };
7646
7647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7648  *
7649  *  Description of Windiss_Valist fix
7650  */
7651 tSCC zWindiss_ValistName[] =
7652      "windiss_valist";
7653
7654 /*
7655  *  File name selection pattern
7656  */
7657 #define zWindiss_ValistList (char*)NULL
7658 /*
7659  *  Machine/OS name selection pattern
7660  */
7661 tSCC* apzWindiss_ValistMachs[] = {
7662         "*-*-windiss",
7663         (const char*)NULL };
7664
7665 /*
7666  *  content selection pattern - do fix if pattern found
7667  */
7668 tSCC zWindiss_ValistSelect0[] =
7669        "(#include.*)diab/va_list.h";
7670
7671 #define    WINDISS_VALIST_TEST_CT  1
7672 static tTestDesc aWindiss_ValistTests[] = {
7673   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
7674
7675 /*
7676  *  Fix Command Arguments for Windiss_Valist
7677  */
7678 static const char* apzWindiss_ValistPatch[] = { "sed",
7679     "-e", "s|diab/va_list.h|stdarg.h|",
7680     (char*)NULL };
7681
7682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7683  *
7684  *  Description of X11_Class fix
7685  */
7686 tSCC zX11_ClassName[] =
7687      "x11_class";
7688
7689 /*
7690  *  File name selection pattern
7691  */
7692 tSCC zX11_ClassList[] =
7693   "|X11/ShellP.h|";
7694 /*
7695  *  Machine/OS name selection pattern
7696  */
7697 #define apzX11_ClassMachs (const char**)NULL
7698
7699 /*
7700  *  content selection pattern - do fix if pattern found
7701  */
7702 tSCC zX11_ClassSelect0[] =
7703        "^([ \t]*char \\*)class;(.*)";
7704
7705 /*
7706  *  content bypass pattern - skip fix if pattern found
7707  */
7708 tSCC zX11_ClassBypass0[] =
7709        "__cplusplus";
7710
7711 #define    X11_CLASS_TEST_CT  2
7712 static tTestDesc aX11_ClassTests[] = {
7713   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7714   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7715
7716 /*
7717  *  Fix Command Arguments for X11_Class
7718  */
7719 static const char* apzX11_ClassPatch[] = {
7720     "format",
7721     "#ifdef __cplusplus\n\
7722 %1c_class;%2\n\
7723 #else\n\
7724 %1class;%2\n\
7725 #endif",
7726     (char*)NULL };
7727
7728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7729  *
7730  *  Description of X11_Class_Usage fix
7731  */
7732 tSCC zX11_Class_UsageName[] =
7733      "x11_class_usage";
7734
7735 /*
7736  *  File name selection pattern
7737  */
7738 tSCC zX11_Class_UsageList[] =
7739   "|Xm/BaseClassI.h|";
7740 /*
7741  *  Machine/OS name selection pattern
7742  */
7743 #define apzX11_Class_UsageMachs (const char**)NULL
7744
7745 /*
7746  *  content selection pattern - do fix if pattern found
7747  */
7748 tSCC zX11_Class_UsageSelect0[] =
7749        " class\\)";
7750
7751 /*
7752  *  content bypass pattern - skip fix if pattern found
7753  */
7754 tSCC zX11_Class_UsageBypass0[] =
7755        "__cplusplus";
7756
7757 #define    X11_CLASS_USAGE_TEST_CT  2
7758 static tTestDesc aX11_Class_UsageTests[] = {
7759   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7760   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7761
7762 /*
7763  *  Fix Command Arguments for X11_Class_Usage
7764  */
7765 static const char* apzX11_Class_UsagePatch[] = {
7766     "format",
7767     " c_class)",
7768     (char*)NULL };
7769
7770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7771  *
7772  *  Description of X11_New fix
7773  */
7774 tSCC zX11_NewName[] =
7775      "x11_new";
7776
7777 /*
7778  *  File name selection pattern
7779  */
7780 tSCC zX11_NewList[] =
7781   "|Xm/Traversal.h|";
7782 /*
7783  *  Machine/OS name selection pattern
7784  */
7785 #define apzX11_NewMachs (const char**)NULL
7786
7787 /*
7788  *  content bypass pattern - skip fix if pattern found
7789  */
7790 tSCC zX11_NewBypass0[] =
7791        "__cplusplus";
7792
7793 #define    X11_NEW_TEST_CT  1
7794 static tTestDesc aX11_NewTests[] = {
7795   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7796
7797 /*
7798  *  Fix Command Arguments for X11_New
7799  */
7800 static const char* apzX11_NewPatch[] = { "sed",
7801     "-e", "/Widget\told, new;/i\\\n\
7802 #ifdef __cplusplus\\\n\
7803 \tWidget\told, c_new;\\\n\
7804 #else\n",
7805     "-e", "/Widget\told, new;/a\\\n\
7806 #endif\n",
7807     "-e", "s/Widget new,/Widget c_new,/g",
7808     (char*)NULL };
7809
7810 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7811  *
7812  *  Description of X11_Sprintf fix
7813  */
7814 tSCC zX11_SprintfName[] =
7815      "x11_sprintf";
7816
7817 /*
7818  *  File name selection pattern
7819  */
7820 tSCC zX11_SprintfList[] =
7821   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7822 /*
7823  *  Machine/OS name selection pattern
7824  */
7825 #define apzX11_SprintfMachs (const char**)NULL
7826
7827 /*
7828  *  content selection pattern - do fix if pattern found
7829  */
7830 tSCC zX11_SprintfSelect0[] =
7831        "^extern char \\*\tsprintf\\(\\);$";
7832
7833 #define    X11_SPRINTF_TEST_CT  1
7834 static tTestDesc aX11_SprintfTests[] = {
7835   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7836
7837 /*
7838  *  Fix Command Arguments for X11_Sprintf
7839  */
7840 static const char* apzX11_SprintfPatch[] = {
7841     "format",
7842     "#ifndef __STDC__\n\
7843 %0\n\
7844 #endif /* !defined __STDC__ */",
7845     (char*)NULL };
7846
7847
7848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7849  *
7850  *  List of all fixes
7851  */
7852 #define REGEX_COUNT          235
7853 #define MACH_LIST_SIZE_LIMIT 261
7854 #define FIX_COUNT            193
7855
7856 /*
7857  *  Enumerate the fixes
7858  */
7859 typedef enum {
7860     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
7861     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
7862     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7863     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7864     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7865     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7866     AAB_SUN_MEMCPY_FIXIDX,
7867     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7868     AAB_ULTRIX_LIMITS_FIXIDX,
7869     AAB_ULTRIX_MEMORY_FIXIDX,
7870     AAB_ULTRIX_STRING_FIXIDX,
7871     AIX_PTHREAD_FIXIDX,
7872     AIX_SYSMACHINE_FIXIDX,
7873     AIX_SYSWAIT_FIXIDX,
7874     AIX_SYSWAIT_2_FIXIDX,
7875     AIX_VOLATILE_FIXIDX,
7876     ALPHA___ASSERT_FIXIDX,
7877     ALPHA___EXTERN_PREFIX_FIXIDX,
7878     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7879     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7880     ALPHA_ASSERT_FIXIDX,
7881     ALPHA_BAD_LVAL_FIXIDX,
7882     ALPHA_GETOPT_FIXIDX,
7883     ALPHA_PARENS_FIXIDX,
7884     ALPHA_PTHREAD_FIXIDX,
7885     ALPHA_PTHREAD_GCC_FIXIDX,
7886     ALPHA_PTHREAD_INIT_FIXIDX,
7887     ALPHA_SBRK_FIXIDX,
7888     ALPHA_WCHAR_FIXIDX,
7889     AVOID_BOOL_DEFINE_FIXIDX,
7890     AVOID_BOOL_TYPE_FIXIDX,
7891     AVOID_WCHAR_T_TYPE_FIXIDX,
7892     BAD_STRUCT_TERM_FIXIDX,
7893     BADQUOTE_FIXIDX,
7894     BROKEN_ASSERT_STDIO_FIXIDX,
7895     BROKEN_ASSERT_STDLIB_FIXIDX,
7896     BROKEN_CABS_FIXIDX,
7897     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7898     CTRL_QUOTES_DEF_FIXIDX,
7899     CTRL_QUOTES_USE_FIXIDX,
7900     CXX_UNREADY_FIXIDX,
7901     DARWIN_GCC4_BREAKAGE_FIXIDX,
7902     DARWIN_PRIVATE_EXTERN_FIXIDX,
7903     DEC_INTERN_ASM_FIXIDX,
7904     DJGPP_WCHAR_H_FIXIDX,
7905     ECD_CURSOR_FIXIDX,
7906     EXCEPTION_STRUCTURE_FIXIDX,
7907     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7908     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7909     GNU_TYPES_FIXIDX,
7910     HP_INLINE_FIXIDX,
7911     HP_SYSFILE_FIXIDX,
7912     HPUX10_CPP_POW_INLINE_FIXIDX,
7913     HPUX11_CPP_POW_INLINE_FIXIDX,
7914     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7915     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7916     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7917     HPUX11_ABS_FIXIDX,
7918     HPUX11_FABSF_FIXIDX,
7919     HPUX11_SIZE_T_FIXIDX,
7920     HPUX11_SNPRINTF_FIXIDX,
7921     HPUX11_UINT32_C_FIXIDX,
7922     HPUX11_VSNPRINTF_FIXIDX,
7923     HPUX8_BOGUS_INLINES_FIXIDX,
7924     HPUX_CTYPE_MACROS_FIXIDX,
7925     HPUX_HTONL_FIXIDX,
7926     HPUX_LONG_DOUBLE_FIXIDX,
7927     HPUX_SYSTIME_FIXIDX,
7928     HUGE_VAL_HEX_FIXIDX,
7929     HUGE_VALF_HEX_FIXIDX,
7930     HUGE_VALL_HEX_FIXIDX,
7931     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7932     IO_QUOTES_DEF_FIXIDX,
7933     IO_QUOTES_USE_FIXIDX,
7934     IP_MISSING_SEMI_FIXIDX,
7935     IRIX___RESTRICT_FIXIDX,
7936     IRIX___GENERIC1_FIXIDX,
7937     IRIX___GENERIC2_FIXIDX,
7938     IRIX_ASM_APOSTROPHE_FIXIDX,
7939     IRIX_LIMITS_CONST_FIXIDX,
7940     IRIX_SOCKLEN_T_FIXIDX,
7941     IRIX_STDIO_VA_LIST_FIXIDX,
7942     IRIX_WCSFTIME_FIXIDX,
7943     ISC_FMOD_FIXIDX,
7944     ISC_OMITS_WITH_STDC_FIXIDX,
7945     KANDR_CONCAT_FIXIDX,
7946     LIBC1_G_VA_LIST_FIXIDX,
7947     LIBC1_IFDEFD_MEMX_FIXIDX,
7948     LINUX_IA64_UCONTEXT_FIXIDX,
7949     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7950     LYNXOS_MISSING_PUTENV_FIXIDX,
7951     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7952     MACHINE_NAME_FIXIDX,
7953     MATH_EXCEPTION_FIXIDX,
7954     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7955     NESTED_AUTH_DES_FIXIDX,
7956     NESTED_MOTOROLA_FIXIDX,
7957     NESTED_SYS_LIMITS_FIXIDX,
7958     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7959     NEXT_MATH_PREFIX_FIXIDX,
7960     NEXT_TEMPLATE_FIXIDX,
7961     NEXT_VOLITILE_FIXIDX,
7962     NEXT_WAIT_UNION_FIXIDX,
7963     NODEENT_SYNTAX_FIXIDX,
7964     OBSTACK_LVALUE_CAST_FIXIDX,
7965     OSF_NAMESPACE_A_FIXIDX,
7966     OSF_NAMESPACE_C_FIXIDX,
7967     PTHREAD_PAGE_SIZE_FIXIDX,
7968     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
7969     READ_RET_TYPE_FIXIDX,
7970     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7971     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7972     RS6000_DOUBLE_FIXIDX,
7973     RS6000_FCHMOD_FIXIDX,
7974     RS6000_PARAM_FIXIDX,
7975     SCO_MATH_FIXIDX,
7976     SCO_REGSET_FIXIDX,
7977     SCO_STATIC_FUNC_FIXIDX,
7978     SCO_UTIME_FIXIDX,
7979     SOLARIS_MATH_1_FIXIDX,
7980     SOLARIS_MATH_2_FIXIDX,
7981     SOLARIS_MATH_3_FIXIDX,
7982     SOLARIS_MATH_4_FIXIDX,
7983     SOLARIS_MATH_5_FIXIDX,
7984     SOLARIS_MATH_6_FIXIDX,
7985     SOLARIS_MATH_7_FIXIDX,
7986     SOLARIS_MATH_8_FIXIDX,
7987     SOLARIS_MATH_9_FIXIDX,
7988     SOLARIS_MUTEX_INIT_1_FIXIDX,
7989     SOLARIS_MUTEX_INIT_2_FIXIDX,
7990     SOLARIS_SOCKET_FIXIDX,
7991     SOLARIS_STDIO_TAG_FIXIDX,
7992     SOLARIS_UNISTD_FIXIDX,
7993     SOLARIS_WIDEC_FIXIDX,
7994     STATSSWTCH_FIXIDX,
7995     STDIO_STDARG_H_FIXIDX,
7996     STDIO_VA_LIST_FIXIDX,
7997     STDIO_VA_LIST_CLIENTS_FIXIDX,
7998     STRICT_ANSI_NOT_FIXIDX,
7999     STRICT_ANSI_NOT_CTD_FIXIDX,
8000     STRICT_ANSI_ONLY_FIXIDX,
8001     STRUCT_FILE_FIXIDX,
8002     STRUCT_SOCKADDR_FIXIDX,
8003     SUN_AUTH_PROTO_FIXIDX,
8004     SUN_BOGUS_IFDEF_FIXIDX,
8005     SUN_CATMACRO_FIXIDX,
8006     SUN_MALLOC_FIXIDX,
8007     SUN_RUSERS_SEMI_FIXIDX,
8008     SUN_SIGNAL_FIXIDX,
8009     SUNOS_STRLEN_FIXIDX,
8010     SVR4_DISABLE_OPT_FIXIDX,
8011     SVR4_GETCWD_FIXIDX,
8012     SVR4_KRNL_FIXIDX,
8013     SVR4_PROFIL_FIXIDX,
8014     SVR4_SIGHANDLER_TYPE_FIXIDX,
8015     SVR4_UNDECLARED_GETRNGE_FIXIDX,
8016     SYSV68_STRING_FIXIDX,
8017     SYSZ_STDLIB_FOR_SUN_FIXIDX,
8018     THREAD_KEYWORD_FIXIDX,
8019     TINFO_CPLUSPLUS_FIXIDX,
8020     ULTRIX_ATEXIT_PARAM_FIXIDX,
8021     ULTRIX_ATOF_PARAM_FIXIDX,
8022     ULTRIX_CONST_FIXIDX,
8023     ULTRIX_CONST2_FIXIDX,
8024     ULTRIX_CONST3_FIXIDX,
8025     ULTRIX_FIX_FIXPROTO_FIXIDX,
8026     ULTRIX_IFDEF_FIXIDX,
8027     ULTRIX_LOCALE_FIXIDX,
8028     ULTRIX_MATH_IFDEF_FIXIDX,
8029     ULTRIX_NESTED_IOCTL_FIXIDX,
8030     ULTRIX_NESTED_SVC_FIXIDX,
8031     ULTRIX_STAT_FIXIDX,
8032     ULTRIX_STATIC_FIXIDX,
8033     ULTRIX_STDLIB_FIXIDX,
8034     ULTRIX_STRINGS_FIXIDX,
8035     ULTRIX_STRINGS2_FIXIDX,
8036     ULTRIX_SYS_TIME_FIXIDX,
8037     ULTRIX_UNISTD_FIXIDX,
8038     UNICOSMK_RESTRICT_FIXIDX,
8039     UW7_BYTEORDER_FIX_FIXIDX,
8040     VA_I960_MACRO_FIXIDX,
8041     VOID_NULL_FIXIDX,
8042     VXWORKS_GCC_PROBLEM_FIXIDX,
8043     VXWORKS_NEEDS_VXTYPES_FIXIDX,
8044     VXWORKS_NEEDS_VXWORKS_FIXIDX,
8045     VXWORKS_TIME_FIXIDX,
8046     WINDISS_MATH1_FIXIDX,
8047     WINDISS_MATH2_FIXIDX,
8048     WINDISS_VALIST_FIXIDX,
8049     X11_CLASS_FIXIDX,
8050     X11_CLASS_USAGE_FIXIDX,
8051     X11_NEW_FIXIDX,
8052     X11_SPRINTF_FIXIDX
8053 } t_fixinc_idx;
8054
8055 tFixDesc fixDescList[ FIX_COUNT ] = {
8056   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
8057      apzAab_Darwin7_9_Long_Double_FuncsMachs,
8058      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8059      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
8060
8061   {  zAab_Darwin7_9_Long_Double_Funcs_2Name,    zAab_Darwin7_9_Long_Double_Funcs_2List,
8062      apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
8063      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8064      aAab_Darwin7_9_Long_Double_Funcs_2Tests,   apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
8065
8066   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
8067      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
8068      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8069      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8070
8071   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
8072      apzAab_Fd_Zero_Gnu_Types_HMachs,
8073      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8074      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8075
8076   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
8077      apzAab_Fd_Zero_Selectbits_HMachs,
8078      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8079      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
8080
8081   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
8082      apzAab_Solaris_Sys_Varargs_HMachs,
8083      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8084      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
8085
8086   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
8087      apzAab_Sun_MemcpyMachs,
8088      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8089      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
8090
8091   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
8092      apzAab_Ultrix_Ansi_CompatMachs,
8093      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8094      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
8095
8096   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
8097      apzAab_Ultrix_LimitsMachs,
8098      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8099      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
8100
8101   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
8102      apzAab_Ultrix_MemoryMachs,
8103      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8104      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
8105
8106   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
8107      apzAab_Ultrix_StringMachs,
8108      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8109      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
8110
8111   {  zAix_PthreadName,    zAix_PthreadList,
8112      apzAix_PthreadMachs,
8113      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8114      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
8115
8116   {  zAix_SysmachineName,    zAix_SysmachineList,
8117      apzAix_SysmachineMachs,
8118      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8119      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
8120
8121   {  zAix_SyswaitName,    zAix_SyswaitList,
8122      apzAix_SyswaitMachs,
8123      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8124      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
8125
8126   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
8127      apzAix_Syswait_2Machs,
8128      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8129      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
8130
8131   {  zAix_VolatileName,    zAix_VolatileList,
8132      apzAix_VolatileMachs,
8133      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8134      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
8135
8136   {  zAlpha___AssertName,    zAlpha___AssertList,
8137      apzAlpha___AssertMachs,
8138      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8139      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
8140
8141   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
8142      apzAlpha___Extern_PrefixMachs,
8143      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8144      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
8145
8146   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
8147      apzAlpha___Extern_Prefix_StandardsMachs,
8148      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8149      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
8150
8151   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
8152      apzAlpha___Extern_Prefix_Sys_StatMachs,
8153      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8154      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
8155
8156   {  zAlpha_AssertName,    zAlpha_AssertList,
8157      apzAlpha_AssertMachs,
8158      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8159      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
8160
8161   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
8162      apzAlpha_Bad_LvalMachs,
8163      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
8164      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
8165
8166   {  zAlpha_GetoptName,    zAlpha_GetoptList,
8167      apzAlpha_GetoptMachs,
8168      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8169      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
8170
8171   {  zAlpha_ParensName,    zAlpha_ParensList,
8172      apzAlpha_ParensMachs,
8173      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8174      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
8175
8176   {  zAlpha_PthreadName,    zAlpha_PthreadList,
8177      apzAlpha_PthreadMachs,
8178      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8179      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
8180
8181   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
8182      apzAlpha_Pthread_GccMachs,
8183      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8184      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
8185
8186   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
8187      apzAlpha_Pthread_InitMachs,
8188      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
8189      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
8190
8191   {  zAlpha_SbrkName,    zAlpha_SbrkList,
8192      apzAlpha_SbrkMachs,
8193      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8194      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
8195
8196   {  zAlpha_WcharName,    zAlpha_WcharList,
8197      apzAlpha_WcharMachs,
8198      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
8199      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
8200
8201   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
8202      apzAvoid_Bool_DefineMachs,
8203      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8204      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
8205
8206   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
8207      apzAvoid_Bool_TypeMachs,
8208      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8209      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
8210
8211   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
8212      apzAvoid_Wchar_T_TypeMachs,
8213      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8214      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
8215
8216   {  zBad_Struct_TermName,    zBad_Struct_TermList,
8217      apzBad_Struct_TermMachs,
8218      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8219      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
8220
8221   {  zBadquoteName,    zBadquoteList,
8222      apzBadquoteMachs,
8223      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8224      aBadquoteTests,   apzBadquotePatch, 0 },
8225
8226   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
8227      apzBroken_Assert_StdioMachs,
8228      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8229      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
8230
8231   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
8232      apzBroken_Assert_StdlibMachs,
8233      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8234      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
8235
8236   {  zBroken_CabsName,    zBroken_CabsList,
8237      apzBroken_CabsMachs,
8238      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8239      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
8240
8241   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
8242      apzBsd_Stdio_Attrs_ConflictMachs,
8243      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8244      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
8245
8246   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
8247      apzCtrl_Quotes_DefMachs,
8248      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8249      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
8250
8251   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
8252      apzCtrl_Quotes_UseMachs,
8253      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8254      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
8255
8256   {  zCxx_UnreadyName,    zCxx_UnreadyList,
8257      apzCxx_UnreadyMachs,
8258      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8259      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
8260
8261   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
8262      apzDarwin_Gcc4_BreakageMachs,
8263      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8264      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
8265
8266   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
8267      apzDarwin_Private_ExternMachs,
8268      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8269      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
8270
8271   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
8272      apzDec_Intern_AsmMachs,
8273      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
8274      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
8275
8276   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
8277      apzDjgpp_Wchar_HMachs,
8278      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8279      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
8280
8281   {  zEcd_CursorName,    zEcd_CursorList,
8282      apzEcd_CursorMachs,
8283      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8284      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
8285
8286   {  zException_StructureName,    zException_StructureList,
8287      apzException_StructureMachs,
8288      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8289      aException_StructureTests,   apzException_StructurePatch, 0 },
8290
8291   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
8292      apzFreebsd_Gcc3_BreakageMachs,
8293      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8294      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
8295
8296   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
8297      apzFreebsd_Gcc4_BreakageMachs,
8298      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8299      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
8300
8301   {  zGnu_TypesName,    zGnu_TypesList,
8302      apzGnu_TypesMachs,
8303      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8304      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
8305
8306   {  zHp_InlineName,    zHp_InlineList,
8307      apzHp_InlineMachs,
8308      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8309      aHp_InlineTests,   apzHp_InlinePatch, 0 },
8310
8311   {  zHp_SysfileName,    zHp_SysfileList,
8312      apzHp_SysfileMachs,
8313      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8314      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
8315
8316   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
8317      apzHpux10_Cpp_Pow_InlineMachs,
8318      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8319      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
8320
8321   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
8322      apzHpux11_Cpp_Pow_InlineMachs,
8323      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8324      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
8325
8326   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
8327      apzHpux10_Ctype_Declarations1Machs,
8328      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8329      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
8330
8331   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
8332      apzHpux10_Ctype_Declarations2Machs,
8333      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8334      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
8335
8336   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
8337      apzHpux10_Stdio_DeclarationsMachs,
8338      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8339      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
8340
8341   {  zHpux11_AbsName,    zHpux11_AbsList,
8342      apzHpux11_AbsMachs,
8343      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8344      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
8345
8346   {  zHpux11_FabsfName,    zHpux11_FabsfList,
8347      apzHpux11_FabsfMachs,
8348      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8349      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
8350
8351   {  zHpux11_Size_TName,    zHpux11_Size_TList,
8352      apzHpux11_Size_TMachs,
8353      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8354      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
8355
8356   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
8357      apzHpux11_SnprintfMachs,
8358      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8359      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
8360
8361   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
8362      apzHpux11_Uint32_CMachs,
8363      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8364      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
8365
8366   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
8367      apzHpux11_VsnprintfMachs,
8368      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8369      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
8370
8371   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
8372      apzHpux8_Bogus_InlinesMachs,
8373      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
8374      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
8375
8376   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
8377      apzHpux_Ctype_MacrosMachs,
8378      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8379      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
8380
8381   {  zHpux_HtonlName,    zHpux_HtonlList,
8382      apzHpux_HtonlMachs,
8383      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8384      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
8385
8386   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
8387      apzHpux_Long_DoubleMachs,
8388      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
8389      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
8390
8391   {  zHpux_SystimeName,    zHpux_SystimeList,
8392      apzHpux_SystimeMachs,
8393      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8394      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
8395
8396   {  zHuge_Val_HexName,    zHuge_Val_HexList,
8397      apzHuge_Val_HexMachs,
8398      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8399      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
8400
8401   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
8402      apzHuge_Valf_HexMachs,
8403      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8404      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
8405
8406   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
8407      apzHuge_Vall_HexMachs,
8408      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8409      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
8410
8411   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
8412      apzInt_Abort_Free_And_ExitMachs,
8413      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8414      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
8415
8416   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
8417      apzIo_Quotes_DefMachs,
8418      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8419      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
8420
8421   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
8422      apzIo_Quotes_UseMachs,
8423      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8424      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
8425
8426   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
8427      apzIp_Missing_SemiMachs,
8428      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
8429      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
8430
8431   {  zIrix___RestrictName,    zIrix___RestrictList,
8432      apzIrix___RestrictMachs,
8433      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8434      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
8435
8436   {  zIrix___Generic1Name,    zIrix___Generic1List,
8437      apzIrix___Generic1Machs,
8438      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8439      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
8440
8441   {  zIrix___Generic2Name,    zIrix___Generic2List,
8442      apzIrix___Generic2Machs,
8443      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8444      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
8445
8446   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
8447      apzIrix_Asm_ApostropheMachs,
8448      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8449      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
8450
8451   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
8452      apzIrix_Limits_ConstMachs,
8453      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8454      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
8455
8456   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
8457      apzIrix_Socklen_TMachs,
8458      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8459      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
8460
8461   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
8462      apzIrix_Stdio_Va_ListMachs,
8463      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8464      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
8465
8466   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
8467      apzIrix_WcsftimeMachs,
8468      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8469      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
8470
8471   {  zIsc_FmodName,    zIsc_FmodList,
8472      apzIsc_FmodMachs,
8473      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8474      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
8475
8476   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
8477      apzIsc_Omits_With_StdcMachs,
8478      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8479      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
8480
8481   {  zKandr_ConcatName,    zKandr_ConcatList,
8482      apzKandr_ConcatMachs,
8483      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8484      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
8485
8486   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
8487      apzLibc1_G_Va_ListMachs,
8488      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8489      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
8490
8491   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
8492      apzLibc1_Ifdefd_MemxMachs,
8493      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8494      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
8495
8496   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
8497      apzLinux_Ia64_UcontextMachs,
8498      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8499      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
8500
8501   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
8502      apzLynxos_No_Warning_In_Sys_Time_HMachs,
8503      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8504      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
8505
8506   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
8507      apzLynxos_Missing_PutenvMachs,
8508      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8509      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
8510
8511   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
8512      apzMachine_Ansi_H_Va_ListMachs,
8513      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8514      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
8515
8516   {  zMachine_NameName,    zMachine_NameList,
8517      apzMachine_NameMachs,
8518      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8519      aMachine_NameTests,   apzMachine_NamePatch, 0 },
8520
8521   {  zMath_ExceptionName,    zMath_ExceptionList,
8522      apzMath_ExceptionMachs,
8523      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8524      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
8525
8526   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
8527      apzMath_Huge_Val_From_Dbl_MaxMachs,
8528      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
8529      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
8530
8531   {  zNested_Auth_DesName,    zNested_Auth_DesList,
8532      apzNested_Auth_DesMachs,
8533      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8534      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
8535
8536   {  zNested_MotorolaName,    zNested_MotorolaList,
8537      apzNested_MotorolaMachs,
8538      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
8539      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
8540
8541   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
8542      apzNested_Sys_LimitsMachs,
8543      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
8544      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
8545
8546   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
8547      apzNetbsd_Extra_SemicolonMachs,
8548      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8549      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
8550
8551   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
8552      apzNext_Math_PrefixMachs,
8553      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8554      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
8555
8556   {  zNext_TemplateName,    zNext_TemplateList,
8557      apzNext_TemplateMachs,
8558      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8559      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
8560
8561   {  zNext_VolitileName,    zNext_VolitileList,
8562      apzNext_VolitileMachs,
8563      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8564      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
8565
8566   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
8567      apzNext_Wait_UnionMachs,
8568      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8569      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
8570
8571   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
8572      apzNodeent_SyntaxMachs,
8573      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8574      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
8575
8576   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
8577      apzObstack_Lvalue_CastMachs,
8578      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8579      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
8580
8581   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
8582      apzOsf_Namespace_AMachs,
8583      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8584      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
8585
8586   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
8587      apzOsf_Namespace_CMachs,
8588      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8589      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
8590
8591   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
8592      apzPthread_Page_SizeMachs,
8593      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8594      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
8595
8596   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
8597      apzPthread_Incomplete_Struct_ArgumentMachs,
8598      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8599      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
8600
8601   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
8602      apzRead_Ret_TypeMachs,
8603      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8604      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
8605
8606   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
8607      apzRpc_Xdr_Lvalue_Cast_AMachs,
8608      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8609      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
8610
8611   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
8612      apzRpc_Xdr_Lvalue_Cast_BMachs,
8613      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8614      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
8615
8616   {  zRs6000_DoubleName,    zRs6000_DoubleList,
8617      apzRs6000_DoubleMachs,
8618      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8619      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
8620
8621   {  zRs6000_FchmodName,    zRs6000_FchmodList,
8622      apzRs6000_FchmodMachs,
8623      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8624      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
8625
8626   {  zRs6000_ParamName,    zRs6000_ParamList,
8627      apzRs6000_ParamMachs,
8628      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8629      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
8630
8631   {  zSco_MathName,    zSco_MathList,
8632      apzSco_MathMachs,
8633      SCO_MATH_TEST_CT, FD_MACH_ONLY,
8634      aSco_MathTests,   apzSco_MathPatch, 0 },
8635
8636   {  zSco_RegsetName,    zSco_RegsetList,
8637      apzSco_RegsetMachs,
8638      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8639      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
8640
8641   {  zSco_Static_FuncName,    zSco_Static_FuncList,
8642      apzSco_Static_FuncMachs,
8643      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
8644      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
8645
8646   {  zSco_UtimeName,    zSco_UtimeList,
8647      apzSco_UtimeMachs,
8648      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8649      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
8650
8651   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
8652      apzSolaris_Math_1Machs,
8653      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8654      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
8655
8656   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
8657      apzSolaris_Math_2Machs,
8658      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8659      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
8660
8661   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
8662      apzSolaris_Math_3Machs,
8663      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8664      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
8665
8666   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
8667      apzSolaris_Math_4Machs,
8668      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8669      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
8670
8671   {  zSolaris_Math_5Name,    zSolaris_Math_5List,
8672      apzSolaris_Math_5Machs,
8673      SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8674      aSolaris_Math_5Tests,   apzSolaris_Math_5Patch, 0 },
8675
8676   {  zSolaris_Math_6Name,    zSolaris_Math_6List,
8677      apzSolaris_Math_6Machs,
8678      SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8679      aSolaris_Math_6Tests,   apzSolaris_Math_6Patch, 0 },
8680
8681   {  zSolaris_Math_7Name,    zSolaris_Math_7List,
8682      apzSolaris_Math_7Machs,
8683      SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8684      aSolaris_Math_7Tests,   apzSolaris_Math_7Patch, 0 },
8685
8686   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
8687      apzSolaris_Math_8Machs,
8688      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8689      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
8690
8691   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
8692      apzSolaris_Math_9Machs,
8693      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8694      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
8695
8696   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
8697      apzSolaris_Mutex_Init_1Machs,
8698      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
8699      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
8700
8701   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
8702      apzSolaris_Mutex_Init_2Machs,
8703      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8704      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
8705
8706   {  zSolaris_SocketName,    zSolaris_SocketList,
8707      apzSolaris_SocketMachs,
8708      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8709      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
8710
8711   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
8712      apzSolaris_Stdio_TagMachs,
8713      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
8714      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
8715
8716   {  zSolaris_UnistdName,    zSolaris_UnistdList,
8717      apzSolaris_UnistdMachs,
8718      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8719      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
8720
8721   {  zSolaris_WidecName,    zSolaris_WidecList,
8722      apzSolaris_WidecMachs,
8723      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8724      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
8725
8726   {  zStatsswtchName,    zStatsswtchList,
8727      apzStatsswtchMachs,
8728      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8729      aStatsswtchTests,   apzStatsswtchPatch, 0 },
8730
8731   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
8732      apzStdio_Stdarg_HMachs,
8733      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8734      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
8735
8736   {  zStdio_Va_ListName,    zStdio_Va_ListList,
8737      apzStdio_Va_ListMachs,
8738      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
8739      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
8740
8741   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
8742      apzStdio_Va_List_ClientsMachs,
8743      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8744      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
8745
8746   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
8747      apzStrict_Ansi_NotMachs,
8748      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8749      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
8750
8751   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
8752      apzStrict_Ansi_Not_CtdMachs,
8753      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8754      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
8755
8756   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
8757      apzStrict_Ansi_OnlyMachs,
8758      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8759      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
8760
8761   {  zStruct_FileName,    zStruct_FileList,
8762      apzStruct_FileMachs,
8763      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8764      aStruct_FileTests,   apzStruct_FilePatch, 0 },
8765
8766   {  zStruct_SockaddrName,    zStruct_SockaddrList,
8767      apzStruct_SockaddrMachs,
8768      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8769      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
8770
8771   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8772      apzSun_Auth_ProtoMachs,
8773      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8774      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8775
8776   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8777      apzSun_Bogus_IfdefMachs,
8778      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8779      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8780
8781   {  zSun_CatmacroName,    zSun_CatmacroList,
8782      apzSun_CatmacroMachs,
8783      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8784      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8785
8786   {  zSun_MallocName,    zSun_MallocList,
8787      apzSun_MallocMachs,
8788      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8789      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8790
8791   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8792      apzSun_Rusers_SemiMachs,
8793      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8794      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8795
8796   {  zSun_SignalName,    zSun_SignalList,
8797      apzSun_SignalMachs,
8798      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8799      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8800
8801   {  zSunos_StrlenName,    zSunos_StrlenList,
8802      apzSunos_StrlenMachs,
8803      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8804      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8805
8806   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8807      apzSvr4_Disable_OptMachs,
8808      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8809      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8810
8811   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8812      apzSvr4_GetcwdMachs,
8813      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8814      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8815
8816   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8817      apzSvr4_KrnlMachs,
8818      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8819      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8820
8821   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8822      apzSvr4_ProfilMachs,
8823      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8824      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8825
8826   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8827      apzSvr4_Sighandler_TypeMachs,
8828      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8829      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8830
8831   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8832      apzSvr4_Undeclared_GetrngeMachs,
8833      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8834      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8835
8836   {  zSysv68_StringName,    zSysv68_StringList,
8837      apzSysv68_StringMachs,
8838      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8839      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8840
8841   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8842      apzSysz_Stdlib_For_SunMachs,
8843      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8844      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8845
8846   {  zThread_KeywordName,    zThread_KeywordList,
8847      apzThread_KeywordMachs,
8848      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8849      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8850
8851   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8852      apzTinfo_CplusplusMachs,
8853      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8854      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8855
8856   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8857      apzUltrix_Atexit_ParamMachs,
8858      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8859      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8860
8861   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8862      apzUltrix_Atof_ParamMachs,
8863      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8864      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8865
8866   {  zUltrix_ConstName,    zUltrix_ConstList,
8867      apzUltrix_ConstMachs,
8868      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8869      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8870
8871   {  zUltrix_Const2Name,    zUltrix_Const2List,
8872      apzUltrix_Const2Machs,
8873      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8874      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8875
8876   {  zUltrix_Const3Name,    zUltrix_Const3List,
8877      apzUltrix_Const3Machs,
8878      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8879      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8880
8881   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8882      apzUltrix_Fix_FixprotoMachs,
8883      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8884      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8885
8886   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8887      apzUltrix_IfdefMachs,
8888      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8889      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8890
8891   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8892      apzUltrix_LocaleMachs,
8893      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8894      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8895
8896   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8897      apzUltrix_Math_IfdefMachs,
8898      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8899      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8900
8901   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8902      apzUltrix_Nested_IoctlMachs,
8903      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8904      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8905
8906   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8907      apzUltrix_Nested_SvcMachs,
8908      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8909      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8910
8911   {  zUltrix_StatName,    zUltrix_StatList,
8912      apzUltrix_StatMachs,
8913      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8914      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8915
8916   {  zUltrix_StaticName,    zUltrix_StaticList,
8917      apzUltrix_StaticMachs,
8918      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8919      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8920
8921   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8922      apzUltrix_StdlibMachs,
8923      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8924      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8925
8926   {  zUltrix_StringsName,    zUltrix_StringsList,
8927      apzUltrix_StringsMachs,
8928      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8929      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8930
8931   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8932      apzUltrix_Strings2Machs,
8933      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8934      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8935
8936   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8937      apzUltrix_Sys_TimeMachs,
8938      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8939      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8940
8941   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8942      apzUltrix_UnistdMachs,
8943      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8944      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8945
8946   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8947      apzUnicosmk_RestrictMachs,
8948      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8949      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8950
8951   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8952      apzUw7_Byteorder_FixMachs,
8953      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8954      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8955
8956   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8957      apzVa_I960_MacroMachs,
8958      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8959      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8960
8961   {  zVoid_NullName,    zVoid_NullList,
8962      apzVoid_NullMachs,
8963      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8964      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8965
8966   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8967      apzVxworks_Gcc_ProblemMachs,
8968      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8969      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8970
8971   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8972      apzVxworks_Needs_VxtypesMachs,
8973      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8974      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8975
8976   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8977      apzVxworks_Needs_VxworksMachs,
8978      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8979      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8980
8981   {  zVxworks_TimeName,    zVxworks_TimeList,
8982      apzVxworks_TimeMachs,
8983      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8984      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8985
8986   {  zWindiss_Math1Name,    zWindiss_Math1List,
8987      apzWindiss_Math1Machs,
8988      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8989      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8990
8991   {  zWindiss_Math2Name,    zWindiss_Math2List,
8992      apzWindiss_Math2Machs,
8993      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8994      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8995
8996   {  zWindiss_ValistName,    zWindiss_ValistList,
8997      apzWindiss_ValistMachs,
8998      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8999      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
9000
9001   {  zX11_ClassName,    zX11_ClassList,
9002      apzX11_ClassMachs,
9003      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9004      aX11_ClassTests,   apzX11_ClassPatch, 0 },
9005
9006   {  zX11_Class_UsageName,    zX11_Class_UsageList,
9007      apzX11_Class_UsageMachs,
9008      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9009      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
9010
9011   {  zX11_NewName,    zX11_NewList,
9012      apzX11_NewMachs,
9013      X11_NEW_TEST_CT, FD_MACH_ONLY,
9014      aX11_NewTests,   apzX11_NewPatch, 0 },
9015
9016   {  zX11_SprintfName,    zX11_SprintfList,
9017      apzX11_SprintfMachs,
9018      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9019      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }
9020 };