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