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