OSDN Git Service

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