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