OSDN Git Service

2005-10-23 Andrew Pinski <pinskia@physics.uc.edu>
[pf3gnuchains/gcc-fork.git] / fixincludes / fixincl.x
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Thursday September 15, 2005 at 06:55:23 PM UTC
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Sep 15 18:55:24 UTC 2005
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 193 fixup descriptions.
19  *
20  * See README for more information.
21  *
22  *  inclhack copyright (c) 1998, 1999, 2000, 2001
23  *  The Free Software Foundation, Inc.
24  *
25   *  inclhack is free software.
26  *  
27  *  You may redistribute it and/or modify it under the terms of the
28  *  GNU General Public License, as published by the Free Software
29  *  Foundation; either version 2, or (at your option) any later version.
30  *  
31  *  inclhack is distributed in the hope that it will be useful,
32  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
33  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34  *  See the GNU General Public License for more details.
35  *  
36  *  You should have received a copy of the GNU General Public License
37  *  along with inclhack.  See the file "COPYING".  If not,
38  *  write to:  The Free Software Foundation, Inc.,
39  *             59 Temple Place - Suite 330,
40  *             Boston,  MA  02111-1307, USA.
41  */
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 Huge_Val_Hex fix
2917  */
2918 tSCC zHuge_Val_HexName[] =
2919      "huge_val_hex";
2920
2921 /*
2922  *  File name selection pattern
2923  */
2924 tSCC zHuge_Val_HexList[] =
2925   "|bits/huge_val.h|";
2926 /*
2927  *  Machine/OS name selection pattern
2928  */
2929 #define apzHuge_Val_HexMachs (const char**)NULL
2930
2931 /*
2932  *  content selection pattern - do fix if pattern found
2933  */
2934 tSCC zHuge_Val_HexSelect0[] =
2935        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
2936
2937 /*
2938  *  content bypass pattern - skip fix if pattern found
2939  */
2940 tSCC zHuge_Val_HexBypass0[] =
2941        "__builtin_huge_val";
2942
2943 #define    HUGE_VAL_HEX_TEST_CT  2
2944 static tTestDesc aHuge_Val_HexTests[] = {
2945   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
2946   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
2947
2948 /*
2949  *  Fix Command Arguments for Huge_Val_Hex
2950  */
2951 static const char* apzHuge_Val_HexPatch[] = {
2952     "format",
2953     "#define HUGE_VAL (__builtin_huge_val())\n",
2954     (char*)NULL };
2955
2956 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2957  *
2958  *  Description of Huge_Valf_Hex fix
2959  */
2960 tSCC zHuge_Valf_HexName[] =
2961      "huge_valf_hex";
2962
2963 /*
2964  *  File name selection pattern
2965  */
2966 tSCC zHuge_Valf_HexList[] =
2967   "|bits/huge_val.h|";
2968 /*
2969  *  Machine/OS name selection pattern
2970  */
2971 #define apzHuge_Valf_HexMachs (const char**)NULL
2972
2973 /*
2974  *  content selection pattern - do fix if pattern found
2975  */
2976 tSCC zHuge_Valf_HexSelect0[] =
2977        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
2978
2979 /*
2980  *  content bypass pattern - skip fix if pattern found
2981  */
2982 tSCC zHuge_Valf_HexBypass0[] =
2983        "__builtin_huge_valf";
2984
2985 #define    HUGE_VALF_HEX_TEST_CT  2
2986 static tTestDesc aHuge_Valf_HexTests[] = {
2987   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
2988   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
2989
2990 /*
2991  *  Fix Command Arguments for Huge_Valf_Hex
2992  */
2993 static const char* apzHuge_Valf_HexPatch[] = {
2994     "format",
2995     "#define HUGE_VALF (__builtin_huge_valf())\n",
2996     (char*)NULL };
2997
2998 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2999  *
3000  *  Description of Huge_Vall_Hex fix
3001  */
3002 tSCC zHuge_Vall_HexName[] =
3003      "huge_vall_hex";
3004
3005 /*
3006  *  File name selection pattern
3007  */
3008 tSCC zHuge_Vall_HexList[] =
3009   "|bits/huge_val.h|";
3010 /*
3011  *  Machine/OS name selection pattern
3012  */
3013 #define apzHuge_Vall_HexMachs (const char**)NULL
3014
3015 /*
3016  *  content selection pattern - do fix if pattern found
3017  */
3018 tSCC zHuge_Vall_HexSelect0[] =
3019        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
3020
3021 /*
3022  *  content bypass pattern - skip fix if pattern found
3023  */
3024 tSCC zHuge_Vall_HexBypass0[] =
3025        "__builtin_huge_vall";
3026
3027 #define    HUGE_VALL_HEX_TEST_CT  2
3028 static tTestDesc aHuge_Vall_HexTests[] = {
3029   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
3030   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
3031
3032 /*
3033  *  Fix Command Arguments for Huge_Vall_Hex
3034  */
3035 static const char* apzHuge_Vall_HexPatch[] = {
3036     "format",
3037     "#define HUGE_VALL (__builtin_huge_vall())\n",
3038     (char*)NULL };
3039
3040 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3041  *
3042  *  Description of Int_Abort_Free_And_Exit fix
3043  */
3044 tSCC zInt_Abort_Free_And_ExitName[] =
3045      "int_abort_free_and_exit";
3046
3047 /*
3048  *  File name selection pattern
3049  */
3050 tSCC zInt_Abort_Free_And_ExitList[] =
3051   "|stdlib.h|";
3052 /*
3053  *  Machine/OS name selection pattern
3054  */
3055 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
3056
3057 /*
3058  *  content selection pattern - do fix if pattern found
3059  */
3060 tSCC zInt_Abort_Free_And_ExitSelect0[] =
3061        "int[ \t]+(abort|free|exit)[ \t]*\\(";
3062
3063 /*
3064  *  content bypass pattern - skip fix if pattern found
3065  */
3066 tSCC zInt_Abort_Free_And_ExitBypass0[] =
3067        "_CLASSIC_ANSI_TYPES";
3068
3069 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
3070 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
3071   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
3072   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
3073
3074 /*
3075  *  Fix Command Arguments for Int_Abort_Free_And_Exit
3076  */
3077 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
3078     "format",
3079     "void\t%1(",
3080     (char*)NULL };
3081
3082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3083  *
3084  *  Description of Io_Quotes_Def fix
3085  */
3086 tSCC zIo_Quotes_DefName[] =
3087      "io_quotes_def";
3088
3089 /*
3090  *  File name selection pattern
3091  */
3092 #define zIo_Quotes_DefList (char*)NULL
3093 /*
3094  *  Machine/OS name selection pattern
3095  */
3096 #define apzIo_Quotes_DefMachs (const char**)NULL
3097
3098 /*
3099  *  content selection pattern - do fix if pattern found
3100  */
3101 tSCC zIo_Quotes_DefSelect0[] =
3102        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
3103
3104 #define    IO_QUOTES_DEF_TEST_CT  1
3105 static tTestDesc aIo_Quotes_DefTests[] = {
3106   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
3107
3108 /*
3109  *  Fix Command Arguments for Io_Quotes_Def
3110  */
3111 static const char* apzIo_Quotes_DefPatch[] = {
3112     "char_macro_def",
3113     "IO",
3114     (char*)NULL };
3115
3116 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3117  *
3118  *  Description of Io_Quotes_Use fix
3119  */
3120 tSCC zIo_Quotes_UseName[] =
3121      "io_quotes_use";
3122
3123 /*
3124  *  File name selection pattern
3125  */
3126 #define zIo_Quotes_UseList (char*)NULL
3127 /*
3128  *  Machine/OS name selection pattern
3129  */
3130 #define apzIo_Quotes_UseMachs (const char**)NULL
3131
3132 /*
3133  *  content selection pattern - do fix if pattern found
3134  */
3135 tSCC zIo_Quotes_UseSelect0[] =
3136        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
3137
3138 #define    IO_QUOTES_USE_TEST_CT  1
3139 static tTestDesc aIo_Quotes_UseTests[] = {
3140   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
3141
3142 /*
3143  *  Fix Command Arguments for Io_Quotes_Use
3144  */
3145 static const char* apzIo_Quotes_UsePatch[] = {
3146     "char_macro_use",
3147     "IO",
3148     (char*)NULL };
3149
3150 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3151  *
3152  *  Description of Ip_Missing_Semi fix
3153  */
3154 tSCC zIp_Missing_SemiName[] =
3155      "ip_missing_semi";
3156
3157 /*
3158  *  File name selection pattern
3159  */
3160 tSCC zIp_Missing_SemiList[] =
3161   "|netinet/ip.h|";
3162 /*
3163  *  Machine/OS name selection pattern
3164  */
3165 #define apzIp_Missing_SemiMachs (const char**)NULL
3166
3167 /*
3168  *  content selection pattern - do fix if pattern found
3169  */
3170 tSCC zIp_Missing_SemiSelect0[] =
3171        "}$";
3172
3173 #define    IP_MISSING_SEMI_TEST_CT  1
3174 static tTestDesc aIp_Missing_SemiTests[] = {
3175   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
3176
3177 /*
3178  *  Fix Command Arguments for Ip_Missing_Semi
3179  */
3180 static const char* apzIp_Missing_SemiPatch[] = { "sed",
3181     "-e", "/^struct/,/^};/s/}$/};/",
3182     (char*)NULL };
3183
3184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3185  *
3186  *  Description of Irix___Restrict fix
3187  */
3188 tSCC zIrix___RestrictName[] =
3189      "irix___restrict";
3190
3191 /*
3192  *  File name selection pattern
3193  */
3194 tSCC zIrix___RestrictList[] =
3195   "|internal/sgimacros.h|";
3196 /*
3197  *  Machine/OS name selection pattern
3198  */
3199 tSCC* apzIrix___RestrictMachs[] = {
3200         "mips-sgi-irix6.5",
3201         (const char*)NULL };
3202
3203 /*
3204  *  content selection pattern - do fix if pattern found
3205  */
3206 tSCC zIrix___RestrictSelect0[] =
3207        "(#ifdef __c99\n\
3208 )(#[ \t]*define __restrict restrict)";
3209
3210 #define    IRIX___RESTRICT_TEST_CT  1
3211 static tTestDesc aIrix___RestrictTests[] = {
3212   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
3213
3214 /*
3215  *  Fix Command Arguments for Irix___Restrict
3216  */
3217 static const char* apzIrix___RestrictPatch[] = {
3218     "format",
3219     "%1#  ifndef __cplusplus\n\
3220 %2\n\
3221 #  endif",
3222     (char*)NULL };
3223
3224 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3225  *
3226  *  Description of Irix___Generic1 fix
3227  */
3228 tSCC zIrix___Generic1Name[] =
3229      "irix___generic1";
3230
3231 /*
3232  *  File name selection pattern
3233  */
3234 tSCC zIrix___Generic1List[] =
3235   "|internal/math_core.h|";
3236 /*
3237  *  Machine/OS name selection pattern
3238  */
3239 tSCC* apzIrix___Generic1Machs[] = {
3240         "mips-sgi-irix6.5",
3241         (const char*)NULL };
3242
3243 /*
3244  *  content selection pattern - do fix if pattern found
3245  */
3246 tSCC zIrix___Generic1Select0[] =
3247        "#define ([a-z]+)\\(x\\) *__generic.*";
3248
3249 #define    IRIX___GENERIC1_TEST_CT  1
3250 static tTestDesc aIrix___Generic1Tests[] = {
3251   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
3252
3253 /*
3254  *  Fix Command Arguments for Irix___Generic1
3255  */
3256 static const char* apzIrix___Generic1Patch[] = {
3257     "format",
3258     "extern int %1(double);\n\
3259 extern int %1f(float);\n\
3260 extern int %1l(long double);\n\
3261 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
3262                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
3263                : _%1l(x))\n",
3264     (char*)NULL };
3265
3266 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3267  *
3268  *  Description of Irix___Generic2 fix
3269  */
3270 tSCC zIrix___Generic2Name[] =
3271      "irix___generic2";
3272
3273 /*
3274  *  File name selection pattern
3275  */
3276 tSCC zIrix___Generic2List[] =
3277   "|internal/math_core.h|";
3278 /*
3279  *  Machine/OS name selection pattern
3280  */
3281 tSCC* apzIrix___Generic2Machs[] = {
3282         "mips-sgi-irix6.5",
3283         (const char*)NULL };
3284
3285 /*
3286  *  content selection pattern - do fix if pattern found
3287  */
3288 tSCC zIrix___Generic2Select0[] =
3289        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3290
3291 #define    IRIX___GENERIC2_TEST_CT  1
3292 static tTestDesc aIrix___Generic2Tests[] = {
3293   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3294
3295 /*
3296  *  Fix Command Arguments for Irix___Generic2
3297  */
3298 static const char* apzIrix___Generic2Patch[] = {
3299     "format",
3300     "#define %1(x,y) \\\n\
3301   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3302    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3303    : _%1l(x,y))\n",
3304     (char*)NULL };
3305
3306 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3307  *
3308  *  Description of Irix_Asm_Apostrophe fix
3309  */
3310 tSCC zIrix_Asm_ApostropheName[] =
3311      "irix_asm_apostrophe";
3312
3313 /*
3314  *  File name selection pattern
3315  */
3316 tSCC zIrix_Asm_ApostropheList[] =
3317   "|sys/asm.h|";
3318 /*
3319  *  Machine/OS name selection pattern
3320  */
3321 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3322
3323 /*
3324  *  content selection pattern - do fix if pattern found
3325  */
3326 tSCC zIrix_Asm_ApostropheSelect0[] =
3327        "^[ \t]*#.*[Ww]e're";
3328
3329 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3330 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3331   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3332
3333 /*
3334  *  Fix Command Arguments for Irix_Asm_Apostrophe
3335  */
3336 static const char* apzIrix_Asm_ApostrophePatch[] = {
3337     "format",
3338     "%1 are",
3339     "^([ \t]*#.*[Ww]e)'re",
3340     (char*)NULL };
3341
3342 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3343  *
3344  *  Description of Irix_Limits_Const fix
3345  */
3346 tSCC zIrix_Limits_ConstName[] =
3347      "irix_limits_const";
3348
3349 /*
3350  *  File name selection pattern
3351  */
3352 tSCC zIrix_Limits_ConstList[] =
3353   "|fixinc-test-limits.h|limits.h|";
3354 /*
3355  *  Machine/OS name selection pattern
3356  */
3357 #define apzIrix_Limits_ConstMachs (const char**)NULL
3358
3359 /*
3360  *  content selection pattern - do fix if pattern found
3361  */
3362 tSCC zIrix_Limits_ConstSelect0[] =
3363        "^extern const ";
3364
3365 #define    IRIX_LIMITS_CONST_TEST_CT  1
3366 static tTestDesc aIrix_Limits_ConstTests[] = {
3367   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3368
3369 /*
3370  *  Fix Command Arguments for Irix_Limits_Const
3371  */
3372 static const char* apzIrix_Limits_ConstPatch[] = {
3373     "format",
3374     "extern __const ",
3375     (char*)NULL };
3376
3377 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3378  *
3379  *  Description of Irix_Socklen_T fix
3380  */
3381 tSCC zIrix_Socklen_TName[] =
3382      "irix_socklen_t";
3383
3384 /*
3385  *  File name selection pattern
3386  */
3387 tSCC zIrix_Socklen_TList[] =
3388   "|sys/socket.h|";
3389 /*
3390  *  Machine/OS name selection pattern
3391  */
3392 tSCC* apzIrix_Socklen_TMachs[] = {
3393         "mips-sgi-irix6.5",
3394         (const char*)NULL };
3395
3396 /*
3397  *  content selection pattern - do fix if pattern found
3398  */
3399 tSCC zIrix_Socklen_TSelect0[] =
3400        "(#define _SOCKLEN_T\n\
3401 )(typedef u_int32_t socklen_t;)";
3402
3403 #define    IRIX_SOCKLEN_T_TEST_CT  1
3404 static tTestDesc aIrix_Socklen_TTests[] = {
3405   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3406
3407 /*
3408  *  Fix Command Arguments for Irix_Socklen_T
3409  */
3410 static const char* apzIrix_Socklen_TPatch[] = {
3411     "format",
3412     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3413 typedef int socklen_t;\n\
3414 #else\n\
3415 %2\n\
3416 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3417     (char*)NULL };
3418
3419 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3420  *
3421  *  Description of Irix_Stdio_Va_List fix
3422  */
3423 tSCC zIrix_Stdio_Va_ListName[] =
3424      "irix_stdio_va_list";
3425
3426 /*
3427  *  File name selection pattern
3428  */
3429 tSCC zIrix_Stdio_Va_ListList[] =
3430   "|stdio.h|internal/stdio_core.h|";
3431 /*
3432  *  Machine/OS name selection pattern
3433  */
3434 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3435
3436 /*
3437  *  content selection pattern - do fix if pattern found
3438  */
3439 tSCC zIrix_Stdio_Va_ListSelect0[] =
3440        "/\\* va_list \\*/ char \\*";
3441
3442 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3443 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3444   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3445
3446 /*
3447  *  Fix Command Arguments for Irix_Stdio_Va_List
3448  */
3449 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3450     "format",
3451     "__gnuc_va_list",
3452     (char*)NULL };
3453
3454 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3455  *
3456  *  Description of Irix_Wcsftime fix
3457  */
3458 tSCC zIrix_WcsftimeName[] =
3459      "irix_wcsftime";
3460
3461 /*
3462  *  File name selection pattern
3463  */
3464 tSCC zIrix_WcsftimeList[] =
3465   "|internal/wchar_core.h|";
3466 /*
3467  *  Machine/OS name selection pattern
3468  */
3469 tSCC* apzIrix_WcsftimeMachs[] = {
3470         "mips-sgi-irix6.5",
3471         (const char*)NULL };
3472
3473 /*
3474  *  content selection pattern - do fix if pattern found
3475  */
3476 tSCC zIrix_WcsftimeSelect0[] =
3477        "#if _NO_XOPEN5\n\
3478 (extern size_t[ \t]+wcsftime.*const char *.*)";
3479
3480 #define    IRIX_WCSFTIME_TEST_CT  1
3481 static tTestDesc aIrix_WcsftimeTests[] = {
3482   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3483
3484 /*
3485  *  Fix Command Arguments for Irix_Wcsftime
3486  */
3487 static const char* apzIrix_WcsftimePatch[] = {
3488     "format",
3489     "#if _NO_XOPEN5 && !defined(__c99)\n\
3490 %1",
3491     (char*)NULL };
3492
3493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3494  *
3495  *  Description of Isc_Fmod fix
3496  */
3497 tSCC zIsc_FmodName[] =
3498      "isc_fmod";
3499
3500 /*
3501  *  File name selection pattern
3502  */
3503 tSCC zIsc_FmodList[] =
3504   "|math.h|";
3505 /*
3506  *  Machine/OS name selection pattern
3507  */
3508 #define apzIsc_FmodMachs (const char**)NULL
3509
3510 /*
3511  *  content selection pattern - do fix if pattern found
3512  */
3513 tSCC zIsc_FmodSelect0[] =
3514        "fmod\\(double\\)";
3515
3516 #define    ISC_FMOD_TEST_CT  1
3517 static tTestDesc aIsc_FmodTests[] = {
3518   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3519
3520 /*
3521  *  Fix Command Arguments for Isc_Fmod
3522  */
3523 static const char* apzIsc_FmodPatch[] = {
3524     "format",
3525     "fmod(double, double)",
3526     (char*)NULL };
3527
3528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3529  *
3530  *  Description of Isc_Omits_With_Stdc fix
3531  */
3532 tSCC zIsc_Omits_With_StdcName[] =
3533      "isc_omits_with_stdc";
3534
3535 /*
3536  *  File name selection pattern
3537  */
3538 tSCC zIsc_Omits_With_StdcList[] =
3539   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3540 /*
3541  *  Machine/OS name selection pattern
3542  */
3543 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3544
3545 /*
3546  *  content selection pattern - do fix if pattern found
3547  */
3548 tSCC zIsc_Omits_With_StdcSelect0[] =
3549        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3550
3551 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3552 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3553   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3554
3555 /*
3556  *  Fix Command Arguments for Isc_Omits_With_Stdc
3557  */
3558 static const char* apzIsc_Omits_With_StdcPatch[] = {
3559     "format",
3560     "!defined(_POSIX_SOURCE)",
3561     (char*)NULL };
3562
3563 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3564  *
3565  *  Description of Kandr_Concat fix
3566  */
3567 tSCC zKandr_ConcatName[] =
3568      "kandr_concat";
3569
3570 /*
3571  *  File name selection pattern
3572  */
3573 tSCC zKandr_ConcatList[] =
3574   "|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|";
3575 /*
3576  *  Machine/OS name selection pattern
3577  */
3578 #define apzKandr_ConcatMachs (const char**)NULL
3579
3580 /*
3581  *  content selection pattern - do fix if pattern found
3582  */
3583 tSCC zKandr_ConcatSelect0[] =
3584        "/\\*\\*/";
3585
3586 #define    KANDR_CONCAT_TEST_CT  1
3587 static tTestDesc aKandr_ConcatTests[] = {
3588   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3589
3590 /*
3591  *  Fix Command Arguments for Kandr_Concat
3592  */
3593 static const char* apzKandr_ConcatPatch[] = {
3594     "format",
3595     "##",
3596     (char*)NULL };
3597
3598 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3599  *
3600  *  Description of Libc1_G_Va_List fix
3601  */
3602 tSCC zLibc1_G_Va_ListName[] =
3603      "libc1_G_va_list";
3604
3605 /*
3606  *  File name selection pattern
3607  */
3608 tSCC zLibc1_G_Va_ListList[] =
3609   "|_G_config.h|";
3610 /*
3611  *  Machine/OS name selection pattern
3612  */
3613 tSCC* apzLibc1_G_Va_ListMachs[] = {
3614         "*-*-linux*libc1",
3615         (const char*)NULL };
3616
3617 /*
3618  *  content selection pattern - do fix if pattern found
3619  */
3620 tSCC zLibc1_G_Va_ListSelect0[] =
3621        "typedef void \\* _G_va_list;";
3622
3623 #define    LIBC1_G_VA_LIST_TEST_CT  1
3624 static tTestDesc aLibc1_G_Va_ListTests[] = {
3625   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3626
3627 /*
3628  *  Fix Command Arguments for Libc1_G_Va_List
3629  */
3630 static const char* apzLibc1_G_Va_ListPatch[] = {
3631     "format",
3632     "typedef __builtin_va_list _G_va_list;",
3633     (char*)NULL };
3634
3635 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3636  *
3637  *  Description of Libc1_Ifdefd_Memx fix
3638  */
3639 tSCC zLibc1_Ifdefd_MemxName[] =
3640      "libc1_ifdefd_memx";
3641
3642 /*
3643  *  File name selection pattern
3644  */
3645 tSCC zLibc1_Ifdefd_MemxList[] =
3646   "|testing.h|string.h|";
3647 /*
3648  *  Machine/OS name selection pattern
3649  */
3650 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3651
3652 /*
3653  *  content selection pattern - do fix if pattern found
3654  */
3655 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3656        "' is a built-in function for gcc 2\\.x\\. \\*/";
3657
3658 /*
3659  *  content bypass pattern - skip fix if pattern found
3660  */
3661 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3662        "__cplusplus";
3663
3664 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3665 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3666   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3667   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3668
3669 /*
3670  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3671  */
3672 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3673     "format",
3674     "%1",
3675     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3676 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3677 (/\\* .* \\*/\n\
3678 extern [a-z_]+ mem.*(\n\
3679 [^#].*)*;)\n\
3680 #endif",
3681     (char*)NULL };
3682
3683 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3684  *
3685  *  Description of Linux_Ia64_Ucontext fix
3686  */
3687 tSCC zLinux_Ia64_UcontextName[] =
3688      "linux_ia64_ucontext";
3689
3690 /*
3691  *  File name selection pattern
3692  */
3693 tSCC zLinux_Ia64_UcontextList[] =
3694   "|sys/ucontext.h|";
3695 /*
3696  *  Machine/OS name selection pattern
3697  */
3698 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3699         "ia64-*-linux*",
3700         (const char*)NULL };
3701
3702 /*
3703  *  content selection pattern - do fix if pattern found
3704  */
3705 tSCC zLinux_Ia64_UcontextSelect0[] =
3706        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3707
3708 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3709 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3710   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3711
3712 /*
3713  *  Fix Command Arguments for Linux_Ia64_Ucontext
3714  */
3715 static const char* apzLinux_Ia64_UcontextPatch[] = {
3716     "format",
3717     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3718     (char*)NULL };
3719
3720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3721  *
3722  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3723  */
3724 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3725      "lynxos_no_warning_in_sys_time_h";
3726
3727 /*
3728  *  File name selection pattern
3729  */
3730 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3731   "|sys/time.h|";
3732 /*
3733  *  Machine/OS name selection pattern
3734  */
3735 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3736
3737 /*
3738  *  content selection pattern - do fix if pattern found
3739  */
3740 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3741        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3742
3743 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3744 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3745   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3746
3747 /*
3748  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3749  */
3750 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3751     "format",
3752     "",
3753     (char*)NULL };
3754
3755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3756  *
3757  *  Description of Lynxos_Missing_Putenv fix
3758  */
3759 tSCC zLynxos_Missing_PutenvName[] =
3760      "lynxos_missing_putenv";
3761
3762 /*
3763  *  File name selection pattern
3764  */
3765 tSCC zLynxos_Missing_PutenvList[] =
3766   "|stdlib.h|";
3767 /*
3768  *  Machine/OS name selection pattern
3769  */
3770 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3771         "*-*-lynxos*",
3772         (const char*)NULL };
3773
3774 /*
3775  *  content selection pattern - do fix if pattern found
3776  */
3777 tSCC zLynxos_Missing_PutenvSelect0[] =
3778        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3779
3780 /*
3781  *  content bypass pattern - skip fix if pattern found
3782  */
3783 tSCC zLynxos_Missing_PutenvBypass0[] =
3784        "putenv[ \\t]*\\(";
3785
3786 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3787 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3788   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3789   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3790
3791 /*
3792  *  Fix Command Arguments for Lynxos_Missing_Putenv
3793  */
3794 static const char* apzLynxos_Missing_PutenvPatch[] = {
3795     "format",
3796     "%0\n\
3797 extern int putenv\t\t\t\t_AP((char *));",
3798     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3799     (char*)NULL };
3800
3801 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3802  *
3803  *  Description of Machine_Ansi_H_Va_List fix
3804  */
3805 tSCC zMachine_Ansi_H_Va_ListName[] =
3806      "machine_ansi_h_va_list";
3807
3808 /*
3809  *  File name selection pattern
3810  */
3811 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3812 /*
3813  *  Machine/OS name selection pattern
3814  */
3815 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3816
3817 /*
3818  *  content selection pattern - do fix if pattern found
3819  */
3820 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3821        "define[ \t]+_BSD_VA_LIST_[ \t]";
3822
3823 /*
3824  *  content bypass pattern - skip fix if pattern found
3825  */
3826 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3827        "__builtin_va_list";
3828
3829 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3830 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3831   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3832   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3833
3834 /*
3835  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3836  */
3837 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3838     "format",
3839     "%1__builtin_va_list",
3840     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3841     (char*)NULL };
3842
3843 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3844  *
3845  *  Description of Machine_Name fix
3846  */
3847 tSCC zMachine_NameName[] =
3848      "machine_name";
3849
3850 /*
3851  *  File name selection pattern
3852  */
3853 #define zMachine_NameList (char*)NULL
3854 /*
3855  *  Machine/OS name selection pattern
3856  */
3857 #define apzMachine_NameMachs (const char**)NULL
3858
3859 /*
3860  *  perform the C function call test
3861  */
3862 tSCC zMachine_NameFTst0[] = "machine_name";
3863
3864 #define    MACHINE_NAME_TEST_CT  1
3865 static tTestDesc aMachine_NameTests[] = {
3866   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3867
3868 /*
3869  *  Fix Command Arguments for Machine_Name
3870  */
3871 static const char* apzMachine_NamePatch[] = {
3872     "machine_name",
3873     (char*)NULL };
3874
3875 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3876  *
3877  *  Description of Math_Exception fix
3878  */
3879 tSCC zMath_ExceptionName[] =
3880      "math_exception";
3881
3882 /*
3883  *  File name selection pattern
3884  */
3885 tSCC zMath_ExceptionList[] =
3886   "|math.h|";
3887 /*
3888  *  Machine/OS name selection pattern
3889  */
3890 #define apzMath_ExceptionMachs (const char**)NULL
3891
3892 /*
3893  *  content selection pattern - do fix if pattern found
3894  */
3895 tSCC zMath_ExceptionSelect0[] =
3896        "struct exception";
3897
3898 /*
3899  *  content bypass pattern - skip fix if pattern found
3900  */
3901 tSCC zMath_ExceptionBypass0[] =
3902        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3903
3904 #define    MATH_EXCEPTION_TEST_CT  2
3905 static tTestDesc aMath_ExceptionTests[] = {
3906   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3907   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3908
3909 /*
3910  *  Fix Command Arguments for Math_Exception
3911  */
3912 static const char* apzMath_ExceptionPatch[] = {
3913     "wrap",
3914     "#ifdef __cplusplus\n\
3915 #define exception __math_exception\n\
3916 #endif\n",
3917     "#ifdef __cplusplus\n\
3918 #undef exception\n\
3919 #endif\n",
3920     (char*)NULL };
3921
3922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3923  *
3924  *  Description of Math_Huge_Val_From_Dbl_Max fix
3925  */
3926 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3927      "math_huge_val_from_dbl_max";
3928
3929 /*
3930  *  File name selection pattern
3931  */
3932 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3933   "|math.h|";
3934 /*
3935  *  Machine/OS name selection pattern
3936  */
3937 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3938
3939 /*
3940  *  content selection pattern - do fix if pattern found
3941  */
3942 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3943        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3944
3945 /*
3946  *  content bypass pattern - skip fix if pattern found
3947  */
3948 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3949        "define[ \t]+DBL_MAX";
3950
3951 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3952 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3953   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3954   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3955
3956 /*
3957  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3958  */
3959 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3960     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3961 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3962 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3963 \telse cat\n\
3964 \tfi",
3965     (char*)NULL };
3966
3967 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3968  *
3969  *  Description of Nested_Auth_Des fix
3970  */
3971 tSCC zNested_Auth_DesName[] =
3972      "nested_auth_des";
3973
3974 /*
3975  *  File name selection pattern
3976  */
3977 tSCC zNested_Auth_DesList[] =
3978   "|rpc/rpc.h|";
3979 /*
3980  *  Machine/OS name selection pattern
3981  */
3982 #define apzNested_Auth_DesMachs (const char**)NULL
3983
3984 /*
3985  *  content selection pattern - do fix if pattern found
3986  */
3987 tSCC zNested_Auth_DesSelect0[] =
3988        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3989
3990 #define    NESTED_AUTH_DES_TEST_CT  1
3991 static tTestDesc aNested_Auth_DesTests[] = {
3992   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3993
3994 /*
3995  *  Fix Command Arguments for Nested_Auth_Des
3996  */
3997 static const char* apzNested_Auth_DesPatch[] = {
3998     "format",
3999     "%1*/ /*",
4000     (char*)NULL };
4001
4002 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4003  *
4004  *  Description of Nested_Motorola fix
4005  */
4006 tSCC zNested_MotorolaName[] =
4007      "nested_motorola";
4008
4009 /*
4010  *  File name selection pattern
4011  */
4012 tSCC zNested_MotorolaList[] =
4013   "|sys/limits.h|limits.h|";
4014 /*
4015  *  Machine/OS name selection pattern
4016  */
4017 tSCC* apzNested_MotorolaMachs[] = {
4018         "m68k-motorola-sysv*",
4019         (const char*)NULL };
4020
4021 /*
4022  *  content selection pattern - do fix if pattern found
4023  */
4024 tSCC zNested_MotorolaSelect0[] =
4025        "max # bytes atomic in write|error value returned by Math lib";
4026
4027 #define    NESTED_MOTOROLA_TEST_CT  1
4028 static tTestDesc aNested_MotorolaTests[] = {
4029   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
4030
4031 /*
4032  *  Fix Command Arguments for Nested_Motorola
4033  */
4034 static const char* apzNested_MotorolaPatch[] = { "sed",
4035     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
4036     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
4037     (char*)NULL };
4038
4039 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4040  *
4041  *  Description of Nested_Sys_Limits fix
4042  */
4043 tSCC zNested_Sys_LimitsName[] =
4044      "nested_sys_limits";
4045
4046 /*
4047  *  File name selection pattern
4048  */
4049 tSCC zNested_Sys_LimitsList[] =
4050   "|sys/limits.h|";
4051 /*
4052  *  Machine/OS name selection pattern
4053  */
4054 #define apzNested_Sys_LimitsMachs (const char**)NULL
4055
4056 /*
4057  *  content selection pattern - do fix if pattern found
4058  */
4059 tSCC zNested_Sys_LimitsSelect0[] =
4060        "CHILD_MAX";
4061
4062 #define    NESTED_SYS_LIMITS_TEST_CT  1
4063 static tTestDesc aNested_Sys_LimitsTests[] = {
4064   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
4065
4066 /*
4067  *  Fix Command Arguments for Nested_Sys_Limits
4068  */
4069 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
4070     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
4071     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
4072     (char*)NULL };
4073
4074 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4075  *
4076  *  Description of Netbsd_Extra_Semicolon fix
4077  */
4078 tSCC zNetbsd_Extra_SemicolonName[] =
4079      "netbsd_extra_semicolon";
4080
4081 /*
4082  *  File name selection pattern
4083  */
4084 tSCC zNetbsd_Extra_SemicolonList[] =
4085   "|sys/cdefs.h|";
4086 /*
4087  *  Machine/OS name selection pattern
4088  */
4089 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
4090         "*-*-netbsd*",
4091         (const char*)NULL };
4092
4093 /*
4094  *  content selection pattern - do fix if pattern found
4095  */
4096 tSCC zNetbsd_Extra_SemicolonSelect0[] =
4097        "#define[ \t]*__END_DECLS[ \t]*};";
4098
4099 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
4100 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
4101   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
4102
4103 /*
4104  *  Fix Command Arguments for Netbsd_Extra_Semicolon
4105  */
4106 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
4107     "format",
4108     "#define __END_DECLS }",
4109     (char*)NULL };
4110
4111 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4112  *
4113  *  Description of Next_Math_Prefix fix
4114  */
4115 tSCC zNext_Math_PrefixName[] =
4116      "next_math_prefix";
4117
4118 /*
4119  *  File name selection pattern
4120  */
4121 tSCC zNext_Math_PrefixList[] =
4122   "|ansi/math.h|";
4123 /*
4124  *  Machine/OS name selection pattern
4125  */
4126 #define apzNext_Math_PrefixMachs (const char**)NULL
4127
4128 /*
4129  *  content selection pattern - do fix if pattern found
4130  */
4131 tSCC zNext_Math_PrefixSelect0[] =
4132        "^extern[ \t]+double[ \t]+__const__[ \t]";
4133
4134 #define    NEXT_MATH_PREFIX_TEST_CT  1
4135 static tTestDesc aNext_Math_PrefixTests[] = {
4136   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
4137
4138 /*
4139  *  Fix Command Arguments for Next_Math_Prefix
4140  */
4141 static const char* apzNext_Math_PrefixPatch[] = {
4142     "format",
4143     "extern double %1(",
4144     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
4145     (char*)NULL };
4146
4147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4148  *
4149  *  Description of Next_Template fix
4150  */
4151 tSCC zNext_TemplateName[] =
4152      "next_template";
4153
4154 /*
4155  *  File name selection pattern
4156  */
4157 tSCC zNext_TemplateList[] =
4158   "|bsd/libc.h|";
4159 /*
4160  *  Machine/OS name selection pattern
4161  */
4162 #define apzNext_TemplateMachs (const char**)NULL
4163
4164 /*
4165  *  content selection pattern - do fix if pattern found
4166  */
4167 tSCC zNext_TemplateSelect0[] =
4168        "[ \t]template\\)";
4169
4170 #define    NEXT_TEMPLATE_TEST_CT  1
4171 static tTestDesc aNext_TemplateTests[] = {
4172   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
4173
4174 /*
4175  *  Fix Command Arguments for Next_Template
4176  */
4177 static const char* apzNext_TemplatePatch[] = {
4178     "format",
4179     "(%1)",
4180     "\\(([^)]*)[ \t]template\\)",
4181     (char*)NULL };
4182
4183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4184  *
4185  *  Description of Next_Volitile fix
4186  */
4187 tSCC zNext_VolitileName[] =
4188      "next_volitile";
4189
4190 /*
4191  *  File name selection pattern
4192  */
4193 tSCC zNext_VolitileList[] =
4194   "|ansi/stdlib.h|";
4195 /*
4196  *  Machine/OS name selection pattern
4197  */
4198 #define apzNext_VolitileMachs (const char**)NULL
4199
4200 /*
4201  *  content selection pattern - do fix if pattern found
4202  */
4203 tSCC zNext_VolitileSelect0[] =
4204        "^extern[ \t]+volatile[ \t]+void[ \t]";
4205
4206 #define    NEXT_VOLITILE_TEST_CT  1
4207 static tTestDesc aNext_VolitileTests[] = {
4208   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
4209
4210 /*
4211  *  Fix Command Arguments for Next_Volitile
4212  */
4213 static const char* apzNext_VolitilePatch[] = {
4214     "format",
4215     "extern void %1(",
4216     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
4217     (char*)NULL };
4218
4219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4220  *
4221  *  Description of Next_Wait_Union fix
4222  */
4223 tSCC zNext_Wait_UnionName[] =
4224      "next_wait_union";
4225
4226 /*
4227  *  File name selection pattern
4228  */
4229 tSCC zNext_Wait_UnionList[] =
4230   "|sys/wait.h|";
4231 /*
4232  *  Machine/OS name selection pattern
4233  */
4234 #define apzNext_Wait_UnionMachs (const char**)NULL
4235
4236 /*
4237  *  content selection pattern - do fix if pattern found
4238  */
4239 tSCC zNext_Wait_UnionSelect0[] =
4240        "wait\\(union wait";
4241
4242 #define    NEXT_WAIT_UNION_TEST_CT  1
4243 static tTestDesc aNext_Wait_UnionTests[] = {
4244   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
4245
4246 /*
4247  *  Fix Command Arguments for Next_Wait_Union
4248  */
4249 static const char* apzNext_Wait_UnionPatch[] = {
4250     "format",
4251     "wait(void",
4252     (char*)NULL };
4253
4254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4255  *
4256  *  Description of Nodeent_Syntax fix
4257  */
4258 tSCC zNodeent_SyntaxName[] =
4259      "nodeent_syntax";
4260
4261 /*
4262  *  File name selection pattern
4263  */
4264 tSCC zNodeent_SyntaxList[] =
4265   "|netdnet/dnetdb.h|";
4266 /*
4267  *  Machine/OS name selection pattern
4268  */
4269 #define apzNodeent_SyntaxMachs (const char**)NULL
4270
4271 /*
4272  *  content selection pattern - do fix if pattern found
4273  */
4274 tSCC zNodeent_SyntaxSelect0[] =
4275        "char[ \t]*\\*na_addr[ \t]*$";
4276
4277 #define    NODEENT_SYNTAX_TEST_CT  1
4278 static tTestDesc aNodeent_SyntaxTests[] = {
4279   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4280
4281 /*
4282  *  Fix Command Arguments for Nodeent_Syntax
4283  */
4284 static const char* apzNodeent_SyntaxPatch[] = {
4285     "format",
4286     "%0;",
4287     (char*)NULL };
4288
4289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4290  *
4291  *  Description of Obstack_Lvalue_Cast fix
4292  */
4293 tSCC zObstack_Lvalue_CastName[] =
4294      "obstack_lvalue_cast";
4295
4296 /*
4297  *  File name selection pattern
4298  */
4299 tSCC zObstack_Lvalue_CastList[] =
4300   "|obstack.h|";
4301 /*
4302  *  Machine/OS name selection pattern
4303  */
4304 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4305
4306 /*
4307  *  content selection pattern - do fix if pattern found
4308  */
4309 tSCC zObstack_Lvalue_CastSelect0[] =
4310        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4311
4312 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4313 static tTestDesc aObstack_Lvalue_CastTests[] = {
4314   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4315
4316 /*
4317  *  Fix Command Arguments for Obstack_Lvalue_Cast
4318  */
4319 static const char* apzObstack_Lvalue_CastPatch[] = {
4320     "format",
4321     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4322     (char*)NULL };
4323
4324 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4325  *
4326  *  Description of Osf_Namespace_A fix
4327  */
4328 tSCC zOsf_Namespace_AName[] =
4329      "osf_namespace_a";
4330
4331 /*
4332  *  File name selection pattern
4333  */
4334 tSCC zOsf_Namespace_AList[] =
4335   "|reg_types.h|sys/lc_core.h|";
4336 /*
4337  *  Machine/OS name selection pattern
4338  */
4339 #define apzOsf_Namespace_AMachs (const char**)NULL
4340
4341 /*
4342  *  perform the 'test' shell command - do fix on success
4343  */
4344 tSCC zOsf_Namespace_ATest0[] =
4345        " -r reg_types.h";
4346 tSCC zOsf_Namespace_ATest1[] =
4347        " -r sys/lc_core.h";
4348 tSCC zOsf_Namespace_ATest2[] =
4349        " -n \"`grep '} regex_t;' reg_types.h`\"";
4350 tSCC zOsf_Namespace_ATest3[] =
4351        " -z \"`grep __regex_t regex.h`\"";
4352
4353 #define    OSF_NAMESPACE_A_TEST_CT  4
4354 static tTestDesc aOsf_Namespace_ATests[] = {
4355   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4356   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4357   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4358   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4359
4360 /*
4361  *  Fix Command Arguments for Osf_Namespace_A
4362  */
4363 static const char* apzOsf_Namespace_APatch[] = {
4364     "format",
4365     "__%0",
4366     "reg(ex|off|match)_t",
4367     (char*)NULL };
4368
4369 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4370  *
4371  *  Description of Osf_Namespace_C fix
4372  */
4373 tSCC zOsf_Namespace_CName[] =
4374      "osf_namespace_c";
4375
4376 /*
4377  *  File name selection pattern
4378  */
4379 tSCC zOsf_Namespace_CList[] =
4380   "|regex.h|";
4381 /*
4382  *  Machine/OS name selection pattern
4383  */
4384 #define apzOsf_Namespace_CMachs (const char**)NULL
4385
4386 /*
4387  *  content selection pattern - do fix if pattern found
4388  */
4389 tSCC zOsf_Namespace_CSelect0[] =
4390        "#include <reg_types.h>.*";
4391
4392 /*
4393  *  perform the 'test' shell command - do fix on success
4394  */
4395 tSCC zOsf_Namespace_CTest0[] =
4396        " -r reg_types.h";
4397 tSCC zOsf_Namespace_CTest1[] =
4398        " -r sys/lc_core.h";
4399 tSCC zOsf_Namespace_CTest2[] =
4400        " -n \"`grep '} regex_t;' reg_types.h`\"";
4401 tSCC zOsf_Namespace_CTest3[] =
4402        " -z \"`grep __regex_t regex.h`\"";
4403
4404 #define    OSF_NAMESPACE_C_TEST_CT  5
4405 static tTestDesc aOsf_Namespace_CTests[] = {
4406   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4407   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4408   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4409   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4410   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4411
4412 /*
4413  *  Fix Command Arguments for Osf_Namespace_C
4414  */
4415 static const char* apzOsf_Namespace_CPatch[] = {
4416     "format",
4417     "%0\n\
4418 typedef __regex_t\tregex_t;\n\
4419 typedef __regoff_t\tregoff_t;\n\
4420 typedef __regmatch_t\tregmatch_t;",
4421     (char*)NULL };
4422
4423 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4424  *
4425  *  Description of Pthread_Page_Size fix
4426  */
4427 tSCC zPthread_Page_SizeName[] =
4428      "pthread_page_size";
4429
4430 /*
4431  *  File name selection pattern
4432  */
4433 tSCC zPthread_Page_SizeList[] =
4434   "|pthread.h|";
4435 /*
4436  *  Machine/OS name selection pattern
4437  */
4438 #define apzPthread_Page_SizeMachs (const char**)NULL
4439
4440 /*
4441  *  content selection pattern - do fix if pattern found
4442  */
4443 tSCC zPthread_Page_SizeSelect0[] =
4444        "^int __page_size";
4445
4446 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4447 static tTestDesc aPthread_Page_SizeTests[] = {
4448   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4449
4450 /*
4451  *  Fix Command Arguments for Pthread_Page_Size
4452  */
4453 static const char* apzPthread_Page_SizePatch[] = {
4454     "format",
4455     "extern %0",
4456     (char*)NULL };
4457
4458 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4459  *
4460  *  Description of Pthread_Incomplete_Struct_Argument fix
4461  */
4462 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4463      "pthread_incomplete_struct_argument";
4464
4465 /*
4466  *  File name selection pattern
4467  */
4468 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4469   "|pthread.h|";
4470 /*
4471  *  Machine/OS name selection pattern
4472  */
4473 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4474
4475 /*
4476  *  content selection pattern - do fix if pattern found
4477  */
4478 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4479        "struct __jmp_buf_tag";
4480
4481 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4482 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4483   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4484
4485 /*
4486  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4487  */
4488 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4489     "format",
4490     "%1 *%2%3",
4491     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4492     (char*)NULL };
4493
4494 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4495  *
4496  *  Description of Read_Ret_Type fix
4497  */
4498 tSCC zRead_Ret_TypeName[] =
4499      "read_ret_type";
4500
4501 /*
4502  *  File name selection pattern
4503  */
4504 tSCC zRead_Ret_TypeList[] =
4505   "|stdio.h|";
4506 /*
4507  *  Machine/OS name selection pattern
4508  */
4509 #define apzRead_Ret_TypeMachs (const char**)NULL
4510
4511 /*
4512  *  content selection pattern - do fix if pattern found
4513  */
4514 tSCC zRead_Ret_TypeSelect0[] =
4515        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4516
4517 #define    READ_RET_TYPE_TEST_CT  1
4518 static tTestDesc aRead_Ret_TypeTests[] = {
4519   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4520
4521 /*
4522  *  Fix Command Arguments for Read_Ret_Type
4523  */
4524 static const char* apzRead_Ret_TypePatch[] = {
4525     "format",
4526     "extern unsigned int fread(), fwrite();\n\
4527 %1%2",
4528     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4529     (char*)NULL };
4530
4531 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4532  *
4533  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4534  */
4535 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4536      "rpc_xdr_lvalue_cast_a";
4537
4538 /*
4539  *  File name selection pattern
4540  */
4541 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4542   "|rpc/xdr.h|";
4543 /*
4544  *  Machine/OS name selection pattern
4545  */
4546 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4547
4548 /*
4549  *  content selection pattern - do fix if pattern found
4550  */
4551 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4552        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4553 .*__extension__.*";
4554
4555 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4556 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4557   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4558
4559 /*
4560  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4561  */
4562 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4563     "format",
4564     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4565     (char*)NULL };
4566
4567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4568  *
4569  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4570  */
4571 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4572      "rpc_xdr_lvalue_cast_b";
4573
4574 /*
4575  *  File name selection pattern
4576  */
4577 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4578   "|rpc/xdr.h|";
4579 /*
4580  *  Machine/OS name selection pattern
4581  */
4582 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4583
4584 /*
4585  *  content selection pattern - do fix if pattern found
4586  */
4587 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4588        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4589 .*__extension__.*";
4590
4591 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4592 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4593   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4594
4595 /*
4596  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4597  */
4598 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4599     "format",
4600     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4601     (char*)NULL };
4602
4603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4604  *
4605  *  Description of Rs6000_Double fix
4606  */
4607 tSCC zRs6000_DoubleName[] =
4608      "rs6000_double";
4609
4610 /*
4611  *  File name selection pattern
4612  */
4613 tSCC zRs6000_DoubleList[] =
4614   "|math.h|";
4615 /*
4616  *  Machine/OS name selection pattern
4617  */
4618 #define apzRs6000_DoubleMachs (const char**)NULL
4619
4620 /*
4621  *  content selection pattern - do fix if pattern found
4622  */
4623 tSCC zRs6000_DoubleSelect0[] =
4624        "[^a-zA-Z_]class\\(";
4625
4626 #define    RS6000_DOUBLE_TEST_CT  1
4627 static tTestDesc aRs6000_DoubleTests[] = {
4628   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4629
4630 /*
4631  *  Fix Command Arguments for Rs6000_Double
4632  */
4633 static const char* apzRs6000_DoublePatch[] = {
4634     "format",
4635     "#ifndef __cplusplus\n\
4636 %0\n\
4637 #endif",
4638     "^.*[^a-zA-Z_]class\\(.*",
4639     (char*)NULL };
4640
4641 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4642  *
4643  *  Description of Rs6000_Fchmod fix
4644  */
4645 tSCC zRs6000_FchmodName[] =
4646      "rs6000_fchmod";
4647
4648 /*
4649  *  File name selection pattern
4650  */
4651 tSCC zRs6000_FchmodList[] =
4652   "|sys/stat.h|";
4653 /*
4654  *  Machine/OS name selection pattern
4655  */
4656 #define apzRs6000_FchmodMachs (const char**)NULL
4657
4658 /*
4659  *  content selection pattern - do fix if pattern found
4660  */
4661 tSCC zRs6000_FchmodSelect0[] =
4662        "fchmod\\(char \\*";
4663
4664 #define    RS6000_FCHMOD_TEST_CT  1
4665 static tTestDesc aRs6000_FchmodTests[] = {
4666   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4667
4668 /*
4669  *  Fix Command Arguments for Rs6000_Fchmod
4670  */
4671 static const char* apzRs6000_FchmodPatch[] = {
4672     "format",
4673     "fchmod(int",
4674     (char*)NULL };
4675
4676 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4677  *
4678  *  Description of Rs6000_Param fix
4679  */
4680 tSCC zRs6000_ParamName[] =
4681      "rs6000_param";
4682
4683 /*
4684  *  File name selection pattern
4685  */
4686 tSCC zRs6000_ParamList[] =
4687   "|stdio.h|unistd.h|";
4688 /*
4689  *  Machine/OS name selection pattern
4690  */
4691 #define apzRs6000_ParamMachs (const char**)NULL
4692
4693 /*
4694  *  content selection pattern - do fix if pattern found
4695  */
4696 tSCC zRs6000_ParamSelect0[] =
4697        "rename\\(const char \\*old, const char \\*new\\)";
4698
4699 #define    RS6000_PARAM_TEST_CT  1
4700 static tTestDesc aRs6000_ParamTests[] = {
4701   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4702
4703 /*
4704  *  Fix Command Arguments for Rs6000_Param
4705  */
4706 static const char* apzRs6000_ParamPatch[] = {
4707     "format",
4708     "rename(const char *_old, const char *_new)",
4709     (char*)NULL };
4710
4711 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4712  *
4713  *  Description of Sco_Math fix
4714  */
4715 tSCC zSco_MathName[] =
4716      "sco_math";
4717
4718 /*
4719  *  File name selection pattern
4720  */
4721 tSCC zSco_MathList[] =
4722   "|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|";
4723 /*
4724  *  Machine/OS name selection pattern
4725  */
4726 #define apzSco_MathMachs (const char**)NULL
4727
4728 /*
4729  *  content selection pattern - do fix if pattern found
4730  */
4731 tSCC zSco_MathSelect0[] =
4732        "inline double abs";
4733
4734 /*
4735  *  content bypass pattern - skip fix if pattern found
4736  */
4737 tSCC zSco_MathBypass0[] =
4738        "__GNUG__";
4739
4740 #define    SCO_MATH_TEST_CT  2
4741 static tTestDesc aSco_MathTests[] = {
4742   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4743   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4744
4745 /*
4746  *  Fix Command Arguments for Sco_Math
4747  */
4748 static const char* apzSco_MathPatch[] = { "sed",
4749     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4750 #ifndef __GNUC__\n",
4751     "-e", "/.*__builtin_generic/a\\\n\
4752 #else\\\n\
4753 #define __fp_class(a) \\\\\\\n\
4754   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4755    __fpclassifyl(a), \\\\\\\n\
4756     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4757       __fpclassifyf(a),__fpclassify(a)))\\\n\
4758 #endif",
4759     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4760 #ifndef __GNUC__\n",
4761     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4762 #endif /* ! __GNUC__ */",
4763     (char*)NULL };
4764
4765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4766  *
4767  *  Description of Sco_Regset fix
4768  */
4769 tSCC zSco_RegsetName[] =
4770      "sco_regset";
4771
4772 /*
4773  *  File name selection pattern
4774  */
4775 tSCC zSco_RegsetList[] =
4776   "|sys/regset.h|";
4777 /*
4778  *  Machine/OS name selection pattern
4779  */
4780 tSCC* apzSco_RegsetMachs[] = {
4781         "*-*-sco3.2v5*",
4782         (const char*)NULL };
4783
4784 /*
4785  *  content selection pattern - do fix if pattern found
4786  */
4787 tSCC zSco_RegsetSelect0[] =
4788        "(struct[ \t]+.*)fpstate";
4789
4790 #define    SCO_REGSET_TEST_CT  1
4791 static tTestDesc aSco_RegsetTests[] = {
4792   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4793
4794 /*
4795  *  Fix Command Arguments for Sco_Regset
4796  */
4797 static const char* apzSco_RegsetPatch[] = {
4798     "format",
4799     "%1rsfpstate",
4800     (char*)NULL };
4801
4802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4803  *
4804  *  Description of Sco_Static_Func fix
4805  */
4806 tSCC zSco_Static_FuncName[] =
4807      "sco_static_func";
4808
4809 /*
4810  *  File name selection pattern
4811  */
4812 tSCC zSco_Static_FuncList[] =
4813   "|sys/stat.h|";
4814 /*
4815  *  Machine/OS name selection pattern
4816  */
4817 tSCC* apzSco_Static_FuncMachs[] = {
4818         "i?86-*-sco3.2*",
4819         (const char*)NULL };
4820
4821 /*
4822  *  content selection pattern - do fix if pattern found
4823  */
4824 tSCC zSco_Static_FuncSelect0[] =
4825        "^static int";
4826
4827 #define    SCO_STATIC_FUNC_TEST_CT  1
4828 static tTestDesc aSco_Static_FuncTests[] = {
4829   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4830
4831 /*
4832  *  Fix Command Arguments for Sco_Static_Func
4833  */
4834 static const char* apzSco_Static_FuncPatch[] = { "sed",
4835     "-e", "/^static int/i\\\n\
4836 #if __cplusplus\\\n\
4837 extern \"C\" {\\\n\
4838 #endif /* __cplusplus */",
4839     "-e", "/^}$/a\\\n\
4840 #if __cplusplus\\\n\
4841  }\\\n\
4842 #endif /* __cplusplus */",
4843     (char*)NULL };
4844
4845 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4846  *
4847  *  Description of Sco_Utime fix
4848  */
4849 tSCC zSco_UtimeName[] =
4850      "sco_utime";
4851
4852 /*
4853  *  File name selection pattern
4854  */
4855 tSCC zSco_UtimeList[] =
4856   "|sys/times.h|";
4857 /*
4858  *  Machine/OS name selection pattern
4859  */
4860 tSCC* apzSco_UtimeMachs[] = {
4861         "i?86-*-sco3.2v4*",
4862         (const char*)NULL };
4863
4864 /*
4865  *  content selection pattern - do fix if pattern found
4866  */
4867 tSCC zSco_UtimeSelect0[] =
4868        "\\(const char \\*, struct utimbuf \\*\\);";
4869
4870 #define    SCO_UTIME_TEST_CT  1
4871 static tTestDesc aSco_UtimeTests[] = {
4872   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4873
4874 /*
4875  *  Fix Command Arguments for Sco_Utime
4876  */
4877 static const char* apzSco_UtimePatch[] = {
4878     "format",
4879     "(const char *, const struct utimbuf *);",
4880     (char*)NULL };
4881
4882 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4883  *
4884  *  Description of Solaris_Math_1 fix
4885  */
4886 tSCC zSolaris_Math_1Name[] =
4887      "solaris_math_1";
4888
4889 /*
4890  *  File name selection pattern
4891  */
4892 tSCC zSolaris_Math_1List[] =
4893   "|iso/math_c99.h|";
4894 /*
4895  *  Machine/OS name selection pattern
4896  */
4897 #define apzSolaris_Math_1Machs (const char**)NULL
4898
4899 /*
4900  *  content selection pattern - do fix if pattern found
4901  */
4902 tSCC zSolaris_Math_1Select0[] =
4903        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4904
4905 /*
4906  *  content bypass pattern - skip fix if pattern found
4907  */
4908 tSCC zSolaris_Math_1Bypass0[] =
4909        "__GNUC__";
4910
4911 #define    SOLARIS_MATH_1_TEST_CT  2
4912 static tTestDesc aSolaris_Math_1Tests[] = {
4913   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
4914   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
4915
4916 /*
4917  *  Fix Command Arguments for Solaris_Math_1
4918  */
4919 static const char* apzSolaris_Math_1Patch[] = {
4920     "format",
4921     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
4922     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
4923     (char*)NULL };
4924
4925 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4926  *
4927  *  Description of Solaris_Math_2 fix
4928  */
4929 tSCC zSolaris_Math_2Name[] =
4930      "solaris_math_2";
4931
4932 /*
4933  *  File name selection pattern
4934  */
4935 tSCC zSolaris_Math_2List[] =
4936   "|iso/math_c99.h|";
4937 /*
4938  *  Machine/OS name selection pattern
4939  */
4940 #define apzSolaris_Math_2Machs (const char**)NULL
4941
4942 /*
4943  *  content selection pattern - do fix if pattern found
4944  */
4945 tSCC zSolaris_Math_2Select0[] =
4946        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4947
4948 /*
4949  *  content bypass pattern - skip fix if pattern found
4950  */
4951 tSCC zSolaris_Math_2Bypass0[] =
4952        "__GNUC__";
4953
4954 #define    SOLARIS_MATH_2_TEST_CT  2
4955 static tTestDesc aSolaris_Math_2Tests[] = {
4956   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
4957   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
4958
4959 /*
4960  *  Fix Command Arguments for Solaris_Math_2
4961  */
4962 static const char* apzSolaris_Math_2Patch[] = {
4963     "format",
4964     "#define\tINFINITY\t(__builtin_inff())",
4965     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
4966     (char*)NULL };
4967
4968 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4969  *
4970  *  Description of Solaris_Math_3 fix
4971  */
4972 tSCC zSolaris_Math_3Name[] =
4973      "solaris_math_3";
4974
4975 /*
4976  *  File name selection pattern
4977  */
4978 tSCC zSolaris_Math_3List[] =
4979   "|iso/math_c99.h|";
4980 /*
4981  *  Machine/OS name selection pattern
4982  */
4983 #define apzSolaris_Math_3Machs (const char**)NULL
4984
4985 /*
4986  *  content selection pattern - do fix if pattern found
4987  */
4988 tSCC zSolaris_Math_3Select0[] =
4989        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4990
4991 /*
4992  *  content bypass pattern - skip fix if pattern found
4993  */
4994 tSCC zSolaris_Math_3Bypass0[] =
4995        "__GNUC__";
4996
4997 #define    SOLARIS_MATH_3_TEST_CT  2
4998 static tTestDesc aSolaris_Math_3Tests[] = {
4999   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
5000   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
5001
5002 /*
5003  *  Fix Command Arguments for Solaris_Math_3
5004  */
5005 static const char* apzSolaris_Math_3Patch[] = {
5006     "format",
5007     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
5008     "^#define[ \t]+NAN[ \t]+__builtin_nan",
5009     (char*)NULL };
5010
5011 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5012  *
5013  *  Description of Solaris_Math_4 fix
5014  */
5015 tSCC zSolaris_Math_4Name[] =
5016      "solaris_math_4";
5017
5018 /*
5019  *  File name selection pattern
5020  */
5021 tSCC zSolaris_Math_4List[] =
5022   "|iso/math_c99.h|";
5023 /*
5024  *  Machine/OS name selection pattern
5025  */
5026 #define apzSolaris_Math_4Machs (const char**)NULL
5027
5028 /*
5029  *  content selection pattern - do fix if pattern found
5030  */
5031 tSCC zSolaris_Math_4Select0[] =
5032        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5033
5034 /*
5035  *  content bypass pattern - skip fix if pattern found
5036  */
5037 tSCC zSolaris_Math_4Bypass0[] =
5038        "__GNUC__";
5039
5040 #define    SOLARIS_MATH_4_TEST_CT  2
5041 static tTestDesc aSolaris_Math_4Tests[] = {
5042   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
5043   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
5044
5045 /*
5046  *  Fix Command Arguments for Solaris_Math_4
5047  */
5048 static const char* apzSolaris_Math_4Patch[] = {
5049     "format",
5050     "#define\tfpclassify(x) \\\n\
5051   __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
5052 \t\t   isnan(__x_fp) \\\n\
5053 \t\t     ? FP_NAN \\\n\
5054 \t\t     : isinf(__x_fp) \\\n\
5055 \t\t       ? FP_INFINITE \\\n\
5056 \t\t       : isnormal(__x_fp) \\\n\
5057 \t\t\t ? FP_NORMAL \\\n\
5058 \t\t\t : __x_fp == 0.0 \\\n\
5059 \t\t\t   ? FP_ZERO \\\n\
5060 \t\t\t   : FP_SUBNORMAL; })",
5061     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
5062     (char*)NULL };
5063
5064 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5065  *
5066  *  Description of Solaris_Math_5 fix
5067  */
5068 tSCC zSolaris_Math_5Name[] =
5069      "solaris_math_5";
5070
5071 /*
5072  *  File name selection pattern
5073  */
5074 tSCC zSolaris_Math_5List[] =
5075   "|iso/math_c99.h|";
5076 /*
5077  *  Machine/OS name selection pattern
5078  */
5079 #define apzSolaris_Math_5Machs (const char**)NULL
5080
5081 /*
5082  *  content selection pattern - do fix if pattern found
5083  */
5084 tSCC zSolaris_Math_5Select0[] =
5085        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5086
5087 /*
5088  *  content bypass pattern - skip fix if pattern found
5089  */
5090 tSCC zSolaris_Math_5Bypass0[] =
5091        "__GNUC__";
5092
5093 #define    SOLARIS_MATH_5_TEST_CT  2
5094 static tTestDesc aSolaris_Math_5Tests[] = {
5095   { TT_NEGREP,   zSolaris_Math_5Bypass0, (regex_t*)NULL },
5096   { TT_EGREP,    zSolaris_Math_5Select0, (regex_t*)NULL }, };
5097
5098 /*
5099  *  Fix Command Arguments for Solaris_Math_5
5100  */
5101 static const char* apzSolaris_Math_5Patch[] = {
5102     "format",
5103     "#define\tisfinite(x) \\\n\
5104   __extension__ ({ __typeof (x) __x_f = (x); \\\n\
5105 \t\t   __builtin_expect(!isnan(__x_f - __x_f), 1); })",
5106     "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
5107     (char*)NULL };
5108
5109 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5110  *
5111  *  Description of Solaris_Math_6 fix
5112  */
5113 tSCC zSolaris_Math_6Name[] =
5114      "solaris_math_6";
5115
5116 /*
5117  *  File name selection pattern
5118  */
5119 tSCC zSolaris_Math_6List[] =
5120   "|iso/math_c99.h|";
5121 /*
5122  *  Machine/OS name selection pattern
5123  */
5124 #define apzSolaris_Math_6Machs (const char**)NULL
5125
5126 /*
5127  *  content selection pattern - do fix if pattern found
5128  */
5129 tSCC zSolaris_Math_6Select0[] =
5130        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5131
5132 /*
5133  *  content bypass pattern - skip fix if pattern found
5134  */
5135 tSCC zSolaris_Math_6Bypass0[] =
5136        "__GNUC__";
5137
5138 #define    SOLARIS_MATH_6_TEST_CT  2
5139 static tTestDesc aSolaris_Math_6Tests[] = {
5140   { TT_NEGREP,   zSolaris_Math_6Bypass0, (regex_t*)NULL },
5141   { TT_EGREP,    zSolaris_Math_6Select0, (regex_t*)NULL }, };
5142
5143 /*
5144  *  Fix Command Arguments for Solaris_Math_6
5145  */
5146 static const char* apzSolaris_Math_6Patch[] = {
5147     "format",
5148     "#define\tisinf(x) \\\n\
5149   __extension__ ({ __typeof (x) __x_i = (x); \\\n\
5150 \t\t   __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
5151     "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
5152     (char*)NULL };
5153
5154 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5155  *
5156  *  Description of Solaris_Math_7 fix
5157  */
5158 tSCC zSolaris_Math_7Name[] =
5159      "solaris_math_7";
5160
5161 /*
5162  *  File name selection pattern
5163  */
5164 tSCC zSolaris_Math_7List[] =
5165   "|iso/math_c99.h|";
5166 /*
5167  *  Machine/OS name selection pattern
5168  */
5169 #define apzSolaris_Math_7Machs (const char**)NULL
5170
5171 /*
5172  *  content selection pattern - do fix if pattern found
5173  */
5174 tSCC zSolaris_Math_7Select0[] =
5175        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5176
5177 /*
5178  *  content bypass pattern - skip fix if pattern found
5179  */
5180 tSCC zSolaris_Math_7Bypass0[] =
5181        "__GNUC__";
5182
5183 #define    SOLARIS_MATH_7_TEST_CT  2
5184 static tTestDesc aSolaris_Math_7Tests[] = {
5185   { TT_NEGREP,   zSolaris_Math_7Bypass0, (regex_t*)NULL },
5186   { TT_EGREP,    zSolaris_Math_7Select0, (regex_t*)NULL }, };
5187
5188 /*
5189  *  Fix Command Arguments for Solaris_Math_7
5190  */
5191 static const char* apzSolaris_Math_7Patch[] = {
5192     "format",
5193     "#define\tisnormal(x) \\\n\
5194   __extension__ ({ __typeof(x) __x_n = (x); \\\n\
5195 \t\t   if (__x_n < 0.0) __x_n = -__x_n; \\\n\
5196 \t\t   __builtin_expect(isfinite(__x_n) \\\n\
5197 \t\t\t\t    && (sizeof(__x_n) == sizeof(float) \\\n\
5198 \t\t\t\t\t  ? __x_n >= __FLT_MIN__ \\\n\
5199 \t\t\t\t\t  : sizeof(__x_n) == sizeof(long double) \\\n\
5200 \t\t\t\t\t    ? __x_n >= __LDBL_MIN__ \\\n\
5201 \t\t\t\t\t    : __x_n >= __DBL_MIN__), 1); })",
5202     "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
5203     (char*)NULL };
5204
5205 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5206  *
5207  *  Description of Solaris_Math_8 fix
5208  */
5209 tSCC zSolaris_Math_8Name[] =
5210      "solaris_math_8";
5211
5212 /*
5213  *  File name selection pattern
5214  */
5215 tSCC zSolaris_Math_8List[] =
5216   "|iso/math_c99.h|";
5217 /*
5218  *  Machine/OS name selection pattern
5219  */
5220 #define apzSolaris_Math_8Machs (const char**)NULL
5221
5222 /*
5223  *  content selection pattern - do fix if pattern found
5224  */
5225 tSCC zSolaris_Math_8Select0[] =
5226        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5227
5228 /*
5229  *  content bypass pattern - skip fix if pattern found
5230  */
5231 tSCC zSolaris_Math_8Bypass0[] =
5232        "__GNUC__";
5233
5234 #define    SOLARIS_MATH_8_TEST_CT  2
5235 static tTestDesc aSolaris_Math_8Tests[] = {
5236   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
5237   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
5238
5239 /*
5240  *  Fix Command Arguments for Solaris_Math_8
5241  */
5242 static const char* apzSolaris_Math_8Patch[] = {
5243     "format",
5244     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
5245 \t\t\t   ? __builtin_signbitf(x) \\\n\
5246 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
5247 \t\t\t     ? __builtin_signbitl(x) \\\n\
5248 \t\t\t     : __builtin_signbit(x))",
5249     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
5250     (char*)NULL };
5251
5252 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5253  *
5254  *  Description of Solaris_Math_9 fix
5255  */
5256 tSCC zSolaris_Math_9Name[] =
5257      "solaris_math_9";
5258
5259 /*
5260  *  File name selection pattern
5261  */
5262 tSCC zSolaris_Math_9List[] =
5263   "|iso/math_c99.h|";
5264 /*
5265  *  Machine/OS name selection pattern
5266  */
5267 #define apzSolaris_Math_9Machs (const char**)NULL
5268
5269 /*
5270  *  content selection pattern - do fix if pattern found
5271  */
5272 tSCC zSolaris_Math_9Select0[] =
5273        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5274
5275 /*
5276  *  content bypass pattern - skip fix if pattern found
5277  */
5278 tSCC zSolaris_Math_9Bypass0[] =
5279        "__GNUC__";
5280
5281 #define    SOLARIS_MATH_9_TEST_CT  2
5282 static tTestDesc aSolaris_Math_9Tests[] = {
5283   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
5284   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
5285
5286 /*
5287  *  Fix Command Arguments for Solaris_Math_9
5288  */
5289 static const char* apzSolaris_Math_9Patch[] = {
5290     "format",
5291     "#define\t%1(x, y)%2__builtin_%1(x, y)",
5292     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
5293     (char*)NULL };
5294
5295 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5296  *
5297  *  Description of Solaris_Mutex_Init_1 fix
5298  */
5299 tSCC zSolaris_Mutex_Init_1Name[] =
5300      "solaris_mutex_init_1";
5301
5302 /*
5303  *  File name selection pattern
5304  */
5305 tSCC zSolaris_Mutex_Init_1List[] =
5306   "|pthread.h|";
5307 /*
5308  *  Machine/OS name selection pattern
5309  */
5310 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
5311
5312 /*
5313  *  content selection pattern - do fix if pattern found
5314  */
5315 tSCC zSolaris_Mutex_Init_1Select0[] =
5316        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
5317
5318 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
5319 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
5320   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
5321
5322 /*
5323  *  Fix Command Arguments for Solaris_Mutex_Init_1
5324  */
5325 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
5326     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
5327 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
5328     (char*)NULL };
5329
5330 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5331  *
5332  *  Description of Solaris_Mutex_Init_2 fix
5333  */
5334 tSCC zSolaris_Mutex_Init_2Name[] =
5335      "solaris_mutex_init_2";
5336
5337 /*
5338  *  File name selection pattern
5339  */
5340 tSCC zSolaris_Mutex_Init_2List[] =
5341   "|pthread.h|";
5342 /*
5343  *  Machine/OS name selection pattern
5344  */
5345 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
5346
5347 /*
5348  *  content selection pattern - do fix if pattern found
5349  */
5350 tSCC zSolaris_Mutex_Init_2Select0[] =
5351        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5352
5353 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
5354 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
5355   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
5356
5357 /*
5358  *  Fix Command Arguments for Solaris_Mutex_Init_2
5359  */
5360 static const char* apzSolaris_Mutex_Init_2Patch[] = {
5361     "format",
5362     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5363 %0\n\
5364 #else\n\
5365 %1, {0}}%3\n\
5366 #endif",
5367     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
5368     (char*)NULL };
5369
5370 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5371  *
5372  *  Description of Solaris_Socket fix
5373  */
5374 tSCC zSolaris_SocketName[] =
5375      "solaris_socket";
5376
5377 /*
5378  *  File name selection pattern
5379  */
5380 tSCC zSolaris_SocketList[] =
5381   "|sys/socket.h|";
5382 /*
5383  *  Machine/OS name selection pattern
5384  */
5385 #define apzSolaris_SocketMachs (const char**)NULL
5386
5387 /*
5388  *  content selection pattern - do fix if pattern found
5389  */
5390 tSCC zSolaris_SocketSelect0[] =
5391        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
5392
5393 #define    SOLARIS_SOCKET_TEST_CT  1
5394 static tTestDesc aSolaris_SocketTests[] = {
5395   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
5396
5397 /*
5398  *  Fix Command Arguments for Solaris_Socket
5399  */
5400 static const char* apzSolaris_SocketPatch[] = {
5401     "format",
5402     "extern int %1(int, %2void *, int, int);",
5403     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
5404     (char*)NULL };
5405
5406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5407  *
5408  *  Description of Solaris_Stdio_Tag fix
5409  */
5410 tSCC zSolaris_Stdio_TagName[] =
5411      "solaris_stdio_tag";
5412
5413 /*
5414  *  File name selection pattern
5415  */
5416 tSCC zSolaris_Stdio_TagList[] =
5417   "|stdio_tag.h|";
5418 /*
5419  *  Machine/OS name selection pattern
5420  */
5421 #define apzSolaris_Stdio_TagMachs (const char**)NULL
5422
5423 /*
5424  *  content selection pattern - do fix if pattern found
5425  */
5426 tSCC zSolaris_Stdio_TagSelect0[] =
5427        "__cplusplus < 54321L";
5428
5429 /*
5430  *  content bypass pattern - skip fix if pattern found
5431  */
5432 tSCC zSolaris_Stdio_TagBypass0[] =
5433        "__GNUC__";
5434
5435 #define    SOLARIS_STDIO_TAG_TEST_CT  2
5436 static tTestDesc aSolaris_Stdio_TagTests[] = {
5437   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
5438   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
5439
5440 /*
5441  *  Fix Command Arguments for Solaris_Stdio_Tag
5442  */
5443 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
5444     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
5445     (char*)NULL };
5446
5447 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5448  *
5449  *  Description of Solaris_Unistd fix
5450  */
5451 tSCC zSolaris_UnistdName[] =
5452      "solaris_unistd";
5453
5454 /*
5455  *  File name selection pattern
5456  */
5457 tSCC zSolaris_UnistdList[] =
5458   "|unistd.h|";
5459 /*
5460  *  Machine/OS name selection pattern
5461  */
5462 #define apzSolaris_UnistdMachs (const char**)NULL
5463
5464 /*
5465  *  content selection pattern - do fix if pattern found
5466  */
5467 tSCC zSolaris_UnistdSelect0[] =
5468        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
5469
5470 /*
5471  *  content bypass pattern - skip fix if pattern found
5472  */
5473 tSCC zSolaris_UnistdBypass0[] =
5474        "getpagesize";
5475
5476 #define    SOLARIS_UNISTD_TEST_CT  2
5477 static tTestDesc aSolaris_UnistdTests[] = {
5478   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
5479   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
5480
5481 /*
5482  *  Fix Command Arguments for Solaris_Unistd
5483  */
5484 static const char* apzSolaris_UnistdPatch[] = {
5485     "format",
5486     "extern int getpagesize();\n\
5487 %0",
5488     "^extern (pid_t|int) getpgid\\(.*\\);",
5489     (char*)NULL };
5490
5491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5492  *
5493  *  Description of Solaris_Widec fix
5494  */
5495 tSCC zSolaris_WidecName[] =
5496      "solaris_widec";
5497
5498 /*
5499  *  File name selection pattern
5500  */
5501 tSCC zSolaris_WidecList[] =
5502   "|widec.h|";
5503 /*
5504  *  Machine/OS name selection pattern
5505  */
5506 tSCC* apzSolaris_WidecMachs[] = {
5507         "*-*-solaris2.[0-5]",
5508         "*-*-solaris2.[0-5].*",
5509         (const char*)NULL };
5510
5511 /*
5512  *  content selection pattern - do fix if pattern found
5513  */
5514 tSCC zSolaris_WidecSelect0[] =
5515        "#include <euc.h>";
5516
5517 /*
5518  *  content bypass pattern - skip fix if pattern found
5519  */
5520 tSCC zSolaris_WidecBypass0[] =
5521        "include.*wchar\\.h";
5522
5523 #define    SOLARIS_WIDEC_TEST_CT  2
5524 static tTestDesc aSolaris_WidecTests[] = {
5525   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
5526   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
5527
5528 /*
5529  *  Fix Command Arguments for Solaris_Widec
5530  */
5531 static const char* apzSolaris_WidecPatch[] = {
5532     "format",
5533     "%0\n\
5534 #include <wchar.h>",
5535     (char*)NULL };
5536
5537 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5538  *
5539  *  Description of Statsswtch fix
5540  */
5541 tSCC zStatsswtchName[] =
5542      "statsswtch";
5543
5544 /*
5545  *  File name selection pattern
5546  */
5547 tSCC zStatsswtchList[] =
5548   "|rpcsvc/rstat.h|";
5549 /*
5550  *  Machine/OS name selection pattern
5551  */
5552 #define apzStatsswtchMachs (const char**)NULL
5553
5554 /*
5555  *  content selection pattern - do fix if pattern found
5556  */
5557 tSCC zStatsswtchSelect0[] =
5558        "boottime$";
5559
5560 #define    STATSSWTCH_TEST_CT  1
5561 static tTestDesc aStatsswtchTests[] = {
5562   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
5563
5564 /*
5565  *  Fix Command Arguments for Statsswtch
5566  */
5567 static const char* apzStatsswtchPatch[] = {
5568     "format",
5569     "boottime;",
5570     (char*)NULL };
5571
5572 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5573  *
5574  *  Description of Stdio_Stdarg_H fix
5575  */
5576 tSCC zStdio_Stdarg_HName[] =
5577      "stdio_stdarg_h";
5578
5579 /*
5580  *  File name selection pattern
5581  */
5582 tSCC zStdio_Stdarg_HList[] =
5583   "|stdio.h|";
5584 /*
5585  *  Machine/OS name selection pattern
5586  */
5587 tSCC* apzStdio_Stdarg_HMachs[] = {
5588         "*-*-solaris2.1[0-9]*",
5589         (const char*)NULL };
5590
5591 /*
5592  *  content bypass pattern - skip fix if pattern found
5593  */
5594 tSCC zStdio_Stdarg_HBypass0[] =
5595        "include.*(stdarg.h|machine/ansi.h)";
5596
5597 #define    STDIO_STDARG_H_TEST_CT  1
5598 static tTestDesc aStdio_Stdarg_HTests[] = {
5599   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
5600
5601 /*
5602  *  Fix Command Arguments for Stdio_Stdarg_H
5603  */
5604 static const char* apzStdio_Stdarg_HPatch[] = {
5605     "wrap",
5606     "#define __need___va_list\n\
5607 #include <stdarg.h>\n",
5608     (char*)NULL };
5609
5610 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5611  *
5612  *  Description of Stdio_Va_List fix
5613  */
5614 tSCC zStdio_Va_ListName[] =
5615      "stdio_va_list";
5616
5617 /*
5618  *  File name selection pattern
5619  */
5620 tSCC zStdio_Va_ListList[] =
5621   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
5622 /*
5623  *  Machine/OS name selection pattern
5624  */
5625 tSCC* apzStdio_Va_ListMachs[] = {
5626         "*-*-solaris2.1[0-9]*",
5627         (const char*)NULL };
5628
5629 /*
5630  *  content bypass pattern - skip fix if pattern found
5631  */
5632 tSCC zStdio_Va_ListBypass0[] =
5633        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5634
5635 #define    STDIO_VA_LIST_TEST_CT  1
5636 static tTestDesc aStdio_Va_ListTests[] = {
5637   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
5638
5639 /*
5640  *  Fix Command Arguments for Stdio_Va_List
5641  */
5642 static const char* apzStdio_Va_ListPatch[] = { "sed",
5643     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5644 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5645 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5646 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5647 s@ va_list@ __not_va_list__@\n\
5648 s@\\*va_list@*__not_va_list__@\n\
5649 s@ __va_list)@ __gnuc_va_list)@\n\
5650 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5651 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5652 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5653 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5654 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5655 s@VA_LIST@DUMMY_VA_LIST@\n\
5656 s@_Va_LIST@_VA_LIST@",
5657     (char*)NULL };
5658
5659 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5660  *
5661  *  Description of Stdio_Va_List_Clients fix
5662  */
5663 tSCC zStdio_Va_List_ClientsName[] =
5664      "stdio_va_list_clients";
5665
5666 /*
5667  *  File name selection pattern
5668  */
5669 tSCC zStdio_Va_List_ClientsList[] =
5670   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
5671 /*
5672  *  Machine/OS name selection pattern
5673  */
5674 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
5675
5676 /*
5677  *  content bypass pattern - skip fix if pattern found
5678  */
5679 tSCC zStdio_Va_List_ClientsBypass0[] =
5680        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5681 tSCC zStdio_Va_List_ClientsBypass1[] =
5682        "include <stdarg\\.h>|#ifdef va_start";
5683
5684 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
5685 static tTestDesc aStdio_Va_List_ClientsTests[] = {
5686   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
5687   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
5688
5689 /*
5690  *  Fix Command Arguments for Stdio_Va_List_Clients
5691  */
5692 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
5693     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5694 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5695 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5696 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5697 s@ va_list@ __not_va_list__@\n\
5698 s@\\*va_list@*__not_va_list__@\n\
5699 s@ __va_list)@ __gnuc_va_list)@\n\
5700 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5701 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5702 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5703 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5704 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5705 s@VA_LIST@DUMMY_VA_LIST@\n\
5706 s@_Va_LIST@_VA_LIST@",
5707     (char*)NULL };
5708
5709 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5710  *
5711  *  Description of Strict_Ansi_Not fix
5712  */
5713 tSCC zStrict_Ansi_NotName[] =
5714      "strict_ansi_not";
5715
5716 /*
5717  *  File name selection pattern
5718  */
5719 #define zStrict_Ansi_NotList (char*)NULL
5720 /*
5721  *  Machine/OS name selection pattern
5722  */
5723 #define apzStrict_Ansi_NotMachs (const char**)NULL
5724
5725 /*
5726  *  content selection pattern - do fix if pattern found
5727  */
5728 tSCC zStrict_Ansi_NotSelect0[] =
5729        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5730
5731 /*
5732  *  content bypass pattern - skip fix if pattern found
5733  */
5734 tSCC zStrict_Ansi_NotBypass0[] =
5735        "GNU and MIPS C compilers define __STDC__ differently";
5736 tSCC zStrict_Ansi_NotBypass1[] =
5737        "__SCO_VERSION__.*__STDC__ != 1";
5738
5739 /*
5740  *  perform the C function call test
5741  */
5742 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5743
5744 #define    STRICT_ANSI_NOT_TEST_CT  4
5745 static tTestDesc aStrict_Ansi_NotTests[] = {
5746   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
5747   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5748   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5749   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5750
5751 /*
5752  *  Fix Command Arguments for Strict_Ansi_Not
5753  */
5754 static const char* apzStrict_Ansi_NotPatch[] = {
5755     "format",
5756     "%1 !defined(__STRICT_ANSI__)",
5757     (char*)NULL };
5758
5759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5760  *
5761  *  Description of Strict_Ansi_Not_Ctd fix
5762  */
5763 tSCC zStrict_Ansi_Not_CtdName[] =
5764      "strict_ansi_not_ctd";
5765
5766 /*
5767  *  File name selection pattern
5768  */
5769 tSCC zStrict_Ansi_Not_CtdList[] =
5770   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5771 /*
5772  *  Machine/OS name selection pattern
5773  */
5774 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5775
5776 /*
5777  *  content selection pattern - do fix if pattern found
5778  */
5779 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5780        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5781
5782 /*
5783  *  perform the C function call test
5784  */
5785 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5786
5787 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
5788 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5789   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
5790   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5791
5792 /*
5793  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
5794  */
5795 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5796     "format",
5797     "%1 !defined(__STRICT_ANSI__)",
5798     (char*)NULL };
5799
5800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5801  *
5802  *  Description of Strict_Ansi_Only fix
5803  */
5804 tSCC zStrict_Ansi_OnlyName[] =
5805      "strict_ansi_only";
5806
5807 /*
5808  *  File name selection pattern
5809  */
5810 #define zStrict_Ansi_OnlyList (char*)NULL
5811 /*
5812  *  Machine/OS name selection pattern
5813  */
5814 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5815
5816 /*
5817  *  content selection pattern - do fix if pattern found
5818  */
5819 tSCC zStrict_Ansi_OnlySelect0[] =
5820        "^([ \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)";
5821
5822 /*
5823  *  perform the C function call test
5824  */
5825 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5826
5827 #define    STRICT_ANSI_ONLY_TEST_CT  2
5828 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5829   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
5830   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5831
5832 /*
5833  *  Fix Command Arguments for Strict_Ansi_Only
5834  */
5835 static const char* apzStrict_Ansi_OnlyPatch[] = {
5836     "format",
5837     "%1 defined(__STRICT_ANSI__)",
5838     (char*)NULL };
5839
5840 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5841  *
5842  *  Description of Struct_File fix
5843  */
5844 tSCC zStruct_FileName[] =
5845      "struct_file";
5846
5847 /*
5848  *  File name selection pattern
5849  */
5850 tSCC zStruct_FileList[] =
5851   "|rpc/xdr.h|";
5852 /*
5853  *  Machine/OS name selection pattern
5854  */
5855 #define apzStruct_FileMachs (const char**)NULL
5856
5857 /*
5858  *  content selection pattern - do fix if pattern found
5859  */
5860 tSCC zStruct_FileSelect0[] =
5861        "^.*xdrstdio_create.*struct __file_s";
5862
5863 #define    STRUCT_FILE_TEST_CT  1
5864 static tTestDesc aStruct_FileTests[] = {
5865   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
5866
5867 /*
5868  *  Fix Command Arguments for Struct_File
5869  */
5870 static const char* apzStruct_FilePatch[] = {
5871     "format",
5872     "struct __file_s;\n\
5873 %0",
5874     (char*)NULL };
5875
5876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5877  *
5878  *  Description of Struct_Sockaddr fix
5879  */
5880 tSCC zStruct_SockaddrName[] =
5881      "struct_sockaddr";
5882
5883 /*
5884  *  File name selection pattern
5885  */
5886 tSCC zStruct_SockaddrList[] =
5887   "|rpc/auth.h|";
5888 /*
5889  *  Machine/OS name selection pattern
5890  */
5891 #define apzStruct_SockaddrMachs (const char**)NULL
5892
5893 /*
5894  *  content selection pattern - do fix if pattern found
5895  */
5896 tSCC zStruct_SockaddrSelect0[] =
5897        "^.*authdes_create.*struct sockaddr[^_]";
5898
5899 /*
5900  *  content bypass pattern - skip fix if pattern found
5901  */
5902 tSCC zStruct_SockaddrBypass0[] =
5903        "<sys/socket.h>";
5904 tSCC zStruct_SockaddrBypass1[] =
5905        "struct sockaddr;\n";
5906
5907 #define    STRUCT_SOCKADDR_TEST_CT  3
5908 static tTestDesc aStruct_SockaddrTests[] = {
5909   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
5910   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
5911   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5912
5913 /*
5914  *  Fix Command Arguments for Struct_Sockaddr
5915  */
5916 static const char* apzStruct_SockaddrPatch[] = {
5917     "format",
5918     "struct sockaddr;\n\
5919 %0",
5920     (char*)NULL };
5921
5922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5923  *
5924  *  Description of Sun_Auth_Proto fix
5925  */
5926 tSCC zSun_Auth_ProtoName[] =
5927      "sun_auth_proto";
5928
5929 /*
5930  *  File name selection pattern
5931  */
5932 tSCC zSun_Auth_ProtoList[] =
5933   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5934 /*
5935  *  Machine/OS name selection pattern
5936  */
5937 #define apzSun_Auth_ProtoMachs (const char**)NULL
5938
5939 /*
5940  *  content selection pattern - do fix if pattern found
5941  */
5942 tSCC zSun_Auth_ProtoSelect0[] =
5943        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5944
5945 /*
5946  *  content bypass pattern - skip fix if pattern found
5947  */
5948 tSCC zSun_Auth_ProtoBypass0[] =
5949        "__cplusplus";
5950
5951 #define    SUN_AUTH_PROTO_TEST_CT  2
5952 static tTestDesc aSun_Auth_ProtoTests[] = {
5953   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
5954   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
5955
5956 /*
5957  *  Fix Command Arguments for Sun_Auth_Proto
5958  */
5959 static const char* apzSun_Auth_ProtoPatch[] = {
5960     "format",
5961     "#ifdef __cplusplus\n\
5962 %1(...);%2\n\
5963 #else\n\
5964 %1();%2\n\
5965 #endif",
5966     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
5967     (char*)NULL };
5968
5969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5970  *
5971  *  Description of Sun_Bogus_Ifdef fix
5972  */
5973 tSCC zSun_Bogus_IfdefName[] =
5974      "sun_bogus_ifdef";
5975
5976 /*
5977  *  File name selection pattern
5978  */
5979 tSCC zSun_Bogus_IfdefList[] =
5980   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
5981 /*
5982  *  Machine/OS name selection pattern
5983  */
5984 #define apzSun_Bogus_IfdefMachs (const char**)NULL
5985
5986 /*
5987  *  content selection pattern - do fix if pattern found
5988  */
5989 tSCC zSun_Bogus_IfdefSelect0[] =
5990        "#ifdef(.*\\|\\|.*)";
5991
5992 #define    SUN_BOGUS_IFDEF_TEST_CT  1
5993 static tTestDesc aSun_Bogus_IfdefTests[] = {
5994   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
5995
5996 /*
5997  *  Fix Command Arguments for Sun_Bogus_Ifdef
5998  */
5999 static const char* apzSun_Bogus_IfdefPatch[] = {
6000     "format",
6001     "#if%1",
6002     (char*)NULL };
6003
6004 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6005  *
6006  *  Description of Sun_Catmacro fix
6007  */
6008 tSCC zSun_CatmacroName[] =
6009      "sun_catmacro";
6010
6011 /*
6012  *  File name selection pattern
6013  */
6014 tSCC zSun_CatmacroList[] =
6015   "|pixrect/memvar.h|";
6016 /*
6017  *  Machine/OS name selection pattern
6018  */
6019 #define apzSun_CatmacroMachs (const char**)NULL
6020
6021 /*
6022  *  content selection pattern - do fix if pattern found
6023  */
6024 tSCC zSun_CatmacroSelect0[] =
6025        "^#define[ \t]+CAT\\(a,b\\).*";
6026
6027 #define    SUN_CATMACRO_TEST_CT  1
6028 static tTestDesc aSun_CatmacroTests[] = {
6029   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
6030
6031 /*
6032  *  Fix Command Arguments for Sun_Catmacro
6033  */
6034 static const char* apzSun_CatmacroPatch[] = {
6035     "format",
6036     "#ifdef __STDC__\n\
6037 #  define CAT(a,b) a##b\n\
6038 #else\n\
6039 %0\n\
6040 #endif",
6041     (char*)NULL };
6042
6043 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6044  *
6045  *  Description of Sun_Malloc fix
6046  */
6047 tSCC zSun_MallocName[] =
6048      "sun_malloc";
6049
6050 /*
6051  *  File name selection pattern
6052  */
6053 tSCC zSun_MallocList[] =
6054   "|malloc.h|";
6055 /*
6056  *  Machine/OS name selection pattern
6057  */
6058 #define apzSun_MallocMachs (const char**)NULL
6059
6060 /*
6061  *  content bypass pattern - skip fix if pattern found
6062  */
6063 tSCC zSun_MallocBypass0[] =
6064        "_CLASSIC_ANSI_TYPES";
6065
6066 #define    SUN_MALLOC_TEST_CT  1
6067 static tTestDesc aSun_MallocTests[] = {
6068   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
6069
6070 /*
6071  *  Fix Command Arguments for Sun_Malloc
6072  */
6073 static const char* apzSun_MallocPatch[] = { "sed",
6074     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
6075     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
6076     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
6077     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
6078     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
6079     (char*)NULL };
6080
6081 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6082  *
6083  *  Description of Sun_Rusers_Semi fix
6084  */
6085 tSCC zSun_Rusers_SemiName[] =
6086      "sun_rusers_semi";
6087
6088 /*
6089  *  File name selection pattern
6090  */
6091 tSCC zSun_Rusers_SemiList[] =
6092   "|rpcsvc/rusers.h|";
6093 /*
6094  *  Machine/OS name selection pattern
6095  */
6096 #define apzSun_Rusers_SemiMachs (const char**)NULL
6097
6098 /*
6099  *  content selection pattern - do fix if pattern found
6100  */
6101 tSCC zSun_Rusers_SemiSelect0[] =
6102        "_cnt$";
6103
6104 #define    SUN_RUSERS_SEMI_TEST_CT  1
6105 static tTestDesc aSun_Rusers_SemiTests[] = {
6106   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
6107
6108 /*
6109  *  Fix Command Arguments for Sun_Rusers_Semi
6110  */
6111 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
6112     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
6113     (char*)NULL };
6114
6115 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6116  *
6117  *  Description of Sun_Signal fix
6118  */
6119 tSCC zSun_SignalName[] =
6120      "sun_signal";
6121
6122 /*
6123  *  File name selection pattern
6124  */
6125 tSCC zSun_SignalList[] =
6126   "|sys/signal.h|signal.h|";
6127 /*
6128  *  Machine/OS name selection pattern
6129  */
6130 #define apzSun_SignalMachs (const char**)NULL
6131
6132 /*
6133  *  content selection pattern - do fix if pattern found
6134  */
6135 tSCC zSun_SignalSelect0[] =
6136        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
6137
6138 #define    SUN_SIGNAL_TEST_CT  1
6139 static tTestDesc aSun_SignalTests[] = {
6140   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
6141
6142 /*
6143  *  Fix Command Arguments for Sun_Signal
6144  */
6145 static const char* apzSun_SignalPatch[] = {
6146     "format",
6147     "#ifdef __cplusplus\n\
6148 void\t(*signal(...))(...);\n\
6149 #else\n\
6150 %0\n\
6151 #endif",
6152     (char*)NULL };
6153
6154 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6155  *
6156  *  Description of Sunos_Strlen fix
6157  */
6158 tSCC zSunos_StrlenName[] =
6159      "sunos_strlen";
6160
6161 /*
6162  *  File name selection pattern
6163  */
6164 tSCC zSunos_StrlenList[] =
6165   "|strings.h|";
6166 /*
6167  *  Machine/OS name selection pattern
6168  */
6169 #define apzSunos_StrlenMachs (const char**)NULL
6170
6171 /*
6172  *  content selection pattern - do fix if pattern found
6173  */
6174 tSCC zSunos_StrlenSelect0[] =
6175        "int[ \t]*strlen\\(\\);(.*)";
6176
6177 #define    SUNOS_STRLEN_TEST_CT  1
6178 static tTestDesc aSunos_StrlenTests[] = {
6179   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
6180
6181 /*
6182  *  Fix Command Arguments for Sunos_Strlen
6183  */
6184 static const char* apzSunos_StrlenPatch[] = {
6185     "format",
6186     "__SIZE_TYPE__ strlen();%1",
6187     (char*)NULL };
6188
6189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6190  *
6191  *  Description of Svr4_Disable_Opt fix
6192  */
6193 tSCC zSvr4_Disable_OptName[] =
6194      "svr4_disable_opt";
6195
6196 /*
6197  *  File name selection pattern
6198  */
6199 tSCC zSvr4_Disable_OptList[] =
6200   "|string.h|";
6201 /*
6202  *  Machine/OS name selection pattern
6203  */
6204 #define apzSvr4_Disable_OptMachs (const char**)NULL
6205
6206 /*
6207  *  content selection pattern - do fix if pattern found
6208  */
6209 tSCC zSvr4_Disable_OptSelect0[] =
6210        "#define.*__std_hdr_";
6211
6212 #define    SVR4_DISABLE_OPT_TEST_CT  1
6213 static tTestDesc aSvr4_Disable_OptTests[] = {
6214   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
6215
6216 /*
6217  *  Fix Command Arguments for Svr4_Disable_Opt
6218  */
6219 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
6220     "-e", "/#define.*__std_hdr_/d",
6221     (char*)NULL };
6222
6223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6224  *
6225  *  Description of Svr4_Getcwd fix
6226  */
6227 tSCC zSvr4_GetcwdName[] =
6228      "svr4_getcwd";
6229
6230 /*
6231  *  File name selection pattern
6232  */
6233 tSCC zSvr4_GetcwdList[] =
6234   "|stdlib.h|unistd.h|prototypes.h|";
6235 /*
6236  *  Machine/OS name selection pattern
6237  */
6238 #define apzSvr4_GetcwdMachs (const char**)NULL
6239
6240 /*
6241  *  content selection pattern - do fix if pattern found
6242  */
6243 tSCC zSvr4_GetcwdSelect0[] =
6244        "getcwd\\(char \\*, int\\)";
6245
6246 #define    SVR4_GETCWD_TEST_CT  1
6247 static tTestDesc aSvr4_GetcwdTests[] = {
6248   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
6249
6250 /*
6251  *  Fix Command Arguments for Svr4_Getcwd
6252  */
6253 static const char* apzSvr4_GetcwdPatch[] = {
6254     "format",
6255     "getcwd(char *, size_t)",
6256     (char*)NULL };
6257
6258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6259  *
6260  *  Description of Svr4_Krnl fix
6261  */
6262 tSCC zSvr4_KrnlName[] =
6263      "svr4_krnl";
6264
6265 /*
6266  *  File name selection pattern
6267  */
6268 tSCC zSvr4_KrnlList[] =
6269   "|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|";
6270 /*
6271  *  Machine/OS name selection pattern
6272  */
6273 tSCC* apzSvr4_KrnlMachs[] = {
6274         "*-*-sysv4*",
6275         "i?86-sequent-ptx*",
6276         (const char*)NULL };
6277
6278 /*
6279  *  content bypass pattern - skip fix if pattern found
6280  */
6281 tSCC zSvr4_KrnlBypass0[] =
6282        "_KERNEL";
6283
6284 #define    SVR4_KRNL_TEST_CT  1
6285 static tTestDesc aSvr4_KrnlTests[] = {
6286   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
6287
6288 /*
6289  *  Fix Command Arguments for Svr4_Krnl
6290  */
6291 static const char* apzSvr4_KrnlPatch[] = {
6292     "wrap",
6293     "#ifdef _KERNEL\n",
6294     "#endif /* _KERNEL */\n",
6295     (char*)NULL };
6296
6297 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6298  *
6299  *  Description of Svr4_Profil fix
6300  */
6301 tSCC zSvr4_ProfilName[] =
6302      "svr4_profil";
6303
6304 /*
6305  *  File name selection pattern
6306  */
6307 tSCC zSvr4_ProfilList[] =
6308   "|stdlib.h|unistd.h|";
6309 /*
6310  *  Machine/OS name selection pattern
6311  */
6312 #define apzSvr4_ProfilMachs (const char**)NULL
6313
6314 /*
6315  *  content selection pattern - do fix if pattern found
6316  */
6317 tSCC zSvr4_ProfilSelect0[] =
6318        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
6319
6320 /*
6321  *  content bypass pattern - skip fix if pattern found
6322  */
6323 tSCC zSvr4_ProfilBypass0[] =
6324        "Silicon Graphics";
6325
6326 #define    SVR4_PROFIL_TEST_CT  2
6327 static tTestDesc aSvr4_ProfilTests[] = {
6328   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
6329   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
6330
6331 /*
6332  *  Fix Command Arguments for Svr4_Profil
6333  */
6334 static const char* apzSvr4_ProfilPatch[] = {
6335     "format",
6336     "profil(unsigned short *, size_t, int, unsigned int)",
6337     (char*)NULL };
6338
6339 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6340  *
6341  *  Description of Svr4_Sighandler_Type fix
6342  */
6343 tSCC zSvr4_Sighandler_TypeName[] =
6344      "svr4_sighandler_type";
6345
6346 /*
6347  *  File name selection pattern
6348  */
6349 tSCC zSvr4_Sighandler_TypeList[] =
6350   "|sys/signal.h|";
6351 /*
6352  *  Machine/OS name selection pattern
6353  */
6354 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
6355
6356 /*
6357  *  content selection pattern - do fix if pattern found
6358  */
6359 tSCC zSvr4_Sighandler_TypeSelect0[] =
6360        "void *\\(\\*\\)\\(\\)";
6361
6362 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
6363 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
6364   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
6365
6366 /*
6367  *  Fix Command Arguments for Svr4_Sighandler_Type
6368  */
6369 static const char* apzSvr4_Sighandler_TypePatch[] = {
6370     "format",
6371     "void (*)(int)",
6372     (char*)NULL };
6373
6374 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6375  *
6376  *  Description of Svr4_Undeclared_Getrnge fix
6377  */
6378 tSCC zSvr4_Undeclared_GetrngeName[] =
6379      "svr4_undeclared_getrnge";
6380
6381 /*
6382  *  File name selection pattern
6383  */
6384 tSCC zSvr4_Undeclared_GetrngeList[] =
6385   "|regexp.h|";
6386 /*
6387  *  Machine/OS name selection pattern
6388  */
6389 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
6390
6391 /*
6392  *  content selection pattern - do fix if pattern found
6393  */
6394 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
6395        "getrnge";
6396
6397 /*
6398  *  content bypass pattern - skip fix if pattern found
6399  */
6400 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
6401        "static void getrnge";
6402
6403 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
6404 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
6405   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
6406   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
6407
6408 /*
6409  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
6410  */
6411 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
6412     "format",
6413     "%0\n\
6414 static int getrnge ();",
6415     "^static int[ \t]+size;",
6416     (char*)NULL };
6417
6418 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6419  *
6420  *  Description of Sysv68_String fix
6421  */
6422 tSCC zSysv68_StringName[] =
6423      "sysv68_string";
6424
6425 /*
6426  *  File name selection pattern
6427  */
6428 tSCC zSysv68_StringList[] =
6429   "|testing.h|string.h|";
6430 /*
6431  *  Machine/OS name selection pattern
6432  */
6433 #define apzSysv68_StringMachs (const char**)NULL
6434
6435 /*
6436  *  content bypass pattern - skip fix if pattern found
6437  */
6438 tSCC zSysv68_StringBypass0[] =
6439        "_CLASSIC_ANSI_TYPES";
6440
6441 #define    SYSV68_STRING_TEST_CT  1
6442 static tTestDesc aSysv68_StringTests[] = {
6443   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
6444
6445 /*
6446  *  Fix Command Arguments for Sysv68_String
6447  */
6448 static const char* apzSysv68_StringPatch[] = { "sed",
6449     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
6450     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
6451     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
6452     "-e", "/^extern char$/N",
6453     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
6454     "-e", "/^extern int$/N",
6455     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
6456     "-e", "/^\tstrncmp(),$/N",
6457     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
6458 extern unsigned int\\\n\
6459 \\2/",
6460     (char*)NULL };
6461
6462 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6463  *
6464  *  Description of Sysz_Stdlib_For_Sun fix
6465  */
6466 tSCC zSysz_Stdlib_For_SunName[] =
6467      "sysz_stdlib_for_sun";
6468
6469 /*
6470  *  File name selection pattern
6471  */
6472 tSCC zSysz_Stdlib_For_SunList[] =
6473   "|stdlib.h|";
6474 /*
6475  *  Machine/OS name selection pattern
6476  */
6477 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
6478
6479 /*
6480  *  content selection pattern - do fix if pattern found
6481  */
6482 tSCC zSysz_Stdlib_For_SunSelect0[] =
6483        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
6484
6485 /*
6486  *  content bypass pattern - skip fix if pattern found
6487  */
6488 tSCC zSysz_Stdlib_For_SunBypass0[] =
6489        "_CLASSIC_ANSI_TYPES";
6490
6491 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
6492 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
6493   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
6494   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
6495
6496 /*
6497  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
6498  */
6499 static const char* apzSysz_Stdlib_For_SunPatch[] = {
6500     "format",
6501     "void *\t%1(",
6502     (char*)NULL };
6503
6504 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6505  *
6506  *  Description of Thread_Keyword fix
6507  */
6508 tSCC zThread_KeywordName[] =
6509      "thread_keyword";
6510
6511 /*
6512  *  File name selection pattern
6513  */
6514 tSCC zThread_KeywordList[] =
6515   "|pthread.h|bits/sigthread.h|";
6516 /*
6517  *  Machine/OS name selection pattern
6518  */
6519 #define apzThread_KeywordMachs (const char**)NULL
6520
6521 /*
6522  *  content selection pattern - do fix if pattern found
6523  */
6524 tSCC zThread_KeywordSelect0[] =
6525        "([* ])__thread([,)])";
6526
6527 #define    THREAD_KEYWORD_TEST_CT  1
6528 static tTestDesc aThread_KeywordTests[] = {
6529   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
6530
6531 /*
6532  *  Fix Command Arguments for Thread_Keyword
6533  */
6534 static const char* apzThread_KeywordPatch[] = {
6535     "format",
6536     "%1__thr%2",
6537     (char*)NULL };
6538
6539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6540  *
6541  *  Description of Tinfo_Cplusplus fix
6542  */
6543 tSCC zTinfo_CplusplusName[] =
6544      "tinfo_cplusplus";
6545
6546 /*
6547  *  File name selection pattern
6548  */
6549 tSCC zTinfo_CplusplusList[] =
6550   "|tinfo.h|";
6551 /*
6552  *  Machine/OS name selection pattern
6553  */
6554 #define apzTinfo_CplusplusMachs (const char**)NULL
6555
6556 /*
6557  *  content selection pattern - do fix if pattern found
6558  */
6559 tSCC zTinfo_CplusplusSelect0[] =
6560        "[ \t]_cplusplus";
6561
6562 #define    TINFO_CPLUSPLUS_TEST_CT  1
6563 static tTestDesc aTinfo_CplusplusTests[] = {
6564   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
6565
6566 /*
6567  *  Fix Command Arguments for Tinfo_Cplusplus
6568  */
6569 static const char* apzTinfo_CplusplusPatch[] = {
6570     "format",
6571     " __cplusplus",
6572     (char*)NULL };
6573
6574 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6575  *
6576  *  Description of Ultrix_Atexit_Param fix
6577  */
6578 tSCC zUltrix_Atexit_ParamName[] =
6579      "ultrix_atexit_param";
6580
6581 /*
6582  *  File name selection pattern
6583  */
6584 tSCC zUltrix_Atexit_ParamList[] =
6585   "|stdlib.h|";
6586 /*
6587  *  Machine/OS name selection pattern
6588  */
6589 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
6590
6591 /*
6592  *  content selection pattern - do fix if pattern found
6593  */
6594 tSCC zUltrix_Atexit_ParamSelect0[] =
6595        "atexit\\(.*\\(\\)";
6596
6597 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
6598 static tTestDesc aUltrix_Atexit_ParamTests[] = {
6599   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
6600
6601 /*
6602  *  Fix Command Arguments for Ultrix_Atexit_Param
6603  */
6604 static const char* apzUltrix_Atexit_ParamPatch[] = {
6605     "format",
6606     "atexit( void (*__func)( void )",
6607     (char*)NULL };
6608
6609 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6610  *
6611  *  Description of Ultrix_Atof_Param fix
6612  */
6613 tSCC zUltrix_Atof_ParamName[] =
6614      "ultrix_atof_param";
6615
6616 /*
6617  *  File name selection pattern
6618  */
6619 tSCC zUltrix_Atof_ParamList[] =
6620   "|math.h|";
6621 /*
6622  *  Machine/OS name selection pattern
6623  */
6624 #define apzUltrix_Atof_ParamMachs (const char**)NULL
6625
6626 /*
6627  *  content selection pattern - do fix if pattern found
6628  */
6629 tSCC zUltrix_Atof_ParamSelect0[] =
6630        "atof\\([ \t]*char";
6631
6632 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
6633 static tTestDesc aUltrix_Atof_ParamTests[] = {
6634   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
6635
6636 /*
6637  *  Fix Command Arguments for Ultrix_Atof_Param
6638  */
6639 static const char* apzUltrix_Atof_ParamPatch[] = {
6640     "format",
6641     "atof(const char",
6642     (char*)NULL };
6643
6644 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6645  *
6646  *  Description of Ultrix_Const fix
6647  */
6648 tSCC zUltrix_ConstName[] =
6649      "ultrix_const";
6650
6651 /*
6652  *  File name selection pattern
6653  */
6654 tSCC zUltrix_ConstList[] =
6655   "|stdio.h|";
6656 /*
6657  *  Machine/OS name selection pattern
6658  */
6659 #define apzUltrix_ConstMachs (const char**)NULL
6660
6661 /*
6662  *  content selection pattern - do fix if pattern found
6663  */
6664 tSCC zUltrix_ConstSelect0[] =
6665        "perror\\( char \\*";
6666
6667 #define    ULTRIX_CONST_TEST_CT  1
6668 static tTestDesc aUltrix_ConstTests[] = {
6669   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
6670
6671 /*
6672  *  Fix Command Arguments for Ultrix_Const
6673  */
6674 static const char* apzUltrix_ConstPatch[] = {
6675     "format",
6676     "%1 const %3 *__",
6677     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
6678     (char*)NULL };
6679
6680 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6681  *
6682  *  Description of Ultrix_Const2 fix
6683  */
6684 tSCC zUltrix_Const2Name[] =
6685      "ultrix_const2";
6686
6687 /*
6688  *  File name selection pattern
6689  */
6690 tSCC zUltrix_Const2List[] =
6691   "|stdio.h|";
6692 /*
6693  *  Machine/OS name selection pattern
6694  */
6695 #define apzUltrix_Const2Machs (const char**)NULL
6696
6697 /*
6698  *  content selection pattern - do fix if pattern found
6699  */
6700 tSCC zUltrix_Const2Select0[] =
6701        "\\*fopen\\( char \\*";
6702
6703 #define    ULTRIX_CONST2_TEST_CT  1
6704 static tTestDesc aUltrix_Const2Tests[] = {
6705   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
6706
6707 /*
6708  *  Fix Command Arguments for Ultrix_Const2
6709  */
6710 static const char* apzUltrix_Const2Patch[] = {
6711     "format",
6712     "%1( const char *%3, const char *",
6713     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6714     (char*)NULL };
6715
6716 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6717  *
6718  *  Description of Ultrix_Const3 fix
6719  */
6720 tSCC zUltrix_Const3Name[] =
6721      "ultrix_const3";
6722
6723 /*
6724  *  File name selection pattern
6725  */
6726 tSCC zUltrix_Const3List[] =
6727   "|stdio.h|";
6728 /*
6729  *  Machine/OS name selection pattern
6730  */
6731 #define apzUltrix_Const3Machs (const char**)NULL
6732
6733 /*
6734  *  content selection pattern - do fix if pattern found
6735  */
6736 tSCC zUltrix_Const3Select0[] =
6737        "fdopen\\( .*, char \\*";
6738
6739 #define    ULTRIX_CONST3_TEST_CT  1
6740 static tTestDesc aUltrix_Const3Tests[] = {
6741   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
6742
6743 /*
6744  *  Fix Command Arguments for Ultrix_Const3
6745  */
6746 static const char* apzUltrix_Const3Patch[] = {
6747     "format",
6748     "%1 const %3 *__",
6749     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6750     (char*)NULL };
6751
6752 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6753  *
6754  *  Description of Ultrix_Fix_Fixproto fix
6755  */
6756 tSCC zUltrix_Fix_FixprotoName[] =
6757      "ultrix_fix_fixproto";
6758
6759 /*
6760  *  File name selection pattern
6761  */
6762 tSCC zUltrix_Fix_FixprotoList[] =
6763   "|sys/utsname.h|";
6764 /*
6765  *  Machine/OS name selection pattern
6766  */
6767 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6768
6769 /*
6770  *  content selection pattern - do fix if pattern found
6771  */
6772 tSCC zUltrix_Fix_FixprotoSelect0[] =
6773        "ULTRIX";
6774
6775 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
6776 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6777   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6778
6779 /*
6780  *  Fix Command Arguments for Ultrix_Fix_Fixproto
6781  */
6782 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6783     "format",
6784     "struct utsname;\n\
6785 %0",
6786     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6787     (char*)NULL };
6788
6789 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6790  *
6791  *  Description of Ultrix_Ifdef fix
6792  */
6793 tSCC zUltrix_IfdefName[] =
6794      "ultrix_ifdef";
6795
6796 /*
6797  *  File name selection pattern
6798  */
6799 tSCC zUltrix_IfdefList[] =
6800   "|sys/file.h|";
6801 /*
6802  *  Machine/OS name selection pattern
6803  */
6804 #define apzUltrix_IfdefMachs (const char**)NULL
6805
6806 /*
6807  *  content selection pattern - do fix if pattern found
6808  */
6809 tSCC zUltrix_IfdefSelect0[] =
6810        "^#ifdef KERNEL[ \t]+&&";
6811
6812 #define    ULTRIX_IFDEF_TEST_CT  1
6813 static tTestDesc aUltrix_IfdefTests[] = {
6814   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6815
6816 /*
6817  *  Fix Command Arguments for Ultrix_Ifdef
6818  */
6819 static const char* apzUltrix_IfdefPatch[] = {
6820     "format",
6821     "#if defined(KERNEL) &&",
6822     (char*)NULL };
6823
6824 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6825  *
6826  *  Description of Ultrix_Locale fix
6827  */
6828 tSCC zUltrix_LocaleName[] =
6829      "ultrix_locale";
6830
6831 /*
6832  *  File name selection pattern
6833  */
6834 tSCC zUltrix_LocaleList[] =
6835   "|locale.h|";
6836 /*
6837  *  Machine/OS name selection pattern
6838  */
6839 #define apzUltrix_LocaleMachs (const char**)NULL
6840
6841 /*
6842  *  content selection pattern - do fix if pattern found
6843  */
6844 tSCC zUltrix_LocaleSelect0[] =
6845        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6846
6847 #define    ULTRIX_LOCALE_TEST_CT  1
6848 static tTestDesc aUltrix_LocaleTests[] = {
6849   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6850
6851 /*
6852  *  Fix Command Arguments for Ultrix_Locale
6853  */
6854 static const char* apzUltrix_LocalePatch[] = {
6855     "wrap",
6856     (char*)NULL };
6857
6858 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6859  *
6860  *  Description of Ultrix_Math_Ifdef fix
6861  */
6862 tSCC zUltrix_Math_IfdefName[] =
6863      "ultrix_math_ifdef";
6864
6865 /*
6866  *  File name selection pattern
6867  */
6868 tSCC zUltrix_Math_IfdefList[] =
6869   "|sys/limits.h|float.h|math.h|";
6870 /*
6871  *  Machine/OS name selection pattern
6872  */
6873 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6874
6875 /*
6876  *  content selection pattern - do fix if pattern found
6877  */
6878 tSCC zUltrix_Math_IfdefSelect0[] =
6879        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6880
6881 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
6882 static tTestDesc aUltrix_Math_IfdefTests[] = {
6883   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6884
6885 /*
6886  *  Fix Command Arguments for Ultrix_Math_Ifdef
6887  */
6888 static const char* apzUltrix_Math_IfdefPatch[] = {
6889     "format",
6890     "%1",
6891     (char*)NULL };
6892
6893 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6894  *
6895  *  Description of Ultrix_Nested_Ioctl fix
6896  */
6897 tSCC zUltrix_Nested_IoctlName[] =
6898      "ultrix_nested_ioctl";
6899
6900 /*
6901  *  File name selection pattern
6902  */
6903 tSCC zUltrix_Nested_IoctlList[] =
6904   "|sys/ioctl.h|";
6905 /*
6906  *  Machine/OS name selection pattern
6907  */
6908 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6909
6910 /*
6911  *  content selection pattern - do fix if pattern found
6912  */
6913 tSCC zUltrix_Nested_IoctlSelect0[] =
6914        "^/\\* #define SIOCSCREEN";
6915
6916 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
6917 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6918   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6919
6920 /*
6921  *  Fix Command Arguments for Ultrix_Nested_Ioctl
6922  */
6923 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6924     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6925     (char*)NULL };
6926
6927 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6928  *
6929  *  Description of Ultrix_Nested_Svc fix
6930  */
6931 tSCC zUltrix_Nested_SvcName[] =
6932      "ultrix_nested_svc";
6933
6934 /*
6935  *  File name selection pattern
6936  */
6937 tSCC zUltrix_Nested_SvcList[] =
6938   "|rpc/svc.h|";
6939 /*
6940  *  Machine/OS name selection pattern
6941  */
6942 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6943
6944 /*
6945  *  content selection pattern - do fix if pattern found
6946  */
6947 tSCC zUltrix_Nested_SvcSelect0[] =
6948        "^ \\*[ \t]*int protocol;  */\\*";
6949
6950 #define    ULTRIX_NESTED_SVC_TEST_CT  1
6951 static tTestDesc aUltrix_Nested_SvcTests[] = {
6952   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6953
6954 /*
6955  *  Fix Command Arguments for Ultrix_Nested_Svc
6956  */
6957 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
6958     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
6959     (char*)NULL };
6960
6961 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6962  *
6963  *  Description of Ultrix_Stat fix
6964  */
6965 tSCC zUltrix_StatName[] =
6966      "ultrix_stat";
6967
6968 /*
6969  *  File name selection pattern
6970  */
6971 tSCC zUltrix_StatList[] =
6972   "|sys/stat.h|";
6973 /*
6974  *  Machine/OS name selection pattern
6975  */
6976 #define apzUltrix_StatMachs (const char**)NULL
6977
6978 /*
6979  *  content selection pattern - do fix if pattern found
6980  */
6981 tSCC zUltrix_StatSelect0[] =
6982        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
6983
6984 #define    ULTRIX_STAT_TEST_CT  1
6985 static tTestDesc aUltrix_StatTests[] = {
6986   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
6987
6988 /*
6989  *  Fix Command Arguments for Ultrix_Stat
6990  */
6991 static const char* apzUltrix_StatPatch[] = { "sed",
6992     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
6993 \\\n\
6994 /* macro to test for symbolic link */\\\n\
6995 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
6996     "-e", "/^[ \t]*fstat(),$/a\\\n\
6997 \tlstat(),\n",
6998     (char*)NULL };
6999
7000 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7001  *
7002  *  Description of Ultrix_Static fix
7003  */
7004 tSCC zUltrix_StaticName[] =
7005      "ultrix_static";
7006
7007 /*
7008  *  File name selection pattern
7009  */
7010 tSCC zUltrix_StaticList[] =
7011   "|machine/cpu.h|";
7012 /*
7013  *  Machine/OS name selection pattern
7014  */
7015 #define apzUltrix_StaticMachs (const char**)NULL
7016
7017 /*
7018  *  content selection pattern - do fix if pattern found
7019  */
7020 tSCC zUltrix_StaticSelect0[] =
7021        "#include \"r[34]_cpu";
7022
7023 #define    ULTRIX_STATIC_TEST_CT  1
7024 static tTestDesc aUltrix_StaticTests[] = {
7025   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
7026
7027 /*
7028  *  Fix Command Arguments for Ultrix_Static
7029  */
7030 static const char* apzUltrix_StaticPatch[] = { "sed",
7031     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
7032     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
7033     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
7034     (char*)NULL };
7035
7036 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7037  *
7038  *  Description of Ultrix_Stdlib fix
7039  */
7040 tSCC zUltrix_StdlibName[] =
7041      "ultrix_stdlib";
7042
7043 /*
7044  *  File name selection pattern
7045  */
7046 tSCC zUltrix_StdlibList[] =
7047   "|stdlib.h|";
7048 /*
7049  *  Machine/OS name selection pattern
7050  */
7051 #define apzUltrix_StdlibMachs (const char**)NULL
7052
7053 /*
7054  *  content selection pattern - do fix if pattern found
7055  */
7056 tSCC zUltrix_StdlibSelect0[] =
7057        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
7058
7059 #define    ULTRIX_STDLIB_TEST_CT  1
7060 static tTestDesc aUltrix_StdlibTests[] = {
7061   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
7062
7063 /*
7064  *  Fix Command Arguments for Ultrix_Stdlib
7065  */
7066 static const char* apzUltrix_StdlibPatch[] = { "sed",
7067     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
7068 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
7069 void\t\tunsetenv( const char *__name );\\\n\
7070 int\t\tputenv( char *__s );\n",
7071     "-e", "/^char.*getenv();.*$/a\\\n\
7072 int\tsetenv();\\\n\
7073 void\tunsetenv();\\\n\
7074 int\tputenv();\n",
7075     (char*)NULL };
7076
7077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7078  *
7079  *  Description of Ultrix_Strings fix
7080  */
7081 tSCC zUltrix_StringsName[] =
7082      "ultrix_strings";
7083
7084 /*
7085  *  File name selection pattern
7086  */
7087 tSCC zUltrix_StringsList[] =
7088   "|strings.h|";
7089 /*
7090  *  Machine/OS name selection pattern
7091  */
7092 #define apzUltrix_StringsMachs (const char**)NULL
7093
7094 /*
7095  *  content selection pattern - do fix if pattern found
7096  */
7097 tSCC zUltrix_StringsSelect0[] =
7098        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7099
7100 #define    ULTRIX_STRINGS_TEST_CT  1
7101 static tTestDesc aUltrix_StringsTests[] = {
7102   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
7103
7104 /*
7105  *  Fix Command Arguments for Ultrix_Strings
7106  */
7107 static const char* apzUltrix_StringsPatch[] = {
7108     "wrap",
7109     (char*)NULL };
7110
7111 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7112  *
7113  *  Description of Ultrix_Strings2 fix
7114  */
7115 tSCC zUltrix_Strings2Name[] =
7116      "ultrix_strings2";
7117
7118 /*
7119  *  File name selection pattern
7120  */
7121 tSCC zUltrix_Strings2List[] =
7122   "|strings.h|";
7123 /*
7124  *  Machine/OS name selection pattern
7125  */
7126 #define apzUltrix_Strings2Machs (const char**)NULL
7127
7128 /*
7129  *  content selection pattern - do fix if pattern found
7130  */
7131 tSCC zUltrix_Strings2Select0[] =
7132        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7133
7134 #define    ULTRIX_STRINGS2_TEST_CT  1
7135 static tTestDesc aUltrix_Strings2Tests[] = {
7136   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
7137
7138 /*
7139  *  Fix Command Arguments for Ultrix_Strings2
7140  */
7141 static const char* apzUltrix_Strings2Patch[] = { "sed",
7142     "-e", "/^.*strncmp( const .* );.*/a\\\n\
7143 \\\n\
7144 extern int\\\n\
7145 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
7146 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
7147     "-e", "/^.*strncmp();.*/a\\\n\
7148 extern int\\\n\
7149 \tstrcasecmp(),\\\n\
7150 \tstrncasecmp();\n",
7151     (char*)NULL };
7152
7153 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7154  *
7155  *  Description of Ultrix_Sys_Time fix
7156  */
7157 tSCC zUltrix_Sys_TimeName[] =
7158      "ultrix_sys_time";
7159
7160 /*
7161  *  File name selection pattern
7162  */
7163 tSCC zUltrix_Sys_TimeList[] =
7164   "|sys/time.h|";
7165 /*
7166  *  Machine/OS name selection pattern
7167  */
7168 #define apzUltrix_Sys_TimeMachs (const char**)NULL
7169
7170 /*
7171  *  content selection pattern - do fix if pattern found
7172  */
7173 tSCC zUltrix_Sys_TimeSelect0[] =
7174        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
7175
7176 #define    ULTRIX_SYS_TIME_TEST_CT  1
7177 static tTestDesc aUltrix_Sys_TimeTests[] = {
7178   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
7179
7180 /*
7181  *  Fix Command Arguments for Ultrix_Sys_Time
7182  */
7183 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
7184     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
7185 \\\n\
7186 extern int adjtime(struct timeval *, struct timeval *);\\\n\
7187 extern int getitimer(int, struct itimerval *);\\\n\
7188 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
7189 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
7190 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
7191 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
7192 extern int stime(const time_t *);\\\n\
7193 extern int utimes(const char *, const struct timeval[2]);\\\n\
7194 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
7195     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
7196 extern\tint adjtime();\\\n\
7197 extern\tint getitimer();\\\n\
7198 extern\tint setitimer();\\\n\
7199 extern\tint gettimeofday();\\\n\
7200 extern\tint settimeofday();\\\n\
7201 extern\tvoid profil();\\\n\
7202 extern\tint stime();\\\n\
7203 extern\tint utimes();\\\n\
7204 extern\tint select();\n",
7205     (char*)NULL };
7206
7207 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7208  *
7209  *  Description of Ultrix_Unistd fix
7210  */
7211 tSCC zUltrix_UnistdName[] =
7212      "ultrix_unistd";
7213
7214 /*
7215  *  File name selection pattern
7216  */
7217 tSCC zUltrix_UnistdList[] =
7218   "|unistd.h|";
7219 /*
7220  *  Machine/OS name selection pattern
7221  */
7222 #define apzUltrix_UnistdMachs (const char**)NULL
7223
7224 /*
7225  *  content selection pattern - do fix if pattern found
7226  */
7227 tSCC zUltrix_UnistdSelect0[] =
7228        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
7229
7230 #define    ULTRIX_UNISTD_TEST_CT  1
7231 static tTestDesc aUltrix_UnistdTests[] = {
7232   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
7233
7234 /*
7235  *  Fix Command Arguments for Ultrix_Unistd
7236  */
7237 static const char* apzUltrix_UnistdPatch[] = { "sed",
7238     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
7239 \tgetpagesize(),\n",
7240     "-e", "/^[ \t]*fork(),.*$/a\\\n\
7241 \tvfork(),\n",
7242     (char*)NULL };
7243
7244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7245  *
7246  *  Description of Unicosmk_Restrict fix
7247  */
7248 tSCC zUnicosmk_RestrictName[] =
7249      "unicosmk_restrict";
7250
7251 /*
7252  *  File name selection pattern
7253  */
7254 tSCC zUnicosmk_RestrictList[] =
7255   "|stdio.h|stdlib.h|wchar.h|";
7256 /*
7257  *  Machine/OS name selection pattern
7258  */
7259 tSCC* apzUnicosmk_RestrictMachs[] = {
7260         "*-*-unicosmk*",
7261         (const char*)NULL };
7262
7263 /*
7264  *  content selection pattern - do fix if pattern found
7265  */
7266 tSCC zUnicosmk_RestrictSelect0[] =
7267        "(\\*[ \t]*)restrict([ \t]+)";
7268
7269 #define    UNICOSMK_RESTRICT_TEST_CT  1
7270 static tTestDesc aUnicosmk_RestrictTests[] = {
7271   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
7272
7273 /*
7274  *  Fix Command Arguments for Unicosmk_Restrict
7275  */
7276 static const char* apzUnicosmk_RestrictPatch[] = {
7277     "format",
7278     "%1__restrict__%2",
7279     (char*)NULL };
7280
7281 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7282  *
7283  *  Description of Uw7_Byteorder_Fix fix
7284  */
7285 tSCC zUw7_Byteorder_FixName[] =
7286      "uw7_byteorder_fix";
7287
7288 /*
7289  *  File name selection pattern
7290  */
7291 tSCC zUw7_Byteorder_FixList[] =
7292   "|arpa/inet.h|";
7293 /*
7294  *  Machine/OS name selection pattern
7295  */
7296 tSCC* apzUw7_Byteorder_FixMachs[] = {
7297         "*-*-sysv4*",
7298         "i?86-*-sysv5*",
7299         "i?86-*-udk*",
7300         "i?86-*-solaris2.[0-4]",
7301         "powerpcle-*-solaris2.[0-4]",
7302         "sparc-*-solaris2.[0-4]",
7303         (const char*)NULL };
7304
7305 /*
7306  *  content selection pattern - do fix if pattern found
7307  */
7308 tSCC zUw7_Byteorder_FixSelect0[] =
7309        "in_port_t";
7310
7311 /*
7312  *  perform the 'test' shell command - do fix on success
7313  */
7314 tSCC zUw7_Byteorder_FixTest0[] =
7315        "-f sys/byteorder.h";
7316
7317 #define    UW7_BYTEORDER_FIX_TEST_CT  2
7318 static tTestDesc aUw7_Byteorder_FixTests[] = {
7319   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
7320   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
7321
7322 /*
7323  *  Fix Command Arguments for Uw7_Byteorder_Fix
7324  */
7325 static const char* apzUw7_Byteorder_FixPatch[] = {
7326     "format",
7327     "",
7328     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
7329     (char*)NULL };
7330
7331 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7332  *
7333  *  Description of Va_I960_Macro fix
7334  */
7335 tSCC zVa_I960_MacroName[] =
7336      "va_i960_macro";
7337
7338 /*
7339  *  File name selection pattern
7340  */
7341 tSCC zVa_I960_MacroList[] =
7342   "|arch/i960/archI960.h|";
7343 /*
7344  *  Machine/OS name selection pattern
7345  */
7346 #define apzVa_I960_MacroMachs (const char**)NULL
7347
7348 /*
7349  *  content selection pattern - do fix if pattern found
7350  */
7351 tSCC zVa_I960_MacroSelect0[] =
7352        "__(vsiz|vali|vpad|alignof__)";
7353
7354 #define    VA_I960_MACRO_TEST_CT  1
7355 static tTestDesc aVa_I960_MacroTests[] = {
7356   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7357
7358 /*
7359  *  Fix Command Arguments for Va_I960_Macro
7360  */
7361 static const char* apzVa_I960_MacroPatch[] = {
7362     "format",
7363     "__vx%1",
7364     (char*)NULL };
7365
7366 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7367  *
7368  *  Description of Void_Null fix
7369  */
7370 tSCC zVoid_NullName[] =
7371      "void_null";
7372
7373 /*
7374  *  File name selection pattern
7375  */
7376 tSCC zVoid_NullList[] =
7377   "|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|";
7378 /*
7379  *  Machine/OS name selection pattern
7380  */
7381 #define apzVoid_NullMachs (const char**)NULL
7382
7383 /*
7384  *  content selection pattern - do fix if pattern found
7385  */
7386 tSCC zVoid_NullSelect0[] =
7387        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
7388
7389 /*
7390  *  content bypass pattern - skip fix if pattern found
7391  */
7392 tSCC zVoid_NullBypass0[] =
7393        "__cplusplus";
7394
7395 #define    VOID_NULL_TEST_CT  2
7396 static tTestDesc aVoid_NullTests[] = {
7397   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
7398   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
7399
7400 /*
7401  *  Fix Command Arguments for Void_Null
7402  */
7403 static const char* apzVoid_NullPatch[] = {
7404     "format",
7405     "#define NULL 0",
7406     (char*)NULL };
7407
7408 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7409  *
7410  *  Description of Vxworks_Gcc_Problem fix
7411  */
7412 tSCC zVxworks_Gcc_ProblemName[] =
7413      "vxworks_gcc_problem";
7414
7415 /*
7416  *  File name selection pattern
7417  */
7418 tSCC zVxworks_Gcc_ProblemList[] =
7419   "|types/vxTypesBase.h|";
7420 /*
7421  *  Machine/OS name selection pattern
7422  */
7423 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
7424
7425 /*
7426  *  content selection pattern - do fix if pattern found
7427  */
7428 tSCC zVxworks_Gcc_ProblemSelect0[] =
7429        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
7430
7431 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
7432 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
7433   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
7434
7435 /*
7436  *  Fix Command Arguments for Vxworks_Gcc_Problem
7437  */
7438 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
7439     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
7440     "-e", "/[ \t]size_t/i\\\n\
7441 #ifndef _GCC_SIZE_T\\\n\
7442 #define _GCC_SIZE_T\n",
7443     "-e", "/[ \t]size_t/a\\\n\
7444 #endif\n",
7445     "-e", "/[ \t]ptrdiff_t/i\\\n\
7446 #ifndef _GCC_PTRDIFF_T\\\n\
7447 #define _GCC_PTRDIFF_T\n",
7448     "-e", "/[ \t]ptrdiff_t/a\\\n\
7449 #endif\n",
7450     "-e", "/[ \t]wchar_t/i\\\n\
7451 #ifndef _GCC_WCHAR_T\\\n\
7452 #define _GCC_WCHAR_T\n",
7453     "-e", "/[ \t]wchar_t/a\\\n\
7454 #endif\n",
7455     (char*)NULL };
7456
7457 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7458  *
7459  *  Description of Vxworks_Needs_Vxtypes fix
7460  */
7461 tSCC zVxworks_Needs_VxtypesName[] =
7462      "vxworks_needs_vxtypes";
7463
7464 /*
7465  *  File name selection pattern
7466  */
7467 tSCC zVxworks_Needs_VxtypesList[] =
7468   "|time.h|";
7469 /*
7470  *  Machine/OS name selection pattern
7471  */
7472 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
7473
7474 /*
7475  *  content selection pattern - do fix if pattern found
7476  */
7477 tSCC zVxworks_Needs_VxtypesSelect0[] =
7478        "uint_t([ \t]+_clocks_per_sec)";
7479
7480 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
7481 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
7482   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
7483
7484 /*
7485  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
7486  */
7487 static const char* apzVxworks_Needs_VxtypesPatch[] = {
7488     "format",
7489     "unsigned int%1",
7490     (char*)NULL };
7491
7492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7493  *
7494  *  Description of Vxworks_Needs_Vxworks fix
7495  */
7496 tSCC zVxworks_Needs_VxworksName[] =
7497      "vxworks_needs_vxworks";
7498
7499 /*
7500  *  File name selection pattern
7501  */
7502 tSCC zVxworks_Needs_VxworksList[] =
7503   "|sys/stat.h|";
7504 /*
7505  *  Machine/OS name selection pattern
7506  */
7507 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
7508
7509 /*
7510  *  content selection pattern - do fix if pattern found
7511  */
7512 tSCC zVxworks_Needs_VxworksSelect0[] =
7513        "#[ \t]define[ \t]+__INCstath";
7514
7515 /*
7516  *  perform the 'test' shell command - do fix on success
7517  */
7518 tSCC zVxworks_Needs_VxworksTest0[] =
7519        " -r types/vxTypesOld.h";
7520 tSCC zVxworks_Needs_VxworksTest1[] =
7521        " -n \"`egrep '#include' $file`\"";
7522 tSCC zVxworks_Needs_VxworksTest2[] =
7523        " -n \"`egrep ULONG $file`\"";
7524
7525 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
7526 static tTestDesc aVxworks_Needs_VxworksTests[] = {
7527   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
7528   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
7529   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
7530   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
7531
7532 /*
7533  *  Fix Command Arguments for Vxworks_Needs_Vxworks
7534  */
7535 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
7536     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
7537 #include <types/vxTypesOld.h>\n",
7538     (char*)NULL };
7539
7540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7541  *
7542  *  Description of Vxworks_Time fix
7543  */
7544 tSCC zVxworks_TimeName[] =
7545      "vxworks_time";
7546
7547 /*
7548  *  File name selection pattern
7549  */
7550 tSCC zVxworks_TimeList[] =
7551   "|time.h|";
7552 /*
7553  *  Machine/OS name selection pattern
7554  */
7555 #define apzVxworks_TimeMachs (const char**)NULL
7556
7557 /*
7558  *  content selection pattern - do fix if pattern found
7559  */
7560 tSCC zVxworks_TimeSelect0[] =
7561        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
7562
7563 /*
7564  *  perform the 'test' shell command - do fix on success
7565  */
7566 tSCC zVxworks_TimeTest0[] =
7567        " -r vxWorks.h";
7568
7569 #define    VXWORKS_TIME_TEST_CT  2
7570 static tTestDesc aVxworks_TimeTests[] = {
7571   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
7572   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
7573
7574 /*
7575  *  Fix Command Arguments for Vxworks_Time
7576  */
7577 static const char* apzVxworks_TimePatch[] = {
7578     "format",
7579     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
7580 #ifdef __cplusplus\n\
7581 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
7582 #else\n\
7583 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
7584 #endif\n\
7585 #define __gcc_VOIDFUNCPTR_defined\n\
7586 #endif\n\
7587 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
7588     (char*)NULL };
7589
7590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7591  *
7592  *  Description of Windiss_Math1 fix
7593  */
7594 tSCC zWindiss_Math1Name[] =
7595      "windiss_math1";
7596
7597 /*
7598  *  File name selection pattern
7599  */
7600 tSCC zWindiss_Math1List[] =
7601   "|math.h|";
7602 /*
7603  *  Machine/OS name selection pattern
7604  */
7605 tSCC* apzWindiss_Math1Machs[] = {
7606         "*-*-windiss",
7607         (const char*)NULL };
7608 #define WINDISS_MATH1_TEST_CT  0
7609 #define aWindiss_Math1Tests   (tTestDesc*)NULL
7610
7611 /*
7612  *  Fix Command Arguments for Windiss_Math1
7613  */
7614 static const char* apzWindiss_Math1Patch[] = { "sed",
7615     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
7616     (char*)NULL };
7617
7618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7619  *
7620  *  Description of Windiss_Math2 fix
7621  */
7622 tSCC zWindiss_Math2Name[] =
7623      "windiss_math2";
7624
7625 /*
7626  *  File name selection pattern
7627  */
7628 tSCC zWindiss_Math2List[] =
7629   "|math.h|";
7630 /*
7631  *  Machine/OS name selection pattern
7632  */
7633 tSCC* apzWindiss_Math2Machs[] = {
7634         "*-*-windiss",
7635         (const char*)NULL };
7636 #define WINDISS_MATH2_TEST_CT  0
7637 #define aWindiss_Math2Tests   (tTestDesc*)NULL
7638
7639 /*
7640  *  Fix Command Arguments for Windiss_Math2
7641  */
7642 static const char* apzWindiss_Math2Patch[] = { "sed",
7643     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
7644     (char*)NULL };
7645
7646 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7647  *
7648  *  Description of Windiss_Valist fix
7649  */
7650 tSCC zWindiss_ValistName[] =
7651      "windiss_valist";
7652
7653 /*
7654  *  File name selection pattern
7655  */
7656 #define zWindiss_ValistList (char*)NULL
7657 /*
7658  *  Machine/OS name selection pattern
7659  */
7660 tSCC* apzWindiss_ValistMachs[] = {
7661         "*-*-windiss",
7662         (const char*)NULL };
7663
7664 /*
7665  *  content selection pattern - do fix if pattern found
7666  */
7667 tSCC zWindiss_ValistSelect0[] =
7668        "(#include.*)diab/va_list.h";
7669
7670 #define    WINDISS_VALIST_TEST_CT  1
7671 static tTestDesc aWindiss_ValistTests[] = {
7672   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
7673
7674 /*
7675  *  Fix Command Arguments for Windiss_Valist
7676  */
7677 static const char* apzWindiss_ValistPatch[] = { "sed",
7678     "-e", "s|diab/va_list.h|stdarg.h|",
7679     (char*)NULL };
7680
7681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7682  *
7683  *  Description of X11_Class fix
7684  */
7685 tSCC zX11_ClassName[] =
7686      "x11_class";
7687
7688 /*
7689  *  File name selection pattern
7690  */
7691 tSCC zX11_ClassList[] =
7692   "|X11/ShellP.h|";
7693 /*
7694  *  Machine/OS name selection pattern
7695  */
7696 #define apzX11_ClassMachs (const char**)NULL
7697
7698 /*
7699  *  content selection pattern - do fix if pattern found
7700  */
7701 tSCC zX11_ClassSelect0[] =
7702        "^([ \t]*char \\*)class;(.*)";
7703
7704 /*
7705  *  content bypass pattern - skip fix if pattern found
7706  */
7707 tSCC zX11_ClassBypass0[] =
7708        "__cplusplus";
7709
7710 #define    X11_CLASS_TEST_CT  2
7711 static tTestDesc aX11_ClassTests[] = {
7712   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
7713   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
7714
7715 /*
7716  *  Fix Command Arguments for X11_Class
7717  */
7718 static const char* apzX11_ClassPatch[] = {
7719     "format",
7720     "#ifdef __cplusplus\n\
7721 %1c_class;%2\n\
7722 #else\n\
7723 %1class;%2\n\
7724 #endif",
7725     (char*)NULL };
7726
7727 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7728  *
7729  *  Description of X11_Class_Usage fix
7730  */
7731 tSCC zX11_Class_UsageName[] =
7732      "x11_class_usage";
7733
7734 /*
7735  *  File name selection pattern
7736  */
7737 tSCC zX11_Class_UsageList[] =
7738   "|Xm/BaseClassI.h|";
7739 /*
7740  *  Machine/OS name selection pattern
7741  */
7742 #define apzX11_Class_UsageMachs (const char**)NULL
7743
7744 /*
7745  *  content selection pattern - do fix if pattern found
7746  */
7747 tSCC zX11_Class_UsageSelect0[] =
7748        " class\\)";
7749
7750 /*
7751  *  content bypass pattern - skip fix if pattern found
7752  */
7753 tSCC zX11_Class_UsageBypass0[] =
7754        "__cplusplus";
7755
7756 #define    X11_CLASS_USAGE_TEST_CT  2
7757 static tTestDesc aX11_Class_UsageTests[] = {
7758   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
7759   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7760
7761 /*
7762  *  Fix Command Arguments for X11_Class_Usage
7763  */
7764 static const char* apzX11_Class_UsagePatch[] = {
7765     "format",
7766     " c_class)",
7767     (char*)NULL };
7768
7769 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7770  *
7771  *  Description of X11_New fix
7772  */
7773 tSCC zX11_NewName[] =
7774      "x11_new";
7775
7776 /*
7777  *  File name selection pattern
7778  */
7779 tSCC zX11_NewList[] =
7780   "|Xm/Traversal.h|";
7781 /*
7782  *  Machine/OS name selection pattern
7783  */
7784 #define apzX11_NewMachs (const char**)NULL
7785
7786 /*
7787  *  content bypass pattern - skip fix if pattern found
7788  */
7789 tSCC zX11_NewBypass0[] =
7790        "__cplusplus";
7791
7792 #define    X11_NEW_TEST_CT  1
7793 static tTestDesc aX11_NewTests[] = {
7794   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
7795
7796 /*
7797  *  Fix Command Arguments for X11_New
7798  */
7799 static const char* apzX11_NewPatch[] = { "sed",
7800     "-e", "/Widget\told, new;/i\\\n\
7801 #ifdef __cplusplus\\\n\
7802 \tWidget\told, c_new;\\\n\
7803 #else\n",
7804     "-e", "/Widget\told, new;/a\\\n\
7805 #endif\n",
7806     "-e", "s/Widget new,/Widget c_new,/g",
7807     (char*)NULL };
7808
7809 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7810  *
7811  *  Description of X11_Sprintf fix
7812  */
7813 tSCC zX11_SprintfName[] =
7814      "x11_sprintf";
7815
7816 /*
7817  *  File name selection pattern
7818  */
7819 tSCC zX11_SprintfList[] =
7820   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7821 /*
7822  *  Machine/OS name selection pattern
7823  */
7824 #define apzX11_SprintfMachs (const char**)NULL
7825
7826 /*
7827  *  content selection pattern - do fix if pattern found
7828  */
7829 tSCC zX11_SprintfSelect0[] =
7830        "^extern char \\*\tsprintf\\(\\);$";
7831
7832 #define    X11_SPRINTF_TEST_CT  1
7833 static tTestDesc aX11_SprintfTests[] = {
7834   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
7835
7836 /*
7837  *  Fix Command Arguments for X11_Sprintf
7838  */
7839 static const char* apzX11_SprintfPatch[] = {
7840     "format",
7841     "#ifndef __STDC__\n\
7842 %0\n\
7843 #endif /* !defined __STDC__ */",
7844     (char*)NULL };
7845
7846
7847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7848  *
7849  *  List of all fixes
7850  */
7851 #define REGEX_COUNT          235
7852 #define MACH_LIST_SIZE_LIMIT 261
7853 #define FIX_COUNT            193
7854
7855 /*
7856  *  Enumerate the fixes
7857  */
7858 typedef enum {
7859     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
7860     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
7861     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7862     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7863     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7864     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7865     AAB_SUN_MEMCPY_FIXIDX,
7866     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7867     AAB_ULTRIX_LIMITS_FIXIDX,
7868     AAB_ULTRIX_MEMORY_FIXIDX,
7869     AAB_ULTRIX_STRING_FIXIDX,
7870     AIX_PTHREAD_FIXIDX,
7871     AIX_SYSMACHINE_FIXIDX,
7872     AIX_SYSWAIT_FIXIDX,
7873     AIX_SYSWAIT_2_FIXIDX,
7874     AIX_VOLATILE_FIXIDX,
7875     ALPHA___ASSERT_FIXIDX,
7876     ALPHA___EXTERN_PREFIX_FIXIDX,
7877     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7878     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7879     ALPHA_ASSERT_FIXIDX,
7880     ALPHA_BAD_LVAL_FIXIDX,
7881     ALPHA_GETOPT_FIXIDX,
7882     ALPHA_PARENS_FIXIDX,
7883     ALPHA_PTHREAD_FIXIDX,
7884     ALPHA_PTHREAD_GCC_FIXIDX,
7885     ALPHA_PTHREAD_INIT_FIXIDX,
7886     ALPHA_SBRK_FIXIDX,
7887     ALPHA_WCHAR_FIXIDX,
7888     AVOID_BOOL_DEFINE_FIXIDX,
7889     AVOID_BOOL_TYPE_FIXIDX,
7890     AVOID_WCHAR_T_TYPE_FIXIDX,
7891     BAD_STRUCT_TERM_FIXIDX,
7892     BADQUOTE_FIXIDX,
7893     BROKEN_ASSERT_STDIO_FIXIDX,
7894     BROKEN_ASSERT_STDLIB_FIXIDX,
7895     BROKEN_CABS_FIXIDX,
7896     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7897     CTRL_QUOTES_DEF_FIXIDX,
7898     CTRL_QUOTES_USE_FIXIDX,
7899     CXX_UNREADY_FIXIDX,
7900     DARWIN_GCC4_BREAKAGE_FIXIDX,
7901     DARWIN_PRIVATE_EXTERN_FIXIDX,
7902     DEC_INTERN_ASM_FIXIDX,
7903     DJGPP_WCHAR_H_FIXIDX,
7904     ECD_CURSOR_FIXIDX,
7905     EXCEPTION_STRUCTURE_FIXIDX,
7906     FREEBSD_GCC3_BREAKAGE_FIXIDX,
7907     FREEBSD_GCC4_BREAKAGE_FIXIDX,
7908     GNU_TYPES_FIXIDX,
7909     HP_INLINE_FIXIDX,
7910     HP_SYSFILE_FIXIDX,
7911     HPUX10_CPP_POW_INLINE_FIXIDX,
7912     HPUX11_CPP_POW_INLINE_FIXIDX,
7913     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7914     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7915     HPUX10_STDIO_DECLARATIONS_FIXIDX,
7916     HPUX11_ABS_FIXIDX,
7917     HPUX11_FABSF_FIXIDX,
7918     HPUX11_SIZE_T_FIXIDX,
7919     HPUX11_SNPRINTF_FIXIDX,
7920     HPUX11_UINT32_C_FIXIDX,
7921     HPUX11_VSNPRINTF_FIXIDX,
7922     HPUX8_BOGUS_INLINES_FIXIDX,
7923     HPUX_CTYPE_MACROS_FIXIDX,
7924     HPUX_HTONL_FIXIDX,
7925     HPUX_LONG_DOUBLE_FIXIDX,
7926     HPUX_SYSTIME_FIXIDX,
7927     HUGE_VAL_HEX_FIXIDX,
7928     HUGE_VALF_HEX_FIXIDX,
7929     HUGE_VALL_HEX_FIXIDX,
7930     INT_ABORT_FREE_AND_EXIT_FIXIDX,
7931     IO_QUOTES_DEF_FIXIDX,
7932     IO_QUOTES_USE_FIXIDX,
7933     IP_MISSING_SEMI_FIXIDX,
7934     IRIX___RESTRICT_FIXIDX,
7935     IRIX___GENERIC1_FIXIDX,
7936     IRIX___GENERIC2_FIXIDX,
7937     IRIX_ASM_APOSTROPHE_FIXIDX,
7938     IRIX_LIMITS_CONST_FIXIDX,
7939     IRIX_SOCKLEN_T_FIXIDX,
7940     IRIX_STDIO_VA_LIST_FIXIDX,
7941     IRIX_WCSFTIME_FIXIDX,
7942     ISC_FMOD_FIXIDX,
7943     ISC_OMITS_WITH_STDC_FIXIDX,
7944     KANDR_CONCAT_FIXIDX,
7945     LIBC1_G_VA_LIST_FIXIDX,
7946     LIBC1_IFDEFD_MEMX_FIXIDX,
7947     LINUX_IA64_UCONTEXT_FIXIDX,
7948     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7949     LYNXOS_MISSING_PUTENV_FIXIDX,
7950     MACHINE_ANSI_H_VA_LIST_FIXIDX,
7951     MACHINE_NAME_FIXIDX,
7952     MATH_EXCEPTION_FIXIDX,
7953     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
7954     NESTED_AUTH_DES_FIXIDX,
7955     NESTED_MOTOROLA_FIXIDX,
7956     NESTED_SYS_LIMITS_FIXIDX,
7957     NETBSD_EXTRA_SEMICOLON_FIXIDX,
7958     NEXT_MATH_PREFIX_FIXIDX,
7959     NEXT_TEMPLATE_FIXIDX,
7960     NEXT_VOLITILE_FIXIDX,
7961     NEXT_WAIT_UNION_FIXIDX,
7962     NODEENT_SYNTAX_FIXIDX,
7963     OBSTACK_LVALUE_CAST_FIXIDX,
7964     OSF_NAMESPACE_A_FIXIDX,
7965     OSF_NAMESPACE_C_FIXIDX,
7966     PTHREAD_PAGE_SIZE_FIXIDX,
7967     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
7968     READ_RET_TYPE_FIXIDX,
7969     RPC_XDR_LVALUE_CAST_A_FIXIDX,
7970     RPC_XDR_LVALUE_CAST_B_FIXIDX,
7971     RS6000_DOUBLE_FIXIDX,
7972     RS6000_FCHMOD_FIXIDX,
7973     RS6000_PARAM_FIXIDX,
7974     SCO_MATH_FIXIDX,
7975     SCO_REGSET_FIXIDX,
7976     SCO_STATIC_FUNC_FIXIDX,
7977     SCO_UTIME_FIXIDX,
7978     SOLARIS_MATH_1_FIXIDX,
7979     SOLARIS_MATH_2_FIXIDX,
7980     SOLARIS_MATH_3_FIXIDX,
7981     SOLARIS_MATH_4_FIXIDX,
7982     SOLARIS_MATH_5_FIXIDX,
7983     SOLARIS_MATH_6_FIXIDX,
7984     SOLARIS_MATH_7_FIXIDX,
7985     SOLARIS_MATH_8_FIXIDX,
7986     SOLARIS_MATH_9_FIXIDX,
7987     SOLARIS_MUTEX_INIT_1_FIXIDX,
7988     SOLARIS_MUTEX_INIT_2_FIXIDX,
7989     SOLARIS_SOCKET_FIXIDX,
7990     SOLARIS_STDIO_TAG_FIXIDX,
7991     SOLARIS_UNISTD_FIXIDX,
7992     SOLARIS_WIDEC_FIXIDX,
7993     STATSSWTCH_FIXIDX,
7994     STDIO_STDARG_H_FIXIDX,
7995     STDIO_VA_LIST_FIXIDX,
7996     STDIO_VA_LIST_CLIENTS_FIXIDX,
7997     STRICT_ANSI_NOT_FIXIDX,
7998     STRICT_ANSI_NOT_CTD_FIXIDX,
7999     STRICT_ANSI_ONLY_FIXIDX,
8000     STRUCT_FILE_FIXIDX,
8001     STRUCT_SOCKADDR_FIXIDX,
8002     SUN_AUTH_PROTO_FIXIDX,
8003     SUN_BOGUS_IFDEF_FIXIDX,
8004     SUN_CATMACRO_FIXIDX,
8005     SUN_MALLOC_FIXIDX,
8006     SUN_RUSERS_SEMI_FIXIDX,
8007     SUN_SIGNAL_FIXIDX,
8008     SUNOS_STRLEN_FIXIDX,
8009     SVR4_DISABLE_OPT_FIXIDX,
8010     SVR4_GETCWD_FIXIDX,
8011     SVR4_KRNL_FIXIDX,
8012     SVR4_PROFIL_FIXIDX,
8013     SVR4_SIGHANDLER_TYPE_FIXIDX,
8014     SVR4_UNDECLARED_GETRNGE_FIXIDX,
8015     SYSV68_STRING_FIXIDX,
8016     SYSZ_STDLIB_FOR_SUN_FIXIDX,
8017     THREAD_KEYWORD_FIXIDX,
8018     TINFO_CPLUSPLUS_FIXIDX,
8019     ULTRIX_ATEXIT_PARAM_FIXIDX,
8020     ULTRIX_ATOF_PARAM_FIXIDX,
8021     ULTRIX_CONST_FIXIDX,
8022     ULTRIX_CONST2_FIXIDX,
8023     ULTRIX_CONST3_FIXIDX,
8024     ULTRIX_FIX_FIXPROTO_FIXIDX,
8025     ULTRIX_IFDEF_FIXIDX,
8026     ULTRIX_LOCALE_FIXIDX,
8027     ULTRIX_MATH_IFDEF_FIXIDX,
8028     ULTRIX_NESTED_IOCTL_FIXIDX,
8029     ULTRIX_NESTED_SVC_FIXIDX,
8030     ULTRIX_STAT_FIXIDX,
8031     ULTRIX_STATIC_FIXIDX,
8032     ULTRIX_STDLIB_FIXIDX,
8033     ULTRIX_STRINGS_FIXIDX,
8034     ULTRIX_STRINGS2_FIXIDX,
8035     ULTRIX_SYS_TIME_FIXIDX,
8036     ULTRIX_UNISTD_FIXIDX,
8037     UNICOSMK_RESTRICT_FIXIDX,
8038     UW7_BYTEORDER_FIX_FIXIDX,
8039     VA_I960_MACRO_FIXIDX,
8040     VOID_NULL_FIXIDX,
8041     VXWORKS_GCC_PROBLEM_FIXIDX,
8042     VXWORKS_NEEDS_VXTYPES_FIXIDX,
8043     VXWORKS_NEEDS_VXWORKS_FIXIDX,
8044     VXWORKS_TIME_FIXIDX,
8045     WINDISS_MATH1_FIXIDX,
8046     WINDISS_MATH2_FIXIDX,
8047     WINDISS_VALIST_FIXIDX,
8048     X11_CLASS_FIXIDX,
8049     X11_CLASS_USAGE_FIXIDX,
8050     X11_NEW_FIXIDX,
8051     X11_SPRINTF_FIXIDX
8052 } t_fixinc_idx;
8053
8054 tFixDesc fixDescList[ FIX_COUNT ] = {
8055   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
8056      apzAab_Darwin7_9_Long_Double_FuncsMachs,
8057      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8058      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
8059
8060   {  zAab_Darwin7_9_Long_Double_Funcs_2Name,    zAab_Darwin7_9_Long_Double_Funcs_2List,
8061      apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
8062      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8063      aAab_Darwin7_9_Long_Double_Funcs_2Tests,   apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
8064
8065   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
8066      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
8067      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8068      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8069
8070   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
8071      apzAab_Fd_Zero_Gnu_Types_HMachs,
8072      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8073      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8074
8075   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
8076      apzAab_Fd_Zero_Selectbits_HMachs,
8077      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8078      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
8079
8080   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
8081      apzAab_Solaris_Sys_Varargs_HMachs,
8082      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8083      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
8084
8085   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
8086      apzAab_Sun_MemcpyMachs,
8087      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8088      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
8089
8090   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
8091      apzAab_Ultrix_Ansi_CompatMachs,
8092      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8093      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
8094
8095   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
8096      apzAab_Ultrix_LimitsMachs,
8097      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8098      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
8099
8100   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
8101      apzAab_Ultrix_MemoryMachs,
8102      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8103      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
8104
8105   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
8106      apzAab_Ultrix_StringMachs,
8107      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8108      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
8109
8110   {  zAix_PthreadName,    zAix_PthreadList,
8111      apzAix_PthreadMachs,
8112      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8113      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
8114
8115   {  zAix_SysmachineName,    zAix_SysmachineList,
8116      apzAix_SysmachineMachs,
8117      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8118      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
8119
8120   {  zAix_SyswaitName,    zAix_SyswaitList,
8121      apzAix_SyswaitMachs,
8122      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8123      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
8124
8125   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
8126      apzAix_Syswait_2Machs,
8127      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8128      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
8129
8130   {  zAix_VolatileName,    zAix_VolatileList,
8131      apzAix_VolatileMachs,
8132      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8133      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
8134
8135   {  zAlpha___AssertName,    zAlpha___AssertList,
8136      apzAlpha___AssertMachs,
8137      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8138      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
8139
8140   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
8141      apzAlpha___Extern_PrefixMachs,
8142      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8143      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
8144
8145   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
8146      apzAlpha___Extern_Prefix_StandardsMachs,
8147      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8148      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
8149
8150   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
8151      apzAlpha___Extern_Prefix_Sys_StatMachs,
8152      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8153      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
8154
8155   {  zAlpha_AssertName,    zAlpha_AssertList,
8156      apzAlpha_AssertMachs,
8157      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8158      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
8159
8160   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
8161      apzAlpha_Bad_LvalMachs,
8162      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
8163      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
8164
8165   {  zAlpha_GetoptName,    zAlpha_GetoptList,
8166      apzAlpha_GetoptMachs,
8167      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8168      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
8169
8170   {  zAlpha_ParensName,    zAlpha_ParensList,
8171      apzAlpha_ParensMachs,
8172      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8173      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
8174
8175   {  zAlpha_PthreadName,    zAlpha_PthreadList,
8176      apzAlpha_PthreadMachs,
8177      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8178      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
8179
8180   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
8181      apzAlpha_Pthread_GccMachs,
8182      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8183      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
8184
8185   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
8186      apzAlpha_Pthread_InitMachs,
8187      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
8188      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
8189
8190   {  zAlpha_SbrkName,    zAlpha_SbrkList,
8191      apzAlpha_SbrkMachs,
8192      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8193      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
8194
8195   {  zAlpha_WcharName,    zAlpha_WcharList,
8196      apzAlpha_WcharMachs,
8197      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
8198      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
8199
8200   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
8201      apzAvoid_Bool_DefineMachs,
8202      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8203      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
8204
8205   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
8206      apzAvoid_Bool_TypeMachs,
8207      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8208      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
8209
8210   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
8211      apzAvoid_Wchar_T_TypeMachs,
8212      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8213      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
8214
8215   {  zBad_Struct_TermName,    zBad_Struct_TermList,
8216      apzBad_Struct_TermMachs,
8217      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8218      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
8219
8220   {  zBadquoteName,    zBadquoteList,
8221      apzBadquoteMachs,
8222      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8223      aBadquoteTests,   apzBadquotePatch, 0 },
8224
8225   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
8226      apzBroken_Assert_StdioMachs,
8227      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8228      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
8229
8230   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
8231      apzBroken_Assert_StdlibMachs,
8232      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8233      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
8234
8235   {  zBroken_CabsName,    zBroken_CabsList,
8236      apzBroken_CabsMachs,
8237      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8238      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
8239
8240   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
8241      apzBsd_Stdio_Attrs_ConflictMachs,
8242      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8243      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
8244
8245   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
8246      apzCtrl_Quotes_DefMachs,
8247      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8248      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
8249
8250   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
8251      apzCtrl_Quotes_UseMachs,
8252      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8253      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
8254
8255   {  zCxx_UnreadyName,    zCxx_UnreadyList,
8256      apzCxx_UnreadyMachs,
8257      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8258      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
8259
8260   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
8261      apzDarwin_Gcc4_BreakageMachs,
8262      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8263      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
8264
8265   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
8266      apzDarwin_Private_ExternMachs,
8267      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8268      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
8269
8270   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
8271      apzDec_Intern_AsmMachs,
8272      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
8273      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
8274
8275   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
8276      apzDjgpp_Wchar_HMachs,
8277      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8278      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
8279
8280   {  zEcd_CursorName,    zEcd_CursorList,
8281      apzEcd_CursorMachs,
8282      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8283      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
8284
8285   {  zException_StructureName,    zException_StructureList,
8286      apzException_StructureMachs,
8287      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8288      aException_StructureTests,   apzException_StructurePatch, 0 },
8289
8290   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
8291      apzFreebsd_Gcc3_BreakageMachs,
8292      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8293      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
8294
8295   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
8296      apzFreebsd_Gcc4_BreakageMachs,
8297      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8298      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
8299
8300   {  zGnu_TypesName,    zGnu_TypesList,
8301      apzGnu_TypesMachs,
8302      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8303      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
8304
8305   {  zHp_InlineName,    zHp_InlineList,
8306      apzHp_InlineMachs,
8307      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8308      aHp_InlineTests,   apzHp_InlinePatch, 0 },
8309
8310   {  zHp_SysfileName,    zHp_SysfileList,
8311      apzHp_SysfileMachs,
8312      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8313      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
8314
8315   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
8316      apzHpux10_Cpp_Pow_InlineMachs,
8317      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8318      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
8319
8320   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
8321      apzHpux11_Cpp_Pow_InlineMachs,
8322      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8323      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
8324
8325   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
8326      apzHpux10_Ctype_Declarations1Machs,
8327      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8328      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
8329
8330   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
8331      apzHpux10_Ctype_Declarations2Machs,
8332      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8333      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
8334
8335   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
8336      apzHpux10_Stdio_DeclarationsMachs,
8337      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8338      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
8339
8340   {  zHpux11_AbsName,    zHpux11_AbsList,
8341      apzHpux11_AbsMachs,
8342      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8343      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
8344
8345   {  zHpux11_FabsfName,    zHpux11_FabsfList,
8346      apzHpux11_FabsfMachs,
8347      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8348      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
8349
8350   {  zHpux11_Size_TName,    zHpux11_Size_TList,
8351      apzHpux11_Size_TMachs,
8352      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8353      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
8354
8355   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
8356      apzHpux11_SnprintfMachs,
8357      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8358      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
8359
8360   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
8361      apzHpux11_Uint32_CMachs,
8362      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8363      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
8364
8365   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
8366      apzHpux11_VsnprintfMachs,
8367      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8368      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
8369
8370   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
8371      apzHpux8_Bogus_InlinesMachs,
8372      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
8373      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
8374
8375   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
8376      apzHpux_Ctype_MacrosMachs,
8377      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8378      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
8379
8380   {  zHpux_HtonlName,    zHpux_HtonlList,
8381      apzHpux_HtonlMachs,
8382      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8383      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
8384
8385   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
8386      apzHpux_Long_DoubleMachs,
8387      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
8388      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
8389
8390   {  zHpux_SystimeName,    zHpux_SystimeList,
8391      apzHpux_SystimeMachs,
8392      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8393      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
8394
8395   {  zHuge_Val_HexName,    zHuge_Val_HexList,
8396      apzHuge_Val_HexMachs,
8397      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8398      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
8399
8400   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
8401      apzHuge_Valf_HexMachs,
8402      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8403      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
8404
8405   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
8406      apzHuge_Vall_HexMachs,
8407      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8408      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
8409
8410   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
8411      apzInt_Abort_Free_And_ExitMachs,
8412      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8413      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
8414
8415   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
8416      apzIo_Quotes_DefMachs,
8417      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8418      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
8419
8420   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
8421      apzIo_Quotes_UseMachs,
8422      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8423      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
8424
8425   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
8426      apzIp_Missing_SemiMachs,
8427      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
8428      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
8429
8430   {  zIrix___RestrictName,    zIrix___RestrictList,
8431      apzIrix___RestrictMachs,
8432      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8433      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
8434
8435   {  zIrix___Generic1Name,    zIrix___Generic1List,
8436      apzIrix___Generic1Machs,
8437      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8438      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
8439
8440   {  zIrix___Generic2Name,    zIrix___Generic2List,
8441      apzIrix___Generic2Machs,
8442      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8443      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
8444
8445   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
8446      apzIrix_Asm_ApostropheMachs,
8447      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8448      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
8449
8450   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
8451      apzIrix_Limits_ConstMachs,
8452      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8453      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
8454
8455   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
8456      apzIrix_Socklen_TMachs,
8457      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8458      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
8459
8460   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
8461      apzIrix_Stdio_Va_ListMachs,
8462      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8463      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
8464
8465   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
8466      apzIrix_WcsftimeMachs,
8467      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8468      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
8469
8470   {  zIsc_FmodName,    zIsc_FmodList,
8471      apzIsc_FmodMachs,
8472      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8473      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
8474
8475   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
8476      apzIsc_Omits_With_StdcMachs,
8477      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8478      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
8479
8480   {  zKandr_ConcatName,    zKandr_ConcatList,
8481      apzKandr_ConcatMachs,
8482      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8483      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
8484
8485   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
8486      apzLibc1_G_Va_ListMachs,
8487      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8488      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
8489
8490   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
8491      apzLibc1_Ifdefd_MemxMachs,
8492      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8493      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
8494
8495   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
8496      apzLinux_Ia64_UcontextMachs,
8497      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8498      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
8499
8500   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
8501      apzLynxos_No_Warning_In_Sys_Time_HMachs,
8502      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8503      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
8504
8505   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
8506      apzLynxos_Missing_PutenvMachs,
8507      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8508      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
8509
8510   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
8511      apzMachine_Ansi_H_Va_ListMachs,
8512      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8513      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
8514
8515   {  zMachine_NameName,    zMachine_NameList,
8516      apzMachine_NameMachs,
8517      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8518      aMachine_NameTests,   apzMachine_NamePatch, 0 },
8519
8520   {  zMath_ExceptionName,    zMath_ExceptionList,
8521      apzMath_ExceptionMachs,
8522      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8523      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
8524
8525   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
8526      apzMath_Huge_Val_From_Dbl_MaxMachs,
8527      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
8528      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
8529
8530   {  zNested_Auth_DesName,    zNested_Auth_DesList,
8531      apzNested_Auth_DesMachs,
8532      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8533      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
8534
8535   {  zNested_MotorolaName,    zNested_MotorolaList,
8536      apzNested_MotorolaMachs,
8537      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
8538      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
8539
8540   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
8541      apzNested_Sys_LimitsMachs,
8542      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
8543      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
8544
8545   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
8546      apzNetbsd_Extra_SemicolonMachs,
8547      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8548      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
8549
8550   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
8551      apzNext_Math_PrefixMachs,
8552      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8553      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
8554
8555   {  zNext_TemplateName,    zNext_TemplateList,
8556      apzNext_TemplateMachs,
8557      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8558      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
8559
8560   {  zNext_VolitileName,    zNext_VolitileList,
8561      apzNext_VolitileMachs,
8562      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8563      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
8564
8565   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
8566      apzNext_Wait_UnionMachs,
8567      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8568      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
8569
8570   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
8571      apzNodeent_SyntaxMachs,
8572      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8573      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
8574
8575   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
8576      apzObstack_Lvalue_CastMachs,
8577      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8578      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
8579
8580   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
8581      apzOsf_Namespace_AMachs,
8582      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8583      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
8584
8585   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
8586      apzOsf_Namespace_CMachs,
8587      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8588      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
8589
8590   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
8591      apzPthread_Page_SizeMachs,
8592      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8593      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
8594
8595   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
8596      apzPthread_Incomplete_Struct_ArgumentMachs,
8597      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8598      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
8599
8600   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
8601      apzRead_Ret_TypeMachs,
8602      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8603      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
8604
8605   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
8606      apzRpc_Xdr_Lvalue_Cast_AMachs,
8607      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8608      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
8609
8610   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
8611      apzRpc_Xdr_Lvalue_Cast_BMachs,
8612      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8613      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
8614
8615   {  zRs6000_DoubleName,    zRs6000_DoubleList,
8616      apzRs6000_DoubleMachs,
8617      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8618      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
8619
8620   {  zRs6000_FchmodName,    zRs6000_FchmodList,
8621      apzRs6000_FchmodMachs,
8622      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8623      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
8624
8625   {  zRs6000_ParamName,    zRs6000_ParamList,
8626      apzRs6000_ParamMachs,
8627      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8628      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
8629
8630   {  zSco_MathName,    zSco_MathList,
8631      apzSco_MathMachs,
8632      SCO_MATH_TEST_CT, FD_MACH_ONLY,
8633      aSco_MathTests,   apzSco_MathPatch, 0 },
8634
8635   {  zSco_RegsetName,    zSco_RegsetList,
8636      apzSco_RegsetMachs,
8637      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8638      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
8639
8640   {  zSco_Static_FuncName,    zSco_Static_FuncList,
8641      apzSco_Static_FuncMachs,
8642      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
8643      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
8644
8645   {  zSco_UtimeName,    zSco_UtimeList,
8646      apzSco_UtimeMachs,
8647      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8648      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
8649
8650   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
8651      apzSolaris_Math_1Machs,
8652      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8653      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
8654
8655   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
8656      apzSolaris_Math_2Machs,
8657      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8658      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
8659
8660   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
8661      apzSolaris_Math_3Machs,
8662      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8663      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
8664
8665   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
8666      apzSolaris_Math_4Machs,
8667      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8668      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
8669
8670   {  zSolaris_Math_5Name,    zSolaris_Math_5List,
8671      apzSolaris_Math_5Machs,
8672      SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8673      aSolaris_Math_5Tests,   apzSolaris_Math_5Patch, 0 },
8674
8675   {  zSolaris_Math_6Name,    zSolaris_Math_6List,
8676      apzSolaris_Math_6Machs,
8677      SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8678      aSolaris_Math_6Tests,   apzSolaris_Math_6Patch, 0 },
8679
8680   {  zSolaris_Math_7Name,    zSolaris_Math_7List,
8681      apzSolaris_Math_7Machs,
8682      SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8683      aSolaris_Math_7Tests,   apzSolaris_Math_7Patch, 0 },
8684
8685   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
8686      apzSolaris_Math_8Machs,
8687      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8688      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
8689
8690   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
8691      apzSolaris_Math_9Machs,
8692      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8693      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
8694
8695   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
8696      apzSolaris_Mutex_Init_1Machs,
8697      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
8698      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
8699
8700   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
8701      apzSolaris_Mutex_Init_2Machs,
8702      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8703      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
8704
8705   {  zSolaris_SocketName,    zSolaris_SocketList,
8706      apzSolaris_SocketMachs,
8707      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8708      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
8709
8710   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
8711      apzSolaris_Stdio_TagMachs,
8712      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
8713      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
8714
8715   {  zSolaris_UnistdName,    zSolaris_UnistdList,
8716      apzSolaris_UnistdMachs,
8717      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8718      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
8719
8720   {  zSolaris_WidecName,    zSolaris_WidecList,
8721      apzSolaris_WidecMachs,
8722      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8723      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
8724
8725   {  zStatsswtchName,    zStatsswtchList,
8726      apzStatsswtchMachs,
8727      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8728      aStatsswtchTests,   apzStatsswtchPatch, 0 },
8729
8730   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
8731      apzStdio_Stdarg_HMachs,
8732      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8733      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
8734
8735   {  zStdio_Va_ListName,    zStdio_Va_ListList,
8736      apzStdio_Va_ListMachs,
8737      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
8738      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
8739
8740   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
8741      apzStdio_Va_List_ClientsMachs,
8742      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8743      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
8744
8745   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
8746      apzStrict_Ansi_NotMachs,
8747      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8748      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
8749
8750   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
8751      apzStrict_Ansi_Not_CtdMachs,
8752      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8753      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
8754
8755   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
8756      apzStrict_Ansi_OnlyMachs,
8757      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8758      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
8759
8760   {  zStruct_FileName,    zStruct_FileList,
8761      apzStruct_FileMachs,
8762      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8763      aStruct_FileTests,   apzStruct_FilePatch, 0 },
8764
8765   {  zStruct_SockaddrName,    zStruct_SockaddrList,
8766      apzStruct_SockaddrMachs,
8767      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8768      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
8769
8770   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
8771      apzSun_Auth_ProtoMachs,
8772      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8773      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
8774
8775   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
8776      apzSun_Bogus_IfdefMachs,
8777      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8778      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
8779
8780   {  zSun_CatmacroName,    zSun_CatmacroList,
8781      apzSun_CatmacroMachs,
8782      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8783      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
8784
8785   {  zSun_MallocName,    zSun_MallocList,
8786      apzSun_MallocMachs,
8787      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8788      aSun_MallocTests,   apzSun_MallocPatch, 0 },
8789
8790   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
8791      apzSun_Rusers_SemiMachs,
8792      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8793      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
8794
8795   {  zSun_SignalName,    zSun_SignalList,
8796      apzSun_SignalMachs,
8797      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8798      aSun_SignalTests,   apzSun_SignalPatch, 0 },
8799
8800   {  zSunos_StrlenName,    zSunos_StrlenList,
8801      apzSunos_StrlenMachs,
8802      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8803      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
8804
8805   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
8806      apzSvr4_Disable_OptMachs,
8807      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8808      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
8809
8810   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
8811      apzSvr4_GetcwdMachs,
8812      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8813      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
8814
8815   {  zSvr4_KrnlName,    zSvr4_KrnlList,
8816      apzSvr4_KrnlMachs,
8817      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8818      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
8819
8820   {  zSvr4_ProfilName,    zSvr4_ProfilList,
8821      apzSvr4_ProfilMachs,
8822      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8823      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
8824
8825   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
8826      apzSvr4_Sighandler_TypeMachs,
8827      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8828      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
8829
8830   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
8831      apzSvr4_Undeclared_GetrngeMachs,
8832      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8833      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
8834
8835   {  zSysv68_StringName,    zSysv68_StringList,
8836      apzSysv68_StringMachs,
8837      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8838      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
8839
8840   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
8841      apzSysz_Stdlib_For_SunMachs,
8842      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8843      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
8844
8845   {  zThread_KeywordName,    zThread_KeywordList,
8846      apzThread_KeywordMachs,
8847      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8848      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
8849
8850   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
8851      apzTinfo_CplusplusMachs,
8852      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8853      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
8854
8855   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
8856      apzUltrix_Atexit_ParamMachs,
8857      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8858      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
8859
8860   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
8861      apzUltrix_Atof_ParamMachs,
8862      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8863      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
8864
8865   {  zUltrix_ConstName,    zUltrix_ConstList,
8866      apzUltrix_ConstMachs,
8867      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8868      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
8869
8870   {  zUltrix_Const2Name,    zUltrix_Const2List,
8871      apzUltrix_Const2Machs,
8872      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8873      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
8874
8875   {  zUltrix_Const3Name,    zUltrix_Const3List,
8876      apzUltrix_Const3Machs,
8877      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8878      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
8879
8880   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
8881      apzUltrix_Fix_FixprotoMachs,
8882      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8883      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
8884
8885   {  zUltrix_IfdefName,    zUltrix_IfdefList,
8886      apzUltrix_IfdefMachs,
8887      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8888      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
8889
8890   {  zUltrix_LocaleName,    zUltrix_LocaleList,
8891      apzUltrix_LocaleMachs,
8892      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8893      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
8894
8895   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
8896      apzUltrix_Math_IfdefMachs,
8897      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8898      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
8899
8900   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
8901      apzUltrix_Nested_IoctlMachs,
8902      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8903      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
8904
8905   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
8906      apzUltrix_Nested_SvcMachs,
8907      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8908      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
8909
8910   {  zUltrix_StatName,    zUltrix_StatList,
8911      apzUltrix_StatMachs,
8912      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8913      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
8914
8915   {  zUltrix_StaticName,    zUltrix_StaticList,
8916      apzUltrix_StaticMachs,
8917      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8918      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
8919
8920   {  zUltrix_StdlibName,    zUltrix_StdlibList,
8921      apzUltrix_StdlibMachs,
8922      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8923      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
8924
8925   {  zUltrix_StringsName,    zUltrix_StringsList,
8926      apzUltrix_StringsMachs,
8927      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8928      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
8929
8930   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
8931      apzUltrix_Strings2Machs,
8932      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8933      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
8934
8935   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
8936      apzUltrix_Sys_TimeMachs,
8937      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8938      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
8939
8940   {  zUltrix_UnistdName,    zUltrix_UnistdList,
8941      apzUltrix_UnistdMachs,
8942      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8943      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
8944
8945   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
8946      apzUnicosmk_RestrictMachs,
8947      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8948      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
8949
8950   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
8951      apzUw7_Byteorder_FixMachs,
8952      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8953      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
8954
8955   {  zVa_I960_MacroName,    zVa_I960_MacroList,
8956      apzVa_I960_MacroMachs,
8957      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8958      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
8959
8960   {  zVoid_NullName,    zVoid_NullList,
8961      apzVoid_NullMachs,
8962      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8963      aVoid_NullTests,   apzVoid_NullPatch, 0 },
8964
8965   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
8966      apzVxworks_Gcc_ProblemMachs,
8967      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
8968      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
8969
8970   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
8971      apzVxworks_Needs_VxtypesMachs,
8972      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8973      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
8974
8975   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
8976      apzVxworks_Needs_VxworksMachs,
8977      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
8978      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
8979
8980   {  zVxworks_TimeName,    zVxworks_TimeList,
8981      apzVxworks_TimeMachs,
8982      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8983      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
8984
8985   {  zWindiss_Math1Name,    zWindiss_Math1List,
8986      apzWindiss_Math1Machs,
8987      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
8988      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
8989
8990   {  zWindiss_Math2Name,    zWindiss_Math2List,
8991      apzWindiss_Math2Machs,
8992      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
8993      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
8994
8995   {  zWindiss_ValistName,    zWindiss_ValistList,
8996      apzWindiss_ValistMachs,
8997      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
8998      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
8999
9000   {  zX11_ClassName,    zX11_ClassList,
9001      apzX11_ClassMachs,
9002      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9003      aX11_ClassTests,   apzX11_ClassPatch, 0 },
9004
9005   {  zX11_Class_UsageName,    zX11_Class_UsageList,
9006      apzX11_Class_UsageMachs,
9007      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9008      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
9009
9010   {  zX11_NewName,    zX11_NewList,
9011      apzX11_NewMachs,
9012      X11_NEW_TEST_CT, FD_MACH_ONLY,
9013      aX11_NewTests,   apzX11_NewPatch, 0 },
9014
9015   {  zX11_SprintfName,    zX11_SprintfList,
9016      apzX11_SprintfMachs,
9017      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9018      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }
9019 };