OSDN Git Service

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