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