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