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