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