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