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