[LVU] reset view at function entry, omit views at line zero
[official-gcc.git] / fixincludes / fixincl.x
blob9a2dc8b417f7dbadd31398135dd789f5f56f4355
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  *
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  *
5  * It has been AutoGen-ed  February 22, 2018 at 03:46:51 PM by AutoGen 5.18
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT SVN-MERGE THIS FILE, EITHER Thu Feb 22 15:46:51 UTC 2018
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 249 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
42 static char const sed_cmd_z[] = SED_PROGRAM;
44 /* * * * * * * * * * * * * * * * * * * * * * * * * *
45  *
46  *  Description of Aab_Aix_Stdio fix
47  */
48 tSCC zAab_Aix_StdioName[] =
49      "AAB_aix_stdio";
52  *  File name selection pattern
53  */
54 tSCC zAab_Aix_StdioList[] =
55   "stdio.h\0";
57  *  Machine/OS name selection pattern
58  */
59 tSCC* apzAab_Aix_StdioMachs[] = {
60         "*-*-aix*",
61         (const char*)NULL };
64  *  content selection pattern - do fix if pattern found
65  */
66 tSCC zAab_Aix_StdioSelect0[] =
67        "define fopen fopen64";
69 #define    AAB_AIX_STDIO_TEST_CT  1
70 static tTestDesc aAab_Aix_StdioTests[] = {
71   { TT_EGREP,    zAab_Aix_StdioSelect0, (regex_t*)NULL }, };
74  *  Fix Command Arguments for Aab_Aix_Stdio
75  */
76 static 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\
90 extern \"C\" {\n\
91 extern int fgetpos(FILE *, fpos64_t *) __asm__(\"fgetpos64\");\n\
92 extern FILE *fopen(const char *, const char *) __asm__(\"fopen64\");\n\
93 extern FILE *freopen(const char *, const char *, FILE *) __asm__(\"freopen64\");\n\
94 extern int fseeko(FILE *, off64_t, int) __asm__(\"fseeko64\");\n\
95 extern int fsetpos(FILE *, const fpos64_t *) __asm__(\"fsetpos64\");\n\
96 extern off64_t ftello(FILE *) __asm__(\"ftello64\");\n\
97 }\n\
98 #endif\n\
99 #endif\n",
100     (char*)NULL };
102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
104  *  Description of Aab_Aix_Fcntl fix
105  */
106 tSCC zAab_Aix_FcntlName[] =
107      "AAB_aix_fcntl";
110  *  File name selection pattern
111  */
112 tSCC zAab_Aix_FcntlList[] =
113   "fcntl.h\0";
115  *  Machine/OS name selection pattern
116  */
117 tSCC* apzAab_Aix_FcntlMachs[] = {
118         "*-*-aix*",
119         (const char*)NULL };
122  *  content selection pattern - do fix if pattern found
123  */
124 tSCC zAab_Aix_FcntlSelect0[] =
125        "define open[ \t]open64";
127 #define    AAB_AIX_FCNTL_TEST_CT  1
128 static tTestDesc aAab_Aix_FcntlTests[] = {
129   { TT_EGREP,    zAab_Aix_FcntlSelect0, (regex_t*)NULL }, };
132  *  Fix Command Arguments for Aab_Aix_Fcntl
133  */
134 static 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\
145 extern \"C\" {\n\
146 extern int open(const char *, int, ...) __asm__(\"open64\");\n\
147 extern int creat(const char *, mode_t) __asm__(\"creat64\");\n\
148 #if (_XOPEN_SOURCE >= 700)\n\
149 extern int openat(int, const char *, int, ...) __asm__(\"open64at\");\n\
150 #endif\n\
151 }\n\
152 #endif\n\
153 #endif\n",
154     (char*)NULL };
156 /* * * * * * * * * * * * * * * * * * * * * * * * * *
158  *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
159  */
160 tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
161      "AAB_darwin7_9_long_double_funcs";
164  *  File name selection pattern
165  */
166 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
167   "architecture/ppc/math.h\0";
169  *  Machine/OS name selection pattern
170  */
171 tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
172         "*-*-darwin7.9*",
173         (const char*)NULL };
176  *  content bypass pattern - skip fix if pattern found
177  */
178 tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
179        "powl";
181 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
182 static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
183   { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
186  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
187  */
188 static 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 };
270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
272  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
273  */
274 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
275      "AAB_fd_zero_asm_posix_types_h";
278  *  File name selection pattern
279  */
280 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
281   "asm/posix_types.h\0";
283  *  Machine/OS name selection pattern
284  */
285 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
286         "i[34567]86-*-linux*",
287         (const char*)NULL };
290  *  content bypass pattern - skip fix if pattern found
291  */
292 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
293        "} while";
294 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass1[] =
295        "x86_64";
296 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass2[] =
297        "posix_types_64";
299 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  3
300 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
301   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL },
302   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass1, (regex_t*)NULL },
303   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass2, (regex_t*)NULL }, };
306  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
307  */
308 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
309 "/* This file fixes a bug in the __FD_ZERO macro\n\
310    for older versions of the Linux kernel. */\n\
311 #ifndef _POSIX_TYPES_H_WRAPPER\n\
312 #include <features.h>\n\
313  #include_next <asm/posix_types.h>\n\n\
314 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
315 #undef __FD_ZERO\n\
316 #define __FD_ZERO(fdsetp) \\\n\
317   do { \\\n\
318     int __d0, __d1; \\\n\
319 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
320 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
321 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
322   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
323   } while (0)\n\
324 #endif\n\n\
325 #define _POSIX_TYPES_H_WRAPPER\n\
326 #endif /* _POSIX_TYPES_H_WRAPPER */",
327     (char*)NULL };
329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
331  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
332  */
333 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
334      "AAB_fd_zero_gnu_types_h";
337  *  File name selection pattern
338  */
339 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
340   "gnu/types.h\0";
342  *  Machine/OS name selection pattern
343  */
344 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
345         "i[34567]86-*-linux*",
346         (const char*)NULL };
347 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
348 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
351  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
352  */
353 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
354 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
355 #ifndef _TYPES_H_WRAPPER\n\
356 #include <features.h>\n\
357 #include_next <gnu/types.h>\n\n\
358 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
359 #undef __FD_ZERO\n\
360 # define __FD_ZERO(fdsetp) \\\n\
361   do { \\\n\
362     int __d0, __d1; \\\n\
363         __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
364         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
365         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
366           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
367   } while (0)\n\
368 #endif\n\n\
369 #define _TYPES_H_WRAPPER\n\
370 #endif /* _TYPES_H_WRAPPER */",
371     (char*)NULL };
373 /* * * * * * * * * * * * * * * * * * * * * * * * * *
375  *  Description of Aab_Fd_Zero_Selectbits_H fix
376  */
377 tSCC zAab_Fd_Zero_Selectbits_HName[] =
378      "AAB_fd_zero_selectbits_h";
381  *  File name selection pattern
382  */
383 tSCC zAab_Fd_Zero_Selectbits_HList[] =
384   "selectbits.h\0";
386  *  Machine/OS name selection pattern
387  */
388 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
389         "i[34567]86-*-linux*",
390         (const char*)NULL };
391 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
392 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
395  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
396  */
397 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
398 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
399 #ifndef _SELECTBITS_H_WRAPPER\n\
400   #include <features.h>\n\
401   #include_next <selectbits.h>\n\n\
402   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
403   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
404   && __GLIBC_MINOR__ == 0\n\
405      #undef __FD_ZERO\n\
406      #define __FD_ZERO(fdsetp) \\\\\n\
407      do { \\\\\n\
408         int __d0, __d1; \\\\\n\
409       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
410                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
411                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
412                                         / sizeof (__fd_mask)), \\\\\n\
413                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
414                         : \"memory\"); \\\\\n\
415       } while (0)\n\
416   #endif\n\n\
417   #define _SELECTBITS_H_WRAPPER\n\
418 #endif /* _SELECTBITS_H_WRAPPER */",
419     (char*)NULL };
421 /* * * * * * * * * * * * * * * * * * * * * * * * * *
423  *  Description of Aab_Solaris_Sys_Varargs_H fix
424  */
425 tSCC zAab_Solaris_Sys_Varargs_HName[] =
426      "AAB_solaris_sys_varargs_h";
429  *  File name selection pattern
430  */
431 tSCC zAab_Solaris_Sys_Varargs_HList[] =
432   "sys/varargs.h\0";
434  *  Machine/OS name selection pattern
435  */
436 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
437         "*-*-solaris*",
438         (const char*)NULL };
439 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
440 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
443  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
444  */
445 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
446 "#ifdef __STDC__\n\
447   #include <stdarg.h>\n\
448 #else\n\
449   #include <varargs.h>\n\
450 #endif",
451     (char*)NULL };
453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
455  *  Description of Aab_Sun_Memcpy fix
456  */
457 tSCC zAab_Sun_MemcpyName[] =
458      "AAB_sun_memcpy";
461  *  File name selection pattern
462  */
463 tSCC zAab_Sun_MemcpyList[] =
464   "memory.h\0";
466  *  Machine/OS name selection pattern
467  */
468 #define apzAab_Sun_MemcpyMachs (const char**)NULL
471  *  content selection pattern - do fix if pattern found
472  */
473 tSCC zAab_Sun_MemcpySelect0[] =
474        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
476 #define    AAB_SUN_MEMCPY_TEST_CT  1
477 static tTestDesc aAab_Sun_MemcpyTests[] = {
478   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
481  *  Fix Command Arguments for Aab_Sun_Memcpy
482  */
483 static const char* apzAab_Sun_MemcpyPatch[] = {
484 "/* This file was generated by fixincludes */\n\
485 #ifndef __memory_h__\n\
486   #define __memory_h__\n\n\
487   #ifdef __STDC__\n\
488     extern void *memccpy();\n\
489     extern void *memchr();\n\
490     extern void *memcpy();\n\
491     extern void *memset();\n\
492   #else\n\
493     extern char *memccpy();\n\
494     extern char *memchr();\n\
495     extern char *memcpy();\n\
496     extern char *memset();\n\
497   #endif /* __STDC__ */\n\n\
498   extern int memcmp();\n\n\
499 #endif /* __memory_h__ */",
500     (char*)NULL };
502 /* * * * * * * * * * * * * * * * * * * * * * * * * *
504  *  Description of Aab_Vxworks_Assert fix
505  */
506 tSCC zAab_Vxworks_AssertName[] =
507      "AAB_vxworks_assert";
510  *  File name selection pattern
511  */
512 tSCC zAab_Vxworks_AssertList[] =
513   "assert.h\0";
515  *  Machine/OS name selection pattern
516  */
517 tSCC* apzAab_Vxworks_AssertMachs[] = {
518         "*-*-vxworks*",
519         (const char*)NULL };
520 #define AAB_VXWORKS_ASSERT_TEST_CT  0
521 #define aAab_Vxworks_AssertTests   (tTestDesc*)NULL
524  *  Fix Command Arguments for Aab_Vxworks_Assert
525  */
526 static const char* apzAab_Vxworks_AssertPatch[] = {
527 "#ifndef _ASSERT_H\n\
528 #define _ASSERT_H\n\n\
529 #ifdef assert\n\
530 #undef assert\n\
531 #endif\n\n\
532 #if defined(__STDC__) || defined(__cplusplus)\n\
533 extern void __assert (const char*);\n\
534 #else\n\
535 extern void __assert ();\n\
536 #endif\n\n\
537 #ifdef NDEBUG\n\
538 #define assert(ign) ((void)0)\n\
539 #else\n\n\
540 #define ASSERT_STRINGIFY(str) ASSERT_STRINGIFY_HELPER(str)\n\
541 #define ASSERT_STRINGIFY_HELPER(str) #str\n\n\
542 #define assert(test) ((void) \\\n\
543         ((test) ? ((void)0) : \\\n\
544         __assert(\"Assertion failed: \" ASSERT_STRINGIFY(test) \", file \" \\\n\
545         __FILE__ \", line \" ASSERT_STRINGIFY(__LINE__) \"\\n\")))\n\n\
546 #endif\n\n\
547 #endif",
548     (char*)NULL };
550 /* * * * * * * * * * * * * * * * * * * * * * * * * *
552  *  Description of Aab_Vxworks_Regs_Vxtypes fix
553  */
554 tSCC zAab_Vxworks_Regs_VxtypesName[] =
555      "AAB_vxworks_regs_vxtypes";
558  *  File name selection pattern
559  */
560 tSCC zAab_Vxworks_Regs_VxtypesList[] =
561   "regs.h\0";
563  *  Machine/OS name selection pattern
564  */
565 tSCC* apzAab_Vxworks_Regs_VxtypesMachs[] = {
566         "*-*-vxworks*",
567         (const char*)NULL };
568 #define AAB_VXWORKS_REGS_VXTYPES_TEST_CT  0
569 #define aAab_Vxworks_Regs_VxtypesTests   (tTestDesc*)NULL
572  *  Fix Command Arguments for Aab_Vxworks_Regs_Vxtypes
573  */
574 static const char* apzAab_Vxworks_Regs_VxtypesPatch[] = {
575 "#ifndef _REGS_H\n\
576 #define _REGS_H\n\
577 #include <types/vxTypesOld.h>\n\
578 #include_next <arch/../regs.h>\n\
579 #endif",
580     (char*)NULL };
582 /* * * * * * * * * * * * * * * * * * * * * * * * * *
584  *  Description of Aab_Vxworks_Unistd fix
585  */
586 tSCC zAab_Vxworks_UnistdName[] =
587      "AAB_vxworks_unistd";
590  *  File name selection pattern
591  */
592 tSCC zAab_Vxworks_UnistdList[] =
593   "unistd.h\0";
595  *  Machine/OS name selection pattern
596  */
597 tSCC* apzAab_Vxworks_UnistdMachs[] = {
598         "*-*-vxworks*",
599         (const char*)NULL };
600 #define AAB_VXWORKS_UNISTD_TEST_CT  0
601 #define aAab_Vxworks_UnistdTests   (tTestDesc*)NULL
604  *  Fix Command Arguments for Aab_Vxworks_Unistd
605  */
606 static const char* apzAab_Vxworks_UnistdPatch[] = {
607 "#ifndef _UNISTD_H\n\
608 #define _UNISTD_H\n\
609 #include_next <unistd.h>\n\
610 #include <ioLib.h>\n\
611 #ifndef STDIN_FILENO\n\
612 #define STDIN_FILENO 0\n\
613 #endif\n\
614 #ifndef STDOUT_FILENO\n\
615 #define STDOUT_FILENO 1\n\
616 #endif\n\
617 #ifndef STDERR_FILENO\n\
618 #define STDERR_FILENO 2\n\
619 #endif\n\
620 #endif /* _UNISTD_H */",
621     (char*)NULL };
623 /* * * * * * * * * * * * * * * * * * * * * * * * * *
625  *  Description of Aix_Assert fix
626  */
627 tSCC zAix_AssertName[] =
628      "aix_assert";
631  *  File name selection pattern
632  */
633 tSCC zAix_AssertList[] =
634   "assert.h\0";
636  *  Machine/OS name selection pattern
637  */
638 tSCC* apzAix_AssertMachs[] = {
639         "*-*-aix*",
640         (const char*)NULL };
643  *  content selection pattern - do fix if pattern found
644  */
645 tSCC zAix_AssertSelect0[] =
646        "#define[ \t]static_assert[ \t]_Static_assert";
648 #define    AIX_ASSERT_TEST_CT  1
649 static tTestDesc aAix_AssertTests[] = {
650   { TT_EGREP,    zAix_AssertSelect0, (regex_t*)NULL }, };
653  *  Fix Command Arguments for Aix_Assert
654  */
655 static const char* apzAix_AssertPatch[] = {
656     "format",
657     "#ifndef __cplusplus\n\
658 %0\n\
659 #endif",
660     (char*)NULL };
662 /* * * * * * * * * * * * * * * * * * * * * * * * * *
664  *  Description of Aix_Complex fix
665  */
666 tSCC zAix_ComplexName[] =
667      "aix_complex";
670  *  File name selection pattern
671  */
672 tSCC zAix_ComplexList[] =
673   "complex.h\0";
675  *  Machine/OS name selection pattern
676  */
677 tSCC* apzAix_ComplexMachs[] = {
678         "*-*-aix*",
679         (const char*)NULL };
682  *  content selection pattern - do fix if pattern found
683  */
684 tSCC zAix_ComplexSelect0[] =
685        "#define[ \t]_Complex_I[ \t]__I";
687 #define    AIX_COMPLEX_TEST_CT  1
688 static tTestDesc aAix_ComplexTests[] = {
689   { TT_EGREP,    zAix_ComplexSelect0, (regex_t*)NULL }, };
692  *  Fix Command Arguments for Aix_Complex
693  */
694 static const char* apzAix_ComplexPatch[] = {
695     "format",
696     "#define _Complex_I (__extension__ 1.0iF)",
697     (char*)NULL };
699 /* * * * * * * * * * * * * * * * * * * * * * * * * *
701  *  Description of Aix_Externc fix
702  */
703 tSCC zAix_ExterncName[] =
704      "aix_externc";
707  *  File name selection pattern
708  */
709 tSCC zAix_ExterncList[] =
710   "ctype.h\0fcntl.h\0langinfo.h\0ldfcn.h\0sys/localedef.h\0sys/times.h\0";
712  *  Machine/OS name selection pattern
713  */
714 tSCC* apzAix_ExterncMachs[] = {
715         "*-*-aix*",
716         (const char*)NULL };
719  *  content bypass pattern - skip fix if pattern found
720  */
721 tSCC zAix_ExterncBypass0[] =
722        "extern \"C\"";
724 #define    AIX_EXTERNC_TEST_CT  1
725 static tTestDesc aAix_ExterncTests[] = {
726   { TT_NEGREP,   zAix_ExterncBypass0, (regex_t*)NULL }, };
729  *  Fix Command Arguments for Aix_Externc
730  */
731 static const char* apzAix_ExterncPatch[] = {
732     "wrap",
733     "#ifdef __cplusplus\n\
734 extern \"C\" {\n\
735 #endif\n",
736     "#ifdef __cplusplus\n\
737 }\n\
738 #endif\n",
739     (char*)NULL };
741 /* * * * * * * * * * * * * * * * * * * * * * * * * *
743  *  Description of Aix_Externcpp1 fix
744  */
745 tSCC zAix_Externcpp1Name[] =
746      "aix_externcpp1";
749  *  File name selection pattern
750  */
751 tSCC zAix_Externcpp1List[] =
752   "sys/socket.h\0";
754  *  Machine/OS name selection pattern
755  */
756 tSCC* apzAix_Externcpp1Machs[] = {
757         "*-*-aix*",
758         (const char*)NULL };
761  *  content selection pattern - do fix if pattern found
762  */
763 tSCC zAix_Externcpp1Select0[] =
764        "#ifdef __cplusplus";
766 #define    AIX_EXTERNCPP1_TEST_CT  1
767 static tTestDesc aAix_Externcpp1Tests[] = {
768   { TT_EGREP,    zAix_Externcpp1Select0, (regex_t*)NULL }, };
771  *  Fix Command Arguments for Aix_Externcpp1
772  */
773 static const char* apzAix_Externcpp1Patch[] = {
774     "format",
775     "#ifdef __cplusplus\n\
776 extern \"C++\" {",
777     (char*)NULL };
779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
781  *  Description of Aix_Externcpp2 fix
782  */
783 tSCC zAix_Externcpp2Name[] =
784      "aix_externcpp2";
787  *  File name selection pattern
788  */
789 tSCC zAix_Externcpp2List[] =
790   "sys/socket.h\0";
792  *  Machine/OS name selection pattern
793  */
794 tSCC* apzAix_Externcpp2Machs[] = {
795         "*-*-aix*",
796         (const char*)NULL };
799  *  content selection pattern - do fix if pattern found
800  */
801 tSCC zAix_Externcpp2Select0[] =
802        "#else  /\\* __cplusplus \\*/";
804 #define    AIX_EXTERNCPP2_TEST_CT  1
805 static tTestDesc aAix_Externcpp2Tests[] = {
806   { TT_EGREP,    zAix_Externcpp2Select0, (regex_t*)NULL }, };
809  *  Fix Command Arguments for Aix_Externcpp2
810  */
811 static const char* apzAix_Externcpp2Patch[] = {
812     "format",
813     "} /* extern \"C++\" */\n\
814 #else  /* __cplusplus */",
815     (char*)NULL };
817 /* * * * * * * * * * * * * * * * * * * * * * * * * *
819  *  Description of Aix_Malloc fix
820  */
821 tSCC zAix_MallocName[] =
822      "aix_malloc";
825  *  File name selection pattern
826  */
827 tSCC zAix_MallocList[] =
828   "malloc.h\0";
830  *  Machine/OS name selection pattern
831  */
832 tSCC* apzAix_MallocMachs[] = {
833         "*-*-aix*",
834         (const char*)NULL };
837  *  content selection pattern - do fix if pattern found
838  */
839 tSCC zAix_MallocSelect0[] =
840        "#ifdef __cplusplus";
842 #define    AIX_MALLOC_TEST_CT  1
843 static tTestDesc aAix_MallocTests[] = {
844   { TT_EGREP,    zAix_MallocSelect0, (regex_t*)NULL }, };
847  *  Fix Command Arguments for Aix_Malloc
848  */
849 static const char* apzAix_MallocPatch[] = {
850     "format",
851     "#if (defined(__cplusplus) && defined(__IBMCPP__))",
852     (char*)NULL };
854 /* * * * * * * * * * * * * * * * * * * * * * * * * *
856  *  Description of Aix_Net_If_Arp fix
857  */
858 tSCC zAix_Net_If_ArpName[] =
859      "aix_net_if_arp";
862  *  File name selection pattern
863  */
864 tSCC zAix_Net_If_ArpList[] =
865   "net/if_arp.h\0";
867  *  Machine/OS name selection pattern
868  */
869 tSCC* apzAix_Net_If_ArpMachs[] = {
870         "*-*-aix*",
871         (const char*)NULL };
874  *  content selection pattern - do fix if pattern found
875  */
876 tSCC zAix_Net_If_ArpSelect0[] =
877        "^struct  fc_softc \\{";
879 #define    AIX_NET_IF_ARP_TEST_CT  1
880 static tTestDesc aAix_Net_If_ArpTests[] = {
881   { TT_EGREP,    zAix_Net_If_ArpSelect0, (regex_t*)NULL }, };
884  *  Fix Command Arguments for Aix_Net_If_Arp
885  */
886 static const char* apzAix_Net_If_ArpPatch[] = {
887     "format",
888     "typedef struct _fc_softc {",
889     (char*)NULL };
891 /* * * * * * * * * * * * * * * * * * * * * * * * * *
893  *  Description of Aix_Null fix
894  */
895 tSCC zAix_NullName[] =
896      "aix_null";
899  *  File name selection pattern
900  */
901 tSCC zAix_NullList[] =
902   "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";
904  *  Machine/OS name selection pattern
905  */
906 tSCC* apzAix_NullMachs[] = {
907         "*-*-aix*",
908         (const char*)NULL };
911  *  content selection pattern - do fix if pattern found
912  */
913 tSCC zAix_NullSelect0[] =
914        "#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
917  *  content bypass pattern - skip fix if pattern found
918  */
919 tSCC zAix_NullBypass0[] =
920        "__null";
922 #define    AIX_NULL_TEST_CT  2
923 static tTestDesc aAix_NullTests[] = {
924   { TT_NEGREP,   zAix_NullBypass0, (regex_t*)NULL },
925   { TT_EGREP,    zAix_NullSelect0, (regex_t*)NULL }, };
928  *  Fix Command Arguments for Aix_Null
929  */
930 static const char* apzAix_NullPatch[] = {
931     "format",
932     "#ifndef NULL\n\
933 #ifdef __cplusplus\n\
934 #ifdef __GNUG__\n\
935 #define NULL __null\n\
936 #else /* ! __GNUG__  */\n\
937 #define NULL 0L\n\
938 #endif /* __GNUG__  */\n\
939 #else /* ! __cplusplus  */\n\
940 #define NULL ((void *)0)\n\
941 #endif /* __cplusplus  */\n\
942 #endif /* !NULL  */",
943     (char*)NULL };
945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
947  *  Description of Aix_Once_Init_1 fix
948  */
949 tSCC zAix_Once_Init_1Name[] =
950      "aix_once_init_1";
953  *  File name selection pattern
954  */
955 tSCC zAix_Once_Init_1List[] =
956   "pthread.h\0";
958  *  Machine/OS name selection pattern
959  */
960 tSCC* apzAix_Once_Init_1Machs[] = {
961         "*-*-aix*",
962         (const char*)NULL };
965  *  content selection pattern - do fix if pattern found
966  */
967 tSCC zAix_Once_Init_1Select0[] =
968        "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\
969 \\{ \\\\\n";
971 #define    AIX_ONCE_INIT_1_TEST_CT  1
972 static tTestDesc aAix_Once_Init_1Tests[] = {
973   { TT_EGREP,    zAix_Once_Init_1Select0, (regex_t*)NULL }, };
976  *  Fix Command Arguments for Aix_Once_Init_1
977  */
978 static const char* apzAix_Once_Init_1Patch[] = {
979     "format",
980     "#define PTHREAD_ONCE_INIT \\\n\
981 {{ \\\n",
982     (char*)NULL };
984 /* * * * * * * * * * * * * * * * * * * * * * * * * *
986  *  Description of Aix_Once_Init_2 fix
987  */
988 tSCC zAix_Once_Init_2Name[] =
989      "aix_once_init_2";
992  *  File name selection pattern
993  */
994 tSCC zAix_Once_Init_2List[] =
995   "pthread.h\0";
997  *  Machine/OS name selection pattern
998  */
999 tSCC* apzAix_Once_Init_2Machs[] = {
1000         "*-*-aix*",
1001         (const char*)NULL };
1004  *  content selection pattern - do fix if pattern found
1005  */
1006 tSCC zAix_Once_Init_2Select0[] =
1007        "[ \t]0 \\\\\n\
1008 \\}\n";
1010 #define    AIX_ONCE_INIT_2_TEST_CT  1
1011 static tTestDesc aAix_Once_Init_2Tests[] = {
1012   { TT_EGREP,    zAix_Once_Init_2Select0, (regex_t*)NULL }, };
1015  *  Fix Command Arguments for Aix_Once_Init_2
1016  */
1017 static const char* apzAix_Once_Init_2Patch[] = {
1018     "format",
1019     "\t0 \\\n\
1020 }}\n",
1021     (char*)NULL };
1023 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1025  *  Description of Aix_Mutex_Initializer_1 fix
1026  */
1027 tSCC zAix_Mutex_Initializer_1Name[] =
1028      "aix_mutex_initializer_1";
1031  *  File name selection pattern
1032  */
1033 tSCC zAix_Mutex_Initializer_1List[] =
1034   "pthread.h\0";
1036  *  Machine/OS name selection pattern
1037  */
1038 tSCC* apzAix_Mutex_Initializer_1Machs[] = {
1039         "*-*-aix*",
1040         (const char*)NULL };
1043  *  content selection pattern - do fix if pattern found
1044  */
1045 tSCC zAix_Mutex_Initializer_1Select0[] =
1046        "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
1047 \\{ \\\\\n";
1049 #define    AIX_MUTEX_INITIALIZER_1_TEST_CT  1
1050 static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
1051   { TT_EGREP,    zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
1054  *  Fix Command Arguments for Aix_Mutex_Initializer_1
1055  */
1056 static const char* apzAix_Mutex_Initializer_1Patch[] = {
1057     "format",
1058     "#define PTHREAD_MUTEX_INITIALIZER \\\n\
1059 {{ \\\n",
1060     (char*)NULL };
1062 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1064  *  Description of Aix_Cond_Initializer_1 fix
1065  */
1066 tSCC zAix_Cond_Initializer_1Name[] =
1067      "aix_cond_initializer_1";
1070  *  File name selection pattern
1071  */
1072 tSCC zAix_Cond_Initializer_1List[] =
1073   "pthread.h\0";
1075  *  Machine/OS name selection pattern
1076  */
1077 tSCC* apzAix_Cond_Initializer_1Machs[] = {
1078         "*-*-aix*",
1079         (const char*)NULL };
1082  *  content selection pattern - do fix if pattern found
1083  */
1084 tSCC zAix_Cond_Initializer_1Select0[] =
1085        "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
1086 \\{ \\\\\n";
1088 #define    AIX_COND_INITIALIZER_1_TEST_CT  1
1089 static tTestDesc aAix_Cond_Initializer_1Tests[] = {
1090   { TT_EGREP,    zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
1093  *  Fix Command Arguments for Aix_Cond_Initializer_1
1094  */
1095 static const char* apzAix_Cond_Initializer_1Patch[] = {
1096     "format",
1097     "#define PTHREAD_COND_INITIALIZER \\\n\
1098 {{ \\\n",
1099     (char*)NULL };
1101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1103  *  Description of Aix_Rwlock_Initializer_1 fix
1104  */
1105 tSCC zAix_Rwlock_Initializer_1Name[] =
1106      "aix_rwlock_initializer_1";
1109  *  File name selection pattern
1110  */
1111 tSCC zAix_Rwlock_Initializer_1List[] =
1112   "pthread.h\0";
1114  *  Machine/OS name selection pattern
1115  */
1116 tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
1117         "*-*-aix*",
1118         (const char*)NULL };
1121  *  content selection pattern - do fix if pattern found
1122  */
1123 tSCC zAix_Rwlock_Initializer_1Select0[] =
1124        "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
1125 \\{ \\\\\n";
1127 #define    AIX_RWLOCK_INITIALIZER_1_TEST_CT  1
1128 static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
1129   { TT_EGREP,    zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
1132  *  Fix Command Arguments for Aix_Rwlock_Initializer_1
1133  */
1134 static const char* apzAix_Rwlock_Initializer_1Patch[] = {
1135     "format",
1136     "#define PTHREAD_RWLOCK_INITIALIZER \\\n\
1137 {{ \\\n",
1138     (char*)NULL };
1140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1142  *  Description of Aix_Pthread fix
1143  */
1144 tSCC zAix_PthreadName[] =
1145      "aix_pthread";
1148  *  File name selection pattern
1149  */
1150 tSCC zAix_PthreadList[] =
1151   "pthread.h\0";
1153  *  Machine/OS name selection pattern
1154  */
1155 #define apzAix_PthreadMachs (const char**)NULL
1158  *  content selection pattern - do fix if pattern found
1159  */
1160 tSCC zAix_PthreadSelect0[] =
1161        "(#define[\t ][A-Za-z_0-9]+)(\\\\\n\
1162 [^A-Za-z_0-9 \t\n\
1163 (])";
1165 #define    AIX_PTHREAD_TEST_CT  1
1166 static tTestDesc aAix_PthreadTests[] = {
1167   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
1170  *  Fix Command Arguments for Aix_Pthread
1171  */
1172 static const char* apzAix_PthreadPatch[] = {
1173     "format",
1174     "%1 %2",
1175     (char*)NULL };
1177 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1179  *  Description of Aix_Stdint_1 fix
1180  */
1181 tSCC zAix_Stdint_1Name[] =
1182      "aix_stdint_1";
1185  *  File name selection pattern
1186  */
1187 tSCC zAix_Stdint_1List[] =
1188   "stdint-aix.h\0stdint.h\0";
1190  *  Machine/OS name selection pattern
1191  */
1192 tSCC* apzAix_Stdint_1Machs[] = {
1193         "*-*-aix*",
1194         (const char*)NULL };
1197  *  content selection pattern - do fix if pattern found
1198  */
1199 tSCC zAix_Stdint_1Select0[] =
1200        "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
1201 #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
1203 #define    AIX_STDINT_1_TEST_CT  1
1204 static tTestDesc aAix_Stdint_1Tests[] = {
1205   { TT_EGREP,    zAix_Stdint_1Select0, (regex_t*)NULL }, };
1208  *  Fix Command Arguments for Aix_Stdint_1
1209  */
1210 static const char* apzAix_Stdint_1Patch[] = {
1211     "format",
1212     "#define UINT8_MAX\t(255)\n\
1213 #define UINT16_MAX\t(65535)",
1214     (char*)NULL };
1216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1218  *  Description of Aix_Stdint_2 fix
1219  */
1220 tSCC zAix_Stdint_2Name[] =
1221      "aix_stdint_2";
1224  *  File name selection pattern
1225  */
1226 tSCC zAix_Stdint_2List[] =
1227   "stdint-aix.h\0stdint.h\0";
1229  *  Machine/OS name selection pattern
1230  */
1231 tSCC* apzAix_Stdint_2Machs[] = {
1232         "*-*-aix*",
1233         (const char*)NULL };
1236  *  content selection pattern - do fix if pattern found
1237  */
1238 tSCC zAix_Stdint_2Select0[] =
1239        "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
1240 #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
1241 #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
1242 #else\n\
1243 #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
1244 #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
1245 #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
1247 #define    AIX_STDINT_2_TEST_CT  1
1248 static tTestDesc aAix_Stdint_2Tests[] = {
1249   { TT_EGREP,    zAix_Stdint_2Select0, (regex_t*)NULL }, };
1252  *  Fix Command Arguments for Aix_Stdint_2
1253  */
1254 static const char* apzAix_Stdint_2Patch[] = {
1255     "format",
1256     "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1257 #define INTPTR_MAX\t9223372036854775807L\n\
1258 #define UINTPTR_MAX\t18446744073709551615UL\n\
1259 #else\n\
1260 #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1261 #define INTPTR_MAX\t2147483647L\n\
1262 #define UINTPTR_MAX\t4294967295UL",
1263     (char*)NULL };
1265 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1267  *  Description of Aix_Stdint_3 fix
1268  */
1269 tSCC zAix_Stdint_3Name[] =
1270      "aix_stdint_3";
1273  *  File name selection pattern
1274  */
1275 tSCC zAix_Stdint_3List[] =
1276   "stdint-aix.h\0stdint.h\0";
1278  *  Machine/OS name selection pattern
1279  */
1280 tSCC* apzAix_Stdint_3Machs[] = {
1281         "*-*-aix*",
1282         (const char*)NULL };
1285  *  content selection pattern - do fix if pattern found
1286  */
1287 tSCC zAix_Stdint_3Select0[] =
1288        "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
1289 #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
1290 #else\n\
1291 #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
1292 #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
1294 #define    AIX_STDINT_3_TEST_CT  1
1295 static tTestDesc aAix_Stdint_3Tests[] = {
1296   { TT_EGREP,    zAix_Stdint_3Select0, (regex_t*)NULL }, };
1299  *  Fix Command Arguments for Aix_Stdint_3
1300  */
1301 static const char* apzAix_Stdint_3Patch[] = {
1302     "format",
1303     "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
1304 #define PTRDIFF_MAX\t9223372036854775807L\n\
1305 #else\n\
1306 #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
1307 #define PTRDIFF_MAX\t2147483647L",
1308     (char*)NULL };
1310 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1312  *  Description of Aix_Stdint_4 fix
1313  */
1314 tSCC zAix_Stdint_4Name[] =
1315      "aix_stdint_4";
1318  *  File name selection pattern
1319  */
1320 tSCC zAix_Stdint_4List[] =
1321   "stdint-aix.h\0stdint.h\0";
1323  *  Machine/OS name selection pattern
1324  */
1325 tSCC* apzAix_Stdint_4Machs[] = {
1326         "*-*-aix*",
1327         (const char*)NULL };
1330  *  content selection pattern - do fix if pattern found
1331  */
1332 tSCC zAix_Stdint_4Select0[] =
1333        "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
1334 #else\n\
1335 #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
1337 #define    AIX_STDINT_4_TEST_CT  1
1338 static tTestDesc aAix_Stdint_4Tests[] = {
1339   { TT_EGREP,    zAix_Stdint_4Select0, (regex_t*)NULL }, };
1342  *  Fix Command Arguments for Aix_Stdint_4
1343  */
1344 static const char* apzAix_Stdint_4Patch[] = {
1345     "format",
1346     "#define SIZE_MAX\t18446744073709551615UL\n\
1347 #else\n\
1348 #define SIZE_MAX\t4294967295UL",
1349     (char*)NULL };
1351 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1353  *  Description of Aix_Stdint_5 fix
1354  */
1355 tSCC zAix_Stdint_5Name[] =
1356      "aix_stdint_5";
1359  *  File name selection pattern
1360  */
1361 tSCC zAix_Stdint_5List[] =
1362   "stdint-aix.h\0stdint.h\0";
1364  *  Machine/OS name selection pattern
1365  */
1366 tSCC* apzAix_Stdint_5Machs[] = {
1367         "*-*-aix*",
1368         (const char*)NULL };
1371  *  content selection pattern - do fix if pattern found
1372  */
1373 tSCC zAix_Stdint_5Select0[] =
1374        "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
1375 #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
1377 #define    AIX_STDINT_5_TEST_CT  1
1378 static tTestDesc aAix_Stdint_5Tests[] = {
1379   { TT_EGREP,    zAix_Stdint_5Select0, (regex_t*)NULL }, };
1382  *  Fix Command Arguments for Aix_Stdint_5
1383  */
1384 static const char* apzAix_Stdint_5Patch[] = {
1385     "format",
1386     "#define UINT8_C(c)\tc\n\
1387 #define UINT16_C(c)\tc",
1388     (char*)NULL };
1390 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1392  *  Description of Aix_Stdio_Inline fix
1393  */
1394 tSCC zAix_Stdio_InlineName[] =
1395      "aix_stdio_inline";
1398  *  File name selection pattern
1399  */
1400 tSCC zAix_Stdio_InlineList[] =
1401   "stdio.h\0";
1403  *  Machine/OS name selection pattern
1404  */
1405 tSCC* apzAix_Stdio_InlineMachs[] = {
1406         "*-*-aix*",
1407         (const char*)NULL };
1410  *  content selection pattern - do fix if pattern found
1411  */
1412 tSCC zAix_Stdio_InlineSelect0[] =
1413        "#ifdef __cplusplus\\\n\
1414 }\\\n\
1415 \\\n\
1416 #ifdef ferror\\\n";
1418 #define    AIX_STDIO_INLINE_TEST_CT  1
1419 static tTestDesc aAix_Stdio_InlineTests[] = {
1420   { TT_EGREP,    zAix_Stdio_InlineSelect0, (regex_t*)NULL }, };
1423  *  Fix Command Arguments for Aix_Stdio_Inline
1424  */
1425 static const char* apzAix_Stdio_InlinePatch[] = {
1426     "format",
1427     "#ifdef __cplusplus\n\
1428 }\n\
1429 #endif\n\n\
1430 #if (defined(__cplusplus) && defined(__IBMCPP__))\n\
1431 #ifdef ferror\n",
1432     (char*)NULL };
1434 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1436  *  Description of Aix_Stdlib_Malloc fix
1437  */
1438 tSCC zAix_Stdlib_MallocName[] =
1439      "aix_stdlib_malloc";
1442  *  File name selection pattern
1443  */
1444 tSCC zAix_Stdlib_MallocList[] =
1445   "stdlib.h\0";
1447  *  Machine/OS name selection pattern
1448  */
1449 tSCC* apzAix_Stdlib_MallocMachs[] = {
1450         "*-*-aix*",
1451         (const char*)NULL };
1454  *  content selection pattern - do fix if pattern found
1455  */
1456 tSCC zAix_Stdlib_MallocSelect0[] =
1457        "#define[ \t]+malloc[ \t]+__linux_malloc";
1459 #define    AIX_STDLIB_MALLOC_TEST_CT  1
1460 static tTestDesc aAix_Stdlib_MallocTests[] = {
1461   { TT_EGREP,    zAix_Stdlib_MallocSelect0, (regex_t*)NULL }, };
1464  *  Fix Command Arguments for Aix_Stdlib_Malloc
1465  */
1466 static const char* apzAix_Stdlib_MallocPatch[] = {
1467     "format",
1468     "extern void *malloc(size_t) __asm__(\"__linux_malloc\");",
1469     (char*)NULL };
1471 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1473  *  Description of Aix_Stdlib_Realloc fix
1474  */
1475 tSCC zAix_Stdlib_ReallocName[] =
1476      "aix_stdlib_realloc";
1479  *  File name selection pattern
1480  */
1481 tSCC zAix_Stdlib_ReallocList[] =
1482   "stdlib.h\0";
1484  *  Machine/OS name selection pattern
1485  */
1486 tSCC* apzAix_Stdlib_ReallocMachs[] = {
1487         "*-*-aix*",
1488         (const char*)NULL };
1491  *  content selection pattern - do fix if pattern found
1492  */
1493 tSCC zAix_Stdlib_ReallocSelect0[] =
1494        "#define[ \t]+realloc[ \t]+__linux_realloc";
1496 #define    AIX_STDLIB_REALLOC_TEST_CT  1
1497 static tTestDesc aAix_Stdlib_ReallocTests[] = {
1498   { TT_EGREP,    zAix_Stdlib_ReallocSelect0, (regex_t*)NULL }, };
1501  *  Fix Command Arguments for Aix_Stdlib_Realloc
1502  */
1503 static const char* apzAix_Stdlib_ReallocPatch[] = {
1504     "format",
1505     "extern void *realloc(void *, size_t) __asm__(\"__linux_realloc\");",
1506     (char*)NULL };
1508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1510  *  Description of Aix_Stdlib_Calloc fix
1511  */
1512 tSCC zAix_Stdlib_CallocName[] =
1513      "aix_stdlib_calloc";
1516  *  File name selection pattern
1517  */
1518 tSCC zAix_Stdlib_CallocList[] =
1519   "stdlib.h\0";
1521  *  Machine/OS name selection pattern
1522  */
1523 tSCC* apzAix_Stdlib_CallocMachs[] = {
1524         "*-*-aix*",
1525         (const char*)NULL };
1528  *  content selection pattern - do fix if pattern found
1529  */
1530 tSCC zAix_Stdlib_CallocSelect0[] =
1531        "#define[ \t]+calloc[ \t]+__linux_calloc";
1533 #define    AIX_STDLIB_CALLOC_TEST_CT  1
1534 static tTestDesc aAix_Stdlib_CallocTests[] = {
1535   { TT_EGREP,    zAix_Stdlib_CallocSelect0, (regex_t*)NULL }, };
1538  *  Fix Command Arguments for Aix_Stdlib_Calloc
1539  */
1540 static const char* apzAix_Stdlib_CallocPatch[] = {
1541     "format",
1542     "extern void *calloc(size_t, size_t) __asm__(\"__linux_calloc\");",
1543     (char*)NULL };
1545 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1547  *  Description of Aix_Stdlib_Valloc fix
1548  */
1549 tSCC zAix_Stdlib_VallocName[] =
1550      "aix_stdlib_valloc";
1553  *  File name selection pattern
1554  */
1555 tSCC zAix_Stdlib_VallocList[] =
1556   "stdlib.h\0";
1558  *  Machine/OS name selection pattern
1559  */
1560 tSCC* apzAix_Stdlib_VallocMachs[] = {
1561         "*-*-aix*",
1562         (const char*)NULL };
1565  *  content selection pattern - do fix if pattern found
1566  */
1567 tSCC zAix_Stdlib_VallocSelect0[] =
1568        "#define[ \t]+valloc[ \t]+__linux_valloc";
1570 #define    AIX_STDLIB_VALLOC_TEST_CT  1
1571 static tTestDesc aAix_Stdlib_VallocTests[] = {
1572   { TT_EGREP,    zAix_Stdlib_VallocSelect0, (regex_t*)NULL }, };
1575  *  Fix Command Arguments for Aix_Stdlib_Valloc
1576  */
1577 static const char* apzAix_Stdlib_VallocPatch[] = {
1578     "format",
1579     "extern void *valloc(size_t) __asm__(\"__linux_valloc\");",
1580     (char*)NULL };
1582 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1584  *  Description of Aix_Stdlib_Vec_Malloc fix
1585  */
1586 tSCC zAix_Stdlib_Vec_MallocName[] =
1587      "aix_stdlib_vec_malloc";
1590  *  File name selection pattern
1591  */
1592 tSCC zAix_Stdlib_Vec_MallocList[] =
1593   "stdlib.h\0";
1595  *  Machine/OS name selection pattern
1596  */
1597 tSCC* apzAix_Stdlib_Vec_MallocMachs[] = {
1598         "*-*-aix*",
1599         (const char*)NULL };
1602  *  content selection pattern - do fix if pattern found
1603  */
1604 tSCC zAix_Stdlib_Vec_MallocSelect0[] =
1605        "#define[ \t]+malloc[ \t]+vec_malloc";
1607 #define    AIX_STDLIB_VEC_MALLOC_TEST_CT  1
1608 static tTestDesc aAix_Stdlib_Vec_MallocTests[] = {
1609   { TT_EGREP,    zAix_Stdlib_Vec_MallocSelect0, (regex_t*)NULL }, };
1612  *  Fix Command Arguments for Aix_Stdlib_Vec_Malloc
1613  */
1614 static const char* apzAix_Stdlib_Vec_MallocPatch[] = {
1615     "format",
1616     "extern void *malloc(size_t) __asm__(\"vec_malloc\");",
1617     (char*)NULL };
1619 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1621  *  Description of Aix_Stdlib_Vec_Calloc fix
1622  */
1623 tSCC zAix_Stdlib_Vec_CallocName[] =
1624      "aix_stdlib_vec_calloc";
1627  *  File name selection pattern
1628  */
1629 tSCC zAix_Stdlib_Vec_CallocList[] =
1630   "stdlib.h\0";
1632  *  Machine/OS name selection pattern
1633  */
1634 tSCC* apzAix_Stdlib_Vec_CallocMachs[] = {
1635         "*-*-aix*",
1636         (const char*)NULL };
1639  *  content selection pattern - do fix if pattern found
1640  */
1641 tSCC zAix_Stdlib_Vec_CallocSelect0[] =
1642        "#define[ \t]+calloc[ \t]+vec_calloc";
1644 #define    AIX_STDLIB_VEC_CALLOC_TEST_CT  1
1645 static tTestDesc aAix_Stdlib_Vec_CallocTests[] = {
1646   { TT_EGREP,    zAix_Stdlib_Vec_CallocSelect0, (regex_t*)NULL }, };
1649  *  Fix Command Arguments for Aix_Stdlib_Vec_Calloc
1650  */
1651 static const char* apzAix_Stdlib_Vec_CallocPatch[] = {
1652     "format",
1653     "extern void *calloc(size_t, size_t) __asm__(\"vec_calloc\");",
1654     (char*)NULL };
1656 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1658  *  Description of Aix_Strtof_Const fix
1659  */
1660 tSCC zAix_Strtof_ConstName[] =
1661      "aix_strtof_const";
1664  *  File name selection pattern
1665  */
1666 tSCC zAix_Strtof_ConstList[] =
1667   "stdlib.h\0";
1669  *  Machine/OS name selection pattern
1670  */
1671 tSCC* apzAix_Strtof_ConstMachs[] = {
1672         "*-*-aix*",
1673         (const char*)NULL };
1676  *  content selection pattern - do fix if pattern found
1677  */
1678 tSCC zAix_Strtof_ConstSelect0[] =
1679        "((extern[ \t]+)?float[ \t]+strtof)\\(char \\*, char \\*\\*\\);";
1681 #define    AIX_STRTOF_CONST_TEST_CT  1
1682 static tTestDesc aAix_Strtof_ConstTests[] = {
1683   { TT_EGREP,    zAix_Strtof_ConstSelect0, (regex_t*)NULL }, };
1686  *  Fix Command Arguments for Aix_Strtof_Const
1687  */
1688 static const char* apzAix_Strtof_ConstPatch[] = {
1689     "format",
1690     "%1(const char *, char **);",
1691     (char*)NULL };
1693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1695  *  Description of Aix_Sysmachine fix
1696  */
1697 tSCC zAix_SysmachineName[] =
1698      "aix_sysmachine";
1701  *  File name selection pattern
1702  */
1703 tSCC zAix_SysmachineList[] =
1704   "sys/machine.h\0";
1706  *  Machine/OS name selection pattern
1707  */
1708 tSCC* apzAix_SysmachineMachs[] = {
1709         "*-*-aix*",
1710         (const char*)NULL };
1713  *  content selection pattern - do fix if pattern found
1714  */
1715 tSCC zAix_SysmachineSelect0[] =
1716        "\\\\ +\n";
1718 #define    AIX_SYSMACHINE_TEST_CT  1
1719 static tTestDesc aAix_SysmachineTests[] = {
1720   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
1723  *  Fix Command Arguments for Aix_Sysmachine
1724  */
1725 static const char* apzAix_SysmachinePatch[] = {
1726     "format",
1727     "\\\n",
1728     (char*)NULL };
1730 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1732  *  Description of Aix_Syswait_2 fix
1733  */
1734 tSCC zAix_Syswait_2Name[] =
1735      "aix_syswait_2";
1738  *  File name selection pattern
1739  */
1740 tSCC zAix_Syswait_2List[] =
1741   "sys/wait.h\0";
1743  *  Machine/OS name selection pattern
1744  */
1745 tSCC* apzAix_Syswait_2Machs[] = {
1746         "*-*-aix*",
1747         (const char*)NULL };
1750  *  content selection pattern - do fix if pattern found
1751  */
1752 tSCC zAix_Syswait_2Select0[] =
1753        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
1755 #define    AIX_SYSWAIT_2_TEST_CT  1
1756 static tTestDesc aAix_Syswait_2Tests[] = {
1757   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
1760  *  Fix Command Arguments for Aix_Syswait_2
1761  */
1762 static const char* apzAix_Syswait_2Patch[] = {
1763     "format",
1764     "? (int)%1",
1765     (char*)NULL };
1767 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1769  *  Description of Aix_Volatile fix
1770  */
1771 tSCC zAix_VolatileName[] =
1772      "aix_volatile";
1775  *  File name selection pattern
1776  */
1777 tSCC zAix_VolatileList[] =
1778   "sys/signal.h\0";
1780  *  Machine/OS name selection pattern
1781  */
1782 tSCC* apzAix_VolatileMachs[] = {
1783         "*-*-aix*",
1784         (const char*)NULL };
1787  *  content selection pattern - do fix if pattern found
1788  */
1789 tSCC zAix_VolatileSelect0[] =
1790        "typedef volatile int sig_atomic_t";
1792 #define    AIX_VOLATILE_TEST_CT  1
1793 static tTestDesc aAix_VolatileTests[] = {
1794   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
1797  *  Fix Command Arguments for Aix_Volatile
1798  */
1799 static const char* apzAix_VolatilePatch[] = {
1800     "format",
1801     "typedef int sig_atomic_t",
1802     (char*)NULL };
1804 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1806  *  Description of Alpha___Assert fix
1807  */
1808 tSCC zAlpha___AssertName[] =
1809      "alpha___assert";
1812  *  File name selection pattern
1813  */
1814 tSCC zAlpha___AssertList[] =
1815   "assert.h\0";
1817  *  Machine/OS name selection pattern
1818  */
1819 #define apzAlpha___AssertMachs (const char**)NULL
1822  *  content selection pattern - do fix if pattern found
1823  */
1824 tSCC zAlpha___AssertSelect0[] =
1825        "__assert\\(char \\*, char \\*, int\\)";
1827 #define    ALPHA___ASSERT_TEST_CT  1
1828 static tTestDesc aAlpha___AssertTests[] = {
1829   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
1832  *  Fix Command Arguments for Alpha___Assert
1833  */
1834 static const char* apzAlpha___AssertPatch[] = {
1835     "format",
1836     "__assert(const char *, const char *, int)",
1837     (char*)NULL };
1839 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1841  *  Description of Alpha_Assert fix
1842  */
1843 tSCC zAlpha_AssertName[] =
1844      "alpha_assert";
1847  *  File name selection pattern
1848  */
1849 tSCC zAlpha_AssertList[] =
1850   "assert.h\0";
1852  *  Machine/OS name selection pattern
1853  */
1854 #define apzAlpha_AssertMachs (const char**)NULL
1857  *  content selection pattern - do fix if pattern found
1858  */
1859 tSCC zAlpha_AssertSelect0[] =
1860        "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1862 #define    ALPHA_ASSERT_TEST_CT  1
1863 static tTestDesc aAlpha_AssertTests[] = {
1864   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1867  *  Fix Command Arguments for Alpha_Assert
1868  */
1869 static const char* apzAlpha_AssertPatch[] = {
1870     "format",
1871     "%1(EX)",
1872     (char*)NULL };
1874 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1876  *  Description of Alpha_Getopt fix
1877  */
1878 tSCC zAlpha_GetoptName[] =
1879      "alpha_getopt";
1882  *  File name selection pattern
1883  */
1884 tSCC zAlpha_GetoptList[] =
1885   "stdio.h\0stdlib.h\0";
1887  *  Machine/OS name selection pattern
1888  */
1889 #define apzAlpha_GetoptMachs (const char**)NULL
1892  *  content selection pattern - do fix if pattern found
1893  */
1894 tSCC zAlpha_GetoptSelect0[] =
1895        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1897 #define    ALPHA_GETOPT_TEST_CT  1
1898 static tTestDesc aAlpha_GetoptTests[] = {
1899   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1902  *  Fix Command Arguments for Alpha_Getopt
1903  */
1904 static const char* apzAlpha_GetoptPatch[] = {
1905     "format",
1906     "getopt(int, char *const[], const char *)",
1907     (char*)NULL };
1909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1911  *  Description of Alpha_If_Semicolon fix
1912  */
1913 tSCC zAlpha_If_SemicolonName[] =
1914      "alpha_if_semicolon";
1917  *  File name selection pattern
1918  */
1919 tSCC zAlpha_If_SemicolonList[] =
1920   "net/if.h\0";
1922  *  Machine/OS name selection pattern
1923  */
1924 #define apzAlpha_If_SemicolonMachs (const char**)NULL
1927  *  content selection pattern - do fix if pattern found
1928  */
1929 tSCC zAlpha_If_SemicolonSelect0[] =
1930        "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
1932 #define    ALPHA_IF_SEMICOLON_TEST_CT  1
1933 static tTestDesc aAlpha_If_SemicolonTests[] = {
1934   { TT_EGREP,    zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
1937  *  Fix Command Arguments for Alpha_If_Semicolon
1938  */
1939 static const char* apzAlpha_If_SemicolonPatch[] = {
1940     "format",
1941     "struct sockaddr vmif_paddr;\t/*",
1942     (char*)NULL };
1944 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1946  *  Description of Alpha_Parens fix
1947  */
1948 tSCC zAlpha_ParensName[] =
1949      "alpha_parens";
1952  *  File name selection pattern
1953  */
1954 tSCC zAlpha_ParensList[] =
1955   "sym.h\0";
1957  *  Machine/OS name selection pattern
1958  */
1959 #define apzAlpha_ParensMachs (const char**)NULL
1962  *  content selection pattern - do fix if pattern found
1963  */
1964 tSCC zAlpha_ParensSelect0[] =
1965        "#ifndef\\(__mips64\\)";
1967 #define    ALPHA_PARENS_TEST_CT  1
1968 static tTestDesc aAlpha_ParensTests[] = {
1969   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1972  *  Fix Command Arguments for Alpha_Parens
1973  */
1974 static const char* apzAlpha_ParensPatch[] = {
1975     "format",
1976     "#ifndef __mips64",
1977     (char*)NULL };
1979 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1981  *  Description of Alpha_Sbrk fix
1982  */
1983 tSCC zAlpha_SbrkName[] =
1984      "alpha_sbrk";
1987  *  File name selection pattern
1988  */
1989 tSCC zAlpha_SbrkList[] =
1990   "unistd.h\0";
1992  *  Machine/OS name selection pattern
1993  */
1994 #define apzAlpha_SbrkMachs (const char**)NULL
1997  *  content selection pattern - do fix if pattern found
1998  */
1999 tSCC zAlpha_SbrkSelect0[] =
2000        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
2002 #define    ALPHA_SBRK_TEST_CT  1
2003 static tTestDesc aAlpha_SbrkTests[] = {
2004   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
2007  *  Fix Command Arguments for Alpha_Sbrk
2008  */
2009 static const char* apzAlpha_SbrkPatch[] = {
2010     "format",
2011     "void *sbrk(",
2012     (char*)NULL };
2014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2016  *  Description of Avoid_Bool_Define fix
2017  */
2018 tSCC zAvoid_Bool_DefineName[] =
2019      "avoid_bool_define";
2022  *  File name selection pattern
2023  */
2024 tSCC zAvoid_Bool_DefineList[] =
2025   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
2027  *  Machine/OS name selection pattern
2028  */
2029 #define apzAvoid_Bool_DefineMachs (const char**)NULL
2032  *  content selection pattern - do fix if pattern found
2033  */
2034 tSCC zAvoid_Bool_DefineSelect0[] =
2035        "#[ \t]*define[ \t]+bool[ \t]";
2038  *  content bypass pattern - skip fix if pattern found
2039  */
2040 tSCC zAvoid_Bool_DefineBypass0[] =
2041        "__cplusplus";
2043 #define    AVOID_BOOL_DEFINE_TEST_CT  2
2044 static tTestDesc aAvoid_Bool_DefineTests[] = {
2045   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
2046   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
2049  *  Fix Command Arguments for Avoid_Bool_Define
2050  */
2051 static const char* apzAvoid_Bool_DefinePatch[] = {
2052     "format",
2053     "#ifndef __cplusplus\n\
2054 %0\n\
2055 #endif",
2056     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
2057     (char*)NULL };
2059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2061  *  Description of Avoid_Bool_Type fix
2062  */
2063 tSCC zAvoid_Bool_TypeName[] =
2064      "avoid_bool_type";
2067  *  File name selection pattern
2068  */
2069 tSCC zAvoid_Bool_TypeList[] =
2070   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
2072  *  Machine/OS name selection pattern
2073  */
2074 #define apzAvoid_Bool_TypeMachs (const char**)NULL
2077  *  content selection pattern - do fix if pattern found
2078  */
2079 tSCC zAvoid_Bool_TypeSelect0[] =
2080        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
2083  *  content bypass pattern - skip fix if pattern found
2084  */
2085 tSCC zAvoid_Bool_TypeBypass0[] =
2086        "__cplusplus";
2088 #define    AVOID_BOOL_TYPE_TEST_CT  2
2089 static tTestDesc aAvoid_Bool_TypeTests[] = {
2090   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
2091   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
2094  *  Fix Command Arguments for Avoid_Bool_Type
2095  */
2096 static const char* apzAvoid_Bool_TypePatch[] = {
2097     "format",
2098     "#ifndef __cplusplus\n\
2099 %0\n\
2100 #endif",
2101     (char*)NULL };
2103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2105  *  Description of Avoid_Wchar_T_Type fix
2106  */
2107 tSCC zAvoid_Wchar_T_TypeName[] =
2108      "avoid_wchar_t_type";
2111  *  File name selection pattern
2112  */
2113 #define zAvoid_Wchar_T_TypeList (char*)NULL
2115  *  Machine/OS name selection pattern
2116  */
2117 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
2120  *  content selection pattern - do fix if pattern found
2121  */
2122 tSCC zAvoid_Wchar_T_TypeSelect0[] =
2123        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
2126  *  content bypass pattern - skip fix if pattern found
2127  */
2128 tSCC zAvoid_Wchar_T_TypeBypass0[] =
2129        "__cplusplus";
2130 tSCC zAvoid_Wchar_T_TypeBypass1[] =
2131        "_LINUX_NLS_H";
2132 tSCC zAvoid_Wchar_T_TypeBypass2[] =
2133        "XFree86: xc/lib/X11/Xlib\\.h";
2135 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
2136 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
2137   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
2138   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
2139   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
2140   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
2143  *  Fix Command Arguments for Avoid_Wchar_T_Type
2144  */
2145 static const char* apzAvoid_Wchar_T_TypePatch[] = {
2146     "format",
2147     "#ifndef __cplusplus\n\
2148 %0\n\
2149 #endif",
2150     (char*)NULL };
2152 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2154  *  Description of Bad_Struct_Term fix
2155  */
2156 tSCC zBad_Struct_TermName[] =
2157      "bad_struct_term";
2160  *  File name selection pattern
2161  */
2162 tSCC zBad_Struct_TermList[] =
2163   "curses.h\0";
2165  *  Machine/OS name selection pattern
2166  */
2167 #define apzBad_Struct_TermMachs (const char**)NULL
2170  *  content selection pattern - do fix if pattern found
2171  */
2172 tSCC zBad_Struct_TermSelect0[] =
2173        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
2175 #define    BAD_STRUCT_TERM_TEST_CT  1
2176 static tTestDesc aBad_Struct_TermTests[] = {
2177   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
2180  *  Fix Command Arguments for Bad_Struct_Term
2181  */
2182 static const char* apzBad_Struct_TermPatch[] = {
2183     "format",
2184     "struct term;",
2185     (char*)NULL };
2187 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2189  *  Description of Badquote fix
2190  */
2191 tSCC zBadquoteName[] =
2192      "badquote";
2195  *  File name selection pattern
2196  */
2197 tSCC zBadquoteList[] =
2198   "sundev/vuid_event.h\0";
2200  *  Machine/OS name selection pattern
2201  */
2202 #define apzBadquoteMachs (const char**)NULL
2205  *  content selection pattern - do fix if pattern found
2206  */
2207 tSCC zBadquoteSelect0[] =
2208        "doesn't";
2210 #define    BADQUOTE_TEST_CT  1
2211 static tTestDesc aBadquoteTests[] = {
2212   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
2215  *  Fix Command Arguments for Badquote
2216  */
2217 static const char* apzBadquotePatch[] = {
2218     "format",
2219     "does not",
2220     (char*)NULL };
2222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2224  *  Description of Broken_Assert_Stdio fix
2225  */
2226 tSCC zBroken_Assert_StdioName[] =
2227      "broken_assert_stdio";
2230  *  File name selection pattern
2231  */
2232 tSCC zBroken_Assert_StdioList[] =
2233   "assert.h\0";
2235  *  Machine/OS name selection pattern
2236  */
2237 #define apzBroken_Assert_StdioMachs (const char**)NULL
2240  *  content selection pattern - do fix if pattern found
2241  */
2242 tSCC zBroken_Assert_StdioSelect0[] =
2243        "stderr";
2246  *  content bypass pattern - skip fix if pattern found
2247  */
2248 tSCC zBroken_Assert_StdioBypass0[] =
2249        "include.*stdio\\.h";
2251 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
2252 static tTestDesc aBroken_Assert_StdioTests[] = {
2253   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
2254   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
2257  *  Fix Command Arguments for Broken_Assert_Stdio
2258  */
2259 static const char* apzBroken_Assert_StdioPatch[] = {
2260     "wrap",
2261     "#include <stdio.h>\n",
2262     (char*)NULL };
2264 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2266  *  Description of Broken_Assert_Stdlib fix
2267  */
2268 tSCC zBroken_Assert_StdlibName[] =
2269      "broken_assert_stdlib";
2272  *  File name selection pattern
2273  */
2274 tSCC zBroken_Assert_StdlibList[] =
2275   "assert.h\0";
2277  *  Machine/OS name selection pattern
2278  */
2279 #define apzBroken_Assert_StdlibMachs (const char**)NULL
2282  *  content selection pattern - do fix if pattern found
2283  */
2284 tSCC zBroken_Assert_StdlibSelect0[] =
2285        "exit *\\(|abort *\\(";
2288  *  content bypass pattern - skip fix if pattern found
2289  */
2290 tSCC zBroken_Assert_StdlibBypass0[] =
2291        "include.*stdlib\\.h";
2293 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
2294 static tTestDesc aBroken_Assert_StdlibTests[] = {
2295   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
2296   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
2299  *  Fix Command Arguments for Broken_Assert_Stdlib
2300  */
2301 static const char* apzBroken_Assert_StdlibPatch[] = {
2302     "wrap",
2303     "#ifdef __cplusplus\n\
2304 #include <stdlib.h>\n\
2305 #endif\n",
2306     (char*)NULL };
2308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2310  *  Description of Broken_Cabs fix
2311  */
2312 tSCC zBroken_CabsName[] =
2313      "broken_cabs";
2316  *  File name selection pattern
2317  */
2318 tSCC zBroken_CabsList[] =
2319   "math.h\0architecture/*/math.h\0";
2321  *  Machine/OS name selection pattern
2322  */
2323 #define apzBroken_CabsMachs (const char**)NULL
2326  *  content selection pattern - do fix if pattern found
2327  */
2328 tSCC zBroken_CabsSelect0[] =
2329        "^extern[ \t]+double[ \t]+cabs";
2331 #define    BROKEN_CABS_TEST_CT  1
2332 static tTestDesc aBroken_CabsTests[] = {
2333   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
2336  *  Fix Command Arguments for Broken_Cabs
2337  */
2338 static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
2339     "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
2340     "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
2341     (char*)NULL };
2343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2345  *  Description of Broken_Nan fix
2346  */
2347 tSCC zBroken_NanName[] =
2348      "broken_nan";
2351  *  File name selection pattern
2352  */
2353 tSCC zBroken_NanList[] =
2354   "architecture/ppc/math.h\0architecture/*/math.h\0";
2356  *  Machine/OS name selection pattern
2357  */
2358 #define apzBroken_NanMachs (const char**)NULL
2361  *  content selection pattern - do fix if pattern found
2362  */
2363 tSCC zBroken_NanSelect0[] =
2364        "#if defined\\(__APPLE_CC__\\) && \\(__APPLE_CC__ >= 1345\\)";
2367  *  content bypass pattern - skip fix if pattern found
2368  */
2369 tSCC zBroken_NanBypass0[] =
2370        "powl";
2372 #define    BROKEN_NAN_TEST_CT  2
2373 static tTestDesc aBroken_NanTests[] = {
2374   { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
2375   { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
2378  *  Fix Command Arguments for Broken_Nan
2379  */
2380 static const char* apzBroken_NanPatch[] = {
2381     "format",
2382     "#if 1",
2383     (char*)NULL };
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2387  *  Description of Bsd_Stdio_Attrs_Conflict fix
2388  */
2389 tSCC zBsd_Stdio_Attrs_ConflictName[] =
2390      "bsd_stdio_attrs_conflict";
2393  *  File name selection pattern
2394  */
2395 tSCC zBsd_Stdio_Attrs_ConflictList[] =
2396   "stdio.h\0";
2398  *  Machine/OS name selection pattern
2399  */
2400 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
2401         "*-*-*bsd*",
2402         "*-*-*darwin*",
2403         (const char*)NULL };
2406  *  content selection pattern - do fix if pattern found
2407  */
2408 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
2409        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
2411 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
2412 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
2413   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
2416  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
2417  */
2418 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
2419     "format",
2420     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
2421 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
2422 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
2423     (char*)NULL };
2425 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2427  *  Description of Ctrl_Quotes_Def fix
2428  */
2429 tSCC zCtrl_Quotes_DefName[] =
2430      "ctrl_quotes_def";
2433  *  File name selection pattern
2434  */
2435 #define zCtrl_Quotes_DefList (char*)NULL
2437  *  Machine/OS name selection pattern
2438  */
2439 #define apzCtrl_Quotes_DefMachs (const char**)NULL
2442  *  content selection pattern - do fix if pattern found
2443  */
2444 tSCC zCtrl_Quotes_DefSelect0[] =
2445        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
2447 #define    CTRL_QUOTES_DEF_TEST_CT  1
2448 static tTestDesc aCtrl_Quotes_DefTests[] = {
2449   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
2452  *  Fix Command Arguments for Ctrl_Quotes_Def
2453  */
2454 static const char* apzCtrl_Quotes_DefPatch[] = {
2455     "char_macro_def",
2456     "CTRL",
2457     (char*)NULL };
2459 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2461  *  Description of Ctrl_Quotes_Use fix
2462  */
2463 tSCC zCtrl_Quotes_UseName[] =
2464      "ctrl_quotes_use";
2467  *  File name selection pattern
2468  */
2469 #define zCtrl_Quotes_UseList (char*)NULL
2471  *  Machine/OS name selection pattern
2472  */
2473 #define apzCtrl_Quotes_UseMachs (const char**)NULL
2476  *  content selection pattern - do fix if pattern found
2477  */
2478 tSCC zCtrl_Quotes_UseSelect0[] =
2479        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
2481 #define    CTRL_QUOTES_USE_TEST_CT  1
2482 static tTestDesc aCtrl_Quotes_UseTests[] = {
2483   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
2486  *  Fix Command Arguments for Ctrl_Quotes_Use
2487  */
2488 static const char* apzCtrl_Quotes_UsePatch[] = {
2489     "char_macro_use",
2490     "CTRL",
2491     (char*)NULL };
2493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2495  *  Description of Cxx_Unready fix
2496  */
2497 tSCC zCxx_UnreadyName[] =
2498      "cxx_unready";
2501  *  File name selection pattern
2502  */
2503 tSCC zCxx_UnreadyList[] =
2504   "sys/mman.h\0rpc/types.h\0";
2506  *  Machine/OS name selection pattern
2507  */
2508 #define apzCxx_UnreadyMachs (const char**)NULL
2511  *  content selection pattern - do fix if pattern found
2512  */
2513 tSCC zCxx_UnreadySelect0[] =
2514        "[^#]+malloc.*;";
2517  *  content bypass pattern - skip fix if pattern found
2518  */
2519 tSCC zCxx_UnreadyBypass0[] =
2520        "\"C\"|__BEGIN_DECLS";
2522 #define    CXX_UNREADY_TEST_CT  2
2523 static tTestDesc aCxx_UnreadyTests[] = {
2524   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
2525   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
2528  *  Fix Command Arguments for Cxx_Unready
2529  */
2530 static const char* apzCxx_UnreadyPatch[] = {
2531     "wrap",
2532     "#ifdef __cplusplus\n\
2533 extern \"C\" {\n\
2534 #endif\n",
2535     "#ifdef __cplusplus\n\
2536 }\n\
2537 #endif\n",
2538     (char*)NULL };
2540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2542  *  Description of Darwin_Availabilityinternal fix
2543  */
2544 tSCC zDarwin_AvailabilityinternalName[] =
2545      "darwin_availabilityinternal";
2548  *  File name selection pattern
2549  */
2550 tSCC zDarwin_AvailabilityinternalList[] =
2551   "AvailabilityInternal.h\0";
2553  *  Machine/OS name selection pattern
2554  */
2555 tSCC* apzDarwin_AvailabilityinternalMachs[] = {
2556         "*-*-darwin*",
2557         (const char*)NULL };
2560  *  content selection pattern - do fix if pattern found
2561  */
2562 tSCC zDarwin_AvailabilityinternalSelect0[] =
2563        "#define[ \t]+(__API_[ADU]\\([^)]*\\)).*";
2565 #define    DARWIN_AVAILABILITYINTERNAL_TEST_CT  1
2566 static tTestDesc aDarwin_AvailabilityinternalTests[] = {
2567   { TT_EGREP,    zDarwin_AvailabilityinternalSelect0, (regex_t*)NULL }, };
2570  *  Fix Command Arguments for Darwin_Availabilityinternal
2571  */
2572 static const char* apzDarwin_AvailabilityinternalPatch[] = {
2573     "format",
2574     "#if defined(__has_attribute)\n\
2575   #if __has_attribute(availability)\n\
2576 %0\n\
2577   #else\n\
2578     #define %1\n\
2579   #endif\n\
2580 #else\n\
2581     #define %1\n\
2582 #endif",
2583     (char*)NULL };
2585 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2587  *  Description of Darwin_9_Long_Double_Funcs_2 fix
2588  */
2589 tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
2590      "darwin_9_long_double_funcs_2";
2593  *  File name selection pattern
2594  */
2595 tSCC zDarwin_9_Long_Double_Funcs_2List[] =
2596   "math.h\0";
2598  *  Machine/OS name selection pattern
2599  */
2600 tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = {
2601         "*-*-darwin7.9*",
2602         (const char*)NULL };
2605  *  content selection pattern - do fix if pattern found
2606  */
2607 tSCC zDarwin_9_Long_Double_Funcs_2Select0[] =
2608        "#include[ \\t]+\\\"";
2610 #define    DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
2611 static tTestDesc aDarwin_9_Long_Double_Funcs_2Tests[] = {
2612   { TT_EGREP,    zDarwin_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
2615  *  Fix Command Arguments for Darwin_9_Long_Double_Funcs_2
2616  */
2617 static const char* apzDarwin_9_Long_Double_Funcs_2Patch[] = {
2618     "format",
2619     "%1<%2.h>",
2620     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
2621     (char*)NULL };
2623 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2625  *  Description of Darwin_Externc fix
2626  */
2627 tSCC zDarwin_ExterncName[] =
2628      "darwin_externc";
2631  *  File name selection pattern
2632  */
2633 tSCC zDarwin_ExterncList[] =
2634   "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
2636  *  Machine/OS name selection pattern
2637  */
2638 tSCC* apzDarwin_ExterncMachs[] = {
2639         "*-*-darwin*",
2640         (const char*)NULL };
2643  *  content bypass pattern - skip fix if pattern found
2644  */
2645 tSCC zDarwin_ExterncBypass0[] =
2646        "extern \"C\"";
2647 tSCC zDarwin_ExterncBypass1[] =
2648        "__BEGIN_DECLS";
2650 #define    DARWIN_EXTERNC_TEST_CT  2
2651 static tTestDesc aDarwin_ExterncTests[] = {
2652   { TT_NEGREP,   zDarwin_ExterncBypass0, (regex_t*)NULL },
2653   { TT_NEGREP,   zDarwin_ExterncBypass1, (regex_t*)NULL }, };
2656  *  Fix Command Arguments for Darwin_Externc
2657  */
2658 static const char* apzDarwin_ExterncPatch[] = {
2659     "wrap",
2660     "#ifdef __cplusplus\n\
2661 extern \"C\" {\n\
2662 #endif\n",
2663     "#ifdef __cplusplus\n\
2664 }\n\
2665 #endif\n",
2666     (char*)NULL };
2668 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2670  *  Description of Darwin_Gcc4_Breakage fix
2671  */
2672 tSCC zDarwin_Gcc4_BreakageName[] =
2673      "darwin_gcc4_breakage";
2676  *  File name selection pattern
2677  */
2678 tSCC zDarwin_Gcc4_BreakageList[] =
2679   "AvailabilityMacros.h\0";
2681  *  Machine/OS name selection pattern
2682  */
2683 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
2684         "*-*-darwin*",
2685         (const char*)NULL };
2688  *  content selection pattern - do fix if pattern found
2689  */
2690 tSCC zDarwin_Gcc4_BreakageSelect0[] =
2691        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
2693 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
2694 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
2695   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2698  *  Fix Command Arguments for Darwin_Gcc4_Breakage
2699  */
2700 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
2701     "format",
2702     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
2703     (char*)NULL };
2705 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2707  *  Description of Darwin_Longjmp_Noreturn fix
2708  */
2709 tSCC zDarwin_Longjmp_NoreturnName[] =
2710      "darwin_longjmp_noreturn";
2713  *  File name selection pattern
2714  */
2715 tSCC zDarwin_Longjmp_NoreturnList[] =
2716   "i386/setjmp.h\0";
2718  *  Machine/OS name selection pattern
2719  */
2720 tSCC* apzDarwin_Longjmp_NoreturnMachs[] = {
2721         "*-*-darwin*",
2722         (const char*)NULL };
2725  *  content selection pattern - do fix if pattern found
2726  */
2727 tSCC zDarwin_Longjmp_NoreturnSelect0[] =
2728        "(.*longjmp\\(.*jmp_buf.*[^)]+\\));";
2731  *  content bypass pattern - skip fix if pattern found
2732  */
2733 tSCC zDarwin_Longjmp_NoreturnBypass0[] =
2734        "__dead2";
2736 #define    DARWIN_LONGJMP_NORETURN_TEST_CT  2
2737 static tTestDesc aDarwin_Longjmp_NoreturnTests[] = {
2738   { TT_NEGREP,   zDarwin_Longjmp_NoreturnBypass0, (regex_t*)NULL },
2739   { TT_EGREP,    zDarwin_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
2742  *  Fix Command Arguments for Darwin_Longjmp_Noreturn
2743  */
2744 static const char* apzDarwin_Longjmp_NoreturnPatch[] = {
2745     "format",
2746     "%1 __attribute__ ((__noreturn__));",
2747     (char*)NULL };
2749 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2751  *  Description of Darwin_Os_Trace_1 fix
2752  */
2753 tSCC zDarwin_Os_Trace_1Name[] =
2754      "darwin_os_trace_1";
2757  *  File name selection pattern
2758  */
2759 tSCC zDarwin_Os_Trace_1List[] =
2760   "os/trace.h\0";
2762  *  Machine/OS name selection pattern
2763  */
2764 tSCC* apzDarwin_Os_Trace_1Machs[] = {
2765         "*-*-darwin*",
2766         (const char*)NULL };
2769  *  content selection pattern - do fix if pattern found
2770  */
2771 tSCC zDarwin_Os_Trace_1Select0[] =
2772        "^(_os_trace_verify_printf.*) (__attribute__.*)";
2774 #define    DARWIN_OS_TRACE_1_TEST_CT  1
2775 static tTestDesc aDarwin_Os_Trace_1Tests[] = {
2776   { TT_EGREP,    zDarwin_Os_Trace_1Select0, (regex_t*)NULL }, };
2779  *  Fix Command Arguments for Darwin_Os_Trace_1
2780  */
2781 static const char* apzDarwin_Os_Trace_1Patch[] = {
2782     "format",
2783     "%1",
2784     (char*)NULL };
2786 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2788  *  Description of Darwin_Os_Trace_2 fix
2789  */
2790 tSCC zDarwin_Os_Trace_2Name[] =
2791      "darwin_os_trace_2";
2794  *  File name selection pattern
2795  */
2796 tSCC zDarwin_Os_Trace_2List[] =
2797   "os/trace.h\0";
2799  *  Machine/OS name selection pattern
2800  */
2801 tSCC* apzDarwin_Os_Trace_2Machs[] = {
2802         "*-*-darwin*",
2803         (const char*)NULL };
2806  *  content selection pattern - do fix if pattern found
2807  */
2808 tSCC zDarwin_Os_Trace_2Select0[] =
2809        "typedef.*\\^os_trace_payload_t.*";
2811 #define    DARWIN_OS_TRACE_2_TEST_CT  1
2812 static tTestDesc aDarwin_Os_Trace_2Tests[] = {
2813   { TT_EGREP,    zDarwin_Os_Trace_2Select0, (regex_t*)NULL }, };
2816  *  Fix Command Arguments for Darwin_Os_Trace_2
2817  */
2818 static const char* apzDarwin_Os_Trace_2Patch[] = {
2819     "format",
2820     "#if __BLOCKS__\n\
2821 %0\n\
2822 #endif",
2823     (char*)NULL };
2825 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2827  *  Description of Darwin_Os_Trace_3 fix
2828  */
2829 tSCC zDarwin_Os_Trace_3Name[] =
2830      "darwin_os_trace_3";
2833  *  File name selection pattern
2834  */
2835 tSCC zDarwin_Os_Trace_3List[] =
2836   "os/trace.h\0";
2838  *  Machine/OS name selection pattern
2839  */
2840 tSCC* apzDarwin_Os_Trace_3Machs[] = {
2841         "*-*-darwin*",
2842         (const char*)NULL };
2845  *  content selection pattern - do fix if pattern found
2846  */
2847 tSCC zDarwin_Os_Trace_3Select0[] =
2848        "__(API|OSX)_.*\n\
2849 OS_EXPORT.*\n\
2850 .*\n\
2851 _os_trace.*os_trace_payload_t payload);";
2853 #define    DARWIN_OS_TRACE_3_TEST_CT  1
2854 static tTestDesc aDarwin_Os_Trace_3Tests[] = {
2855   { TT_EGREP,    zDarwin_Os_Trace_3Select0, (regex_t*)NULL }, };
2858  *  Fix Command Arguments for Darwin_Os_Trace_3
2859  */
2860 static const char* apzDarwin_Os_Trace_3Patch[] = {
2861     "format",
2862     "#if __BLOCKS__\n\
2863 %0\n\
2864 #endif",
2865     (char*)NULL };
2867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2869  *  Description of Darwin_Private_Extern fix
2870  */
2871 tSCC zDarwin_Private_ExternName[] =
2872      "darwin_private_extern";
2875  *  File name selection pattern
2876  */
2877 tSCC zDarwin_Private_ExternList[] =
2878   "mach-o/dyld.h\0";
2880  *  Machine/OS name selection pattern
2881  */
2882 tSCC* apzDarwin_Private_ExternMachs[] = {
2883         "*-*-darwin*",
2884         (const char*)NULL };
2887  *  content selection pattern - do fix if pattern found
2888  */
2889 tSCC zDarwin_Private_ExternSelect0[] =
2890        "__private_extern__ [a-z_]+ _dyld_";
2892 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
2893 static tTestDesc aDarwin_Private_ExternTests[] = {
2894   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2897  *  Fix Command Arguments for Darwin_Private_Extern
2898  */
2899 static const char* apzDarwin_Private_ExternPatch[] = {
2900     "format",
2901     "extern",
2902     "__private_extern__",
2903     (char*)NULL };
2905 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2907  *  Description of Darwin_Stdint_1 fix
2908  */
2909 tSCC zDarwin_Stdint_1Name[] =
2910      "darwin_stdint_1";
2913  *  File name selection pattern
2914  */
2915 tSCC zDarwin_Stdint_1List[] =
2916   "stdint-darwin.h\0stdint.h\0";
2918  *  Machine/OS name selection pattern
2919  */
2920 tSCC* apzDarwin_Stdint_1Machs[] = {
2921         "*-*-darwin*",
2922         (const char*)NULL };
2925  *  content selection pattern - do fix if pattern found
2926  */
2927 tSCC zDarwin_Stdint_1Select0[] =
2928        "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2929 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2931 #define    DARWIN_STDINT_1_TEST_CT  1
2932 static tTestDesc aDarwin_Stdint_1Tests[] = {
2933   { TT_EGREP,    zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2936  *  Fix Command Arguments for Darwin_Stdint_1
2937  */
2938 static const char* apzDarwin_Stdint_1Patch[] = {
2939     "format",
2940     "#define UINT8_C(v)\tv\n\
2941 #define UINT16_C(v)\tv",
2942     (char*)NULL };
2944 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2946  *  Description of Darwin_Stdint_2 fix
2947  */
2948 tSCC zDarwin_Stdint_2Name[] =
2949      "darwin_stdint_2";
2952  *  File name selection pattern
2953  */
2954 tSCC zDarwin_Stdint_2List[] =
2955   "stdint-darwin.h\0stdint.h\0";
2957  *  Machine/OS name selection pattern
2958  */
2959 tSCC* apzDarwin_Stdint_2Machs[] = {
2960         "*-*-darwin*",
2961         (const char*)NULL };
2964  *  content selection pattern - do fix if pattern found
2965  */
2966 tSCC zDarwin_Stdint_2Select0[] =
2967        "#if __WORDSIZE == 64\n\
2968 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2969 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2970 #else\n\
2971 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2972 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2973 #endif";
2975 #define    DARWIN_STDINT_2_TEST_CT  1
2976 static tTestDesc aDarwin_Stdint_2Tests[] = {
2977   { TT_EGREP,    zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2980  *  Fix Command Arguments for Darwin_Stdint_2
2981  */
2982 static const char* apzDarwin_Stdint_2Patch[] = {
2983     "format",
2984     "#if __WORDSIZE == 64\n\
2985 #define INTPTR_MAX 9223372036854775807L\n\
2986 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2987 #else\n\
2988 #define INTPTR_MAX 2147483647L\n\
2989 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2990 #endif",
2991     (char*)NULL };
2993 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2995  *  Description of Darwin_Stdint_3 fix
2996  */
2997 tSCC zDarwin_Stdint_3Name[] =
2998      "darwin_stdint_3";
3001  *  File name selection pattern
3002  */
3003 tSCC zDarwin_Stdint_3List[] =
3004   "stdint-darwin.h\0stdint.h\0";
3006  *  Machine/OS name selection pattern
3007  */
3008 tSCC* apzDarwin_Stdint_3Machs[] = {
3009         "*-*-darwin*",
3010         (const char*)NULL };
3013  *  content selection pattern - do fix if pattern found
3014  */
3015 tSCC zDarwin_Stdint_3Select0[] =
3016        "#if __WORDSIZE == 64\n\
3017 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
3018 #else\n\
3019 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
3020 #endif";
3022 #define    DARWIN_STDINT_3_TEST_CT  1
3023 static tTestDesc aDarwin_Stdint_3Tests[] = {
3024   { TT_EGREP,    zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
3027  *  Fix Command Arguments for Darwin_Stdint_3
3028  */
3029 static const char* apzDarwin_Stdint_3Patch[] = {
3030     "format",
3031     "#if __WORDSIZE == 64\n\
3032 #define UINTPTR_MAX 18446744073709551615UL\n\
3033 #else\n\
3034 #define UINTPTR_MAX 4294967295UL\n\
3035 #endif",
3036     (char*)NULL };
3038 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3040  *  Description of Darwin_Stdint_4 fix
3041  */
3042 tSCC zDarwin_Stdint_4Name[] =
3043      "darwin_stdint_4";
3046  *  File name selection pattern
3047  */
3048 tSCC zDarwin_Stdint_4List[] =
3049   "stdint-darwin.h\0stdint.h\0";
3051  *  Machine/OS name selection pattern
3052  */
3053 tSCC* apzDarwin_Stdint_4Machs[] = {
3054         "*-*-darwin*",
3055         (const char*)NULL };
3058  *  content selection pattern - do fix if pattern found
3059  */
3060 tSCC zDarwin_Stdint_4Select0[] =
3061        "#if __WORDSIZE == 64\n\
3062 #define SIZE_MAX[ \t]+UINT64_MAX\n\
3063 #else\n\
3064 #define SIZE_MAX[ \t]+UINT32_MAX\n\
3065 #endif";
3067 #define    DARWIN_STDINT_4_TEST_CT  1
3068 static tTestDesc aDarwin_Stdint_4Tests[] = {
3069   { TT_EGREP,    zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
3072  *  Fix Command Arguments for Darwin_Stdint_4
3073  */
3074 static const char* apzDarwin_Stdint_4Patch[] = {
3075     "format",
3076     "#if __WORDSIZE == 64\n\
3077 #define SIZE_MAX 18446744073709551615UL\n\
3078 #else\n\
3079 #define SIZE_MAX 4294967295UL\n\
3080 #endif",
3081     (char*)NULL };
3083 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3085  *  Description of Darwin_Stdint_5 fix
3086  */
3087 tSCC zDarwin_Stdint_5Name[] =
3088      "darwin_stdint_5";
3091  *  File name selection pattern
3092  */
3093 tSCC zDarwin_Stdint_5List[] =
3094   "stdint-darwin.h\0stdint.h\0";
3096  *  Machine/OS name selection pattern
3097  */
3098 tSCC* apzDarwin_Stdint_5Machs[] = {
3099         "*-*-darwin*",
3100         (const char*)NULL };
3103  *  content selection pattern - do fix if pattern found
3104  */
3105 tSCC zDarwin_Stdint_5Select0[] =
3106        "#define INTMAX_MIN[ \t]+INT64_MIN\n\
3107 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
3108 #define UINTMAX_MAX[ \t]+UINT64_MAX";
3110 #define    DARWIN_STDINT_5_TEST_CT  1
3111 static tTestDesc aDarwin_Stdint_5Tests[] = {
3112   { TT_EGREP,    zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
3115  *  Fix Command Arguments for Darwin_Stdint_5
3116  */
3117 static const char* apzDarwin_Stdint_5Patch[] = {
3118     "format",
3119     "#if __WORDSIZE == 64\n\
3120 #define INTMAX_MIN   (-9223372036854775807L - 1)\n\
3121 #define INTMAX_MAX   9223372036854775807L\n\
3122 #define UINTMAX_MAX  18446744073709551615UL\n\
3123 #else\n\
3124 #define INTMAX_MIN   (-9223372036854775807LL - 1)\n\
3125 #define INTMAX_MAX   9223372036854775807LL\n\
3126 #define UINTMAX_MAX  18446744073709551615ULL\n\
3127 #endif",
3128     (char*)NULL };
3130 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3132  *  Description of Darwin_Stdint_6 fix
3133  */
3134 tSCC zDarwin_Stdint_6Name[] =
3135      "darwin_stdint_6";
3138  *  File name selection pattern
3139  */
3140 tSCC zDarwin_Stdint_6List[] =
3141   "stdint-darwin.h\0stdint.h\0";
3143  *  Machine/OS name selection pattern
3144  */
3145 tSCC* apzDarwin_Stdint_6Machs[] = {
3146         "*-*-darwin*",
3147         (const char*)NULL };
3150  *  content selection pattern - do fix if pattern found
3151  */
3152 tSCC zDarwin_Stdint_6Select0[] =
3153        "#if __WORDSIZE == 64\n\
3154 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
3155 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
3156 #else\n\
3157 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
3158 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
3159 #endif";
3161 #define    DARWIN_STDINT_6_TEST_CT  1
3162 static tTestDesc aDarwin_Stdint_6Tests[] = {
3163   { TT_EGREP,    zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
3166  *  Fix Command Arguments for Darwin_Stdint_6
3167  */
3168 static const char* apzDarwin_Stdint_6Patch[] = {
3169     "format",
3170     "#if __WORDSIZE == 64\n\
3171 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
3172 #define PTRDIFF_MAX 9223372036854775807L\n\
3173 #else\n\
3174 #define PTRDIFF_MIN (-2147483647 - 1)\n\
3175 #define PTRDIFF_MAX 2147483647\n\
3176 #endif",
3177     (char*)NULL };
3179 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3181  *  Description of Darwin_Stdint_7 fix
3182  */
3183 tSCC zDarwin_Stdint_7Name[] =
3184      "darwin_stdint_7";
3187  *  File name selection pattern
3188  */
3189 tSCC zDarwin_Stdint_7List[] =
3190   "stdint-darwin.h\0stdint.h\0";
3192  *  Machine/OS name selection pattern
3193  */
3194 tSCC* apzDarwin_Stdint_7Machs[] = {
3195         "*-*-darwin*",
3196         (const char*)NULL };
3199  *  content selection pattern - do fix if pattern found
3200  */
3201 tSCC zDarwin_Stdint_7Select0[] =
3202        "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
3203 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
3205 #define    DARWIN_STDINT_7_TEST_CT  1
3206 static tTestDesc aDarwin_Stdint_7Tests[] = {
3207   { TT_EGREP,    zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
3210  *  Fix Command Arguments for Darwin_Stdint_7
3211  */
3212 static const char* apzDarwin_Stdint_7Patch[] = {
3213     "format",
3214     "#if __WORDSIZE == 64\n\
3215 #define INTMAX_C(v)  (v ## L)\n\
3216 #define UINTMAX_C(v) (v ## UL)\n\
3217 #else\n\
3218 #define INTMAX_C(v)  (v ## LL)\n\
3219 #define UINTMAX_C(v) (v ## ULL)\n\
3220 #endif",
3221     (char*)NULL };
3223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3225  *  Description of Dec_Intern_Asm fix
3226  */
3227 tSCC zDec_Intern_AsmName[] =
3228      "dec_intern_asm";
3231  *  File name selection pattern
3232  */
3233 tSCC zDec_Intern_AsmList[] =
3234   "c_asm.h\0";
3236  *  Machine/OS name selection pattern
3237  */
3238 #define apzDec_Intern_AsmMachs (const char**)NULL
3239 #define DEC_INTERN_ASM_TEST_CT  0
3240 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
3243  *  Fix Command Arguments for Dec_Intern_Asm
3244  */
3245 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
3246     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
3247 #ifdef __DECC\n",
3248     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
3249 #endif\n",
3250     (char*)NULL };
3252 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3254  *  Description of Djgpp_Wchar_H fix
3255  */
3256 tSCC zDjgpp_Wchar_HName[] =
3257      "djgpp_wchar_h";
3260  *  File name selection pattern
3261  */
3262 #define zDjgpp_Wchar_HList (char*)NULL
3264  *  Machine/OS name selection pattern
3265  */
3266 #define apzDjgpp_Wchar_HMachs (const char**)NULL
3269  *  content selection pattern - do fix if pattern found
3270  */
3271 tSCC zDjgpp_Wchar_HSelect0[] =
3272        "__DJ_wint_t";
3275  *  content bypass pattern - skip fix if pattern found
3276  */
3277 tSCC zDjgpp_Wchar_HBypass0[] =
3278        "sys/djtypes.h";
3280 #define    DJGPP_WCHAR_H_TEST_CT  2
3281 static tTestDesc aDjgpp_Wchar_HTests[] = {
3282   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
3283   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
3286  *  Fix Command Arguments for Djgpp_Wchar_H
3287  */
3288 static const char* apzDjgpp_Wchar_HPatch[] = {
3289     "format",
3290     "%0\n\
3291 #include <sys/djtypes.h>",
3292     "#include <stddef.h>",
3293     (char*)NULL };
3295 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3297  *  Description of Ecd_Cursor fix
3298  */
3299 tSCC zEcd_CursorName[] =
3300      "ecd_cursor";
3303  *  File name selection pattern
3304  */
3305 tSCC zEcd_CursorList[] =
3306   "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
3308  *  Machine/OS name selection pattern
3309  */
3310 #define apzEcd_CursorMachs (const char**)NULL
3313  *  content selection pattern - do fix if pattern found
3314  */
3315 tSCC zEcd_CursorSelect0[] =
3316        "ecd\\.cursor";
3318 #define    ECD_CURSOR_TEST_CT  1
3319 static tTestDesc aEcd_CursorTests[] = {
3320   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
3323  *  Fix Command Arguments for Ecd_Cursor
3324  */
3325 static const char* apzEcd_CursorPatch[] = {
3326     "format",
3327     "ecd_cursor",
3328     (char*)NULL };
3330 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3332  *  Description of Feraiseexcept_Nosse_Divbyzero fix
3333  */
3334 tSCC zFeraiseexcept_Nosse_DivbyzeroName[] =
3335      "feraiseexcept_nosse_divbyzero";
3338  *  File name selection pattern
3339  */
3340 tSCC zFeraiseexcept_Nosse_DivbyzeroList[] =
3341   "bits/fenv.h\0*/bits/fenv.h\0";
3343  *  Machine/OS name selection pattern
3344  */
3345 tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = {
3346         "i[34567]86-*-linux*",
3347         "x86*-linux*",
3348         "amd64-*-linux*",
3349         (const char*)NULL };
3352  *  content selection pattern - do fix if pattern found
3353  */
3354 tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] =
3355        "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$";
3358  *  content bypass pattern - skip fix if pattern found
3359  */
3360 tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] =
3361        "\"fdivp .*; fwait\"";
3363 #define    FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT  2
3364 static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = {
3365   { TT_NEGREP,   zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL },
3366   { TT_EGREP,    zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, };
3369  *  Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero
3370  */
3371 static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
3372     "format",
3373     "# ifdef __SSE_MATH__\n\
3374 %0\n\
3375 # else\n\
3376 %1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\
3377 %1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\
3378 # endif",
3379     (char*)NULL };
3381 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3383  *  Description of Feraiseexcept_Nosse_Invalid fix
3384  */
3385 tSCC zFeraiseexcept_Nosse_InvalidName[] =
3386      "feraiseexcept_nosse_invalid";
3389  *  File name selection pattern
3390  */
3391 tSCC zFeraiseexcept_Nosse_InvalidList[] =
3392   "bits/fenv.h\0*/bits/fenv.h\0";
3394  *  Machine/OS name selection pattern
3395  */
3396 tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = {
3397         "i[34567]86-*-linux*",
3398         "x86*-linux*",
3399         "amd64-*-linux*",
3400         (const char*)NULL };
3403  *  content selection pattern - do fix if pattern found
3404  */
3405 tSCC zFeraiseexcept_Nosse_InvalidSelect0[] =
3406        "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$";
3409  *  content bypass pattern - skip fix if pattern found
3410  */
3411 tSCC zFeraiseexcept_Nosse_InvalidBypass0[] =
3412        "\"fdiv .*; fwait\"";
3414 #define    FERAISEEXCEPT_NOSSE_INVALID_TEST_CT  2
3415 static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = {
3416   { TT_NEGREP,   zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL },
3417   { TT_EGREP,    zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, };
3420  *  Fix Command Arguments for Feraiseexcept_Nosse_Invalid
3421  */
3422 static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = {
3423     "format",
3424     "# ifdef __SSE_MATH__\n\
3425 %0\n\
3426 # else\n\
3427 %1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\
3428 %1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\
3429 # endif",
3430     (char*)NULL };
3432 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3434  *  Description of Freebsd_Gcc3_Breakage fix
3435  */
3436 tSCC zFreebsd_Gcc3_BreakageName[] =
3437      "freebsd_gcc3_breakage";
3440  *  File name selection pattern
3441  */
3442 tSCC zFreebsd_Gcc3_BreakageList[] =
3443   "sys/cdefs.h\0";
3445  *  Machine/OS name selection pattern
3446  */
3447 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
3448         "*-*-freebsd*",
3449         (const char*)NULL };
3452  *  content selection pattern - do fix if pattern found
3453  */
3454 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
3455        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
3458  *  content bypass pattern - skip fix if pattern found
3459  */
3460 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
3461        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
3463 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
3464 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
3465   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
3466   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
3469  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
3470  */
3471 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
3472     "format",
3473     "%0 || __GNUC__ >= 3",
3474     (char*)NULL };
3476 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3478  *  Description of Freebsd_Gcc4_Breakage fix
3479  */
3480 tSCC zFreebsd_Gcc4_BreakageName[] =
3481      "freebsd_gcc4_breakage";
3484  *  File name selection pattern
3485  */
3486 tSCC zFreebsd_Gcc4_BreakageList[] =
3487   "sys/cdefs.h\0";
3489  *  Machine/OS name selection pattern
3490  */
3491 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
3492         "*-*-freebsd*",
3493         (const char*)NULL };
3496  *  content selection pattern - do fix if pattern found
3497  */
3498 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
3499        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
3501 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
3502 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
3503   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
3506  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
3507  */
3508 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
3509     "format",
3510     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
3511     (char*)NULL };
3513 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3515  *  Description of Glibc_C99_Inline_1 fix
3516  */
3517 tSCC zGlibc_C99_Inline_1Name[] =
3518      "glibc_c99_inline_1";
3521  *  File name selection pattern
3522  */
3523 tSCC zGlibc_C99_Inline_1List[] =
3524   "features.h\0*/features.h\0";
3526  *  Machine/OS name selection pattern
3527  */
3528 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
3531  *  content selection pattern - do fix if pattern found
3532  */
3533 tSCC zGlibc_C99_Inline_1Select0[] =
3534        "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
3536 #define    GLIBC_C99_INLINE_1_TEST_CT  1
3537 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
3538   { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
3541  *  Fix Command Arguments for Glibc_C99_Inline_1
3542  */
3543 static const char* apzGlibc_C99_Inline_1Patch[] = {
3544     "format",
3545     "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
3546     (char*)NULL };
3548 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3550  *  Description of Glibc_C99_Inline_1a fix
3551  */
3552 tSCC zGlibc_C99_Inline_1aName[] =
3553      "glibc_c99_inline_1a";
3556  *  File name selection pattern
3557  */
3558 tSCC zGlibc_C99_Inline_1aList[] =
3559   "features.h\0*/features.h\0";
3561  *  Machine/OS name selection pattern
3562  */
3563 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
3566  *  content selection pattern - do fix if pattern found
3567  */
3568 tSCC zGlibc_C99_Inline_1aSelect0[] =
3569        "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
3570 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
3572 #define    GLIBC_C99_INLINE_1A_TEST_CT  1
3573 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
3574   { TT_EGREP,    zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
3577  *  Fix Command Arguments for Glibc_C99_Inline_1a
3578  */
3579 static const char* apzGlibc_C99_Inline_1aPatch[] = {
3580     "format",
3581     "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
3582 %2",
3583     (char*)NULL };
3585 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3587  *  Description of Glibc_C99_Inline_2 fix
3588  */
3589 tSCC zGlibc_C99_Inline_2Name[] =
3590      "glibc_c99_inline_2";
3593  *  File name selection pattern
3594  */
3595 tSCC zGlibc_C99_Inline_2List[] =
3596   "sys/stat.h\0*/sys/stat.h\0";
3598  *  Machine/OS name selection pattern
3599  */
3600 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
3603  *  content selection pattern - do fix if pattern found
3604  */
3605 tSCC zGlibc_C99_Inline_2Select0[] =
3606        "extern __inline__ int";
3608 #define    GLIBC_C99_INLINE_2_TEST_CT  1
3609 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
3610   { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
3613  *  Fix Command Arguments for Glibc_C99_Inline_2
3614  */
3615 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
3616     "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3617 extern\\\n\
3618 #endif\\\n\
3619 __inline__ int \\1/",
3620     "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3621 extern\\\n\
3622 #endif\\\n\
3623 __inline__ int \\1/",
3624     "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3625 extern\\\n\
3626 #endif\\\n\
3627 __inline__ int \\1/",
3628     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3629 extern\\\n\
3630 #endif\\\n\
3631 __inline__ int __REDIRECT\\1 (\\2/",
3632     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3633 extern\\\n\
3634 #endif\\\n\
3635 __inline__ int __REDIRECT\\1 (\\2/",
3636     "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
3637 extern\\\n\
3638 #endif\\\n\
3639 __inline__ int/",
3640     (char*)NULL };
3642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3644  *  Description of Glibc_C99_Inline_3 fix
3645  */
3646 tSCC zGlibc_C99_Inline_3Name[] =
3647      "glibc_c99_inline_3";
3650  *  File name selection pattern
3651  */
3652 tSCC zGlibc_C99_Inline_3List[] =
3653   "bits/string2.h\0*/bits/string2.h\0";
3655  *  Machine/OS name selection pattern
3656  */
3657 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
3660  *  content selection pattern - do fix if pattern found
3661  */
3662 tSCC zGlibc_C99_Inline_3Select0[] =
3663        "extern __inline";
3666  *  content bypass pattern - skip fix if pattern found
3667  */
3668 tSCC zGlibc_C99_Inline_3Bypass0[] =
3669        "__extern_inline|__GNU_STDC_INLINE__";
3671 #define    GLIBC_C99_INLINE_3_TEST_CT  2
3672 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
3673   { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
3674   { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
3677  *  Fix Command Arguments for Glibc_C99_Inline_3
3678  */
3679 static const char* apzGlibc_C99_Inline_3Patch[] = {
3680     "format",
3681     "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
3682     "^# ifdef __cplusplus$",
3683     (char*)NULL };
3685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3687  *  Description of Glibc_C99_Inline_4 fix
3688  */
3689 tSCC zGlibc_C99_Inline_4Name[] =
3690      "glibc_c99_inline_4";
3693  *  File name selection pattern
3694  */
3695 tSCC zGlibc_C99_Inline_4List[] =
3696   "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0pthread.h\0*/pthread.h\0";
3698  *  Machine/OS name selection pattern
3699  */
3700 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
3703  *  content selection pattern - do fix if pattern found
3704  */
3705 tSCC zGlibc_C99_Inline_4Select0[] =
3706        "(^| )extern __inline";
3709  *  content bypass pattern - skip fix if pattern found
3710  */
3711 tSCC zGlibc_C99_Inline_4Bypass0[] =
3712        "__extern_inline|__gnu_inline__";
3714 #define    GLIBC_C99_INLINE_4_TEST_CT  2
3715 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
3716   { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
3717   { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
3720  *  Fix Command Arguments for Glibc_C99_Inline_4
3721  */
3722 static const char* apzGlibc_C99_Inline_4Patch[] = {
3723     "format",
3724     "%0 __attribute__ ((__gnu_inline__))",
3725     (char*)NULL };
3727 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3729  *  Description of Glibc_Mutex_Init fix
3730  */
3731 tSCC zGlibc_Mutex_InitName[] =
3732      "glibc_mutex_init";
3735  *  File name selection pattern
3736  */
3737 tSCC zGlibc_Mutex_InitList[] =
3738   "pthread.h\0";
3740  *  Machine/OS name selection pattern
3741  */
3742 #define apzGlibc_Mutex_InitMachs (const char**)NULL
3745  *  content selection pattern - do fix if pattern found
3746  */
3747 tSCC zGlibc_Mutex_InitSelect0[] =
3748        "\\{ *\\{ *0, *\\} *\\}";
3750 #define    GLIBC_MUTEX_INIT_TEST_CT  1
3751 static tTestDesc aGlibc_Mutex_InitTests[] = {
3752   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
3755  *  Fix Command Arguments for Glibc_Mutex_Init
3756  */
3757 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
3758     "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
3759 N\n\
3760 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
3762     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
3763     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
3764     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
3765     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3766     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
3767     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3768     "-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\
3769 #  \\1\\\n\
3770   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3771 # else\\\n\
3772 #  \\1\\\n\
3773   { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3774 # endif/",
3775     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
3776     "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
3777     (char*)NULL };
3779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3781  *  Description of Glibc_Stdint fix
3782  */
3783 tSCC zGlibc_StdintName[] =
3784      "glibc_stdint";
3787  *  File name selection pattern
3788  */
3789 tSCC zGlibc_StdintList[] =
3790   "stdint.h\0";
3792  *  Machine/OS name selection pattern
3793  */
3794 #define apzGlibc_StdintMachs (const char**)NULL
3797  *  content selection pattern - do fix if pattern found
3798  */
3799 tSCC zGlibc_StdintSelect0[] =
3800        "GNU C Library";
3802 #define    GLIBC_STDINT_TEST_CT  1
3803 static tTestDesc aGlibc_StdintTests[] = {
3804   { TT_EGREP,    zGlibc_StdintSelect0, (regex_t*)NULL }, };
3807  *  Fix Command Arguments for Glibc_Stdint
3808  */
3809 static const char* apzGlibc_StdintPatch[] = {
3810     "format",
3811     "# define UINT8_C(c)\tc\n\
3812 # define UINT16_C(c)\tc",
3813     "# define UINT8_C\\(c\\)\tc ## U\n\
3814 # define UINT16_C\\(c\\)\tc ## U",
3815     (char*)NULL };
3817 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3819  *  Description of Glibc_Strncpy fix
3820  */
3821 tSCC zGlibc_StrncpyName[] =
3822      "glibc_strncpy";
3825  *  File name selection pattern
3826  */
3827 tSCC zGlibc_StrncpyList[] =
3828   "bits/string2.h\0*/bits/string2.h\0";
3830  *  Machine/OS name selection pattern
3831  */
3832 #define apzGlibc_StrncpyMachs (const char**)NULL
3835  *  content bypass pattern - skip fix if pattern found
3836  */
3837 tSCC zGlibc_StrncpyBypass0[] =
3838        "__builtin_strncpy";
3840 #define    GLIBC_STRNCPY_TEST_CT  1
3841 static tTestDesc aGlibc_StrncpyTests[] = {
3842   { TT_NEGREP,   zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
3845  *  Fix Command Arguments for Glibc_Strncpy
3846  */
3847 static const char* apzGlibc_StrncpyPatch[] = {
3848     "format",
3849     "#  define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
3850     "#  define strncpy([^\n\
3851 ]*\\\\\n\
3852 )*[^\n\
3853 ]*",
3854     (char*)NULL };
3856 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3858  *  Description of Glibc_Tgmath fix
3859  */
3860 tSCC zGlibc_TgmathName[] =
3861      "glibc_tgmath";
3864  *  File name selection pattern
3865  */
3866 tSCC zGlibc_TgmathList[] =
3867   "tgmath.h\0";
3869  *  Machine/OS name selection pattern
3870  */
3871 #define apzGlibc_TgmathMachs (const char**)NULL
3874  *  content selection pattern - do fix if pattern found
3875  */
3876 tSCC zGlibc_TgmathSelect0[] =
3877        "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
3880  *  content bypass pattern - skip fix if pattern found
3881  */
3882 tSCC zGlibc_TgmathBypass0[] =
3883        "__floating_type\\(type\\) \\\\\n\
3884 .*__builtin_classify_type";
3886 #define    GLIBC_TGMATH_TEST_CT  2
3887 static tTestDesc aGlibc_TgmathTests[] = {
3888   { TT_NEGREP,   zGlibc_TgmathBypass0, (regex_t*)NULL },
3889   { TT_EGREP,    zGlibc_TgmathSelect0, (regex_t*)NULL }, };
3892  *  Fix Command Arguments for Glibc_Tgmath
3893  */
3894 static const char* apzGlibc_TgmathPatch[] = {
3895     "format",
3896     "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
3897     (char*)NULL };
3899 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3901  *  Description of Gnu_Types fix
3902  */
3903 tSCC zGnu_TypesName[] =
3904      "gnu_types";
3907  *  File name selection pattern
3908  */
3909 tSCC zGnu_TypesList[] =
3910   "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
3912  *  Machine/OS name selection pattern
3913  */
3914 tSCC* apzGnu_TypesMachs[] = {
3915         "*-*-solaris2.1[0-9]*",
3916         (const char*)NULL };
3919  *  content selection pattern - do fix if pattern found
3920  */
3921 tSCC zGnu_TypesSelect0[] =
3922        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
3925  *  content bypass pattern - skip fix if pattern found
3926  */
3927 tSCC zGnu_TypesBypass0[] =
3928        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
3930 #define    GNU_TYPES_TEST_CT  2
3931 static tTestDesc aGnu_TypesTests[] = {
3932   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
3933   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
3936  *  Fix Command Arguments for Gnu_Types
3937  */
3938 static const char* apzGnu_TypesPatch[] = {
3939     "gnu_type",
3940     (char*)NULL };
3942 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3944  *  Description of Hp_Inline fix
3945  */
3946 tSCC zHp_InlineName[] =
3947      "hp_inline";
3950  *  File name selection pattern
3951  */
3952 tSCC zHp_InlineList[] =
3953   "sys/spinlock.h\0machine/machparam.h\0";
3955  *  Machine/OS name selection pattern
3956  */
3957 #define apzHp_InlineMachs (const char**)NULL
3960  *  content selection pattern - do fix if pattern found
3961  */
3962 tSCC zHp_InlineSelect0[] =
3963        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
3965 #define    HP_INLINE_TEST_CT  1
3966 static tTestDesc aHp_InlineTests[] = {
3967   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
3970  *  Fix Command Arguments for Hp_Inline
3971  */
3972 static const char* apzHp_InlinePatch[] = {
3973     "format",
3974     "%1<machine/%2.h>",
3975     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
3976     (char*)NULL };
3978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3980  *  Description of Hp_Sysfile fix
3981  */
3982 tSCC zHp_SysfileName[] =
3983      "hp_sysfile";
3986  *  File name selection pattern
3987  */
3988 tSCC zHp_SysfileList[] =
3989   "sys/file.h\0";
3991  *  Machine/OS name selection pattern
3992  */
3993 #define apzHp_SysfileMachs (const char**)NULL
3996  *  content selection pattern - do fix if pattern found
3997  */
3998 tSCC zHp_SysfileSelect0[] =
3999        "HPUX_SOURCE";
4001 #define    HP_SYSFILE_TEST_CT  1
4002 static tTestDesc aHp_SysfileTests[] = {
4003   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
4006  *  Fix Command Arguments for Hp_Sysfile
4007  */
4008 static const char* apzHp_SysfilePatch[] = {
4009     "format",
4010     "(struct file *, ...)",
4011     "\\(\\.\\.\\.\\)",
4012     (char*)NULL };
4014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4016  *  Description of Hppa_Hpux_Fp_Macros fix
4017  */
4018 tSCC zHppa_Hpux_Fp_MacrosName[] =
4019      "hppa_hpux_fp_macros";
4022  *  File name selection pattern
4023  */
4024 tSCC zHppa_Hpux_Fp_MacrosList[] =
4025   "math.h\0";
4027  *  Machine/OS name selection pattern
4028  */
4029 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
4030         "hppa*-hp-hpux11*",
4031         (const char*)NULL };
4034  *  content selection pattern - do fix if pattern found
4035  */
4036 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
4037        "#[ \t]*define[ \t]*FP_NORMAL.*\n\
4038 #[ \t]*define[ \t]*FP_ZERO.*\n\
4039 #[ \t]*define[ \t]*FP_INFINITE.*\n\
4040 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
4041 #[ \t]*define[ \t]*FP_NAN.*\n";
4043 #define    HPPA_HPUX_FP_MACROS_TEST_CT  1
4044 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
4045   { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
4048  *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
4049  */
4050 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
4051     "format",
4052     "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
4053 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
4054    (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
4055 %0#endif\n\n\
4056 #ifdef _INCLUDE_HPUX_SOURCE\n",
4057     (char*)NULL };
4059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4061  *  Description of Hpux10_Cpp_Pow_Inline fix
4062  */
4063 tSCC zHpux10_Cpp_Pow_InlineName[] =
4064      "hpux10_cpp_pow_inline";
4067  *  File name selection pattern
4068  */
4069 tSCC zHpux10_Cpp_Pow_InlineList[] =
4070   "fixinc-test-limits.h\0math.h\0";
4072  *  Machine/OS name selection pattern
4073  */
4074 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
4077  *  content selection pattern - do fix if pattern found
4078  */
4079 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
4080        "^# +ifdef +__cplusplus\n\
4081  +\\}\n\
4082  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
4083 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
4084  +\\}\n\
4085  +extern +\"C\" +\\{\n\
4086 #else\n\
4087 # +endif";
4089 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
4090 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
4091   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
4094  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
4095  */
4096 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
4097     "format",
4098     "",
4099     (char*)NULL };
4101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4103  *  Description of Hpux11_Cpp_Pow_Inline fix
4104  */
4105 tSCC zHpux11_Cpp_Pow_InlineName[] =
4106      "hpux11_cpp_pow_inline";
4109  *  File name selection pattern
4110  */
4111 tSCC zHpux11_Cpp_Pow_InlineList[] =
4112   "math.h\0";
4114  *  Machine/OS name selection pattern
4115  */
4116 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
4119  *  content selection pattern - do fix if pattern found
4120  */
4121 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
4122        " +inline double pow\\(double d,int expon\\) \\{\n\
4123  +return pow\\(d, \\(double\\)expon\\);\n\
4124  +\\}\n";
4126 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
4127 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
4128   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
4131  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
4132  */
4133 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
4134     "format",
4135     "",
4136     (char*)NULL };
4138 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4140  *  Description of Hpux10_Ctype_Declarations1 fix
4141  */
4142 tSCC zHpux10_Ctype_Declarations1Name[] =
4143      "hpux10_ctype_declarations1";
4146  *  File name selection pattern
4147  */
4148 tSCC zHpux10_Ctype_Declarations1List[] =
4149   "ctype.h\0";
4151  *  Machine/OS name selection pattern
4152  */
4153 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
4156  *  content selection pattern - do fix if pattern found
4157  */
4158 tSCC zHpux10_Ctype_Declarations1Select0[] =
4159        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
4162  *  content bypass pattern - skip fix if pattern found
4163  */
4164 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
4165        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
4167 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
4168 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
4169   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
4170   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
4173  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
4174  */
4175 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
4176     "format",
4177     "#ifdef _PROTOTYPES\n\
4178 extern int __tolower(int);\n\
4179 extern int __toupper(int);\n\
4180 #else /* NOT _PROTOTYPES */\n\
4181 extern int __tolower();\n\
4182 extern int __toupper();\n\
4183 #endif /* _PROTOTYPES */\n\n\
4184 %0\n",
4185     (char*)NULL };
4187 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4189  *  Description of Hpux10_Ctype_Declarations2 fix
4190  */
4191 tSCC zHpux10_Ctype_Declarations2Name[] =
4192      "hpux10_ctype_declarations2";
4195  *  File name selection pattern
4196  */
4197 tSCC zHpux10_Ctype_Declarations2List[] =
4198   "ctype.h\0";
4200  *  Machine/OS name selection pattern
4201  */
4202 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
4205  *  content selection pattern - do fix if pattern found
4206  */
4207 tSCC zHpux10_Ctype_Declarations2Select0[] =
4208        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
4211  *  content bypass pattern - skip fix if pattern found
4212  */
4213 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
4214        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
4216 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
4217 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
4218   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
4219   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
4222  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
4223  */
4224 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
4225     "format",
4226     "%0\n\n\
4227 #ifdef _PROTOTYPES\n\
4228      extern int _isalnum(int);\n\
4229      extern int _isalpha(int);\n\
4230      extern int _iscntrl(int);\n\
4231      extern int _isdigit(int);\n\
4232      extern int _isgraph(int);\n\
4233      extern int _islower(int);\n\
4234      extern int _isprint(int);\n\
4235      extern int _ispunct(int);\n\
4236      extern int _isspace(int);\n\
4237      extern int _isupper(int);\n\
4238      extern int _isxdigit(int);\n\
4239 #  else /* not _PROTOTYPES */\n\
4240      extern int _isalnum();\n\
4241      extern int _isalpha();\n\
4242      extern int _iscntrl();\n\
4243      extern int _isdigit();\n\
4244      extern int _isgraph();\n\
4245      extern int _islower();\n\
4246      extern int _isprint();\n\
4247      extern int _ispunct();\n\
4248      extern int _isspace();\n\
4249      extern int _isupper();\n\
4250      extern int _isxdigit();\n\
4251 #endif /* _PROTOTYPES */\n",
4252     (char*)NULL };
4254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4256  *  Description of Hpux10_Stdio_Declarations fix
4257  */
4258 tSCC zHpux10_Stdio_DeclarationsName[] =
4259      "hpux10_stdio_declarations";
4262  *  File name selection pattern
4263  */
4264 tSCC zHpux10_Stdio_DeclarationsList[] =
4265   "stdio.h\0";
4267  *  Machine/OS name selection pattern
4268  */
4269 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
4272  *  content selection pattern - do fix if pattern found
4273  */
4274 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
4275        "^#[ \t]*define _iob[ \t]*__iob";
4278  *  content bypass pattern - skip fix if pattern found
4279  */
4280 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
4281        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
4283 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
4284 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
4285   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
4286   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
4289  *  Fix Command Arguments for Hpux10_Stdio_Declarations
4290  */
4291 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
4292     "format",
4293     "%0\n\n\
4294 #  if defined(__STDC__) || defined(__cplusplus)\n\
4295      extern int snprintf(char *, size_t, const char *, ...);\n\
4296      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
4297 #  else /* not __STDC__) || __cplusplus */\n\
4298      extern int snprintf();\n\
4299      extern int vsnprintf();\n\
4300 #  endif /* __STDC__) || __cplusplus */\n",
4301     (char*)NULL };
4303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4305  *  Description of Hppa_Hpux11_Alloca fix
4306  */
4307 tSCC zHppa_Hpux11_AllocaName[] =
4308      "hppa_hpux11_alloca";
4311  *  File name selection pattern
4312  */
4313 tSCC zHppa_Hpux11_AllocaList[] =
4314   "alloca.h\0";
4316  *  Machine/OS name selection pattern
4317  */
4318 tSCC* apzHppa_Hpux11_AllocaMachs[] = {
4319         "hppa*-*-hpux11*",
4320         (const char*)NULL };
4323  *  content selection pattern - do fix if pattern found
4324  */
4325 tSCC zHppa_Hpux11_AllocaSelect0[] =
4326        "#ifndef _STDDEF_INCLUDED";
4328 #define    HPPA_HPUX11_ALLOCA_TEST_CT  1
4329 static tTestDesc aHppa_Hpux11_AllocaTests[] = {
4330   { TT_EGREP,    zHppa_Hpux11_AllocaSelect0, (regex_t*)NULL }, };
4333  *  Fix Command Arguments for Hppa_Hpux11_Alloca
4334  */
4335 static const char* apzHppa_Hpux11_AllocaPatch[] = {
4336     "format",
4337     "#ifndef _SYS_STDSYMS_INCLUDED\n\
4338 #  include <sys/stdsyms.h>\n\
4339 #endif /* _SYS_STDSYMS_INCLUDED */\n\n\
4340 %0",
4341     (char*)NULL };
4343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4345  *  Description of Hpux11_Abs fix
4346  */
4347 tSCC zHpux11_AbsName[] =
4348      "hpux11_abs";
4351  *  File name selection pattern
4352  */
4353 tSCC zHpux11_AbsList[] =
4354   "stdlib.h\0";
4356  *  Machine/OS name selection pattern
4357  */
4358 tSCC* apzHpux11_AbsMachs[] = {
4359         "*-hp-hpux11*",
4360         (const char*)NULL };
4363  *  content selection pattern - do fix if pattern found
4364  */
4365 tSCC zHpux11_AbsSelect0[] =
4366        "ifndef _MATH_INCLUDED";
4368 #define    HPUX11_ABS_TEST_CT  1
4369 static tTestDesc aHpux11_AbsTests[] = {
4370   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
4373  *  Fix Command Arguments for Hpux11_Abs
4374  */
4375 static const char* apzHpux11_AbsPatch[] = {
4376     "format",
4377     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
4378     (char*)NULL };
4380 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4382  *  Description of Hpux11_Lwp_Rwlock_Valid fix
4383  */
4384 tSCC zHpux11_Lwp_Rwlock_ValidName[] =
4385      "hpux11_lwp_rwlock_valid";
4388  *  File name selection pattern
4389  */
4390 tSCC zHpux11_Lwp_Rwlock_ValidList[] =
4391   "sys/pthread.h\0";
4393  *  Machine/OS name selection pattern
4394  */
4395 tSCC* apzHpux11_Lwp_Rwlock_ValidMachs[] = {
4396         "*-hp-hpux11*",
4397         (const char*)NULL };
4400  *  content selection pattern - do fix if pattern found
4401  */
4402 tSCC zHpux11_Lwp_Rwlock_ValidSelect0[] =
4403        "#define __LWP_RWLOCK_VALID[ \t]*0x8c91";
4405 #define    HPUX11_LWP_RWLOCK_VALID_TEST_CT  1
4406 static tTestDesc aHpux11_Lwp_Rwlock_ValidTests[] = {
4407   { TT_EGREP,    zHpux11_Lwp_Rwlock_ValidSelect0, (regex_t*)NULL }, };
4410  *  Fix Command Arguments for Hpux11_Lwp_Rwlock_Valid
4411  */
4412 static const char* apzHpux11_Lwp_Rwlock_ValidPatch[] = {
4413     "format",
4414     "#define __LWP_RWLOCK_VALID              -29551",
4415     (char*)NULL };
4417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4419  *  Description of Hpux11_Extern_Sendfile fix
4420  */
4421 tSCC zHpux11_Extern_SendfileName[] =
4422      "hpux11_extern_sendfile";
4425  *  File name selection pattern
4426  */
4427 tSCC zHpux11_Extern_SendfileList[] =
4428   "sys/socket.h\0";
4430  *  Machine/OS name selection pattern
4431  */
4432 tSCC* apzHpux11_Extern_SendfileMachs[] = {
4433         "*-hp-hpux11.[12]*",
4434         (const char*)NULL };
4437  *  content selection pattern - do fix if pattern found
4438  */
4439 tSCC zHpux11_Extern_SendfileSelect0[] =
4440        "^[ \t]*extern sbsize_t sendfile.*\n\
4441 .*, int\\)\\);\n";
4443 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
4444 static tTestDesc aHpux11_Extern_SendfileTests[] = {
4445   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
4448  *  Fix Command Arguments for Hpux11_Extern_Sendfile
4449  */
4450 static const char* apzHpux11_Extern_SendfilePatch[] = {
4451     "format",
4452     "#ifndef _APP32_64BIT_OFF_T\n\
4453 %0#endif\n",
4454     (char*)NULL };
4456 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4458  *  Description of Hpux11_Extern_Sendpath fix
4459  */
4460 tSCC zHpux11_Extern_SendpathName[] =
4461      "hpux11_extern_sendpath";
4464  *  File name selection pattern
4465  */
4466 tSCC zHpux11_Extern_SendpathList[] =
4467   "sys/socket.h\0";
4469  *  Machine/OS name selection pattern
4470  */
4471 tSCC* apzHpux11_Extern_SendpathMachs[] = {
4472         "*-hp-hpux11.[12]*",
4473         (const char*)NULL };
4476  *  content selection pattern - do fix if pattern found
4477  */
4478 tSCC zHpux11_Extern_SendpathSelect0[] =
4479        "^[ \t]*extern sbsize_t sendpath.*\n\
4480 .*, int\\)\\);\n";
4482 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
4483 static tTestDesc aHpux11_Extern_SendpathTests[] = {
4484   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
4487  *  Fix Command Arguments for Hpux11_Extern_Sendpath
4488  */
4489 static const char* apzHpux11_Extern_SendpathPatch[] = {
4490     "format",
4491     "#ifndef _APP32_64BIT_OFF_T\n\
4492 %0#endif\n",
4493     (char*)NULL };
4495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4497  *  Description of Hpux11_Fabsf fix
4498  */
4499 tSCC zHpux11_FabsfName[] =
4500      "hpux11_fabsf";
4503  *  File name selection pattern
4504  */
4505 tSCC zHpux11_FabsfList[] =
4506   "math.h\0";
4508  *  Machine/OS name selection pattern
4509  */
4510 tSCC* apzHpux11_FabsfMachs[] = {
4511         "*-hp-hpux11*",
4512         (const char*)NULL };
4515  *  content selection pattern - do fix if pattern found
4516  */
4517 tSCC zHpux11_FabsfSelect0[] =
4518        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
4520 #define    HPUX11_FABSF_TEST_CT  1
4521 static tTestDesc aHpux11_FabsfTests[] = {
4522   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
4525  *  Fix Command Arguments for Hpux11_Fabsf
4526  */
4527 static const char* apzHpux11_FabsfPatch[] = {
4528     "format",
4529     "#ifndef __cplusplus\n\
4530 %0\n\
4531 #endif",
4532     (char*)NULL };
4534 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4536  *  Description of Hpux11_Pthread_Pointer fix
4537  */
4538 tSCC zHpux11_Pthread_PointerName[] =
4539      "hpux11_pthread_pointer";
4542  *  File name selection pattern
4543  */
4544 tSCC zHpux11_Pthread_PointerList[] =
4545   "sys/pthread.h\0";
4547  *  Machine/OS name selection pattern
4548  */
4549 tSCC* apzHpux11_Pthread_PointerMachs[] = {
4550         "*-hp-hpux11.[0-3]*",
4551         (const char*)NULL };
4554  *  content selection pattern - do fix if pattern found
4555  */
4556 tSCC zHpux11_Pthread_PointerSelect0[] =
4557        "(void[ \t]*\\*)(m|c|rw)(_ptr)";
4559 #define    HPUX11_PTHREAD_POINTER_TEST_CT  1
4560 static tTestDesc aHpux11_Pthread_PointerTests[] = {
4561   { TT_EGREP,    zHpux11_Pthread_PointerSelect0, (regex_t*)NULL }, };
4564  *  Fix Command Arguments for Hpux11_Pthread_Pointer
4565  */
4566 static const char* apzHpux11_Pthread_PointerPatch[] = {
4567     "format",
4568     "long\t%2%3",
4569     (char*)NULL };
4571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4573  *  Description of Hpux11_Pthread_Const fix
4574  */
4575 tSCC zHpux11_Pthread_ConstName[] =
4576      "hpux11_pthread_const";
4579  *  File name selection pattern
4580  */
4581 tSCC zHpux11_Pthread_ConstList[] =
4582   "sys/pthread.h\0";
4584  *  Machine/OS name selection pattern
4585  */
4586 tSCC* apzHpux11_Pthread_ConstMachs[] = {
4587         "*-hp-hpux11.[0-3]*",
4588         (const char*)NULL };
4591  *  content selection pattern - do fix if pattern found
4592  */
4593 tSCC zHpux11_Pthread_ConstSelect0[] =
4594        "^(#define[ \t]+__POINTER_SET[ \t0,]*)(.*\\))";
4596 #define    HPUX11_PTHREAD_CONST_TEST_CT  1
4597 static tTestDesc aHpux11_Pthread_ConstTests[] = {
4598   { TT_EGREP,    zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
4601  *  Fix Command Arguments for Hpux11_Pthread_Const
4602  */
4603 static const char* apzHpux11_Pthread_ConstPatch[] = {
4604     "format",
4605     "%11",
4606     (char*)NULL };
4608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4610  *  Description of Hpux11_Size_T fix
4611  */
4612 tSCC zHpux11_Size_TName[] =
4613      "hpux11_size_t";
4616  *  File name selection pattern
4617  */
4618 #define zHpux11_Size_TList (char*)NULL
4620  *  Machine/OS name selection pattern
4621  */
4622 tSCC* apzHpux11_Size_TMachs[] = {
4623         "*-hp-hpux11*",
4624         (const char*)NULL };
4627  *  content selection pattern - do fix if pattern found
4628  */
4629 tSCC zHpux11_Size_TSelect0[] =
4630        "__size_t";
4632 #define    HPUX11_SIZE_T_TEST_CT  1
4633 static tTestDesc aHpux11_Size_TTests[] = {
4634   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
4637  *  Fix Command Arguments for Hpux11_Size_T
4638  */
4639 static const char* apzHpux11_Size_TPatch[] = {
4640     "format",
4641     "_hpux_size_t",
4642     (char*)NULL };
4644 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4646  *  Description of Hpux11_Snprintf fix
4647  */
4648 tSCC zHpux11_SnprintfName[] =
4649      "hpux11_snprintf";
4652  *  File name selection pattern
4653  */
4654 tSCC zHpux11_SnprintfList[] =
4655   "stdio.h\0";
4657  *  Machine/OS name selection pattern
4658  */
4659 #define apzHpux11_SnprintfMachs (const char**)NULL
4662  *  content selection pattern - do fix if pattern found
4663  */
4664 tSCC zHpux11_SnprintfSelect0[] =
4665        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
4667 #define    HPUX11_SNPRINTF_TEST_CT  1
4668 static tTestDesc aHpux11_SnprintfTests[] = {
4669   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
4672  *  Fix Command Arguments for Hpux11_Snprintf
4673  */
4674 static const char* apzHpux11_SnprintfPatch[] = {
4675     "format",
4676     "%1 const %3",
4677     (char*)NULL };
4679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4681  *  Description of Hpux11_Vsnprintf fix
4682  */
4683 tSCC zHpux11_VsnprintfName[] =
4684      "hpux11_vsnprintf";
4687  *  File name selection pattern
4688  */
4689 tSCC zHpux11_VsnprintfList[] =
4690   "stdio.h\0";
4692  *  Machine/OS name selection pattern
4693  */
4694 #define apzHpux11_VsnprintfMachs (const char**)NULL
4697  *  content selection pattern - do fix if pattern found
4698  */
4699 tSCC zHpux11_VsnprintfSelect0[] =
4700        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
4702 #define    HPUX11_VSNPRINTF_TEST_CT  1
4703 static tTestDesc aHpux11_VsnprintfTests[] = {
4704   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
4707  *  Fix Command Arguments for Hpux11_Vsnprintf
4708  */
4709 static const char* apzHpux11_VsnprintfPatch[] = {
4710     "format",
4711     "%1 __va_list);",
4712     (char*)NULL };
4714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4716  *  Description of Hpux_Vsscanf fix
4717  */
4718 tSCC zHpux_VsscanfName[] =
4719      "hpux_vsscanf";
4722  *  File name selection pattern
4723  */
4724 tSCC zHpux_VsscanfList[] =
4725   "stdio.h\0";
4727  *  Machine/OS name selection pattern
4728  */
4729 tSCC* apzHpux_VsscanfMachs[] = {
4730         "*-*-hpux*",
4731         (const char*)NULL };
4734  *  content selection pattern - do fix if pattern found
4735  */
4736 tSCC zHpux_VsscanfSelect0[] =
4737        "(extern int vsscanf\\()char";
4739 #define    HPUX_VSSCANF_TEST_CT  1
4740 static tTestDesc aHpux_VsscanfTests[] = {
4741   { TT_EGREP,    zHpux_VsscanfSelect0, (regex_t*)NULL }, };
4744  *  Fix Command Arguments for Hpux_Vsscanf
4745  */
4746 static const char* apzHpux_VsscanfPatch[] = {
4747     "format",
4748     "%1const char",
4749     (char*)NULL };
4751 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4753  *  Description of Hpux8_Bogus_Inlines fix
4754  */
4755 tSCC zHpux8_Bogus_InlinesName[] =
4756      "hpux8_bogus_inlines";
4759  *  File name selection pattern
4760  */
4761 tSCC zHpux8_Bogus_InlinesList[] =
4762   "math.h\0";
4764  *  Machine/OS name selection pattern
4765  */
4766 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
4769  *  content selection pattern - do fix if pattern found
4770  */
4771 tSCC zHpux8_Bogus_InlinesSelect0[] =
4772        "inline";
4775  *  content bypass pattern - skip fix if pattern found
4776  */
4777 tSCC zHpux8_Bogus_InlinesBypass0[] =
4778        "__GNUG__";
4780 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
4781 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
4782   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
4783   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
4786  *  Fix Command Arguments for Hpux8_Bogus_Inlines
4787  */
4788 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
4789     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
4790     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
4791     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
4792     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
4793     (char*)NULL };
4795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4797  *  Description of Hpux_C99_Intptr fix
4798  */
4799 tSCC zHpux_C99_IntptrName[] =
4800      "hpux_c99_intptr";
4803  *  File name selection pattern
4804  */
4805 tSCC zHpux_C99_IntptrList[] =
4806   "stdint-hpux11.h\0stdint.h\0";
4808  *  Machine/OS name selection pattern
4809  */
4810 tSCC* apzHpux_C99_IntptrMachs[] = {
4811         "*-hp-hpux11.3*",
4812         (const char*)NULL };
4813 #define HPUX_C99_INTPTR_TEST_CT  0
4814 #define aHpux_C99_IntptrTests   (tTestDesc*)NULL
4817  *  Fix Command Arguments for Hpux_C99_Intptr
4818  */
4819 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
4820     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
4821     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
4822     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
4823     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
4824     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
4825     "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
4826     (char*)NULL };
4828 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4830  *  Description of Hpux_C99_Inttypes fix
4831  */
4832 tSCC zHpux_C99_InttypesName[] =
4833      "hpux_c99_inttypes";
4836  *  File name selection pattern
4837  */
4838 tSCC zHpux_C99_InttypesList[] =
4839   "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4841  *  Machine/OS name selection pattern
4842  */
4843 tSCC* apzHpux_C99_InttypesMachs[] = {
4844         "*-hp-hpux11.[23]*",
4845         (const char*)NULL };
4846 #define HPUX_C99_INTTYPES_TEST_CT  0
4847 #define aHpux_C99_InttypesTests   (tTestDesc*)NULL
4850  *  Fix Command Arguments for Hpux_C99_Inttypes
4851  */
4852 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4853     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4854     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4855     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4856     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4857     (char*)NULL };
4859 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4861  *  Description of Hpux_C99_Inttypes2 fix
4862  */
4863 tSCC zHpux_C99_Inttypes2Name[] =
4864      "hpux_c99_inttypes2";
4867  *  File name selection pattern
4868  */
4869 tSCC zHpux_C99_Inttypes2List[] =
4870   "stdint-hpux11.h\0stdint.h\0";
4872  *  Machine/OS name selection pattern
4873  */
4874 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4875         "*-hp-hpux11.2*",
4876         (const char*)NULL };
4877 #define HPUX_C99_INTTYPES2_TEST_CT  0
4878 #define aHpux_C99_Inttypes2Tests   (tTestDesc*)NULL
4881  *  Fix Command Arguments for Hpux_C99_Inttypes2
4882  */
4883 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4884     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4885     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4886     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4887     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4888     (char*)NULL };
4890 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4892  *  Description of Hpux_Ctype_Macros fix
4893  */
4894 tSCC zHpux_Ctype_MacrosName[] =
4895      "hpux_ctype_macros";
4898  *  File name selection pattern
4899  */
4900 tSCC zHpux_Ctype_MacrosList[] =
4901   "ctype.h\0";
4903  *  Machine/OS name selection pattern
4904  */
4905 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
4908  *  content selection pattern - do fix if pattern found
4909  */
4910 tSCC zHpux_Ctype_MacrosSelect0[] =
4911        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
4913 #define    HPUX_CTYPE_MACROS_TEST_CT  1
4914 static tTestDesc aHpux_Ctype_MacrosTests[] = {
4915   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
4918  *  Fix Command Arguments for Hpux_Ctype_Macros
4919  */
4920 static const char* apzHpux_Ctype_MacrosPatch[] = {
4921     "format",
4922     "%1(int)%3",
4923     (char*)NULL };
4925 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4927  *  Description of Hpux_Extern_Errno fix
4928  */
4929 tSCC zHpux_Extern_ErrnoName[] =
4930      "hpux_extern_errno";
4933  *  File name selection pattern
4934  */
4935 tSCC zHpux_Extern_ErrnoList[] =
4936   "errno.h\0";
4938  *  Machine/OS name selection pattern
4939  */
4940 tSCC* apzHpux_Extern_ErrnoMachs[] = {
4941         "*-hp-hpux10.*",
4942         "*-hp-hpux11.[0-2]*",
4943         (const char*)NULL };
4946  *  content selection pattern - do fix if pattern found
4947  */
4948 tSCC zHpux_Extern_ErrnoSelect0[] =
4949        "^[ \t]*extern int errno;$";
4951 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
4952 static tTestDesc aHpux_Extern_ErrnoTests[] = {
4953   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
4956  *  Fix Command Arguments for Hpux_Extern_Errno
4957  */
4958 static const char* apzHpux_Extern_ErrnoPatch[] = {
4959     "format",
4960     "#ifdef __cplusplus\n\
4961 extern \"C\" {\n\
4962 #endif\n\
4963 %0\n\
4964 #ifdef __cplusplus\n\
4965 }\n\
4966 #endif",
4967     (char*)NULL };
4969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4971  *  Description of Hpux_Htonl fix
4972  */
4973 tSCC zHpux_HtonlName[] =
4974      "hpux_htonl";
4977  *  File name selection pattern
4978  */
4979 tSCC zHpux_HtonlList[] =
4980   "netinet/in.h\0";
4982  *  Machine/OS name selection pattern
4983  */
4984 #define apzHpux_HtonlMachs (const char**)NULL
4987  *  content selection pattern - do fix if pattern found
4988  */
4989 tSCC zHpux_HtonlSelect0[] =
4990        "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
4991 (/\\*\n\
4992  \\* Macros for number representation conversion\\.\n\
4993  \\*/\n\
4994 #ifndef ntohl)";
4996 #define    HPUX_HTONL_TEST_CT  1
4997 static tTestDesc aHpux_HtonlTests[] = {
4998   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
5001  *  Fix Command Arguments for Hpux_Htonl
5002  */
5003 static const char* apzHpux_HtonlPatch[] = {
5004     "format",
5005     "#if 1\n\
5006 %1",
5007     (char*)NULL };
5009 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5011  *  Description of Hpux_Imaginary_I fix
5012  */
5013 tSCC zHpux_Imaginary_IName[] =
5014      "hpux_imaginary_i";
5017  *  File name selection pattern
5018  */
5019 tSCC zHpux_Imaginary_IList[] =
5020   "complex.h\0";
5022  *  Machine/OS name selection pattern
5023  */
5024 tSCC* apzHpux_Imaginary_IMachs[] = {
5025         "ia64-hp-hpux11.*",
5026         (const char*)NULL };
5029  *  content selection pattern - do fix if pattern found
5030  */
5031 tSCC zHpux_Imaginary_ISelect0[] =
5032        "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
5034 #define    HPUX_IMAGINARY_I_TEST_CT  1
5035 static tTestDesc aHpux_Imaginary_ITests[] = {
5036   { TT_EGREP,    zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
5039  *  Fix Command Arguments for Hpux_Imaginary_I
5040  */
5041 static const char* apzHpux_Imaginary_IPatch[] = {
5042     "format",
5043     "#define _Complex_I (__extension__ 1.0iF)",
5044     (char*)NULL };
5046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5048  *  Description of Hpux_Inttype_Int8_T fix
5049  */
5050 tSCC zHpux_Inttype_Int8_TName[] =
5051      "hpux_inttype_int8_t";
5054  *  File name selection pattern
5055  */
5056 tSCC zHpux_Inttype_Int8_TList[] =
5057   "sys/_inttypes.h\0";
5059  *  Machine/OS name selection pattern
5060  */
5061 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
5062         "*-hp-hpux1[01].*",
5063         (const char*)NULL };
5066  *  content selection pattern - do fix if pattern found
5067  */
5068 tSCC zHpux_Inttype_Int8_TSelect0[] =
5069        "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
5071 #define    HPUX_INTTYPE_INT8_T_TEST_CT  1
5072 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
5073   { TT_EGREP,    zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
5076  *  Fix Command Arguments for Hpux_Inttype_Int8_T
5077  */
5078 static const char* apzHpux_Inttype_Int8_TPatch[] = {
5079     "format",
5080     "typedef signed char int%18_t;",
5081     (char*)NULL };
5083 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5085  *  Description of Hpux_Long_Double fix
5086  */
5087 tSCC zHpux_Long_DoubleName[] =
5088      "hpux_long_double";
5091  *  File name selection pattern
5092  */
5093 tSCC zHpux_Long_DoubleList[] =
5094   "stdlib.h\0";
5096  *  Machine/OS name selection pattern
5097  */
5098 tSCC* apzHpux_Long_DoubleMachs[] = {
5099         "*-*-hpux10*",
5100         "*-*-hpux11.[012]*",
5101         (const char*)NULL };
5104  *  content selection pattern - do fix if pattern found
5105  */
5106 tSCC zHpux_Long_DoubleSelect0[] =
5107        "extern[ \t]long_double[ \t]strtold";
5110  *  content bypass pattern - skip fix if pattern found
5111  */
5112 tSCC zHpux_Long_DoubleBypass0[] =
5113        "long_double_t";
5115 #define    HPUX_LONG_DOUBLE_TEST_CT  2
5116 static tTestDesc aHpux_Long_DoubleTests[] = {
5117   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
5118   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
5121  *  Fix Command Arguments for Hpux_Long_Double
5122  */
5123 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
5124     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
5125     "-e", "s/long_double/long double/g",
5126     (char*)NULL };
5128 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5130  *  Description of Hpux_Long_Double_2 fix
5131  */
5132 tSCC zHpux_Long_Double_2Name[] =
5133      "hpux_long_double_2";
5136  *  File name selection pattern
5137  */
5138 tSCC zHpux_Long_Double_2List[] =
5139   "stdlib.h\0";
5141  *  Machine/OS name selection pattern
5142  */
5143 tSCC* apzHpux_Long_Double_2Machs[] = {
5144         "hppa*-*-hpux11.3*",
5145         (const char*)NULL };
5148  *  content selection pattern - do fix if pattern found
5149  */
5150 tSCC zHpux_Long_Double_2Select0[] =
5151        "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
5153 #define    HPUX_LONG_DOUBLE_2_TEST_CT  1
5154 static tTestDesc aHpux_Long_Double_2Tests[] = {
5155   { TT_EGREP,    zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
5158  *  Fix Command Arguments for Hpux_Long_Double_2
5159  */
5160 static const char* apzHpux_Long_Double_2Patch[] = {
5161     "format",
5162     "#  if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
5163     (char*)NULL };
5165 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5167  *  Description of Hpux_Pthread_Initializers fix
5168  */
5169 tSCC zHpux_Pthread_InitializersName[] =
5170      "hpux_pthread_initializers";
5173  *  File name selection pattern
5174  */
5175 tSCC zHpux_Pthread_InitializersList[] =
5176   "sys/pthread.h\0";
5178  *  Machine/OS name selection pattern
5179  */
5180 tSCC* apzHpux_Pthread_InitializersMachs[] = {
5181         "*-hp-hpux11.[0-3]*",
5182         (const char*)NULL };
5183 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
5184 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
5187  *  Fix Command Arguments for Hpux_Pthread_Initializers
5188  */
5189 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
5190     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
5191     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
5192     "-e", "/^[ \t]*0$/d",
5193     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
5194     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
5195     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
5196     "-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\\\\@",
5197     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
5198     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
5199     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
5200     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
5201     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
5202     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
5203     (char*)NULL };
5205 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5207  *  Description of Hpux_Spu_Info fix
5208  */
5209 tSCC zHpux_Spu_InfoName[] =
5210      "hpux_spu_info";
5213  *  File name selection pattern
5214  */
5215 tSCC zHpux_Spu_InfoList[] =
5216   "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
5218  *  Machine/OS name selection pattern
5219  */
5220 tSCC* apzHpux_Spu_InfoMachs[] = {
5221         "*-hp-hpux*",
5222         (const char*)NULL };
5225  *  content selection pattern - do fix if pattern found
5226  */
5227 tSCC zHpux_Spu_InfoSelect0[] =
5228        "^.*extern.*spu_info.*";
5230 #define    HPUX_SPU_INFO_TEST_CT  1
5231 static tTestDesc aHpux_Spu_InfoTests[] = {
5232   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
5235  *  Fix Command Arguments for Hpux_Spu_Info
5236  */
5237 static const char* apzHpux_Spu_InfoPatch[] = {
5238     "format",
5239     "#ifdef _KERNEL\n\
5240 %0\n\
5241 #endif",
5242     (char*)NULL };
5244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5246  *  Description of Hpux_Stdint_Least_Fast fix
5247  */
5248 tSCC zHpux_Stdint_Least_FastName[] =
5249      "hpux_stdint_least_fast";
5252  *  File name selection pattern
5253  */
5254 tSCC zHpux_Stdint_Least_FastList[] =
5255   "stdint-hpux11.h\0stdint.h\0";
5257  *  Machine/OS name selection pattern
5258  */
5259 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
5260         "*-hp-hpux11.2*",
5261         (const char*)NULL };
5264  *  content selection pattern - do fix if pattern found
5265  */
5266 tSCC zHpux_Stdint_Least_FastSelect0[] =
5267        "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
5269 #define    HPUX_STDINT_LEAST_FAST_TEST_CT  1
5270 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
5271   { TT_EGREP,    zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
5274  *  Fix Command Arguments for Hpux_Stdint_Least_Fast
5275  */
5276 static const char* apzHpux_Stdint_Least_FastPatch[] = {
5277     "format",
5278     "#  define\tUINT_%164_MAX\t__UINT64_MAX__",
5279     (char*)NULL };
5281 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5283  *  Description of Hpux_Longjmp fix
5284  */
5285 tSCC zHpux_LongjmpName[] =
5286      "hpux_longjmp";
5289  *  File name selection pattern
5290  */
5291 tSCC zHpux_LongjmpList[] =
5292   "setjmp.h\0";
5294  *  Machine/OS name selection pattern
5295  */
5296 tSCC* apzHpux_LongjmpMachs[] = {
5297         "*-hp-hpux*",
5298         (const char*)NULL };
5301  *  content selection pattern - do fix if pattern found
5302  */
5303 tSCC zHpux_LongjmpSelect0[] =
5304        "^[ \t]*extern[ \t]+void[ \t]+.*longjmp[ \t]*(__\\(\\(.*int\\)\\)|\\(.*int\\)|\\(\\))";
5306 #define    HPUX_LONGJMP_TEST_CT  1
5307 static tTestDesc aHpux_LongjmpTests[] = {
5308   { TT_EGREP,    zHpux_LongjmpSelect0, (regex_t*)NULL }, };
5311  *  Fix Command Arguments for Hpux_Longjmp
5312  */
5313 static const char* apzHpux_LongjmpPatch[] = {
5314     "format",
5315     "%0 __attribute__ ((__noreturn__))",
5316     (char*)NULL };
5318 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5320  *  Description of Hpux_Systime fix
5321  */
5322 tSCC zHpux_SystimeName[] =
5323      "hpux_systime";
5326  *  File name selection pattern
5327  */
5328 tSCC zHpux_SystimeList[] =
5329   "sys/time.h\0";
5331  *  Machine/OS name selection pattern
5332  */
5333 #define apzHpux_SystimeMachs (const char**)NULL
5336  *  content selection pattern - do fix if pattern found
5337  */
5338 tSCC zHpux_SystimeSelect0[] =
5339        "^extern struct sigevent;";
5341 #define    HPUX_SYSTIME_TEST_CT  1
5342 static tTestDesc aHpux_SystimeTests[] = {
5343   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
5346  *  Fix Command Arguments for Hpux_Systime
5347  */
5348 static const char* apzHpux_SystimePatch[] = {
5349     "format",
5350     "struct sigevent;",
5351     (char*)NULL };
5353 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5355  *  Description of Huge_Val_Hex fix
5356  */
5357 tSCC zHuge_Val_HexName[] =
5358      "huge_val_hex";
5361  *  File name selection pattern
5362  */
5363 tSCC zHuge_Val_HexList[] =
5364   "bits/huge_val.h\0*/bits/huge_val.h\0";
5366  *  Machine/OS name selection pattern
5367  */
5368 #define apzHuge_Val_HexMachs (const char**)NULL
5371  *  content selection pattern - do fix if pattern found
5372  */
5373 tSCC zHuge_Val_HexSelect0[] =
5374        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
5377  *  content bypass pattern - skip fix if pattern found
5378  */
5379 tSCC zHuge_Val_HexBypass0[] =
5380        "__builtin_huge_val";
5382 #define    HUGE_VAL_HEX_TEST_CT  2
5383 static tTestDesc aHuge_Val_HexTests[] = {
5384   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
5385   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
5388  *  Fix Command Arguments for Huge_Val_Hex
5389  */
5390 static const char* apzHuge_Val_HexPatch[] = {
5391     "format",
5392     "#define HUGE_VAL (__builtin_huge_val())\n",
5393     (char*)NULL };
5395 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5397  *  Description of Huge_Valf_Hex fix
5398  */
5399 tSCC zHuge_Valf_HexName[] =
5400      "huge_valf_hex";
5403  *  File name selection pattern
5404  */
5405 tSCC zHuge_Valf_HexList[] =
5406   "bits/huge_val.h\0*/bits/huge_val.h\0";
5408  *  Machine/OS name selection pattern
5409  */
5410 #define apzHuge_Valf_HexMachs (const char**)NULL
5413  *  content selection pattern - do fix if pattern found
5414  */
5415 tSCC zHuge_Valf_HexSelect0[] =
5416        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
5419  *  content bypass pattern - skip fix if pattern found
5420  */
5421 tSCC zHuge_Valf_HexBypass0[] =
5422        "__builtin_huge_valf";
5424 #define    HUGE_VALF_HEX_TEST_CT  2
5425 static tTestDesc aHuge_Valf_HexTests[] = {
5426   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
5427   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
5430  *  Fix Command Arguments for Huge_Valf_Hex
5431  */
5432 static const char* apzHuge_Valf_HexPatch[] = {
5433     "format",
5434     "#define HUGE_VALF (__builtin_huge_valf())\n",
5435     (char*)NULL };
5437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5439  *  Description of Huge_Vall_Hex fix
5440  */
5441 tSCC zHuge_Vall_HexName[] =
5442      "huge_vall_hex";
5445  *  File name selection pattern
5446  */
5447 tSCC zHuge_Vall_HexList[] =
5448   "bits/huge_val.h\0*/bits/huge_val.h\0";
5450  *  Machine/OS name selection pattern
5451  */
5452 #define apzHuge_Vall_HexMachs (const char**)NULL
5455  *  content selection pattern - do fix if pattern found
5456  */
5457 tSCC zHuge_Vall_HexSelect0[] =
5458        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
5461  *  content bypass pattern - skip fix if pattern found
5462  */
5463 tSCC zHuge_Vall_HexBypass0[] =
5464        "__builtin_huge_vall";
5466 #define    HUGE_VALL_HEX_TEST_CT  2
5467 static tTestDesc aHuge_Vall_HexTests[] = {
5468   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
5469   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
5472  *  Fix Command Arguments for Huge_Vall_Hex
5473  */
5474 static const char* apzHuge_Vall_HexPatch[] = {
5475     "format",
5476     "#define HUGE_VALL (__builtin_huge_vall())\n",
5477     (char*)NULL };
5479 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5481  *  Description of Int_Abort_Free_And_Exit fix
5482  */
5483 tSCC zInt_Abort_Free_And_ExitName[] =
5484      "int_abort_free_and_exit";
5487  *  File name selection pattern
5488  */
5489 tSCC zInt_Abort_Free_And_ExitList[] =
5490   "stdlib.h\0";
5492  *  Machine/OS name selection pattern
5493  */
5494 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
5497  *  content selection pattern - do fix if pattern found
5498  */
5499 tSCC zInt_Abort_Free_And_ExitSelect0[] =
5500        "int[ \t]+(abort|free|exit)[ \t]*\\(";
5503  *  content bypass pattern - skip fix if pattern found
5504  */
5505 tSCC zInt_Abort_Free_And_ExitBypass0[] =
5506        "_CLASSIC_ANSI_TYPES";
5508 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
5509 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
5510   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
5511   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
5514  *  Fix Command Arguments for Int_Abort_Free_And_Exit
5515  */
5516 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
5517     "format",
5518     "void\t%1(",
5519     (char*)NULL };
5521 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5523  *  Description of Io_Quotes_Def fix
5524  */
5525 tSCC zIo_Quotes_DefName[] =
5526      "io_quotes_def";
5529  *  File name selection pattern
5530  */
5531 #define zIo_Quotes_DefList (char*)NULL
5533  *  Machine/OS name selection pattern
5534  */
5535 #define apzIo_Quotes_DefMachs (const char**)NULL
5538  *  content selection pattern - do fix if pattern found
5539  */
5540 tSCC zIo_Quotes_DefSelect0[] =
5541        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
5543 #define    IO_QUOTES_DEF_TEST_CT  1
5544 static tTestDesc aIo_Quotes_DefTests[] = {
5545   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
5548  *  Fix Command Arguments for Io_Quotes_Def
5549  */
5550 static const char* apzIo_Quotes_DefPatch[] = {
5551     "char_macro_def",
5552     "IO",
5553     (char*)NULL };
5555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5557  *  Description of Io_Quotes_Use fix
5558  */
5559 tSCC zIo_Quotes_UseName[] =
5560      "io_quotes_use";
5563  *  File name selection pattern
5564  */
5565 #define zIo_Quotes_UseList (char*)NULL
5567  *  Machine/OS name selection pattern
5568  */
5569 #define apzIo_Quotes_UseMachs (const char**)NULL
5572  *  content selection pattern - do fix if pattern found
5573  */
5574 tSCC zIo_Quotes_UseSelect0[] =
5575        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
5577 #define    IO_QUOTES_USE_TEST_CT  1
5578 static tTestDesc aIo_Quotes_UseTests[] = {
5579   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
5582  *  Fix Command Arguments for Io_Quotes_Use
5583  */
5584 static const char* apzIo_Quotes_UsePatch[] = {
5585     "char_macro_use",
5586     "IO",
5587     (char*)NULL };
5589 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5591  *  Description of Ip_Missing_Semi fix
5592  */
5593 tSCC zIp_Missing_SemiName[] =
5594      "ip_missing_semi";
5597  *  File name selection pattern
5598  */
5599 tSCC zIp_Missing_SemiList[] =
5600   "netinet/ip.h\0";
5602  *  Machine/OS name selection pattern
5603  */
5604 #define apzIp_Missing_SemiMachs (const char**)NULL
5607  *  content selection pattern - do fix if pattern found
5608  */
5609 tSCC zIp_Missing_SemiSelect0[] =
5610        "}$";
5612 #define    IP_MISSING_SEMI_TEST_CT  1
5613 static tTestDesc aIp_Missing_SemiTests[] = {
5614   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
5617  *  Fix Command Arguments for Ip_Missing_Semi
5618  */
5619 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
5620     "-e", "/^struct/,/^};/s/}$/};/",
5621     (char*)NULL };
5623 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5625  *  Description of Irix_Limits_Const fix
5626  */
5627 tSCC zIrix_Limits_ConstName[] =
5628      "irix_limits_const";
5631  *  File name selection pattern
5632  */
5633 tSCC zIrix_Limits_ConstList[] =
5634   "fixinc-test-limits.h\0limits.h\0";
5636  *  Machine/OS name selection pattern
5637  */
5638 #define apzIrix_Limits_ConstMachs (const char**)NULL
5641  *  content selection pattern - do fix if pattern found
5642  */
5643 tSCC zIrix_Limits_ConstSelect0[] =
5644        "^extern const ";
5646 #define    IRIX_LIMITS_CONST_TEST_CT  1
5647 static tTestDesc aIrix_Limits_ConstTests[] = {
5648   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
5651  *  Fix Command Arguments for Irix_Limits_Const
5652  */
5653 static const char* apzIrix_Limits_ConstPatch[] = {
5654     "format",
5655     "extern __const ",
5656     (char*)NULL };
5658 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5660  *  Description of Irix_Stdio_Va_List fix
5661  */
5662 tSCC zIrix_Stdio_Va_ListName[] =
5663      "irix_stdio_va_list";
5666  *  File name selection pattern
5667  */
5668 tSCC zIrix_Stdio_Va_ListList[] =
5669   "stdio.h\0";
5671  *  Machine/OS name selection pattern
5672  */
5673 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
5676  *  content selection pattern - do fix if pattern found
5677  */
5678 tSCC zIrix_Stdio_Va_ListSelect0[] =
5679        "/\\* va_list \\*/ char \\*";
5681 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
5682 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
5683   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
5686  *  Fix Command Arguments for Irix_Stdio_Va_List
5687  */
5688 static const char* apzIrix_Stdio_Va_ListPatch[] = {
5689     "format",
5690     "__gnuc_va_list",
5691     (char*)NULL };
5693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5695  *  Description of Kandr_Concat fix
5696  */
5697 tSCC zKandr_ConcatName[] =
5698      "kandr_concat";
5701  *  File name selection pattern
5702  */
5703 tSCC zKandr_ConcatList[] =
5704   "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";
5706  *  Machine/OS name selection pattern
5707  */
5708 #define apzKandr_ConcatMachs (const char**)NULL
5711  *  content selection pattern - do fix if pattern found
5712  */
5713 tSCC zKandr_ConcatSelect0[] =
5714        "/\\*\\*/";
5716 #define    KANDR_CONCAT_TEST_CT  1
5717 static tTestDesc aKandr_ConcatTests[] = {
5718   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
5721  *  Fix Command Arguments for Kandr_Concat
5722  */
5723 static const char* apzKandr_ConcatPatch[] = {
5724     "format",
5725     "##",
5726     (char*)NULL };
5728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5730  *  Description of Linux_Ia64_Ucontext fix
5731  */
5732 tSCC zLinux_Ia64_UcontextName[] =
5733      "linux_ia64_ucontext";
5736  *  File name selection pattern
5737  */
5738 tSCC zLinux_Ia64_UcontextList[] =
5739   "sys/ucontext.h\0";
5741  *  Machine/OS name selection pattern
5742  */
5743 tSCC* apzLinux_Ia64_UcontextMachs[] = {
5744         "ia64-*-linux*",
5745         (const char*)NULL };
5748  *  content selection pattern - do fix if pattern found
5749  */
5750 tSCC zLinux_Ia64_UcontextSelect0[] =
5751        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
5753 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
5754 static tTestDesc aLinux_Ia64_UcontextTests[] = {
5755   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
5758  *  Fix Command Arguments for Linux_Ia64_Ucontext
5759  */
5760 static const char* apzLinux_Ia64_UcontextPatch[] = {
5761     "format",
5762     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
5763     (char*)NULL };
5765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5767  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
5768  */
5769 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
5770      "lynxos_no_warning_in_sys_time_h";
5773  *  File name selection pattern
5774  */
5775 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
5776   "sys/time.h\0";
5778  *  Machine/OS name selection pattern
5779  */
5780 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
5783  *  content selection pattern - do fix if pattern found
5784  */
5785 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
5786        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
5788 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
5789 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
5790   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
5793  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
5794  */
5795 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
5796     "format",
5797     "",
5798     (char*)NULL };
5800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5802  *  Description of Lynxos_Missing_Putenv fix
5803  */
5804 tSCC zLynxos_Missing_PutenvName[] =
5805      "lynxos_missing_putenv";
5808  *  File name selection pattern
5809  */
5810 tSCC zLynxos_Missing_PutenvList[] =
5811   "stdlib.h\0";
5813  *  Machine/OS name selection pattern
5814  */
5815 tSCC* apzLynxos_Missing_PutenvMachs[] = {
5816         "*-*-lynxos*",
5817         (const char*)NULL };
5820  *  content selection pattern - do fix if pattern found
5821  */
5822 tSCC zLynxos_Missing_PutenvSelect0[] =
5823        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
5826  *  content bypass pattern - skip fix if pattern found
5827  */
5828 tSCC zLynxos_Missing_PutenvBypass0[] =
5829        "putenv[ \\t]*\\(";
5831 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
5832 static tTestDesc aLynxos_Missing_PutenvTests[] = {
5833   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
5834   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
5837  *  Fix Command Arguments for Lynxos_Missing_Putenv
5838  */
5839 static const char* apzLynxos_Missing_PutenvPatch[] = {
5840     "format",
5841     "%0\n\
5842 extern int putenv\t\t\t\t_AP((char *));",
5843     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
5844     (char*)NULL };
5846 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5848  *  Description of Machine_Ansi_H_Va_List fix
5849  */
5850 tSCC zMachine_Ansi_H_Va_ListName[] =
5851      "machine_ansi_h_va_list";
5854  *  File name selection pattern
5855  */
5856 #define zMachine_Ansi_H_Va_ListList (char*)NULL
5858  *  Machine/OS name selection pattern
5859  */
5860 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
5863  *  content selection pattern - do fix if pattern found
5864  */
5865 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
5866        "define[ \t]+_BSD_VA_LIST_[ \t]";
5869  *  content bypass pattern - skip fix if pattern found
5870  */
5871 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
5872        "__builtin_va_list";
5874 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
5875 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
5876   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
5877   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
5880  *  Fix Command Arguments for Machine_Ansi_H_Va_List
5881  */
5882 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
5883     "format",
5884     "%1__builtin_va_list",
5885     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
5886     (char*)NULL };
5888 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5890  *  Description of Machine_Name fix
5891  */
5892 tSCC zMachine_NameName[] =
5893      "machine_name";
5896  *  File name selection pattern
5897  */
5898 #define zMachine_NameList (char*)NULL
5900  *  Machine/OS name selection pattern
5901  */
5902 #define apzMachine_NameMachs (const char**)NULL
5905  *  perform the C function call test
5906  */
5907 tSCC zMachine_NameFTst0[] = "machine_name";
5909 #define    MACHINE_NAME_TEST_CT  1
5910 static tTestDesc aMachine_NameTests[] = {
5911   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
5914  *  Fix Command Arguments for Machine_Name
5915  */
5916 static const char* apzMachine_NamePatch[] = {
5917     "machine_name",
5918     (char*)NULL };
5920 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5922  *  Description of Math_Exception fix
5923  */
5924 tSCC zMath_ExceptionName[] =
5925      "math_exception";
5928  *  File name selection pattern
5929  */
5930 tSCC zMath_ExceptionList[] =
5931   "math.h\0";
5933  *  Machine/OS name selection pattern
5934  */
5935 tSCC* apzMath_ExceptionMachs[] = {
5936         "*-*-solaris2.1[0-9]*",
5937         (const char*)NULL };
5940  *  content selection pattern - do fix if pattern found
5941  */
5942 tSCC zMath_ExceptionSelect0[] =
5943        "struct exception";
5946  *  content bypass pattern - skip fix if pattern found
5947  */
5948 tSCC zMath_ExceptionBypass0[] =
5949        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
5951 #define    MATH_EXCEPTION_TEST_CT  2
5952 static tTestDesc aMath_ExceptionTests[] = {
5953   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
5954   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
5957  *  Fix Command Arguments for Math_Exception
5958  */
5959 static const char* apzMath_ExceptionPatch[] = {
5960     "wrap",
5961     "#ifdef __cplusplus\n\
5962 #define exception __math_exception\n\
5963 #endif\n",
5964     "#ifdef __cplusplus\n\
5965 #undef exception\n\
5966 #endif\n",
5967     (char*)NULL };
5969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5971  *  Description of Math_Huge_Val_From_Dbl_Max fix
5972  */
5973 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
5974      "math_huge_val_from_dbl_max";
5977  *  File name selection pattern
5978  */
5979 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
5980   "math.h\0";
5982  *  Machine/OS name selection pattern
5983  */
5984 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
5987  *  content selection pattern - do fix if pattern found
5988  */
5989 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
5990        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
5993  *  content bypass pattern - skip fix if pattern found
5994  */
5995 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
5996        "define[ \t]+DBL_MAX";
5998 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
5999 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
6000   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
6001   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
6004  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
6005  */
6006 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
6007     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
6008 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
6009 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
6010 \telse cat\n\
6011 \tfi",
6012     (char*)NULL };
6014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6016  *  Description of Nested_Auth_Des fix
6017  */
6018 tSCC zNested_Auth_DesName[] =
6019      "nested_auth_des";
6022  *  File name selection pattern
6023  */
6024 tSCC zNested_Auth_DesList[] =
6025   "rpc/rpc.h\0";
6027  *  Machine/OS name selection pattern
6028  */
6029 #define apzNested_Auth_DesMachs (const char**)NULL
6032  *  content selection pattern - do fix if pattern found
6033  */
6034 tSCC zNested_Auth_DesSelect0[] =
6035        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
6037 #define    NESTED_AUTH_DES_TEST_CT  1
6038 static tTestDesc aNested_Auth_DesTests[] = {
6039   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
6042  *  Fix Command Arguments for Nested_Auth_Des
6043  */
6044 static const char* apzNested_Auth_DesPatch[] = {
6045     "format",
6046     "%1*/ /*",
6047     (char*)NULL };
6049 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6051  *  Description of Netbsd_C99_Inline_1 fix
6052  */
6053 tSCC zNetbsd_C99_Inline_1Name[] =
6054      "netbsd_c99_inline_1";
6057  *  File name selection pattern
6058  */
6059 tSCC zNetbsd_C99_Inline_1List[] =
6060   "signal.h\0";
6062  *  Machine/OS name selection pattern
6063  */
6064 tSCC* apzNetbsd_C99_Inline_1Machs[] = {
6065         "*-*-netbsd*",
6066         (const char*)NULL };
6069  *  content selection pattern - do fix if pattern found
6070  */
6071 tSCC zNetbsd_C99_Inline_1Select0[] =
6072        "extern __inline int";
6074 #define    NETBSD_C99_INLINE_1_TEST_CT  1
6075 static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
6076   { TT_EGREP,    zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
6079  *  Fix Command Arguments for Netbsd_C99_Inline_1
6080  */
6081 static const char* apzNetbsd_C99_Inline_1Patch[] = {
6082     "format",
6083     "extern\n\
6084 #ifdef __GNUC_STDC_INLINE__\n\
6085 __attribute__((__gnu_inline__))\n\
6086 #endif\n\
6087 __inline int",
6088     (char*)NULL };
6090 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6092  *  Description of Netbsd_C99_Inline_2 fix
6093  */
6094 tSCC zNetbsd_C99_Inline_2Name[] =
6095      "netbsd_c99_inline_2";
6098  *  File name selection pattern
6099  */
6100 tSCC zNetbsd_C99_Inline_2List[] =
6101   "signal.h\0";
6103  *  Machine/OS name selection pattern
6104  */
6105 tSCC* apzNetbsd_C99_Inline_2Machs[] = {
6106         "*-*-netbsd*",
6107         (const char*)NULL };
6110  *  content selection pattern - do fix if pattern found
6111  */
6112 tSCC zNetbsd_C99_Inline_2Select0[] =
6113        "#define _SIGINLINE extern __inline";
6115 #define    NETBSD_C99_INLINE_2_TEST_CT  1
6116 static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
6117   { TT_EGREP,    zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
6120  *  Fix Command Arguments for Netbsd_C99_Inline_2
6121  */
6122 static const char* apzNetbsd_C99_Inline_2Patch[] = {
6123     "format",
6124     "#ifdef __GNUC_STDC_INLINE__\n\
6125 #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
6126 #else\n\
6127 %0\n\
6128 #endif",
6129     (char*)NULL };
6131 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6133  *  Description of Netbsd_Extra_Semicolon fix
6134  */
6135 tSCC zNetbsd_Extra_SemicolonName[] =
6136      "netbsd_extra_semicolon";
6139  *  File name selection pattern
6140  */
6141 tSCC zNetbsd_Extra_SemicolonList[] =
6142   "sys/cdefs.h\0";
6144  *  Machine/OS name selection pattern
6145  */
6146 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
6147         "*-*-netbsd*",
6148         (const char*)NULL };
6151  *  content selection pattern - do fix if pattern found
6152  */
6153 tSCC zNetbsd_Extra_SemicolonSelect0[] =
6154        "#define[ \t]*__END_DECLS[ \t]*};";
6156 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
6157 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
6158   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
6161  *  Fix Command Arguments for Netbsd_Extra_Semicolon
6162  */
6163 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
6164     "format",
6165     "#define __END_DECLS }",
6166     (char*)NULL };
6168 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6170  *  Description of Newlib_Stdint_1 fix
6171  */
6172 tSCC zNewlib_Stdint_1Name[] =
6173      "newlib_stdint_1";
6176  *  File name selection pattern
6177  */
6178 tSCC zNewlib_Stdint_1List[] =
6179   "stdint-newlib.h\0stdint.h\0";
6181  *  Machine/OS name selection pattern
6182  */
6183 #define apzNewlib_Stdint_1Machs (const char**)NULL
6186  *  content selection pattern - do fix if pattern found
6187  */
6188 tSCC zNewlib_Stdint_1Select0[] =
6189        "@todo - Add support for wint_t types";
6191 #define    NEWLIB_STDINT_1_TEST_CT  1
6192 static tTestDesc aNewlib_Stdint_1Tests[] = {
6193   { TT_EGREP,    zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
6196  *  Fix Command Arguments for Newlib_Stdint_1
6197  */
6198 static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
6199     "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
6200     "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
6201     "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
6202     "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
6203     "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
6204     "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
6205     "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
6206     "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
6207     "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
6208     "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
6209     "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
6210     "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
6211     "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
6212     "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
6213     (char*)NULL };
6215 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6217  *  Description of Newlib_Stdint_2 fix
6218  */
6219 tSCC zNewlib_Stdint_2Name[] =
6220      "newlib_stdint_2";
6223  *  File name selection pattern
6224  */
6225 tSCC zNewlib_Stdint_2List[] =
6226   "stdint-newlib.h\0stdint.h\0";
6228  *  Machine/OS name selection pattern
6229  */
6230 #define apzNewlib_Stdint_2Machs (const char**)NULL
6233  *  content selection pattern - do fix if pattern found
6234  */
6235 tSCC zNewlib_Stdint_2Select0[] =
6236        "@todo - Add support for wint_t types";
6238 #define    NEWLIB_STDINT_2_TEST_CT  1
6239 static tTestDesc aNewlib_Stdint_2Tests[] = {
6240   { TT_EGREP,    zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
6243  *  Fix Command Arguments for Newlib_Stdint_2
6244  */
6245 static const char* apzNewlib_Stdint_2Patch[] = {
6246     "format",
6247     "#define INTMAX_MAX __INTMAX_MAX__\n\
6248 #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
6249 #define UINTMAX_MAX __UINTMAX_MAX__\n\
6250 #define WCHAR_MAX __WCHAR_MAX__\n\
6251 #define WCHAR_MIN __WCHAR_MIN__\n\
6252 #define WINT_MAX __WINT_MAX__\n\
6253 #define WINT_MIN __WINT_MIN__\n\n\
6254 %0",
6255     "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
6256     (char*)NULL };
6258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6260  *  Description of Next_Math_Prefix fix
6261  */
6262 tSCC zNext_Math_PrefixName[] =
6263      "next_math_prefix";
6266  *  File name selection pattern
6267  */
6268 tSCC zNext_Math_PrefixList[] =
6269   "ansi/math.h\0";
6271  *  Machine/OS name selection pattern
6272  */
6273 #define apzNext_Math_PrefixMachs (const char**)NULL
6276  *  content selection pattern - do fix if pattern found
6277  */
6278 tSCC zNext_Math_PrefixSelect0[] =
6279        "^extern[ \t]+double[ \t]+__const__[ \t]";
6281 #define    NEXT_MATH_PREFIX_TEST_CT  1
6282 static tTestDesc aNext_Math_PrefixTests[] = {
6283   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
6286  *  Fix Command Arguments for Next_Math_Prefix
6287  */
6288 static const char* apzNext_Math_PrefixPatch[] = {
6289     "format",
6290     "extern double %1(",
6291     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
6292     (char*)NULL };
6294 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6296  *  Description of Next_Template fix
6297  */
6298 tSCC zNext_TemplateName[] =
6299      "next_template";
6302  *  File name selection pattern
6303  */
6304 tSCC zNext_TemplateList[] =
6305   "bsd/libc.h\0";
6307  *  Machine/OS name selection pattern
6308  */
6309 #define apzNext_TemplateMachs (const char**)NULL
6312  *  content selection pattern - do fix if pattern found
6313  */
6314 tSCC zNext_TemplateSelect0[] =
6315        "[ \t]template\\)";
6317 #define    NEXT_TEMPLATE_TEST_CT  1
6318 static tTestDesc aNext_TemplateTests[] = {
6319   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
6322  *  Fix Command Arguments for Next_Template
6323  */
6324 static const char* apzNext_TemplatePatch[] = {
6325     "format",
6326     "(%1)",
6327     "\\(([^)]*)[ \t]template\\)",
6328     (char*)NULL };
6330 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6332  *  Description of Next_Volitile fix
6333  */
6334 tSCC zNext_VolitileName[] =
6335      "next_volitile";
6338  *  File name selection pattern
6339  */
6340 tSCC zNext_VolitileList[] =
6341   "ansi/stdlib.h\0";
6343  *  Machine/OS name selection pattern
6344  */
6345 #define apzNext_VolitileMachs (const char**)NULL
6348  *  content selection pattern - do fix if pattern found
6349  */
6350 tSCC zNext_VolitileSelect0[] =
6351        "^extern[ \t]+volatile[ \t]+void[ \t]";
6353 #define    NEXT_VOLITILE_TEST_CT  1
6354 static tTestDesc aNext_VolitileTests[] = {
6355   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
6358  *  Fix Command Arguments for Next_Volitile
6359  */
6360 static const char* apzNext_VolitilePatch[] = {
6361     "format",
6362     "extern void %1(",
6363     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
6364     (char*)NULL };
6366 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6368  *  Description of Next_Wait_Union fix
6369  */
6370 tSCC zNext_Wait_UnionName[] =
6371      "next_wait_union";
6374  *  File name selection pattern
6375  */
6376 tSCC zNext_Wait_UnionList[] =
6377   "sys/wait.h\0";
6379  *  Machine/OS name selection pattern
6380  */
6381 #define apzNext_Wait_UnionMachs (const char**)NULL
6384  *  content selection pattern - do fix if pattern found
6385  */
6386 tSCC zNext_Wait_UnionSelect0[] =
6387        "wait\\(union wait";
6389 #define    NEXT_WAIT_UNION_TEST_CT  1
6390 static tTestDesc aNext_Wait_UnionTests[] = {
6391   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
6394  *  Fix Command Arguments for Next_Wait_Union
6395  */
6396 static const char* apzNext_Wait_UnionPatch[] = {
6397     "format",
6398     "wait(void",
6399     (char*)NULL };
6401 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6403  *  Description of Nodeent_Syntax fix
6404  */
6405 tSCC zNodeent_SyntaxName[] =
6406      "nodeent_syntax";
6409  *  File name selection pattern
6410  */
6411 tSCC zNodeent_SyntaxList[] =
6412   "netdnet/dnetdb.h\0";
6414  *  Machine/OS name selection pattern
6415  */
6416 #define apzNodeent_SyntaxMachs (const char**)NULL
6419  *  content selection pattern - do fix if pattern found
6420  */
6421 tSCC zNodeent_SyntaxSelect0[] =
6422        "char[ \t]*\\*na_addr[ \t]*$";
6424 #define    NODEENT_SYNTAX_TEST_CT  1
6425 static tTestDesc aNodeent_SyntaxTests[] = {
6426   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
6429  *  Fix Command Arguments for Nodeent_Syntax
6430  */
6431 static const char* apzNodeent_SyntaxPatch[] = {
6432     "format",
6433     "%0;",
6434     (char*)NULL };
6436 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6438  *  Description of Openbsd_Null_Definition fix
6439  */
6440 tSCC zOpenbsd_Null_DefinitionName[] =
6441      "openbsd_null_definition";
6444  *  File name selection pattern
6445  */
6446 tSCC zOpenbsd_Null_DefinitionList[] =
6447   "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
6449  *  Machine/OS name selection pattern
6450  */
6451 tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
6452         "*-*-openbsd*",
6453         (const char*)NULL };
6456  *  content selection pattern - do fix if pattern found
6457  */
6458 tSCC zOpenbsd_Null_DefinitionSelect0[] =
6459        "__GNUG__";
6461 #define    OPENBSD_NULL_DEFINITION_TEST_CT  1
6462 static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
6463   { TT_EGREP,    zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
6466  *  Fix Command Arguments for Openbsd_Null_Definition
6467  */
6468 static const char* apzOpenbsd_Null_DefinitionPatch[] = {
6469     "format",
6470     "#ifndef NULL\n\
6471 #ifdef __cplusplus\n\
6472 #ifdef __GNUG__\n\
6473 #define NULL\t__null\n\
6474 #else\t /* ! __GNUG__  */\n\
6475 #define NULL\t0L\n\
6476 #endif\t /* __GNUG__  */\n\
6477 #else\t /* ! __cplusplus  */\n\
6478 #define NULL\t((void *)0)\n\
6479 #endif\t /* __cplusplus  */\n\
6480 #endif\t /* !NULL  */",
6481     "^#ifndef[ \t]*NULL\n\
6482 ^#ifdef[ \t]*__GNUG__\n\
6483 ^#define[ \t]*NULL[ \t]*__null\n\
6484 ^#else\n\
6485 ^#define[ \t]*NULL[ \t]*0L\n\
6486 ^#endif\n\
6487 ^#endif",
6488     (char*)NULL };
6490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6492  *  Description of Obstack_Lvalue_Cast fix
6493  */
6494 tSCC zObstack_Lvalue_CastName[] =
6495      "obstack_lvalue_cast";
6498  *  File name selection pattern
6499  */
6500 tSCC zObstack_Lvalue_CastList[] =
6501   "obstack.h\0";
6503  *  Machine/OS name selection pattern
6504  */
6505 #define apzObstack_Lvalue_CastMachs (const char**)NULL
6508  *  content selection pattern - do fix if pattern found
6509  */
6510 tSCC zObstack_Lvalue_CastSelect0[] =
6511        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
6513 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
6514 static tTestDesc aObstack_Lvalue_CastTests[] = {
6515   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
6518  *  Fix Command Arguments for Obstack_Lvalue_Cast
6519  */
6520 static const char* apzObstack_Lvalue_CastPatch[] = {
6521     "format",
6522     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
6523     (char*)NULL };
6525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6527  *  Description of Openbsd_Va_Start fix
6528  */
6529 tSCC zOpenbsd_Va_StartName[] =
6530      "openbsd_va_start";
6533  *  File name selection pattern
6534  */
6535 tSCC zOpenbsd_Va_StartList[] =
6536   "stdarg.h\0";
6538  *  Machine/OS name selection pattern
6539  */
6540 tSCC* apzOpenbsd_Va_StartMachs[] = {
6541         "*-*-openbsd*",
6542         (const char*)NULL };
6545  *  content selection pattern - do fix if pattern found
6546  */
6547 tSCC zOpenbsd_Va_StartSelect0[] =
6548        "__builtin_stdarg_start";
6550 #define    OPENBSD_VA_START_TEST_CT  1
6551 static tTestDesc aOpenbsd_Va_StartTests[] = {
6552   { TT_EGREP,    zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
6555  *  Fix Command Arguments for Openbsd_Va_Start
6556  */
6557 static const char* apzOpenbsd_Va_StartPatch[] = {
6558     "format",
6559     "__builtin_va_start",
6560     (char*)NULL };
6562 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6564  *  Description of Osf_Namespace_A fix
6565  */
6566 tSCC zOsf_Namespace_AName[] =
6567      "osf_namespace_a";
6570  *  File name selection pattern
6571  */
6572 tSCC zOsf_Namespace_AList[] =
6573   "reg_types.h\0sys/lc_core.h\0";
6575  *  Machine/OS name selection pattern
6576  */
6577 #define apzOsf_Namespace_AMachs (const char**)NULL
6580  *  perform the 'test' shell command - do fix on success
6581  */
6582 tSCC zOsf_Namespace_ATest0[] =
6583        " -r reg_types.h";
6584 tSCC zOsf_Namespace_ATest1[] =
6585        " -r sys/lc_core.h";
6586 tSCC zOsf_Namespace_ATest2[] =
6587        " -n \"`grep '} regex_t;' reg_types.h`\"";
6588 tSCC zOsf_Namespace_ATest3[] =
6589        " -z \"`grep __regex_t regex.h`\"";
6591 #define    OSF_NAMESPACE_A_TEST_CT  4
6592 static tTestDesc aOsf_Namespace_ATests[] = {
6593   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
6594   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
6595   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
6596   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
6599  *  Fix Command Arguments for Osf_Namespace_A
6600  */
6601 static const char* apzOsf_Namespace_APatch[] = {
6602     "format",
6603     "__%0",
6604     "reg(ex|off|match)_t",
6605     (char*)NULL };
6607 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6609  *  Description of Osf_Namespace_C fix
6610  */
6611 tSCC zOsf_Namespace_CName[] =
6612      "osf_namespace_c";
6615  *  File name selection pattern
6616  */
6617 tSCC zOsf_Namespace_CList[] =
6618   "regex.h\0";
6620  *  Machine/OS name selection pattern
6621  */
6622 #define apzOsf_Namespace_CMachs (const char**)NULL
6625  *  content selection pattern - do fix if pattern found
6626  */
6627 tSCC zOsf_Namespace_CSelect0[] =
6628        "#include <reg_types.h>.*";
6631  *  perform the 'test' shell command - do fix on success
6632  */
6633 tSCC zOsf_Namespace_CTest0[] =
6634        " -r reg_types.h";
6635 tSCC zOsf_Namespace_CTest1[] =
6636        " -r sys/lc_core.h";
6637 tSCC zOsf_Namespace_CTest2[] =
6638        " -n \"`grep '} regex_t;' reg_types.h`\"";
6639 tSCC zOsf_Namespace_CTest3[] =
6640        " -z \"`grep __regex_t regex.h`\"";
6642 #define    OSF_NAMESPACE_C_TEST_CT  5
6643 static tTestDesc aOsf_Namespace_CTests[] = {
6644   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
6645   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
6646   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
6647   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
6648   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
6651  *  Fix Command Arguments for Osf_Namespace_C
6652  */
6653 static const char* apzOsf_Namespace_CPatch[] = {
6654     "format",
6655     "%0\n\
6656 typedef __regex_t\tregex_t;\n\
6657 typedef __regoff_t\tregoff_t;\n\
6658 typedef __regmatch_t\tregmatch_t;",
6659     (char*)NULL };
6661 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6663  *  Description of Pthread_Incomplete_Struct_Argument fix
6664  */
6665 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
6666      "pthread_incomplete_struct_argument";
6669  *  File name selection pattern
6670  */
6671 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
6672   "pthread.h\0";
6674  *  Machine/OS name selection pattern
6675  */
6676 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
6679  *  content selection pattern - do fix if pattern found
6680  */
6681 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
6682        "struct __jmp_buf_tag";
6684 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
6685 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
6686   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
6689  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
6690  */
6691 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
6692     "format",
6693     "%1 *%2%3",
6694     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
6695     (char*)NULL };
6697 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6699  *  Description of Read_Ret_Type fix
6700  */
6701 tSCC zRead_Ret_TypeName[] =
6702      "read_ret_type";
6705  *  File name selection pattern
6706  */
6707 tSCC zRead_Ret_TypeList[] =
6708   "stdio.h\0";
6710  *  Machine/OS name selection pattern
6711  */
6712 #define apzRead_Ret_TypeMachs (const char**)NULL
6715  *  content selection pattern - do fix if pattern found
6716  */
6717 tSCC zRead_Ret_TypeSelect0[] =
6718        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
6720 #define    READ_RET_TYPE_TEST_CT  1
6721 static tTestDesc aRead_Ret_TypeTests[] = {
6722   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
6725  *  Fix Command Arguments for Read_Ret_Type
6726  */
6727 static const char* apzRead_Ret_TypePatch[] = {
6728     "format",
6729     "extern unsigned int fread(), fwrite();\n\
6730 %1%2",
6731     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
6732     (char*)NULL };
6734 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6736  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
6737  */
6738 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
6739      "rpc_xdr_lvalue_cast_a";
6742  *  File name selection pattern
6743  */
6744 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
6745   "rpc/xdr.h\0";
6747  *  Machine/OS name selection pattern
6748  */
6749 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
6752  *  content selection pattern - do fix if pattern found
6753  */
6754 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
6755        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
6756 .*__extension__.*";
6758 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
6759 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
6760   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
6763  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
6764  */
6765 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
6766     "format",
6767     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
6768     (char*)NULL };
6770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6772  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
6773  */
6774 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
6775      "rpc_xdr_lvalue_cast_b";
6778  *  File name selection pattern
6779  */
6780 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
6781   "rpc/xdr.h\0";
6783  *  Machine/OS name selection pattern
6784  */
6785 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
6788  *  content selection pattern - do fix if pattern found
6789  */
6790 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
6791        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
6792 .*__extension__.*";
6794 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
6795 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
6796   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
6799  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
6800  */
6801 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
6802     "format",
6803     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
6804     (char*)NULL };
6806 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6808  *  Description of Rs6000_Double fix
6809  */
6810 tSCC zRs6000_DoubleName[] =
6811      "rs6000_double";
6814  *  File name selection pattern
6815  */
6816 tSCC zRs6000_DoubleList[] =
6817   "math.h\0";
6819  *  Machine/OS name selection pattern
6820  */
6821 #define apzRs6000_DoubleMachs (const char**)NULL
6824  *  content selection pattern - do fix if pattern found
6825  */
6826 tSCC zRs6000_DoubleSelect0[] =
6827        "[^a-zA-Z_]class\\(";
6829 #define    RS6000_DOUBLE_TEST_CT  1
6830 static tTestDesc aRs6000_DoubleTests[] = {
6831   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
6834  *  Fix Command Arguments for Rs6000_Double
6835  */
6836 static const char* apzRs6000_DoublePatch[] = {
6837     "format",
6838     "#ifndef __cplusplus\n\
6839 %0\n\
6840 #endif",
6841     "^.*[^a-zA-Z_]class\\(.*",
6842     (char*)NULL };
6844 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6846  *  Description of Rs6000_Fchmod fix
6847  */
6848 tSCC zRs6000_FchmodName[] =
6849      "rs6000_fchmod";
6852  *  File name selection pattern
6853  */
6854 tSCC zRs6000_FchmodList[] =
6855   "sys/stat.h\0";
6857  *  Machine/OS name selection pattern
6858  */
6859 #define apzRs6000_FchmodMachs (const char**)NULL
6862  *  content selection pattern - do fix if pattern found
6863  */
6864 tSCC zRs6000_FchmodSelect0[] =
6865        "fchmod\\(char \\*";
6867 #define    RS6000_FCHMOD_TEST_CT  1
6868 static tTestDesc aRs6000_FchmodTests[] = {
6869   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
6872  *  Fix Command Arguments for Rs6000_Fchmod
6873  */
6874 static const char* apzRs6000_FchmodPatch[] = {
6875     "format",
6876     "fchmod(int",
6877     (char*)NULL };
6879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6881  *  Description of Rs6000_Param fix
6882  */
6883 tSCC zRs6000_ParamName[] =
6884      "rs6000_param";
6887  *  File name selection pattern
6888  */
6889 tSCC zRs6000_ParamList[] =
6890   "stdio.h\0unistd.h\0";
6892  *  Machine/OS name selection pattern
6893  */
6894 #define apzRs6000_ParamMachs (const char**)NULL
6897  *  content selection pattern - do fix if pattern found
6898  */
6899 tSCC zRs6000_ParamSelect0[] =
6900        "rename\\(const char \\*old, const char \\*new\\)";
6902 #define    RS6000_PARAM_TEST_CT  1
6903 static tTestDesc aRs6000_ParamTests[] = {
6904   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
6907  *  Fix Command Arguments for Rs6000_Param
6908  */
6909 static const char* apzRs6000_ParamPatch[] = {
6910     "format",
6911     "rename(const char *_old, const char *_new)",
6912     (char*)NULL };
6914 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6916  *  Description of Solaris___Restrict fix
6917  */
6918 tSCC zSolaris___RestrictName[] =
6919      "solaris___restrict";
6922  *  File name selection pattern
6923  */
6924 tSCC zSolaris___RestrictList[] =
6925   "sys/feature_tests.h\0";
6927  *  Machine/OS name selection pattern
6928  */
6929 tSCC* apzSolaris___RestrictMachs[] = {
6930         "*-*-solaris2*",
6931         (const char*)NULL };
6934  *  content selection pattern - do fix if pattern found
6935  */
6936 tSCC zSolaris___RestrictSelect0[] =
6937        "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
6939 #define    SOLARIS___RESTRICT_TEST_CT  1
6940 static tTestDesc aSolaris___RestrictTests[] = {
6941   { TT_EGREP,    zSolaris___RestrictSelect0, (regex_t*)NULL }, };
6944  *  Fix Command Arguments for Solaris___Restrict
6945  */
6946 static const char* apzSolaris___RestrictPatch[] = {
6947     "format",
6948     "#ifdef __cplusplus\n\
6949 #define\t_RESTRICT_KYWD\t__restrict\n\
6950 #else\n\
6951 %0\n\
6952 #endif",
6953     (char*)NULL };
6955 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6957  *  Description of Solaris_Complex fix
6958  */
6959 tSCC zSolaris_ComplexName[] =
6960      "solaris_complex";
6963  *  File name selection pattern
6964  */
6965 tSCC zSolaris_ComplexList[] =
6966   "complex.h\0";
6968  *  Machine/OS name selection pattern
6969  */
6970 tSCC* apzSolaris_ComplexMachs[] = {
6971         "*-*-solaris2.*",
6972         (const char*)NULL };
6975  *  content selection pattern - do fix if pattern found
6976  */
6977 tSCC zSolaris_ComplexSelect0[] =
6978        "#define[ \t]_Complex_I[ \t]_Complex_I";
6980 #define    SOLARIS_COMPLEX_TEST_CT  1
6981 static tTestDesc aSolaris_ComplexTests[] = {
6982   { TT_EGREP,    zSolaris_ComplexSelect0, (regex_t*)NULL }, };
6985  *  Fix Command Arguments for Solaris_Complex
6986  */
6987 static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
6988     "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
6989     "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
6990     "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
6991     "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
6992     (char*)NULL };
6994 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6996  *  Description of Solaris_Complex_Cxx fix
6997  */
6998 tSCC zSolaris_Complex_CxxName[] =
6999      "solaris_complex_cxx";
7002  *  File name selection pattern
7003  */
7004 tSCC zSolaris_Complex_CxxList[] =
7005   "complex.h\0";
7007  *  Machine/OS name selection pattern
7008  */
7009 tSCC* apzSolaris_Complex_CxxMachs[] = {
7010         "*-*-solaris2.*",
7011         (const char*)NULL };
7012 #define SOLARIS_COMPLEX_CXX_TEST_CT  0
7013 #define aSolaris_Complex_CxxTests   (tTestDesc*)NULL
7016  *  Fix Command Arguments for Solaris_Complex_Cxx
7017  */
7018 static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
7019     "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
7020 #ifdef\t__cplusplus\\\n\
7021 extern \"C\" {\\\n\
7022 #endif",
7023     "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
7024 #ifdef\t__cplusplus\\\n\
7025 }\\\n\
7026 #endif",
7027     (char*)NULL };
7029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7031  *  Description of Solaris_Cxx_Linkage fix
7032  */
7033 tSCC zSolaris_Cxx_LinkageName[] =
7034      "solaris_cxx_linkage";
7037  *  File name selection pattern
7038  */
7039 tSCC zSolaris_Cxx_LinkageList[] =
7040   "iso/stdlib_iso.h\0";
7042  *  Machine/OS name selection pattern
7043  */
7044 tSCC* apzSolaris_Cxx_LinkageMachs[] = {
7045         "*-*-solaris2*",
7046         (const char*)NULL };
7049  *  content selection pattern - do fix if pattern found
7050  */
7051 tSCC zSolaris_Cxx_LinkageSelect0[] =
7052        "(#if __cplusplus >= 199711L)\n\
7053 (extern \"C\\+\\+\" \\{\n\
7054 )(.*(bsearch|qsort).*)";
7056 #define    SOLARIS_CXX_LINKAGE_TEST_CT  1
7057 static tTestDesc aSolaris_Cxx_LinkageTests[] = {
7058   { TT_EGREP,    zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
7061  *  Fix Command Arguments for Solaris_Cxx_Linkage
7062  */
7063 static const char* apzSolaris_Cxx_LinkagePatch[] = {
7064     "format",
7065     "%1 && !__GNUG__\n\
7066 %2%3",
7067     (char*)NULL };
7069 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7071  *  Description of Solaris_Getc_Strict_Stdc fix
7072  */
7073 tSCC zSolaris_Getc_Strict_StdcName[] =
7074      "solaris_getc_strict_stdc";
7077  *  File name selection pattern
7078  */
7079 tSCC zSolaris_Getc_Strict_StdcList[] =
7080   "iso/stdio_iso.h\0";
7082  *  Machine/OS name selection pattern
7083  */
7084 tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
7085         "*-*-solaris2*",
7086         (const char*)NULL };
7089  *  content selection pattern - do fix if pattern found
7090  */
7091 tSCC zSolaris_Getc_Strict_StdcSelect0[] =
7092        "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
7094 #define    SOLARIS_GETC_STRICT_STDC_TEST_CT  1
7095 static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
7096   { TT_EGREP,    zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
7099  *  Fix Command Arguments for Solaris_Getc_Strict_Stdc
7100  */
7101 static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
7102     "format",
7103     "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
7104     (char*)NULL };
7106 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7108  *  Description of Solaris_Gets_C11 fix
7109  */
7110 tSCC zSolaris_Gets_C11Name[] =
7111      "solaris_gets_c11";
7114  *  File name selection pattern
7115  */
7116 tSCC zSolaris_Gets_C11List[] =
7117   "iso/stdio_iso.h\0";
7119  *  Machine/OS name selection pattern
7120  */
7121 tSCC* apzSolaris_Gets_C11Machs[] = {
7122         "*-*-solaris2*",
7123         (const char*)NULL };
7126  *  content selection pattern - do fix if pattern found
7127  */
7128 tSCC zSolaris_Gets_C11Select0[] =
7129        "(extern char[ \t]*\\*gets\\(char \\*\\));";
7131 #define    SOLARIS_GETS_C11_TEST_CT  1
7132 static tTestDesc aSolaris_Gets_C11Tests[] = {
7133   { TT_EGREP,    zSolaris_Gets_C11Select0, (regex_t*)NULL }, };
7136  *  Fix Command Arguments for Solaris_Gets_C11
7137  */
7138 static const char* apzSolaris_Gets_C11Patch[] = {
7139     "format",
7140     "#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L\n\
7141 %1 __attribute__((__deprecated__));\n\
7142 #endif",
7143     (char*)NULL };
7145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7147  *  Description of Solaris_Gets_Cxx14 fix
7148  */
7149 tSCC zSolaris_Gets_Cxx14Name[] =
7150      "solaris_gets_cxx14";
7153  *  File name selection pattern
7154  */
7155 tSCC zSolaris_Gets_Cxx14List[] =
7156   "iso/stdio_iso.h\0";
7158  *  Machine/OS name selection pattern
7159  */
7160 tSCC* apzSolaris_Gets_Cxx14Machs[] = {
7161         "*-*-solaris2*",
7162         (const char*)NULL };
7165  *  content selection pattern - do fix if pattern found
7166  */
7167 tSCC zSolaris_Gets_Cxx14Select0[] =
7168        "(#if __STDC_VERSION__ < 201112L)\n\
7169 (extern char\t\\*gets\\(char \\*\\) __ATTR_DEPRECATED;)";
7171 #define    SOLARIS_GETS_CXX14_TEST_CT  1
7172 static tTestDesc aSolaris_Gets_Cxx14Tests[] = {
7173   { TT_EGREP,    zSolaris_Gets_Cxx14Select0, (regex_t*)NULL }, };
7176  *  Fix Command Arguments for Solaris_Gets_Cxx14
7177  */
7178 static const char* apzSolaris_Gets_Cxx14Patch[] = {
7179     "format",
7180     "%1 && __cplusplus < 201402L\n\
7181 %2",
7182     (char*)NULL };
7184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7186  *  Description of Solaris_Int_Const fix
7187  */
7188 tSCC zSolaris_Int_ConstName[] =
7189      "solaris_int_const";
7192  *  File name selection pattern
7193  */
7194 tSCC zSolaris_Int_ConstList[] =
7195   "sys/int_const.h\0";
7197  *  Machine/OS name selection pattern
7198  */
7199 tSCC* apzSolaris_Int_ConstMachs[] = {
7200         "*-*-solaris2*",
7201         (const char*)NULL };
7204  *  content selection pattern - do fix if pattern found
7205  */
7206 tSCC zSolaris_Int_ConstSelect0[] =
7207        "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
7208 (/*.**/)\n\
7209 #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
7211 #define    SOLARIS_INT_CONST_TEST_CT  1
7212 static tTestDesc aSolaris_Int_ConstTests[] = {
7213   { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
7216  *  Fix Command Arguments for Solaris_Int_Const
7217  */
7218 static const char* apzSolaris_Int_ConstPatch[] = {
7219     "format",
7220     "#define\tUINT8_C(c)\t(c)\n\
7221 %1\n\
7222 #define\tUINT16_C(c)\t(c)",
7223     (char*)NULL };
7225 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7227  *  Description of Solaris_Int_Limits_1 fix
7228  */
7229 tSCC zSolaris_Int_Limits_1Name[] =
7230      "solaris_int_limits_1";
7233  *  File name selection pattern
7234  */
7235 tSCC zSolaris_Int_Limits_1List[] =
7236   "sys/int_limits.h\0";
7238  *  Machine/OS name selection pattern
7239  */
7240 tSCC* apzSolaris_Int_Limits_1Machs[] = {
7241         "*-*-solaris2*",
7242         (const char*)NULL };
7245  *  content selection pattern - do fix if pattern found
7246  */
7247 tSCC zSolaris_Int_Limits_1Select0[] =
7248        "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
7249 #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
7251 #define    SOLARIS_INT_LIMITS_1_TEST_CT  1
7252 static tTestDesc aSolaris_Int_Limits_1Tests[] = {
7253   { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
7256  *  Fix Command Arguments for Solaris_Int_Limits_1
7257  */
7258 static const char* apzSolaris_Int_Limits_1Patch[] = {
7259     "format",
7260     "#define\tUINT8_MAX\t(255)\n\
7261 #define\tUINT16_MAX\t(65535)",
7262     (char*)NULL };
7264 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7266  *  Description of Solaris_Int_Limits_2 fix
7267  */
7268 tSCC zSolaris_Int_Limits_2Name[] =
7269      "solaris_int_limits_2";
7272  *  File name selection pattern
7273  */
7274 tSCC zSolaris_Int_Limits_2List[] =
7275   "sys/int_limits.h\0";
7277  *  Machine/OS name selection pattern
7278  */
7279 tSCC* apzSolaris_Int_Limits_2Machs[] = {
7280         "*-*-solaris2*",
7281         (const char*)NULL };
7284  *  content selection pattern - do fix if pattern found
7285  */
7286 tSCC zSolaris_Int_Limits_2Select0[] =
7287        "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
7289 #define    SOLARIS_INT_LIMITS_2_TEST_CT  1
7290 static tTestDesc aSolaris_Int_Limits_2Tests[] = {
7291   { TT_EGREP,    zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
7294  *  Fix Command Arguments for Solaris_Int_Limits_2
7295  */
7296 static const char* apzSolaris_Int_Limits_2Patch[] = {
7297     "format",
7298     "#define\t%1_FAST16_%2 %132_%2",
7299     (char*)NULL };
7301 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7303  *  Description of Solaris_Int_Limits_3 fix
7304  */
7305 tSCC zSolaris_Int_Limits_3Name[] =
7306      "solaris_int_limits_3";
7309  *  File name selection pattern
7310  */
7311 tSCC zSolaris_Int_Limits_3List[] =
7312   "sys/int_limits.h\0";
7314  *  Machine/OS name selection pattern
7315  */
7316 tSCC* apzSolaris_Int_Limits_3Machs[] = {
7317         "*-*-solaris2*",
7318         (const char*)NULL };
7321  *  content selection pattern - do fix if pattern found
7322  */
7323 tSCC zSolaris_Int_Limits_3Select0[] =
7324        "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
7326 #define    SOLARIS_INT_LIMITS_3_TEST_CT  1
7327 static tTestDesc aSolaris_Int_Limits_3Tests[] = {
7328   { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
7331  *  Fix Command Arguments for Solaris_Int_Limits_3
7332  */
7333 static const char* apzSolaris_Int_Limits_3Patch[] = {
7334     "format",
7335     "#define\tSIZE_MAX\t4294967295U",
7336     (char*)NULL };
7338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7340  *  Description of Solaris_Math_1 fix
7341  */
7342 tSCC zSolaris_Math_1Name[] =
7343      "solaris_math_1";
7346  *  File name selection pattern
7347  */
7348 tSCC zSolaris_Math_1List[] =
7349   "iso/math_c99.h\0";
7351  *  Machine/OS name selection pattern
7352  */
7353 #define apzSolaris_Math_1Machs (const char**)NULL
7356  *  content selection pattern - do fix if pattern found
7357  */
7358 tSCC zSolaris_Math_1Select0[] =
7359        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7362  *  content bypass pattern - skip fix if pattern found
7363  */
7364 tSCC zSolaris_Math_1Bypass0[] =
7365        "__GNUC__";
7367 #define    SOLARIS_MATH_1_TEST_CT  2
7368 static tTestDesc aSolaris_Math_1Tests[] = {
7369   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
7370   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
7373  *  Fix Command Arguments for Solaris_Math_1
7374  */
7375 static const char* apzSolaris_Math_1Patch[] = {
7376     "format",
7377     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
7378     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
7379     (char*)NULL };
7381 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7383  *  Description of Solaris_Math_10 fix
7384  */
7385 tSCC zSolaris_Math_10Name[] =
7386      "solaris_math_10";
7389  *  File name selection pattern
7390  */
7391 tSCC zSolaris_Math_10List[] =
7392   "iso/math_c99.h\0";
7394  *  Machine/OS name selection pattern
7395  */
7396 #define apzSolaris_Math_10Machs (const char**)NULL
7399  *  content selection pattern - do fix if pattern found
7400  */
7401 tSCC zSolaris_Math_10Select0[] =
7402        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7404 #define    SOLARIS_MATH_10_TEST_CT  1
7405 static tTestDesc aSolaris_Math_10Tests[] = {
7406   { TT_EGREP,    zSolaris_Math_10Select0, (regex_t*)NULL }, };
7409  *  Fix Command Arguments for Solaris_Math_10
7410  */
7411 static const char* apzSolaris_Math_10Patch[] = {
7412     "format",
7413     "#define\tisinf(x) __builtin_isinf(x)",
7414     "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
7415 [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
7416 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
7417 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
7418     (char*)NULL };
7420 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7422  *  Description of Solaris_Math_2 fix
7423  */
7424 tSCC zSolaris_Math_2Name[] =
7425      "solaris_math_2";
7428  *  File name selection pattern
7429  */
7430 tSCC zSolaris_Math_2List[] =
7431   "iso/math_c99.h\0";
7433  *  Machine/OS name selection pattern
7434  */
7435 #define apzSolaris_Math_2Machs (const char**)NULL
7438  *  content selection pattern - do fix if pattern found
7439  */
7440 tSCC zSolaris_Math_2Select0[] =
7441        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7444  *  content bypass pattern - skip fix if pattern found
7445  */
7446 tSCC zSolaris_Math_2Bypass0[] =
7447        "__GNUC__";
7449 #define    SOLARIS_MATH_2_TEST_CT  2
7450 static tTestDesc aSolaris_Math_2Tests[] = {
7451   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
7452   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
7455  *  Fix Command Arguments for Solaris_Math_2
7456  */
7457 static const char* apzSolaris_Math_2Patch[] = {
7458     "format",
7459     "#define\tINFINITY\t(__builtin_inff())",
7460     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
7461     (char*)NULL };
7463 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7465  *  Description of Solaris_Math_3 fix
7466  */
7467 tSCC zSolaris_Math_3Name[] =
7468      "solaris_math_3";
7471  *  File name selection pattern
7472  */
7473 tSCC zSolaris_Math_3List[] =
7474   "iso/math_c99.h\0";
7476  *  Machine/OS name selection pattern
7477  */
7478 #define apzSolaris_Math_3Machs (const char**)NULL
7481  *  content selection pattern - do fix if pattern found
7482  */
7483 tSCC zSolaris_Math_3Select0[] =
7484        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7487  *  content bypass pattern - skip fix if pattern found
7488  */
7489 tSCC zSolaris_Math_3Bypass0[] =
7490        "__GNUC__";
7492 #define    SOLARIS_MATH_3_TEST_CT  2
7493 static tTestDesc aSolaris_Math_3Tests[] = {
7494   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
7495   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
7498  *  Fix Command Arguments for Solaris_Math_3
7499  */
7500 static const char* apzSolaris_Math_3Patch[] = {
7501     "format",
7502     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
7503     "^#define[ \t]+NAN[ \t]+__builtin_nan",
7504     (char*)NULL };
7506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7508  *  Description of Solaris_Math_4 fix
7509  */
7510 tSCC zSolaris_Math_4Name[] =
7511      "solaris_math_4";
7514  *  File name selection pattern
7515  */
7516 tSCC zSolaris_Math_4List[] =
7517   "iso/math_c99.h\0";
7519  *  Machine/OS name selection pattern
7520  */
7521 #define apzSolaris_Math_4Machs (const char**)NULL
7524  *  content selection pattern - do fix if pattern found
7525  */
7526 tSCC zSolaris_Math_4Select0[] =
7527        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7530  *  content bypass pattern - skip fix if pattern found
7531  */
7532 tSCC zSolaris_Math_4Bypass0[] =
7533        "__GNUC__";
7535 #define    SOLARIS_MATH_4_TEST_CT  2
7536 static tTestDesc aSolaris_Math_4Tests[] = {
7537   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
7538   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
7541  *  Fix Command Arguments for Solaris_Math_4
7542  */
7543 static const char* apzSolaris_Math_4Patch[] = {
7544     "format",
7545     "#define\tfpclassify(x) \\\n\
7546   __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
7547     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
7548     (char*)NULL };
7550 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7552  *  Description of Solaris_Math_8 fix
7553  */
7554 tSCC zSolaris_Math_8Name[] =
7555      "solaris_math_8";
7558  *  File name selection pattern
7559  */
7560 tSCC zSolaris_Math_8List[] =
7561   "iso/math_c99.h\0";
7563  *  Machine/OS name selection pattern
7564  */
7565 #define apzSolaris_Math_8Machs (const char**)NULL
7568  *  content selection pattern - do fix if pattern found
7569  */
7570 tSCC zSolaris_Math_8Select0[] =
7571        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
7574  *  content bypass pattern - skip fix if pattern found
7575  */
7576 tSCC zSolaris_Math_8Bypass0[] =
7577        "__GNUC__";
7579 #define    SOLARIS_MATH_8_TEST_CT  2
7580 static tTestDesc aSolaris_Math_8Tests[] = {
7581   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
7582   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
7585  *  Fix Command Arguments for Solaris_Math_8
7586  */
7587 static const char* apzSolaris_Math_8Patch[] = {
7588     "format",
7589     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
7590 \t\t\t   ? __builtin_signbitf(x) \\\n\
7591 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
7592 \t\t\t     ? __builtin_signbitl(x) \\\n\
7593 \t\t\t     : __builtin_signbit(x))",
7594     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
7595     (char*)NULL };
7597 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7599  *  Description of Solaris_Math_9 fix
7600  */
7601 tSCC zSolaris_Math_9Name[] =
7602      "solaris_math_9";
7605  *  File name selection pattern
7606  */
7607 tSCC zSolaris_Math_9List[] =
7608   "iso/math_c99.h\0";
7610  *  Machine/OS name selection pattern
7611  */
7612 #define apzSolaris_Math_9Machs (const char**)NULL
7615  *  content selection pattern - do fix if pattern found
7616  */
7617 tSCC zSolaris_Math_9Select0[] =
7618        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7621  *  content bypass pattern - skip fix if pattern found
7622  */
7623 tSCC zSolaris_Math_9Bypass0[] =
7624        "__GNUC__";
7626 #define    SOLARIS_MATH_9_TEST_CT  2
7627 static tTestDesc aSolaris_Math_9Tests[] = {
7628   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
7629   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
7632  *  Fix Command Arguments for Solaris_Math_9
7633  */
7634 static const char* apzSolaris_Math_9Patch[] = {
7635     "format",
7636     "#define\t%1(x, y)%2__builtin_%1(x, y)",
7637     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
7638     (char*)NULL };
7640 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7642  *  Description of Solaris_Math_11 fix
7643  */
7644 tSCC zSolaris_Math_11Name[] =
7645      "solaris_math_11";
7648  *  File name selection pattern
7649  */
7650 tSCC zSolaris_Math_11List[] =
7651   "iso/math_c99.h\0";
7653  *  Machine/OS name selection pattern
7654  */
7655 #define apzSolaris_Math_11Machs (const char**)NULL
7658  *  content selection pattern - do fix if pattern found
7659  */
7660 tSCC zSolaris_Math_11Select0[] =
7661        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ ";
7663 #define    SOLARIS_MATH_11_TEST_CT  1
7664 static tTestDesc aSolaris_Math_11Tests[] = {
7665   { TT_EGREP,    zSolaris_Math_11Select0, (regex_t*)NULL }, };
7668  *  Fix Command Arguments for Solaris_Math_11
7669  */
7670 static const char* apzSolaris_Math_11Patch[] = {
7671     "format",
7672     "#undef\tsignbit\n\
7673 #define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
7674 \t\t\t   ? __builtin_signbitf(x) \\\n\
7675 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
7676 \t\t\t     ? __builtin_signbitl(x) \\\n\
7677 \t\t\t     : __builtin_signbit(x))",
7678     "^#undef[ \t]+signbit\n\
7679 #if defined\\(__sparc\\)\n\
7680 #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
7681 [ \t]+\\{[ \t]*__typeof\\(x\\)[ \t]*__x_s[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
7682 [ \t]+\\(int\\)[ \t]*\\(\\*\\(unsigned[ \t]*\\*\\)[ \t]*\\&__x_s[ \t]*>>[ \t]*31\\);[ \t]*\\}\\)\n\
7683 #elif defined\\(__i386\\) \\|\\| defined\\(__amd64\\)\n\
7684 #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
7685 [ \t]+\\{ __typeof\\(x\\) __x_s = \\(x\\); \\\\\n\
7686 [ \t]+\\(sizeof \\(__x_s\\) == sizeof \\(float\\) \\? \\\\\n\
7687 [ \t]+\\(int\\) \\(\\*\\(unsigned \\*\\) \\&__x_s >> 31\\) : \\\\\n\
7688 [ \t]+sizeof \\(__x_s\\) == sizeof \\(double\\) \\? \\\\\n\
7689 [ \t]+\\(int\\) \\(\\(\\(unsigned \\*\\) \\&__x_s\\)\\[1\\] >> 31\\) : \\\\\n\
7690 [ \t]+\\(int\\) \\(\\(\\(unsigned short \\*\\) \\&__x_s\\)\\[4\\] >> 15\\)\\); \\}\\)\n\
7691 #endif",
7692     (char*)NULL };
7694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7696  *  Description of Solaris_Math_12 fix
7697  */
7698 tSCC zSolaris_Math_12Name[] =
7699      "solaris_math_12";
7702  *  File name selection pattern
7703  */
7704 tSCC zSolaris_Math_12List[] =
7705   "math.h\0";
7707  *  Machine/OS name selection pattern
7708  */
7709 tSCC* apzSolaris_Math_12Machs[] = {
7710         "*-*-solaris2*",
7711         (const char*)NULL };
7714  *  content selection pattern - do fix if pattern found
7715  */
7716 tSCC zSolaris_Math_12Select0[] =
7717        "#undef.*_GLIBCXX_USE_C99_MATH";
7719 #define    SOLARIS_MATH_12_TEST_CT  1
7720 static tTestDesc aSolaris_Math_12Tests[] = {
7721   { TT_EGREP,    zSolaris_Math_12Select0, (regex_t*)NULL }, };
7724  *  Fix Command Arguments for Solaris_Math_12
7725  */
7726 static const char* apzSolaris_Math_12Patch[] = { sed_cmd_z,
7727     "-e", "/#undef[ \t]*_GLIBCXX_USE_C99_MATH/d",
7728     (char*)NULL };
7730 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7732  *  Description of Solaris_Once_Init_1 fix
7733  */
7734 tSCC zSolaris_Once_Init_1Name[] =
7735      "solaris_once_init_1";
7738  *  File name selection pattern
7739  */
7740 tSCC zSolaris_Once_Init_1List[] =
7741   "pthread.h\0";
7743  *  Machine/OS name selection pattern
7744  */
7745 tSCC* apzSolaris_Once_Init_1Machs[] = {
7746         "*-*-solaris*",
7747         (const char*)NULL };
7750  *  content selection pattern - do fix if pattern found
7751  */
7752 tSCC zSolaris_Once_Init_1Select0[] =
7753        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7755 #define    SOLARIS_ONCE_INIT_1_TEST_CT  1
7756 static tTestDesc aSolaris_Once_Init_1Tests[] = {
7757   { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
7760  *  Fix Command Arguments for Solaris_Once_Init_1
7761  */
7762 static const char* apzSolaris_Once_Init_1Patch[] = {
7763     "format",
7764     "%1{%2}%3",
7765     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
7766     (char*)NULL };
7768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7770  *  Description of Solaris_Posix_Spawn_Restrict fix
7771  */
7772 tSCC zSolaris_Posix_Spawn_RestrictName[] =
7773      "solaris_posix_spawn_restrict";
7776  *  File name selection pattern
7777  */
7778 tSCC zSolaris_Posix_Spawn_RestrictList[] =
7779   "spawn.h\0";
7781  *  Machine/OS name selection pattern
7782  */
7783 tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
7784         "*-*-solaris2*",
7785         (const char*)NULL };
7788  *  content selection pattern - do fix if pattern found
7789  */
7790 tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
7791        "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
7793 #define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
7794 static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
7795   { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
7798  *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
7799  */
7800 static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
7801     "format",
7802     "%1*_RESTRICT_KYWD %2%3",
7803     (char*)NULL };
7805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7807  *  Description of Solaris_Pow_Int_Overload fix
7808  */
7809 tSCC zSolaris_Pow_Int_OverloadName[] =
7810      "solaris_pow_int_overload";
7813  *  File name selection pattern
7814  */
7815 tSCC zSolaris_Pow_Int_OverloadList[] =
7816   "iso/math_iso.h\0";
7818  *  Machine/OS name selection pattern
7819  */
7820 tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
7821         "*-*-solaris2*",
7822         (const char*)NULL };
7825  *  content selection pattern - do fix if pattern found
7826  */
7827 tSCC zSolaris_Pow_Int_OverloadSelect0[] =
7828        "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
7829 [^{}]*\\}";
7831 #define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
7832 static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
7833   { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
7836  *  Fix Command Arguments for Solaris_Pow_Int_Overload
7837  */
7838 static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
7839     "format",
7840     "#if __cplusplus < 201103L\n\
7841 %0\n\
7842 #endif",
7843     (char*)NULL };
7845 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7847  *  Description of Solaris_Rwlock_Init_1 fix
7848  */
7849 tSCC zSolaris_Rwlock_Init_1Name[] =
7850      "solaris_rwlock_init_1";
7853  *  File name selection pattern
7854  */
7855 tSCC zSolaris_Rwlock_Init_1List[] =
7856   "pthread.h\0";
7858  *  Machine/OS name selection pattern
7859  */
7860 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
7861         "*-*-solaris*",
7862         (const char*)NULL };
7865  *  content selection pattern - do fix if pattern found
7866  */
7867 tSCC zSolaris_Rwlock_Init_1Select0[] =
7868        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7870 #define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
7871 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
7872   { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
7875  *  Fix Command Arguments for Solaris_Rwlock_Init_1
7876  */
7877 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
7878     "format",
7879     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
7880 %0\n\
7881 #else\n\
7882 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
7883 #endif",
7884     "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
7885     (char*)NULL };
7887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7889  *  Description of Solaris_Std___Filbuf fix
7890  */
7891 tSCC zSolaris_Std___FilbufName[] =
7892      "solaris_std___filbuf";
7895  *  File name selection pattern
7896  */
7897 tSCC zSolaris_Std___FilbufList[] =
7898   "stdio.h\0";
7900  *  Machine/OS name selection pattern
7901  */
7902 tSCC* apzSolaris_Std___FilbufMachs[] = {
7903         "*-*-solaris2*",
7904         (const char*)NULL };
7907  *  content selection pattern - do fix if pattern found
7908  */
7909 tSCC zSolaris_Std___FilbufSelect0[] =
7910        "(using std::perror;\n\
7911 )(#endif)";
7914  *  content bypass pattern - skip fix if pattern found
7915  */
7916 tSCC zSolaris_Std___FilbufBypass0[] =
7917        "using std::__filbuf";
7919 #define    SOLARIS_STD___FILBUF_TEST_CT  2
7920 static tTestDesc aSolaris_Std___FilbufTests[] = {
7921   { TT_NEGREP,   zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
7922   { TT_EGREP,    zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
7925  *  Fix Command Arguments for Solaris_Std___Filbuf
7926  */
7927 static const char* apzSolaris_Std___FilbufPatch[] = {
7928     "format",
7929     "%1#ifndef _LP64\n\
7930 using std::__filbuf;\n\
7931 using std::__flsbuf;\n\
7932 #endif\n\
7933 %2",
7934     (char*)NULL };
7936 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7938  *  Description of Solaris_Std_Gets_Cxx14 fix
7939  */
7940 tSCC zSolaris_Std_Gets_Cxx14Name[] =
7941      "solaris_std_gets_cxx14";
7944  *  File name selection pattern
7945  */
7946 tSCC zSolaris_Std_Gets_Cxx14List[] =
7947   "stdio.h\0";
7949  *  Machine/OS name selection pattern
7950  */
7951 tSCC* apzSolaris_Std_Gets_Cxx14Machs[] = {
7952         "*-*-solaris2*",
7953         (const char*)NULL };
7956  *  content selection pattern - do fix if pattern found
7957  */
7958 tSCC zSolaris_Std_Gets_Cxx14Select0[] =
7959        "using std::gets;";
7961 #define    SOLARIS_STD_GETS_CXX14_TEST_CT  1
7962 static tTestDesc aSolaris_Std_Gets_Cxx14Tests[] = {
7963   { TT_EGREP,    zSolaris_Std_Gets_Cxx14Select0, (regex_t*)NULL }, };
7966  *  Fix Command Arguments for Solaris_Std_Gets_Cxx14
7967  */
7968 static const char* apzSolaris_Std_Gets_Cxx14Patch[] = {
7969     "format",
7970     "#if __cplusplus < 201402L\n\
7971 %0\n\
7972 #endif",
7973     (char*)NULL };
7975 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7977  *  Description of Solaris_Stdio_Tag fix
7978  */
7979 tSCC zSolaris_Stdio_TagName[] =
7980      "solaris_stdio_tag";
7983  *  File name selection pattern
7984  */
7985 tSCC zSolaris_Stdio_TagList[] =
7986   "stdio_tag.h\0";
7988  *  Machine/OS name selection pattern
7989  */
7990 #define apzSolaris_Stdio_TagMachs (const char**)NULL
7993  *  content selection pattern - do fix if pattern found
7994  */
7995 tSCC zSolaris_Stdio_TagSelect0[] =
7996        "__cplusplus < 54321L";
7999  *  content bypass pattern - skip fix if pattern found
8000  */
8001 tSCC zSolaris_Stdio_TagBypass0[] =
8002        "__GNUC__";
8004 #define    SOLARIS_STDIO_TAG_TEST_CT  2
8005 static tTestDesc aSolaris_Stdio_TagTests[] = {
8006   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
8007   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
8010  *  Fix Command Arguments for Solaris_Stdio_Tag
8011  */
8012 static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
8013     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
8014     (char*)NULL };
8016 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8018  *  Description of Solaris_Stdlib_Noreturn fix
8019  */
8020 tSCC zSolaris_Stdlib_NoreturnName[] =
8021      "solaris_stdlib_noreturn";
8024  *  File name selection pattern
8025  */
8026 tSCC zSolaris_Stdlib_NoreturnList[] =
8027   "iso/stdlib_c99.h\0";
8029  *  Machine/OS name selection pattern
8030  */
8031 tSCC* apzSolaris_Stdlib_NoreturnMachs[] = {
8032         "*-*-solaris2*",
8033         (const char*)NULL };
8036  *  content selection pattern - do fix if pattern found
8037  */
8038 tSCC zSolaris_Stdlib_NoreturnSelect0[] =
8039        "(extern) _Noreturn (void quick_exit\\(int\\));";
8041 #define    SOLARIS_STDLIB_NORETURN_TEST_CT  1
8042 static tTestDesc aSolaris_Stdlib_NoreturnTests[] = {
8043   { TT_EGREP,    zSolaris_Stdlib_NoreturnSelect0, (regex_t*)NULL }, };
8046  *  Fix Command Arguments for Solaris_Stdlib_Noreturn
8047  */
8048 static const char* apzSolaris_Stdlib_NoreturnPatch[] = {
8049     "format",
8050     "%1 %2 __attribute__((__noreturn__));",
8051     (char*)NULL };
8053 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8055  *  Description of Statsswtch fix
8056  */
8057 tSCC zStatsswtchName[] =
8058      "statsswtch";
8061  *  File name selection pattern
8062  */
8063 tSCC zStatsswtchList[] =
8064   "rpcsvc/rstat.h\0";
8066  *  Machine/OS name selection pattern
8067  */
8068 #define apzStatsswtchMachs (const char**)NULL
8071  *  content selection pattern - do fix if pattern found
8072  */
8073 tSCC zStatsswtchSelect0[] =
8074        "boottime$";
8076 #define    STATSSWTCH_TEST_CT  1
8077 static tTestDesc aStatsswtchTests[] = {
8078   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
8081  *  Fix Command Arguments for Statsswtch
8082  */
8083 static const char* apzStatsswtchPatch[] = {
8084     "format",
8085     "boottime;",
8086     (char*)NULL };
8088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8090  *  Description of Stdio_Stdarg_H fix
8091  */
8092 tSCC zStdio_Stdarg_HName[] =
8093      "stdio_stdarg_h";
8096  *  File name selection pattern
8097  */
8098 tSCC zStdio_Stdarg_HList[] =
8099   "stdio.h\0";
8101  *  Machine/OS name selection pattern
8102  */
8103 tSCC* apzStdio_Stdarg_HMachs[] = {
8104         "*-*-solaris2.1[0-9]*",
8105         (const char*)NULL };
8108  *  content bypass pattern - skip fix if pattern found
8109  */
8110 tSCC zStdio_Stdarg_HBypass0[] =
8111        "include.*(stdarg.h|machine/ansi.h)";
8113 #define    STDIO_STDARG_H_TEST_CT  1
8114 static tTestDesc aStdio_Stdarg_HTests[] = {
8115   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
8118  *  Fix Command Arguments for Stdio_Stdarg_H
8119  */
8120 static const char* apzStdio_Stdarg_HPatch[] = {
8121     "wrap",
8122     "#define __need___va_list\n\
8123 #include <stdarg.h>\n",
8124     (char*)NULL };
8126 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8128  *  Description of Stdio_Va_List fix
8129  */
8130 tSCC zStdio_Va_ListName[] =
8131      "stdio_va_list";
8134  *  File name selection pattern
8135  */
8136 tSCC zStdio_Va_ListList[] =
8137   "stdio.h\0";
8139  *  Machine/OS name selection pattern
8140  */
8141 tSCC* apzStdio_Va_ListMachs[] = {
8142         "*-*-solaris2.1[0-9]*",
8143         (const char*)NULL };
8146  *  content bypass pattern - skip fix if pattern found
8147  */
8148 tSCC zStdio_Va_ListBypass0[] =
8149        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
8151 #define    STDIO_VA_LIST_TEST_CT  1
8152 static tTestDesc aStdio_Va_ListTests[] = {
8153   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
8156  *  Fix Command Arguments for Stdio_Va_List
8157  */
8158 static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
8159     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
8160 s@(va_list)&@(__gnuc_va_list)\\&@\n\
8161 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
8162 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
8163 s@ va_list@ __not_va_list__@\n\
8164 s@\\*va_list@*__not_va_list__@\n\
8165 s@ __va_list)@ __gnuc_va_list)@\n\
8166 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
8167 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
8168 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
8169 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
8170 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
8171 s@VA_LIST@DUMMY_VA_LIST@\n\
8172 s@_Va_LIST@_VA_LIST@",
8173     (char*)NULL };
8175 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8177  *  Description of Stdio_Va_List_Clients fix
8178  */
8179 tSCC zStdio_Va_List_ClientsName[] =
8180      "stdio_va_list_clients";
8183  *  File name selection pattern
8184  */
8185 tSCC zStdio_Va_List_ClientsList[] =
8186   "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
8188  *  Machine/OS name selection pattern
8189  */
8190 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
8193  *  content bypass pattern - skip fix if pattern found
8194  */
8195 tSCC zStdio_Va_List_ClientsBypass0[] =
8196        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
8197 tSCC zStdio_Va_List_ClientsBypass1[] =
8198        "include <stdarg\\.h>|#ifdef va_start";
8200 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
8201 static tTestDesc aStdio_Va_List_ClientsTests[] = {
8202   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
8203   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
8206  *  Fix Command Arguments for Stdio_Va_List_Clients
8207  */
8208 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
8209     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
8210 s@(va_list)&@(__gnuc_va_list)\\&@\n\
8211 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
8212 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
8213 s@ va_list@ __not_va_list__@\n\
8214 s@\\*va_list@*__not_va_list__@\n\
8215 s@ __va_list)@ __gnuc_va_list)@\n\
8216 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
8217 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
8218 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
8219 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
8220 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
8221 s@VA_LIST@DUMMY_VA_LIST@\n\
8222 s@_Va_LIST@_VA_LIST@",
8223     (char*)NULL };
8225 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8227  *  Description of Strict_Ansi_Not fix
8228  */
8229 tSCC zStrict_Ansi_NotName[] =
8230      "strict_ansi_not";
8233  *  File name selection pattern
8234  */
8235 #define zStrict_Ansi_NotList (char*)NULL
8237  *  Machine/OS name selection pattern
8238  */
8239 #define apzStrict_Ansi_NotMachs (const char**)NULL
8242  *  content selection pattern - do fix if pattern found
8243  */
8244 tSCC zStrict_Ansi_NotSelect0[] =
8245        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
8248  *  content bypass pattern - skip fix if pattern found
8249  */
8250 tSCC zStrict_Ansi_NotBypass0[] =
8251        "GNU and MIPS C compilers define __STDC__ differently";
8252 tSCC zStrict_Ansi_NotBypass1[] =
8253        "__SCO_VERSION__.*__STDC__ != 1";
8256  *  perform the C function call test
8257  */
8258 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
8260 #define    STRICT_ANSI_NOT_TEST_CT  4
8261 static tTestDesc aStrict_Ansi_NotTests[] = {
8262   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
8263   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
8264   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
8265   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
8268  *  Fix Command Arguments for Strict_Ansi_Not
8269  */
8270 static const char* apzStrict_Ansi_NotPatch[] = {
8271     "format",
8272     "%1 !defined(__STRICT_ANSI__)",
8273     (char*)NULL };
8275 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8277  *  Description of Strict_Ansi_Not_Ctd fix
8278  */
8279 tSCC zStrict_Ansi_Not_CtdName[] =
8280      "strict_ansi_not_ctd";
8283  *  File name selection pattern
8284  */
8285 tSCC zStrict_Ansi_Not_CtdList[] =
8286   "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
8288  *  Machine/OS name selection pattern
8289  */
8290 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
8293  *  content selection pattern - do fix if pattern found
8294  */
8295 tSCC zStrict_Ansi_Not_CtdSelect0[] =
8296        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
8299  *  perform the C function call test
8300  */
8301 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
8303 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
8304 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
8305   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
8306   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
8309  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
8310  */
8311 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
8312     "format",
8313     "%1 !defined(__STRICT_ANSI__)",
8314     (char*)NULL };
8316 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8318  *  Description of Strict_Ansi_Only fix
8319  */
8320 tSCC zStrict_Ansi_OnlyName[] =
8321      "strict_ansi_only";
8324  *  File name selection pattern
8325  */
8326 #define zStrict_Ansi_OnlyList (char*)NULL
8328  *  Machine/OS name selection pattern
8329  */
8330 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
8333  *  content selection pattern - do fix if pattern found
8334  */
8335 tSCC zStrict_Ansi_OnlySelect0[] =
8336        "^([ \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)";
8339  *  perform the C function call test
8340  */
8341 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
8343 #define    STRICT_ANSI_ONLY_TEST_CT  2
8344 static tTestDesc aStrict_Ansi_OnlyTests[] = {
8345   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
8346   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
8349  *  Fix Command Arguments for Strict_Ansi_Only
8350  */
8351 static const char* apzStrict_Ansi_OnlyPatch[] = {
8352     "format",
8353     "%1 defined(__STRICT_ANSI__)",
8354     (char*)NULL };
8356 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8358  *  Description of Struct_File fix
8359  */
8360 tSCC zStruct_FileName[] =
8361      "struct_file";
8364  *  File name selection pattern
8365  */
8366 tSCC zStruct_FileList[] =
8367   "rpc/xdr.h\0";
8369  *  Machine/OS name selection pattern
8370  */
8371 #define apzStruct_FileMachs (const char**)NULL
8374  *  content selection pattern - do fix if pattern found
8375  */
8376 tSCC zStruct_FileSelect0[] =
8377        "^.*xdrstdio_create.*struct __file_s";
8379 #define    STRUCT_FILE_TEST_CT  1
8380 static tTestDesc aStruct_FileTests[] = {
8381   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
8384  *  Fix Command Arguments for Struct_File
8385  */
8386 static const char* apzStruct_FilePatch[] = {
8387     "format",
8388     "struct __file_s;\n\
8389 %0",
8390     (char*)NULL };
8392 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8394  *  Description of Struct_Sockaddr fix
8395  */
8396 tSCC zStruct_SockaddrName[] =
8397      "struct_sockaddr";
8400  *  File name selection pattern
8401  */
8402 tSCC zStruct_SockaddrList[] =
8403   "rpc/auth.h\0";
8405  *  Machine/OS name selection pattern
8406  */
8407 #define apzStruct_SockaddrMachs (const char**)NULL
8410  *  content selection pattern - do fix if pattern found
8411  */
8412 tSCC zStruct_SockaddrSelect0[] =
8413        "^.*authdes_create.*struct sockaddr[^_]";
8416  *  content bypass pattern - skip fix if pattern found
8417  */
8418 tSCC zStruct_SockaddrBypass0[] =
8419        "<sys/socket.h>";
8420 tSCC zStruct_SockaddrBypass1[] =
8421        "struct sockaddr;\n";
8423 #define    STRUCT_SOCKADDR_TEST_CT  3
8424 static tTestDesc aStruct_SockaddrTests[] = {
8425   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
8426   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
8427   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
8430  *  Fix Command Arguments for Struct_Sockaddr
8431  */
8432 static const char* apzStruct_SockaddrPatch[] = {
8433     "format",
8434     "struct sockaddr;\n\
8435 %0",
8436     (char*)NULL };
8438 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8440  *  Description of Sun_Auth_Proto fix
8441  */
8442 tSCC zSun_Auth_ProtoName[] =
8443      "sun_auth_proto";
8446  *  File name selection pattern
8447  */
8448 tSCC zSun_Auth_ProtoList[] =
8449   "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
8451  *  Machine/OS name selection pattern
8452  */
8453 #define apzSun_Auth_ProtoMachs (const char**)NULL
8456  *  content selection pattern - do fix if pattern found
8457  */
8458 tSCC zSun_Auth_ProtoSelect0[] =
8459        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
8462  *  content bypass pattern - skip fix if pattern found
8463  */
8464 tSCC zSun_Auth_ProtoBypass0[] =
8465        "__cplusplus";
8467 #define    SUN_AUTH_PROTO_TEST_CT  2
8468 static tTestDesc aSun_Auth_ProtoTests[] = {
8469   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
8470   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
8473  *  Fix Command Arguments for Sun_Auth_Proto
8474  */
8475 static const char* apzSun_Auth_ProtoPatch[] = {
8476     "format",
8477     "#ifdef __cplusplus\n\
8478 %1(...);%2\n\
8479 #else\n\
8480 %1();%2\n\
8481 #endif",
8482     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
8483     (char*)NULL };
8485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8487  *  Description of Sun_Bogus_Ifdef fix
8488  */
8489 tSCC zSun_Bogus_IfdefName[] =
8490      "sun_bogus_ifdef";
8493  *  File name selection pattern
8494  */
8495 tSCC zSun_Bogus_IfdefList[] =
8496   "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
8498  *  Machine/OS name selection pattern
8499  */
8500 #define apzSun_Bogus_IfdefMachs (const char**)NULL
8503  *  content selection pattern - do fix if pattern found
8504  */
8505 tSCC zSun_Bogus_IfdefSelect0[] =
8506        "#ifdef(.*\\|\\|.*)";
8508 #define    SUN_BOGUS_IFDEF_TEST_CT  1
8509 static tTestDesc aSun_Bogus_IfdefTests[] = {
8510   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
8513  *  Fix Command Arguments for Sun_Bogus_Ifdef
8514  */
8515 static const char* apzSun_Bogus_IfdefPatch[] = {
8516     "format",
8517     "#if%1",
8518     (char*)NULL };
8520 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8522  *  Description of Sun_Catmacro fix
8523  */
8524 tSCC zSun_CatmacroName[] =
8525      "sun_catmacro";
8528  *  File name selection pattern
8529  */
8530 tSCC zSun_CatmacroList[] =
8531   "pixrect/memvar.h\0";
8533  *  Machine/OS name selection pattern
8534  */
8535 #define apzSun_CatmacroMachs (const char**)NULL
8538  *  content selection pattern - do fix if pattern found
8539  */
8540 tSCC zSun_CatmacroSelect0[] =
8541        "^#define[ \t]+CAT\\(a,b\\).*";
8543 #define    SUN_CATMACRO_TEST_CT  1
8544 static tTestDesc aSun_CatmacroTests[] = {
8545   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
8548  *  Fix Command Arguments for Sun_Catmacro
8549  */
8550 static const char* apzSun_CatmacroPatch[] = {
8551     "format",
8552     "#ifdef __STDC__\n\
8553 #  define CAT(a,b) a##b\n\
8554 #else\n\
8555 %0\n\
8556 #endif",
8557     (char*)NULL };
8559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8561  *  Description of Sun_Malloc fix
8562  */
8563 tSCC zSun_MallocName[] =
8564      "sun_malloc";
8567  *  File name selection pattern
8568  */
8569 tSCC zSun_MallocList[] =
8570   "malloc.h\0";
8572  *  Machine/OS name selection pattern
8573  */
8574 #define apzSun_MallocMachs (const char**)NULL
8577  *  content bypass pattern - skip fix if pattern found
8578  */
8579 tSCC zSun_MallocBypass0[] =
8580        "_CLASSIC_ANSI_TYPES";
8582 #define    SUN_MALLOC_TEST_CT  1
8583 static tTestDesc aSun_MallocTests[] = {
8584   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
8587  *  Fix Command Arguments for Sun_Malloc
8588  */
8589 static const char* apzSun_MallocPatch[] = { sed_cmd_z,
8590     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
8591     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
8592     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
8593     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
8594     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
8595     (char*)NULL };
8597 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8599  *  Description of Sun_Rusers_Semi fix
8600  */
8601 tSCC zSun_Rusers_SemiName[] =
8602      "sun_rusers_semi";
8605  *  File name selection pattern
8606  */
8607 tSCC zSun_Rusers_SemiList[] =
8608   "rpcsvc/rusers.h\0";
8610  *  Machine/OS name selection pattern
8611  */
8612 #define apzSun_Rusers_SemiMachs (const char**)NULL
8615  *  content selection pattern - do fix if pattern found
8616  */
8617 tSCC zSun_Rusers_SemiSelect0[] =
8618        "_cnt$";
8620 #define    SUN_RUSERS_SEMI_TEST_CT  1
8621 static tTestDesc aSun_Rusers_SemiTests[] = {
8622   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
8625  *  Fix Command Arguments for Sun_Rusers_Semi
8626  */
8627 static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
8628     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
8629     (char*)NULL };
8631 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8633  *  Description of Sun_Signal fix
8634  */
8635 tSCC zSun_SignalName[] =
8636      "sun_signal";
8639  *  File name selection pattern
8640  */
8641 tSCC zSun_SignalList[] =
8642   "sys/signal.h\0signal.h\0";
8644  *  Machine/OS name selection pattern
8645  */
8646 #define apzSun_SignalMachs (const char**)NULL
8649  *  content selection pattern - do fix if pattern found
8650  */
8651 tSCC zSun_SignalSelect0[] =
8652        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
8654 #define    SUN_SIGNAL_TEST_CT  1
8655 static tTestDesc aSun_SignalTests[] = {
8656   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
8659  *  Fix Command Arguments for Sun_Signal
8660  */
8661 static const char* apzSun_SignalPatch[] = {
8662     "format",
8663     "#ifdef __cplusplus\n\
8664 void\t(*signal(...))(...);\n\
8665 #else\n\
8666 %0\n\
8667 #endif",
8668     (char*)NULL };
8670 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8672  *  Description of Sunos_Strlen fix
8673  */
8674 tSCC zSunos_StrlenName[] =
8675      "sunos_strlen";
8678  *  File name selection pattern
8679  */
8680 tSCC zSunos_StrlenList[] =
8681   "strings.h\0";
8683  *  Machine/OS name selection pattern
8684  */
8685 #define apzSunos_StrlenMachs (const char**)NULL
8688  *  content selection pattern - do fix if pattern found
8689  */
8690 tSCC zSunos_StrlenSelect0[] =
8691        "int[ \t]*strlen\\(\\);(.*)";
8693 #define    SUNOS_STRLEN_TEST_CT  1
8694 static tTestDesc aSunos_StrlenTests[] = {
8695   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
8698  *  Fix Command Arguments for Sunos_Strlen
8699  */
8700 static const char* apzSunos_StrlenPatch[] = {
8701     "format",
8702     "__SIZE_TYPE__ strlen();%1",
8703     (char*)NULL };
8705 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8707  *  Description of Suse_Linux_Vt_Cxx fix
8708  */
8709 tSCC zSuse_Linux_Vt_CxxName[] =
8710      "suse_linux_vt_cxx";
8713  *  File name selection pattern
8714  */
8715 tSCC zSuse_Linux_Vt_CxxList[] =
8716   "linux/vt.h\0";
8718  *  Machine/OS name selection pattern
8719  */
8720 #define apzSuse_Linux_Vt_CxxMachs (const char**)NULL
8723  *  content selection pattern - do fix if pattern found
8724  */
8725 tSCC zSuse_Linux_Vt_CxxSelect0[] =
8726        "^[ \t]*unsigned int new;";
8728 #define    SUSE_LINUX_VT_CXX_TEST_CT  1
8729 static tTestDesc aSuse_Linux_Vt_CxxTests[] = {
8730   { TT_EGREP,    zSuse_Linux_Vt_CxxSelect0, (regex_t*)NULL }, };
8733  *  Fix Command Arguments for Suse_Linux_Vt_Cxx
8734  */
8735 static const char* apzSuse_Linux_Vt_CxxPatch[] = {
8736     "format",
8737     "unsigned int newev;",
8738     (char*)NULL };
8740 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8742  *  Description of Svr4_Disable_Opt fix
8743  */
8744 tSCC zSvr4_Disable_OptName[] =
8745      "svr4_disable_opt";
8748  *  File name selection pattern
8749  */
8750 tSCC zSvr4_Disable_OptList[] =
8751   "string.h\0";
8753  *  Machine/OS name selection pattern
8754  */
8755 #define apzSvr4_Disable_OptMachs (const char**)NULL
8758  *  content selection pattern - do fix if pattern found
8759  */
8760 tSCC zSvr4_Disable_OptSelect0[] =
8761        "#define.*__std_hdr_";
8763 #define    SVR4_DISABLE_OPT_TEST_CT  1
8764 static tTestDesc aSvr4_Disable_OptTests[] = {
8765   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
8768  *  Fix Command Arguments for Svr4_Disable_Opt
8769  */
8770 static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
8771     "-e", "/#define.*__std_hdr_/d",
8772     (char*)NULL };
8774 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8776  *  Description of Svr4_Getcwd fix
8777  */
8778 tSCC zSvr4_GetcwdName[] =
8779      "svr4_getcwd";
8782  *  File name selection pattern
8783  */
8784 tSCC zSvr4_GetcwdList[] =
8785   "stdlib.h\0unistd.h\0prototypes.h\0";
8787  *  Machine/OS name selection pattern
8788  */
8789 #define apzSvr4_GetcwdMachs (const char**)NULL
8792  *  content selection pattern - do fix if pattern found
8793  */
8794 tSCC zSvr4_GetcwdSelect0[] =
8795        "getcwd\\(char \\*, int\\)";
8797 #define    SVR4_GETCWD_TEST_CT  1
8798 static tTestDesc aSvr4_GetcwdTests[] = {
8799   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
8802  *  Fix Command Arguments for Svr4_Getcwd
8803  */
8804 static const char* apzSvr4_GetcwdPatch[] = {
8805     "format",
8806     "getcwd(char *, size_t)",
8807     (char*)NULL };
8809 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8811  *  Description of Svr4_Profil fix
8812  */
8813 tSCC zSvr4_ProfilName[] =
8814      "svr4_profil";
8817  *  File name selection pattern
8818  */
8819 tSCC zSvr4_ProfilList[] =
8820   "stdlib.h\0unistd.h\0";
8822  *  Machine/OS name selection pattern
8823  */
8824 #define apzSvr4_ProfilMachs (const char**)NULL
8827  *  content selection pattern - do fix if pattern found
8828  */
8829 tSCC zSvr4_ProfilSelect0[] =
8830        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
8832 #define    SVR4_PROFIL_TEST_CT  1
8833 static tTestDesc aSvr4_ProfilTests[] = {
8834   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
8837  *  Fix Command Arguments for Svr4_Profil
8838  */
8839 static const char* apzSvr4_ProfilPatch[] = {
8840     "format",
8841     "profil(unsigned short *, size_t, int, unsigned int)",
8842     (char*)NULL };
8844 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8846  *  Description of Svr4_Sighandler_Type fix
8847  */
8848 tSCC zSvr4_Sighandler_TypeName[] =
8849      "svr4_sighandler_type";
8852  *  File name selection pattern
8853  */
8854 tSCC zSvr4_Sighandler_TypeList[] =
8855   "sys/signal.h\0";
8857  *  Machine/OS name selection pattern
8858  */
8859 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
8862  *  content selection pattern - do fix if pattern found
8863  */
8864 tSCC zSvr4_Sighandler_TypeSelect0[] =
8865        "void *\\(\\*\\)\\(\\)";
8867 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
8868 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
8869   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
8872  *  Fix Command Arguments for Svr4_Sighandler_Type
8873  */
8874 static const char* apzSvr4_Sighandler_TypePatch[] = {
8875     "format",
8876     "void (*)(int)",
8877     (char*)NULL };
8879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8881  *  Description of Svr4_Undeclared_Getrnge fix
8882  */
8883 tSCC zSvr4_Undeclared_GetrngeName[] =
8884      "svr4_undeclared_getrnge";
8887  *  File name selection pattern
8888  */
8889 tSCC zSvr4_Undeclared_GetrngeList[] =
8890   "regexp.h\0";
8892  *  Machine/OS name selection pattern
8893  */
8894 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
8897  *  content selection pattern - do fix if pattern found
8898  */
8899 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
8900        "getrnge";
8903  *  content bypass pattern - skip fix if pattern found
8904  */
8905 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
8906        "static void getrnge";
8908 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
8909 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
8910   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
8911   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
8914  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
8915  */
8916 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
8917     "format",
8918     "%0\n\
8919 static int getrnge ();",
8920     "^static int[ \t]+size;",
8921     (char*)NULL };
8923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8925  *  Description of Sysv68_String fix
8926  */
8927 tSCC zSysv68_StringName[] =
8928      "sysv68_string";
8931  *  File name selection pattern
8932  */
8933 tSCC zSysv68_StringList[] =
8934   "testing.h\0string.h\0";
8936  *  Machine/OS name selection pattern
8937  */
8938 #define apzSysv68_StringMachs (const char**)NULL
8941  *  content bypass pattern - skip fix if pattern found
8942  */
8943 tSCC zSysv68_StringBypass0[] =
8944        "_CLASSIC_ANSI_TYPES";
8946 #define    SYSV68_STRING_TEST_CT  1
8947 static tTestDesc aSysv68_StringTests[] = {
8948   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
8951  *  Fix Command Arguments for Sysv68_String
8952  */
8953 static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
8954     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
8955     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
8956     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
8957     "-e", "/^extern char$/N",
8958     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
8959     "-e", "/^extern int$/N",
8960     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
8961     "-e", "/^\tstrncmp(),$/N",
8962     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
8963 extern unsigned int\\\n\
8964 \\2/",
8965     (char*)NULL };
8967 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8969  *  Description of Sysz_Stdlib_For_Sun fix
8970  */
8971 tSCC zSysz_Stdlib_For_SunName[] =
8972      "sysz_stdlib_for_sun";
8975  *  File name selection pattern
8976  */
8977 tSCC zSysz_Stdlib_For_SunList[] =
8978   "stdlib.h\0";
8980  *  Machine/OS name selection pattern
8981  */
8982 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
8985  *  content selection pattern - do fix if pattern found
8986  */
8987 tSCC zSysz_Stdlib_For_SunSelect0[] =
8988        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
8991  *  content bypass pattern - skip fix if pattern found
8992  */
8993 tSCC zSysz_Stdlib_For_SunBypass0[] =
8994        "_CLASSIC_ANSI_TYPES";
8996 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
8997 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
8998   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
8999   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
9002  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
9003  */
9004 static const char* apzSysz_Stdlib_For_SunPatch[] = {
9005     "format",
9006     "void *\t%1(",
9007     (char*)NULL };
9009 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9011  *  Description of Thread_Keyword fix
9012  */
9013 tSCC zThread_KeywordName[] =
9014      "thread_keyword";
9017  *  File name selection pattern
9018  */
9019 tSCC zThread_KeywordList[] =
9020   "pthread.h\0bits/sigthread.h\0*/bits/sigthread.h\0";
9022  *  Machine/OS name selection pattern
9023  */
9024 #define apzThread_KeywordMachs (const char**)NULL
9027  *  content selection pattern - do fix if pattern found
9028  */
9029 tSCC zThread_KeywordSelect0[] =
9030        "([* ])__thread([,)])";
9032 #define    THREAD_KEYWORD_TEST_CT  1
9033 static tTestDesc aThread_KeywordTests[] = {
9034   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
9037  *  Fix Command Arguments for Thread_Keyword
9038  */
9039 static const char* apzThread_KeywordPatch[] = {
9040     "format",
9041     "%1__thr%2",
9042     (char*)NULL };
9044 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9046  *  Description of Tinfo_Cplusplus fix
9047  */
9048 tSCC zTinfo_CplusplusName[] =
9049      "tinfo_cplusplus";
9052  *  File name selection pattern
9053  */
9054 tSCC zTinfo_CplusplusList[] =
9055   "tinfo.h\0";
9057  *  Machine/OS name selection pattern
9058  */
9059 #define apzTinfo_CplusplusMachs (const char**)NULL
9062  *  content selection pattern - do fix if pattern found
9063  */
9064 tSCC zTinfo_CplusplusSelect0[] =
9065        "[ \t]_cplusplus";
9067 #define    TINFO_CPLUSPLUS_TEST_CT  1
9068 static tTestDesc aTinfo_CplusplusTests[] = {
9069   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
9072  *  Fix Command Arguments for Tinfo_Cplusplus
9073  */
9074 static const char* apzTinfo_CplusplusPatch[] = {
9075     "format",
9076     " __cplusplus",
9077     (char*)NULL };
9079 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9081  *  Description of Ultrix_Const fix
9082  */
9083 tSCC zUltrix_ConstName[] =
9084      "ultrix_const";
9087  *  File name selection pattern
9088  */
9089 tSCC zUltrix_ConstList[] =
9090   "stdio.h\0";
9092  *  Machine/OS name selection pattern
9093  */
9094 #define apzUltrix_ConstMachs (const char**)NULL
9097  *  content selection pattern - do fix if pattern found
9098  */
9099 tSCC zUltrix_ConstSelect0[] =
9100        "perror\\( char \\*";
9102 #define    ULTRIX_CONST_TEST_CT  1
9103 static tTestDesc aUltrix_ConstTests[] = {
9104   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
9107  *  Fix Command Arguments for Ultrix_Const
9108  */
9109 static const char* apzUltrix_ConstPatch[] = {
9110     "format",
9111     "%1 const %3 *__",
9112     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
9113     (char*)NULL };
9115 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9117  *  Description of Ultrix_Const2 fix
9118  */
9119 tSCC zUltrix_Const2Name[] =
9120      "ultrix_const2";
9123  *  File name selection pattern
9124  */
9125 tSCC zUltrix_Const2List[] =
9126   "stdio.h\0";
9128  *  Machine/OS name selection pattern
9129  */
9130 #define apzUltrix_Const2Machs (const char**)NULL
9133  *  content selection pattern - do fix if pattern found
9134  */
9135 tSCC zUltrix_Const2Select0[] =
9136        "\\*fopen\\( char \\*";
9138 #define    ULTRIX_CONST2_TEST_CT  1
9139 static tTestDesc aUltrix_Const2Tests[] = {
9140   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
9143  *  Fix Command Arguments for Ultrix_Const2
9144  */
9145 static const char* apzUltrix_Const2Patch[] = {
9146     "format",
9147     "%1( const char *%3, const char *",
9148     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
9149     (char*)NULL };
9151 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9153  *  Description of Va_I960_Macro fix
9154  */
9155 tSCC zVa_I960_MacroName[] =
9156      "va_i960_macro";
9159  *  File name selection pattern
9160  */
9161 tSCC zVa_I960_MacroList[] =
9162   "arch/i960/archI960.h\0";
9164  *  Machine/OS name selection pattern
9165  */
9166 #define apzVa_I960_MacroMachs (const char**)NULL
9169  *  content selection pattern - do fix if pattern found
9170  */
9171 tSCC zVa_I960_MacroSelect0[] =
9172        "__(vsiz|vali|vpad|alignof__)";
9174 #define    VA_I960_MACRO_TEST_CT  1
9175 static tTestDesc aVa_I960_MacroTests[] = {
9176   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
9179  *  Fix Command Arguments for Va_I960_Macro
9180  */
9181 static const char* apzVa_I960_MacroPatch[] = {
9182     "format",
9183     "__vx%1",
9184     (char*)NULL };
9186 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9188  *  Description of Vms_Add_Missing_Braces fix
9189  */
9190 tSCC zVms_Add_Missing_BracesName[] =
9191      "vms_add_missing_braces";
9194  *  File name selection pattern
9195  */
9196 tSCC zVms_Add_Missing_BracesList[] =
9197   "rtldef/signal.h\0";
9199  *  Machine/OS name selection pattern
9200  */
9201 tSCC* apzVms_Add_Missing_BracesMachs[] = {
9202         "*-*-*vms*",
9203         (const char*)NULL };
9206  *  content selection pattern - do fix if pattern found
9207  */
9208 tSCC zVms_Add_Missing_BracesSelect0[] =
9209        "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
9211 #define    VMS_ADD_MISSING_BRACES_TEST_CT  1
9212 static tTestDesc aVms_Add_Missing_BracesTests[] = {
9213   { TT_EGREP,    zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
9216  *  Fix Command Arguments for Vms_Add_Missing_Braces
9217  */
9218 static const char* apzVms_Add_Missing_BracesPatch[] = {
9219     "format",
9220     "%1 {%2} ",
9221     (char*)NULL };
9223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9225  *  Description of Vms_Decc_Builtin fix
9226  */
9227 tSCC zVms_Decc_BuiltinName[] =
9228      "vms_decc_builtin";
9231  *  File name selection pattern
9232  */
9233 tSCC zVms_Decc_BuiltinList[] =
9234   "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
9236  *  Machine/OS name selection pattern
9237  */
9238 tSCC* apzVms_Decc_BuiltinMachs[] = {
9239         "*-*-*vms*",
9240         (const char*)NULL };
9243  *  content selection pattern - do fix if pattern found
9244  */
9245 tSCC zVms_Decc_BuiltinSelect0[] =
9246        "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
9248 #define    VMS_DECC_BUILTIN_TEST_CT  1
9249 static tTestDesc aVms_Decc_BuiltinTests[] = {
9250   { TT_EGREP,    zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
9253  *  Fix Command Arguments for Vms_Decc_Builtin
9254  */
9255 static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
9256     "-e", "s@__MEMSET@memset@",
9257     "-e", "s@__MEMMOVE@memmove@",
9258     "-e", "s@__MEMCPY@memcpy@",
9259     "-e", "s@__STRLEN@strlen@",
9260     "-e", "s@__STRCPY@strcpy@",
9261     (char*)NULL };
9263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9265  *  Description of Vms_Define_Can_Use_Extern_Prefix fix
9266  */
9267 tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
9268      "vms_define_can_use_extern_prefix";
9271  *  File name selection pattern
9272  */
9273 tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
9274   "rtldef/decc$types.h\0";
9276  *  Machine/OS name selection pattern
9277  */
9278 tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
9279         "*-*-*vms*",
9280         (const char*)NULL };
9283  *  content selection pattern - do fix if pattern found
9284  */
9285 tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
9286        "#[ \t]*else\n\
9287 #[ \t]*if defined\\(__DECCXX\\)\n\
9288 #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
9290 #define    VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT  1
9291 static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
9292   { TT_EGREP,    zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
9295  *  Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
9296  */
9297 static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
9298     "format",
9299     "%0#    elif defined (__GNUC__)\n\
9300 #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
9301     (char*)NULL };
9303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9305  *  Description of Vms_Disable_Decc_String_Builtins fix
9306  */
9307 tSCC zVms_Disable_Decc_String_BuiltinsName[] =
9308      "vms_disable_decc_string_builtins";
9311  *  File name selection pattern
9312  */
9313 tSCC zVms_Disable_Decc_String_BuiltinsList[] =
9314   "rtldef/string.h\0";
9316  *  Machine/OS name selection pattern
9317  */
9318 tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
9319         "*-*-*vms*",
9320         (const char*)NULL };
9323  *  content selection pattern - do fix if pattern found
9324  */
9325 tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
9326        "#if !defined\\(__VAX\\)\n";
9328 #define    VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT  1
9329 static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
9330   { TT_EGREP,    zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
9333  *  Fix Command Arguments for Vms_Disable_Decc_String_Builtins
9334  */
9335 static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
9336     "format",
9337     "#if !defined(__VAX) && !defined(__GNUC__)\n",
9338     (char*)NULL };
9340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9342  *  Description of Vms_Do_Not_Redeclare_Hostalias fix
9343  */
9344 tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
9345      "vms_do_not_redeclare_hostalias";
9348  *  File name selection pattern
9349  */
9350 tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
9351   "rtldef/resolv.h\0";
9353  *  Machine/OS name selection pattern
9354  */
9355 tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
9356         "*-*-*vms*",
9357         (const char*)NULL };
9360  *  content selection pattern - do fix if pattern found
9361  */
9362 tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
9363        "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
9364 (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
9366 #define    VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT  1
9367 static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
9368   { TT_EGREP,    zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
9371  *  Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
9372  */
9373 static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
9374     "format",
9375     "%1\n\
9376 /* %2 */",
9377     (char*)NULL };
9379 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9381  *  Description of Vms_Forward_Declare_Struct fix
9382  */
9383 tSCC zVms_Forward_Declare_StructName[] =
9384      "vms_forward_declare_struct";
9387  *  File name selection pattern
9388  */
9389 tSCC zVms_Forward_Declare_StructList[] =
9390   "rtldef/if.h\0";
9392  *  Machine/OS name selection pattern
9393  */
9394 tSCC* apzVms_Forward_Declare_StructMachs[] = {
9395         "*-*-*vms*",
9396         (const char*)NULL };
9399  *  content selection pattern - do fix if pattern found
9400  */
9401 tSCC zVms_Forward_Declare_StructSelect0[] =
9402        "(/\\* forward decls for C\\+\\+ \\*/\n\
9403 )#ifdef __cplusplus\n";
9405 #define    VMS_FORWARD_DECLARE_STRUCT_TEST_CT  1
9406 static tTestDesc aVms_Forward_Declare_StructTests[] = {
9407   { TT_EGREP,    zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
9410  *  Fix Command Arguments for Vms_Forward_Declare_Struct
9411  */
9412 static const char* apzVms_Forward_Declare_StructPatch[] = {
9413     "format",
9414     "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
9415     (char*)NULL };
9417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9419  *  Description of Vms_No_64bit_Getopt fix
9420  */
9421 tSCC zVms_No_64bit_GetoptName[] =
9422      "vms_no_64bit_getopt";
9425  *  File name selection pattern
9426  */
9427 tSCC zVms_No_64bit_GetoptList[] =
9428   "rtldef/stdio.h\0rtldef/unistd.h\0";
9430  *  Machine/OS name selection pattern
9431  */
9432 tSCC* apzVms_No_64bit_GetoptMachs[] = {
9433         "*-*-*vms*",
9434         (const char*)NULL };
9437  *  content selection pattern - do fix if pattern found
9438  */
9439 tSCC zVms_No_64bit_GetoptSelect0[] =
9440        "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
9442 #define    VMS_NO_64BIT_GETOPT_TEST_CT  1
9443 static tTestDesc aVms_No_64bit_GetoptTests[] = {
9444   { TT_EGREP,    zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
9447  *  Fix Command Arguments for Vms_No_64bit_Getopt
9448  */
9449 static const char* apzVms_No_64bit_GetoptPatch[] = {
9450     "format",
9451     "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only.  */\n\
9452 %0#endif\n",
9453     (char*)NULL };
9455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9457  *  Description of Vms_Use_Fast_Setjmp fix
9458  */
9459 tSCC zVms_Use_Fast_SetjmpName[] =
9460      "vms_use_fast_setjmp";
9463  *  File name selection pattern
9464  */
9465 tSCC zVms_Use_Fast_SetjmpList[] =
9466   "rtldef/setjmp.h\0";
9468  *  Machine/OS name selection pattern
9469  */
9470 tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
9471         "*-*-*vms*",
9472         (const char*)NULL };
9475  *  content selection pattern - do fix if pattern found
9476  */
9477 tSCC zVms_Use_Fast_SetjmpSelect0[] =
9478        "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
9480 #define    VMS_USE_FAST_SETJMP_TEST_CT  1
9481 static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
9482   { TT_EGREP,    zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
9485  *  Fix Command Arguments for Vms_Use_Fast_Setjmp
9486  */
9487 static const char* apzVms_Use_Fast_SetjmpPatch[] = {
9488     "format",
9489     "%0 defined (__GNUC__) ||",
9490     (char*)NULL };
9492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9494  *  Description of Vms_Use_Pragma_Extern_Model fix
9495  */
9496 tSCC zVms_Use_Pragma_Extern_ModelName[] =
9497      "vms_use_pragma_extern_model";
9500  *  File name selection pattern
9501  */
9502 #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
9504  *  Machine/OS name selection pattern
9505  */
9506 tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
9507         "*-*-*vms*",
9508         (const char*)NULL };
9511  *  content selection pattern - do fix if pattern found
9512  */
9513 tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
9514        "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
9515 # pragma extern_model __save\n";
9517 #define    VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT  1
9518 static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
9519   { TT_EGREP,    zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
9522  *  Fix Command Arguments for Vms_Use_Pragma_Extern_Model
9523  */
9524 static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
9525     "format",
9526     "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
9527 # pragma extern_model __save\n",
9528     (char*)NULL };
9530 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9532  *  Description of Vms_Use_Quoted_Include fix
9533  */
9534 tSCC zVms_Use_Quoted_IncludeName[] =
9535      "vms_use_quoted_include";
9538  *  File name selection pattern
9539  */
9540 tSCC zVms_Use_Quoted_IncludeList[] =
9541   "rtldef/wait.h\0starlet_c/pthread.h\0";
9543  *  Machine/OS name selection pattern
9544  */
9545 tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
9546         "*-*-*vms*",
9547         (const char*)NULL };
9550  *  content selection pattern - do fix if pattern found
9551  */
9552 tSCC zVms_Use_Quoted_IncludeSelect0[] =
9553        "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
9555 #define    VMS_USE_QUOTED_INCLUDE_TEST_CT  1
9556 static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
9557   { TT_EGREP,    zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
9560  *  Fix Command Arguments for Vms_Use_Quoted_Include
9561  */
9562 static const char* apzVms_Use_Quoted_IncludePatch[] = {
9563     "format",
9564     "%1<sys/%2.h>",
9565     (char*)NULL };
9567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9569  *  Description of Void_Null fix
9570  */
9571 tSCC zVoid_NullName[] =
9572      "void_null";
9575  *  File name selection pattern
9576  */
9577 tSCC zVoid_NullList[] =
9578   "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";
9580  *  Machine/OS name selection pattern
9581  */
9582 #define apzVoid_NullMachs (const char**)NULL
9585  *  content selection pattern - do fix if pattern found
9586  */
9587 tSCC zVoid_NullSelect0[] =
9588        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
9591  *  content bypass pattern - skip fix if pattern found
9592  */
9593 tSCC zVoid_NullBypass0[] =
9594        "__cplusplus";
9595 tSCC zVoid_NullBypass1[] =
9596        "__null";
9598 #define    VOID_NULL_TEST_CT  3
9599 static tTestDesc aVoid_NullTests[] = {
9600   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
9601   { TT_NEGREP,   zVoid_NullBypass1, (regex_t*)NULL },
9602   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
9605  *  Fix Command Arguments for Void_Null
9606  */
9607 static const char* apzVoid_NullPatch[] = {
9608     "format",
9609     "#ifndef NULL\n\
9610 #ifdef __cplusplus\n\
9611 #ifdef __GNUG__\n\
9612 #define NULL __null\n\
9613 #else /* ! __GNUG__  */\n\
9614 #define NULL 0L\n\
9615 #endif /* __GNUG__  */\n\
9616 #else /* ! __cplusplus  */\n\
9617 #define NULL ((void *)0)\n\
9618 #endif /* __cplusplus  */\n\
9619 #endif /* !NULL  */",
9620     (char*)NULL };
9622 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9624  *  Description of Vxworks_Gcc_Problem fix
9625  */
9626 tSCC zVxworks_Gcc_ProblemName[] =
9627      "vxworks_gcc_problem";
9630  *  File name selection pattern
9631  */
9632 tSCC zVxworks_Gcc_ProblemList[] =
9633   "types/vxTypesBase.h\0";
9635  *  Machine/OS name selection pattern
9636  */
9637 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
9640  *  content selection pattern - do fix if pattern found
9641  */
9642 tSCC zVxworks_Gcc_ProblemSelect0[] =
9643        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
9645 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
9646 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
9647   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
9650  *  Fix Command Arguments for Vxworks_Gcc_Problem
9651  */
9652 static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
9653     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
9654     "-e", "/[ \t]size_t/i\\\n\
9655 #ifndef _GCC_SIZE_T\\\n\
9656 #define _GCC_SIZE_T\n",
9657     "-e", "/[ \t]size_t/a\\\n\
9658 #endif\n",
9659     "-e", "/[ \t]ptrdiff_t/i\\\n\
9660 #ifndef _GCC_PTRDIFF_T\\\n\
9661 #define _GCC_PTRDIFF_T\n",
9662     "-e", "/[ \t]ptrdiff_t/a\\\n\
9663 #endif\n",
9664     "-e", "/[ \t]wchar_t/i\\\n\
9665 #ifndef _GCC_WCHAR_T\\\n\
9666 #define _GCC_WCHAR_T\n",
9667     "-e", "/[ \t]wchar_t/a\\\n\
9668 #endif\n",
9669     (char*)NULL };
9671 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9673  *  Description of Vxworks_Ioctl_Macro fix
9674  */
9675 tSCC zVxworks_Ioctl_MacroName[] =
9676      "vxworks_ioctl_macro";
9679  *  File name selection pattern
9680  */
9681 tSCC zVxworks_Ioctl_MacroList[] =
9682   "ioLib.h\0";
9684  *  Machine/OS name selection pattern
9685  */
9686 tSCC* apzVxworks_Ioctl_MacroMachs[] = {
9687         "*-*-vxworks*",
9688         (const char*)NULL };
9689 #define VXWORKS_IOCTL_MACRO_TEST_CT  0
9690 #define aVxworks_Ioctl_MacroTests   (tTestDesc*)NULL
9693  *  Fix Command Arguments for Vxworks_Ioctl_Macro
9694  */
9695 static const char* apzVxworks_Ioctl_MacroPatch[] = {
9696     "format",
9697     "%0\n\
9698 #define ioctl(fd, func, arg) (ioctl)(fd, func, (int)(arg))\n",
9699     "extern[\t ]+int[\t ]+ioctl[\t ]*\\([\t ,[:alnum:]]*\\);",
9700     (char*)NULL };
9702 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9704  *  Description of Vxworks_Mkdir_Macro fix
9705  */
9706 tSCC zVxworks_Mkdir_MacroName[] =
9707      "vxworks_mkdir_macro";
9710  *  File name selection pattern
9711  */
9712 tSCC zVxworks_Mkdir_MacroList[] =
9713   "sys/stat.h\0";
9715  *  Machine/OS name selection pattern
9716  */
9717 tSCC* apzVxworks_Mkdir_MacroMachs[] = {
9718         "*-*-vxworks*",
9719         (const char*)NULL };
9720 #define VXWORKS_MKDIR_MACRO_TEST_CT  0
9721 #define aVxworks_Mkdir_MacroTests   (tTestDesc*)NULL
9724  *  Fix Command Arguments for Vxworks_Mkdir_Macro
9725  */
9726 static const char* apzVxworks_Mkdir_MacroPatch[] = {
9727     "format",
9728     "%0\n\
9729 #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir))\n",
9730     "extern[\t ]+STATUS[\t ]+mkdir[\t ]*\\([\t ]*const[\t ]+char[\t ]*\\*[\t ]*(|[_[:alpha:]][_[:alnum:]]*)\\)[\t ]*;",
9731     (char*)NULL };
9733 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9735  *  Description of Vxworks_Needs_Vxtypes fix
9736  */
9737 tSCC zVxworks_Needs_VxtypesName[] =
9738      "vxworks_needs_vxtypes";
9741  *  File name selection pattern
9742  */
9743 tSCC zVxworks_Needs_VxtypesList[] =
9744   "time.h\0";
9746  *  Machine/OS name selection pattern
9747  */
9748 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
9751  *  content selection pattern - do fix if pattern found
9752  */
9753 tSCC zVxworks_Needs_VxtypesSelect0[] =
9754        "uint_t([ \t]+_clocks_per_sec)";
9756 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
9757 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
9758   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
9761  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
9762  */
9763 static const char* apzVxworks_Needs_VxtypesPatch[] = {
9764     "format",
9765     "unsigned int%1",
9766     (char*)NULL };
9768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9770  *  Description of Vxworks_Needs_Vxworks fix
9771  */
9772 tSCC zVxworks_Needs_VxworksName[] =
9773      "vxworks_needs_vxworks";
9776  *  File name selection pattern
9777  */
9778 tSCC zVxworks_Needs_VxworksList[] =
9779   "sys/stat.h\0";
9781  *  Machine/OS name selection pattern
9782  */
9783 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
9786  *  content selection pattern - do fix if pattern found
9787  */
9788 tSCC zVxworks_Needs_VxworksSelect0[] =
9789        "#[ \t]define[ \t]+__INCstath";
9792  *  perform the 'test' shell command - do fix on success
9793  */
9794 tSCC zVxworks_Needs_VxworksTest0[] =
9795        " -r types/vxTypesOld.h";
9796 tSCC zVxworks_Needs_VxworksTest1[] =
9797        " -n \"`egrep '#include' $file`\"";
9798 tSCC zVxworks_Needs_VxworksTest2[] =
9799        " -n \"`egrep ULONG $file`\"";
9801 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
9802 static tTestDesc aVxworks_Needs_VxworksTests[] = {
9803   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
9804   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
9805   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
9806   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
9809  *  Fix Command Arguments for Vxworks_Needs_Vxworks
9810  */
9811 static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
9812     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
9813 #include <types/vxTypesOld.h>\n",
9814     (char*)NULL };
9816 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9818  *  Description of Vxworks_Regs fix
9819  */
9820 tSCC zVxworks_RegsName[] =
9821      "vxworks_regs";
9824  *  File name selection pattern
9825  */
9826 #define zVxworks_RegsList (char*)NULL
9828  *  Machine/OS name selection pattern
9829  */
9830 tSCC* apzVxworks_RegsMachs[] = {
9831         "*-*-vxworks*",
9832         (const char*)NULL };
9835  *  content selection pattern - do fix if pattern found
9836  */
9837 tSCC zVxworks_RegsSelect0[] =
9838        "#[\t ]*include[\t ]+[<\"]regs.h[>\"]";
9840 #define    VXWORKS_REGS_TEST_CT  1
9841 static tTestDesc aVxworks_RegsTests[] = {
9842   { TT_EGREP,    zVxworks_RegsSelect0, (regex_t*)NULL }, };
9845  *  Fix Command Arguments for Vxworks_Regs
9846  */
9847 static const char* apzVxworks_RegsPatch[] = {
9848     "format",
9849     "#include <arch/../regs.h>",
9850     (char*)NULL };
9852 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9854  *  Description of Vxworks_Time fix
9855  */
9856 tSCC zVxworks_TimeName[] =
9857      "vxworks_time";
9860  *  File name selection pattern
9861  */
9862 tSCC zVxworks_TimeList[] =
9863   "time.h\0";
9865  *  Machine/OS name selection pattern
9866  */
9867 #define apzVxworks_TimeMachs (const char**)NULL
9870  *  content selection pattern - do fix if pattern found
9871  */
9872 tSCC zVxworks_TimeSelect0[] =
9873        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
9876  *  perform the 'test' shell command - do fix on success
9877  */
9878 tSCC zVxworks_TimeTest0[] =
9879        " -r vxWorks.h";
9881 #define    VXWORKS_TIME_TEST_CT  2
9882 static tTestDesc aVxworks_TimeTests[] = {
9883   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
9884   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
9887  *  Fix Command Arguments for Vxworks_Time
9888  */
9889 static const char* apzVxworks_TimePatch[] = {
9890     "format",
9891     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
9892 #ifdef __cplusplus\n\
9893 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
9894 #else\n\
9895 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
9896 #endif\n\
9897 #define __gcc_VOIDFUNCPTR_defined\n\
9898 #endif\n\
9899 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
9900     (char*)NULL };
9902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9904  *  Description of Vxworks_Write_Const fix
9905  */
9906 tSCC zVxworks_Write_ConstName[] =
9907      "vxworks_write_const";
9910  *  File name selection pattern
9911  */
9912 tSCC zVxworks_Write_ConstList[] =
9913   "ioLib.h\0";
9915  *  Machine/OS name selection pattern
9916  */
9917 tSCC* apzVxworks_Write_ConstMachs[] = {
9918         "*-*-vxworks*",
9919         (const char*)NULL };
9920 #define VXWORKS_WRITE_CONST_TEST_CT  0
9921 #define aVxworks_Write_ConstTests   (tTestDesc*)NULL
9924  *  Fix Command Arguments for Vxworks_Write_Const
9925  */
9926 static const char* apzVxworks_Write_ConstPatch[] = {
9927     "format",
9928     "extern int  write (int, const char*, size_t);",
9929     "extern[\t ]+int[\t ]+write[\t ]*\\([\t ]*int[\t ]*,[\t ]*char[\t ]*\\*[\t ]*,[\t ]*size_t[\t ]*\\)[\t ]*;",
9930     (char*)NULL };
9932 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9934  *  Description of X11_Class fix
9935  */
9936 tSCC zX11_ClassName[] =
9937      "x11_class";
9940  *  File name selection pattern
9941  */
9942 tSCC zX11_ClassList[] =
9943   "X11/ShellP.h\0";
9945  *  Machine/OS name selection pattern
9946  */
9947 #define apzX11_ClassMachs (const char**)NULL
9950  *  content selection pattern - do fix if pattern found
9951  */
9952 tSCC zX11_ClassSelect0[] =
9953        "^([ \t]*char \\*)class;(.*)";
9956  *  content bypass pattern - skip fix if pattern found
9957  */
9958 tSCC zX11_ClassBypass0[] =
9959        "__cplusplus";
9961 #define    X11_CLASS_TEST_CT  2
9962 static tTestDesc aX11_ClassTests[] = {
9963   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
9964   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
9967  *  Fix Command Arguments for X11_Class
9968  */
9969 static const char* apzX11_ClassPatch[] = {
9970     "format",
9971     "#ifdef __cplusplus\n\
9972 %1c_class;%2\n\
9973 #else\n\
9974 %1class;%2\n\
9975 #endif",
9976     (char*)NULL };
9978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9980  *  Description of X11_Class_Usage fix
9981  */
9982 tSCC zX11_Class_UsageName[] =
9983      "x11_class_usage";
9986  *  File name selection pattern
9987  */
9988 tSCC zX11_Class_UsageList[] =
9989   "Xm/BaseClassI.h\0";
9991  *  Machine/OS name selection pattern
9992  */
9993 #define apzX11_Class_UsageMachs (const char**)NULL
9996  *  content selection pattern - do fix if pattern found
9997  */
9998 tSCC zX11_Class_UsageSelect0[] =
9999        " class\\)";
10002  *  content bypass pattern - skip fix if pattern found
10003  */
10004 tSCC zX11_Class_UsageBypass0[] =
10005        "__cplusplus";
10007 #define    X11_CLASS_USAGE_TEST_CT  2
10008 static tTestDesc aX11_Class_UsageTests[] = {
10009   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
10010   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
10013  *  Fix Command Arguments for X11_Class_Usage
10014  */
10015 static const char* apzX11_Class_UsagePatch[] = {
10016     "format",
10017     " c_class)",
10018     (char*)NULL };
10020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10022  *  Description of X11_New fix
10023  */
10024 tSCC zX11_NewName[] =
10025      "x11_new";
10028  *  File name selection pattern
10029  */
10030 tSCC zX11_NewList[] =
10031   "Xm/Traversal.h\0";
10033  *  Machine/OS name selection pattern
10034  */
10035 #define apzX11_NewMachs (const char**)NULL
10038  *  content bypass pattern - skip fix if pattern found
10039  */
10040 tSCC zX11_NewBypass0[] =
10041        "__cplusplus";
10043 #define    X11_NEW_TEST_CT  1
10044 static tTestDesc aX11_NewTests[] = {
10045   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
10048  *  Fix Command Arguments for X11_New
10049  */
10050 static const char* apzX11_NewPatch[] = { sed_cmd_z,
10051     "-e", "/Widget\told, new;/i\\\n\
10052 #ifdef __cplusplus\\\n\
10053 \\\tWidget\told, c_new;\\\n\
10054 #else\n",
10055     "-e", "/Widget\told, new;/a\\\n\
10056 #endif\n",
10057     "-e", "s/Widget new,/Widget c_new,/g",
10058     (char*)NULL };
10060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10062  *  Description of X11_Sprintf fix
10063  */
10064 tSCC zX11_SprintfName[] =
10065      "x11_sprintf";
10068  *  File name selection pattern
10069  */
10070 tSCC zX11_SprintfList[] =
10071   "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
10073  *  Machine/OS name selection pattern
10074  */
10075 #define apzX11_SprintfMachs (const char**)NULL
10078  *  content selection pattern - do fix if pattern found
10079  */
10080 tSCC zX11_SprintfSelect0[] =
10081        "^extern char \\*\tsprintf\\(\\);$";
10083 #define    X11_SPRINTF_TEST_CT  1
10084 static tTestDesc aX11_SprintfTests[] = {
10085   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
10088  *  Fix Command Arguments for X11_Sprintf
10089  */
10090 static const char* apzX11_SprintfPatch[] = {
10091     "format",
10092     "#ifndef __STDC__\n\
10093 %0\n\
10094 #endif /* !defined __STDC__ */",
10095     (char*)NULL };
10098 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10100  *  List of all fixes
10101  */
10102 #define REGEX_COUNT          287
10103 #define MACH_LIST_SIZE_LIMIT 187
10104 #define FIX_COUNT            249
10107  *  Enumerate the fixes
10108  */
10109 typedef enum {
10110     AAB_AIX_STDIO_FIXIDX,
10111     AAB_AIX_FCNTL_FIXIDX,
10112     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
10113     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
10114     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
10115     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
10116     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
10117     AAB_SUN_MEMCPY_FIXIDX,
10118     AAB_VXWORKS_ASSERT_FIXIDX,
10119     AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
10120     AAB_VXWORKS_UNISTD_FIXIDX,
10121     AIX_ASSERT_FIXIDX,
10122     AIX_COMPLEX_FIXIDX,
10123     AIX_EXTERNC_FIXIDX,
10124     AIX_EXTERNCPP1_FIXIDX,
10125     AIX_EXTERNCPP2_FIXIDX,
10126     AIX_MALLOC_FIXIDX,
10127     AIX_NET_IF_ARP_FIXIDX,
10128     AIX_NULL_FIXIDX,
10129     AIX_ONCE_INIT_1_FIXIDX,
10130     AIX_ONCE_INIT_2_FIXIDX,
10131     AIX_MUTEX_INITIALIZER_1_FIXIDX,
10132     AIX_COND_INITIALIZER_1_FIXIDX,
10133     AIX_RWLOCK_INITIALIZER_1_FIXIDX,
10134     AIX_PTHREAD_FIXIDX,
10135     AIX_STDINT_1_FIXIDX,
10136     AIX_STDINT_2_FIXIDX,
10137     AIX_STDINT_3_FIXIDX,
10138     AIX_STDINT_4_FIXIDX,
10139     AIX_STDINT_5_FIXIDX,
10140     AIX_STDIO_INLINE_FIXIDX,
10141     AIX_STDLIB_MALLOC_FIXIDX,
10142     AIX_STDLIB_REALLOC_FIXIDX,
10143     AIX_STDLIB_CALLOC_FIXIDX,
10144     AIX_STDLIB_VALLOC_FIXIDX,
10145     AIX_STDLIB_VEC_MALLOC_FIXIDX,
10146     AIX_STDLIB_VEC_CALLOC_FIXIDX,
10147     AIX_STRTOF_CONST_FIXIDX,
10148     AIX_SYSMACHINE_FIXIDX,
10149     AIX_SYSWAIT_2_FIXIDX,
10150     AIX_VOLATILE_FIXIDX,
10151     ALPHA___ASSERT_FIXIDX,
10152     ALPHA_ASSERT_FIXIDX,
10153     ALPHA_GETOPT_FIXIDX,
10154     ALPHA_IF_SEMICOLON_FIXIDX,
10155     ALPHA_PARENS_FIXIDX,
10156     ALPHA_SBRK_FIXIDX,
10157     AVOID_BOOL_DEFINE_FIXIDX,
10158     AVOID_BOOL_TYPE_FIXIDX,
10159     AVOID_WCHAR_T_TYPE_FIXIDX,
10160     BAD_STRUCT_TERM_FIXIDX,
10161     BADQUOTE_FIXIDX,
10162     BROKEN_ASSERT_STDIO_FIXIDX,
10163     BROKEN_ASSERT_STDLIB_FIXIDX,
10164     BROKEN_CABS_FIXIDX,
10165     BROKEN_NAN_FIXIDX,
10166     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
10167     CTRL_QUOTES_DEF_FIXIDX,
10168     CTRL_QUOTES_USE_FIXIDX,
10169     CXX_UNREADY_FIXIDX,
10170     DARWIN_AVAILABILITYINTERNAL_FIXIDX,
10171     DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
10172     DARWIN_EXTERNC_FIXIDX,
10173     DARWIN_GCC4_BREAKAGE_FIXIDX,
10174     DARWIN_LONGJMP_NORETURN_FIXIDX,
10175     DARWIN_OS_TRACE_1_FIXIDX,
10176     DARWIN_OS_TRACE_2_FIXIDX,
10177     DARWIN_OS_TRACE_3_FIXIDX,
10178     DARWIN_PRIVATE_EXTERN_FIXIDX,
10179     DARWIN_STDINT_1_FIXIDX,
10180     DARWIN_STDINT_2_FIXIDX,
10181     DARWIN_STDINT_3_FIXIDX,
10182     DARWIN_STDINT_4_FIXIDX,
10183     DARWIN_STDINT_5_FIXIDX,
10184     DARWIN_STDINT_6_FIXIDX,
10185     DARWIN_STDINT_7_FIXIDX,
10186     DEC_INTERN_ASM_FIXIDX,
10187     DJGPP_WCHAR_H_FIXIDX,
10188     ECD_CURSOR_FIXIDX,
10189     FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX,
10190     FERAISEEXCEPT_NOSSE_INVALID_FIXIDX,
10191     FREEBSD_GCC3_BREAKAGE_FIXIDX,
10192     FREEBSD_GCC4_BREAKAGE_FIXIDX,
10193     GLIBC_C99_INLINE_1_FIXIDX,
10194     GLIBC_C99_INLINE_1A_FIXIDX,
10195     GLIBC_C99_INLINE_2_FIXIDX,
10196     GLIBC_C99_INLINE_3_FIXIDX,
10197     GLIBC_C99_INLINE_4_FIXIDX,
10198     GLIBC_MUTEX_INIT_FIXIDX,
10199     GLIBC_STDINT_FIXIDX,
10200     GLIBC_STRNCPY_FIXIDX,
10201     GLIBC_TGMATH_FIXIDX,
10202     GNU_TYPES_FIXIDX,
10203     HP_INLINE_FIXIDX,
10204     HP_SYSFILE_FIXIDX,
10205     HPPA_HPUX_FP_MACROS_FIXIDX,
10206     HPUX10_CPP_POW_INLINE_FIXIDX,
10207     HPUX11_CPP_POW_INLINE_FIXIDX,
10208     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
10209     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
10210     HPUX10_STDIO_DECLARATIONS_FIXIDX,
10211     HPPA_HPUX11_ALLOCA_FIXIDX,
10212     HPUX11_ABS_FIXIDX,
10213     HPUX11_LWP_RWLOCK_VALID_FIXIDX,
10214     HPUX11_EXTERN_SENDFILE_FIXIDX,
10215     HPUX11_EXTERN_SENDPATH_FIXIDX,
10216     HPUX11_FABSF_FIXIDX,
10217     HPUX11_PTHREAD_POINTER_FIXIDX,
10218     HPUX11_PTHREAD_CONST_FIXIDX,
10219     HPUX11_SIZE_T_FIXIDX,
10220     HPUX11_SNPRINTF_FIXIDX,
10221     HPUX11_VSNPRINTF_FIXIDX,
10222     HPUX_VSSCANF_FIXIDX,
10223     HPUX8_BOGUS_INLINES_FIXIDX,
10224     HPUX_C99_INTPTR_FIXIDX,
10225     HPUX_C99_INTTYPES_FIXIDX,
10226     HPUX_C99_INTTYPES2_FIXIDX,
10227     HPUX_CTYPE_MACROS_FIXIDX,
10228     HPUX_EXTERN_ERRNO_FIXIDX,
10229     HPUX_HTONL_FIXIDX,
10230     HPUX_IMAGINARY_I_FIXIDX,
10231     HPUX_INTTYPE_INT8_T_FIXIDX,
10232     HPUX_LONG_DOUBLE_FIXIDX,
10233     HPUX_LONG_DOUBLE_2_FIXIDX,
10234     HPUX_PTHREAD_INITIALIZERS_FIXIDX,
10235     HPUX_SPU_INFO_FIXIDX,
10236     HPUX_STDINT_LEAST_FAST_FIXIDX,
10237     HPUX_LONGJMP_FIXIDX,
10238     HPUX_SYSTIME_FIXIDX,
10239     HUGE_VAL_HEX_FIXIDX,
10240     HUGE_VALF_HEX_FIXIDX,
10241     HUGE_VALL_HEX_FIXIDX,
10242     INT_ABORT_FREE_AND_EXIT_FIXIDX,
10243     IO_QUOTES_DEF_FIXIDX,
10244     IO_QUOTES_USE_FIXIDX,
10245     IP_MISSING_SEMI_FIXIDX,
10246     IRIX_LIMITS_CONST_FIXIDX,
10247     IRIX_STDIO_VA_LIST_FIXIDX,
10248     KANDR_CONCAT_FIXIDX,
10249     LINUX_IA64_UCONTEXT_FIXIDX,
10250     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
10251     LYNXOS_MISSING_PUTENV_FIXIDX,
10252     MACHINE_ANSI_H_VA_LIST_FIXIDX,
10253     MACHINE_NAME_FIXIDX,
10254     MATH_EXCEPTION_FIXIDX,
10255     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
10256     NESTED_AUTH_DES_FIXIDX,
10257     NETBSD_C99_INLINE_1_FIXIDX,
10258     NETBSD_C99_INLINE_2_FIXIDX,
10259     NETBSD_EXTRA_SEMICOLON_FIXIDX,
10260     NEWLIB_STDINT_1_FIXIDX,
10261     NEWLIB_STDINT_2_FIXIDX,
10262     NEXT_MATH_PREFIX_FIXIDX,
10263     NEXT_TEMPLATE_FIXIDX,
10264     NEXT_VOLITILE_FIXIDX,
10265     NEXT_WAIT_UNION_FIXIDX,
10266     NODEENT_SYNTAX_FIXIDX,
10267     OPENBSD_NULL_DEFINITION_FIXIDX,
10268     OBSTACK_LVALUE_CAST_FIXIDX,
10269     OPENBSD_VA_START_FIXIDX,
10270     OSF_NAMESPACE_A_FIXIDX,
10271     OSF_NAMESPACE_C_FIXIDX,
10272     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
10273     READ_RET_TYPE_FIXIDX,
10274     RPC_XDR_LVALUE_CAST_A_FIXIDX,
10275     RPC_XDR_LVALUE_CAST_B_FIXIDX,
10276     RS6000_DOUBLE_FIXIDX,
10277     RS6000_FCHMOD_FIXIDX,
10278     RS6000_PARAM_FIXIDX,
10279     SOLARIS___RESTRICT_FIXIDX,
10280     SOLARIS_COMPLEX_FIXIDX,
10281     SOLARIS_COMPLEX_CXX_FIXIDX,
10282     SOLARIS_CXX_LINKAGE_FIXIDX,
10283     SOLARIS_GETC_STRICT_STDC_FIXIDX,
10284     SOLARIS_GETS_C11_FIXIDX,
10285     SOLARIS_GETS_CXX14_FIXIDX,
10286     SOLARIS_INT_CONST_FIXIDX,
10287     SOLARIS_INT_LIMITS_1_FIXIDX,
10288     SOLARIS_INT_LIMITS_2_FIXIDX,
10289     SOLARIS_INT_LIMITS_3_FIXIDX,
10290     SOLARIS_MATH_1_FIXIDX,
10291     SOLARIS_MATH_10_FIXIDX,
10292     SOLARIS_MATH_2_FIXIDX,
10293     SOLARIS_MATH_3_FIXIDX,
10294     SOLARIS_MATH_4_FIXIDX,
10295     SOLARIS_MATH_8_FIXIDX,
10296     SOLARIS_MATH_9_FIXIDX,
10297     SOLARIS_MATH_11_FIXIDX,
10298     SOLARIS_MATH_12_FIXIDX,
10299     SOLARIS_ONCE_INIT_1_FIXIDX,
10300     SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
10301     SOLARIS_POW_INT_OVERLOAD_FIXIDX,
10302     SOLARIS_RWLOCK_INIT_1_FIXIDX,
10303     SOLARIS_STD___FILBUF_FIXIDX,
10304     SOLARIS_STD_GETS_CXX14_FIXIDX,
10305     SOLARIS_STDIO_TAG_FIXIDX,
10306     SOLARIS_STDLIB_NORETURN_FIXIDX,
10307     STATSSWTCH_FIXIDX,
10308     STDIO_STDARG_H_FIXIDX,
10309     STDIO_VA_LIST_FIXIDX,
10310     STDIO_VA_LIST_CLIENTS_FIXIDX,
10311     STRICT_ANSI_NOT_FIXIDX,
10312     STRICT_ANSI_NOT_CTD_FIXIDX,
10313     STRICT_ANSI_ONLY_FIXIDX,
10314     STRUCT_FILE_FIXIDX,
10315     STRUCT_SOCKADDR_FIXIDX,
10316     SUN_AUTH_PROTO_FIXIDX,
10317     SUN_BOGUS_IFDEF_FIXIDX,
10318     SUN_CATMACRO_FIXIDX,
10319     SUN_MALLOC_FIXIDX,
10320     SUN_RUSERS_SEMI_FIXIDX,
10321     SUN_SIGNAL_FIXIDX,
10322     SUNOS_STRLEN_FIXIDX,
10323     SUSE_LINUX_VT_CXX_FIXIDX,
10324     SVR4_DISABLE_OPT_FIXIDX,
10325     SVR4_GETCWD_FIXIDX,
10326     SVR4_PROFIL_FIXIDX,
10327     SVR4_SIGHANDLER_TYPE_FIXIDX,
10328     SVR4_UNDECLARED_GETRNGE_FIXIDX,
10329     SYSV68_STRING_FIXIDX,
10330     SYSZ_STDLIB_FOR_SUN_FIXIDX,
10331     THREAD_KEYWORD_FIXIDX,
10332     TINFO_CPLUSPLUS_FIXIDX,
10333     ULTRIX_CONST_FIXIDX,
10334     ULTRIX_CONST2_FIXIDX,
10335     VA_I960_MACRO_FIXIDX,
10336     VMS_ADD_MISSING_BRACES_FIXIDX,
10337     VMS_DECC_BUILTIN_FIXIDX,
10338     VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
10339     VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
10340     VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
10341     VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
10342     VMS_NO_64BIT_GETOPT_FIXIDX,
10343     VMS_USE_FAST_SETJMP_FIXIDX,
10344     VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
10345     VMS_USE_QUOTED_INCLUDE_FIXIDX,
10346     VOID_NULL_FIXIDX,
10347     VXWORKS_GCC_PROBLEM_FIXIDX,
10348     VXWORKS_IOCTL_MACRO_FIXIDX,
10349     VXWORKS_MKDIR_MACRO_FIXIDX,
10350     VXWORKS_NEEDS_VXTYPES_FIXIDX,
10351     VXWORKS_NEEDS_VXWORKS_FIXIDX,
10352     VXWORKS_REGS_FIXIDX,
10353     VXWORKS_TIME_FIXIDX,
10354     VXWORKS_WRITE_CONST_FIXIDX,
10355     X11_CLASS_FIXIDX,
10356     X11_CLASS_USAGE_FIXIDX,
10357     X11_NEW_FIXIDX,
10358     X11_SPRINTF_FIXIDX
10359 } t_fixinc_idx;
10361 tFixDesc fixDescList[ FIX_COUNT ] = {
10362   {  zAab_Aix_StdioName,    zAab_Aix_StdioList,
10363      apzAab_Aix_StdioMachs,
10364      AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10365      aAab_Aix_StdioTests,   apzAab_Aix_StdioPatch, 0 },
10367   {  zAab_Aix_FcntlName,    zAab_Aix_FcntlList,
10368      apzAab_Aix_FcntlMachs,
10369      AAB_AIX_FCNTL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10370      aAab_Aix_FcntlTests,   apzAab_Aix_FcntlPatch, 0 },
10372   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
10373      apzAab_Darwin7_9_Long_Double_FuncsMachs,
10374      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10375      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
10377   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
10378      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
10379      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10380      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
10382   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
10383      apzAab_Fd_Zero_Gnu_Types_HMachs,
10384      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10385      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
10387   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
10388      apzAab_Fd_Zero_Selectbits_HMachs,
10389      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10390      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
10392   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
10393      apzAab_Solaris_Sys_Varargs_HMachs,
10394      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10395      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
10397   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
10398      apzAab_Sun_MemcpyMachs,
10399      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10400      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
10402   {  zAab_Vxworks_AssertName,    zAab_Vxworks_AssertList,
10403      apzAab_Vxworks_AssertMachs,
10404      AAB_VXWORKS_ASSERT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10405      aAab_Vxworks_AssertTests,   apzAab_Vxworks_AssertPatch, 0 },
10407   {  zAab_Vxworks_Regs_VxtypesName,    zAab_Vxworks_Regs_VxtypesList,
10408      apzAab_Vxworks_Regs_VxtypesMachs,
10409      AAB_VXWORKS_REGS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10410      aAab_Vxworks_Regs_VxtypesTests,   apzAab_Vxworks_Regs_VxtypesPatch, 0 },
10412   {  zAab_Vxworks_UnistdName,    zAab_Vxworks_UnistdList,
10413      apzAab_Vxworks_UnistdMachs,
10414      AAB_VXWORKS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10415      aAab_Vxworks_UnistdTests,   apzAab_Vxworks_UnistdPatch, 0 },
10417   {  zAix_AssertName,    zAix_AssertList,
10418      apzAix_AssertMachs,
10419      AIX_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10420      aAix_AssertTests,   apzAix_AssertPatch, 0 },
10422   {  zAix_ComplexName,    zAix_ComplexList,
10423      apzAix_ComplexMachs,
10424      AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10425      aAix_ComplexTests,   apzAix_ComplexPatch, 0 },
10427   {  zAix_ExterncName,    zAix_ExterncList,
10428      apzAix_ExterncMachs,
10429      AIX_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10430      aAix_ExterncTests,   apzAix_ExterncPatch, 0 },
10432   {  zAix_Externcpp1Name,    zAix_Externcpp1List,
10433      apzAix_Externcpp1Machs,
10434      AIX_EXTERNCPP1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10435      aAix_Externcpp1Tests,   apzAix_Externcpp1Patch, 0 },
10437   {  zAix_Externcpp2Name,    zAix_Externcpp2List,
10438      apzAix_Externcpp2Machs,
10439      AIX_EXTERNCPP2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10440      aAix_Externcpp2Tests,   apzAix_Externcpp2Patch, 0 },
10442   {  zAix_MallocName,    zAix_MallocList,
10443      apzAix_MallocMachs,
10444      AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10445      aAix_MallocTests,   apzAix_MallocPatch, 0 },
10447   {  zAix_Net_If_ArpName,    zAix_Net_If_ArpList,
10448      apzAix_Net_If_ArpMachs,
10449      AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10450      aAix_Net_If_ArpTests,   apzAix_Net_If_ArpPatch, 0 },
10452   {  zAix_NullName,    zAix_NullList,
10453      apzAix_NullMachs,
10454      AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10455      aAix_NullTests,   apzAix_NullPatch, 0 },
10457   {  zAix_Once_Init_1Name,    zAix_Once_Init_1List,
10458      apzAix_Once_Init_1Machs,
10459      AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10460      aAix_Once_Init_1Tests,   apzAix_Once_Init_1Patch, 0 },
10462   {  zAix_Once_Init_2Name,    zAix_Once_Init_2List,
10463      apzAix_Once_Init_2Machs,
10464      AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10465      aAix_Once_Init_2Tests,   apzAix_Once_Init_2Patch, 0 },
10467   {  zAix_Mutex_Initializer_1Name,    zAix_Mutex_Initializer_1List,
10468      apzAix_Mutex_Initializer_1Machs,
10469      AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10470      aAix_Mutex_Initializer_1Tests,   apzAix_Mutex_Initializer_1Patch, 0 },
10472   {  zAix_Cond_Initializer_1Name,    zAix_Cond_Initializer_1List,
10473      apzAix_Cond_Initializer_1Machs,
10474      AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10475      aAix_Cond_Initializer_1Tests,   apzAix_Cond_Initializer_1Patch, 0 },
10477   {  zAix_Rwlock_Initializer_1Name,    zAix_Rwlock_Initializer_1List,
10478      apzAix_Rwlock_Initializer_1Machs,
10479      AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10480      aAix_Rwlock_Initializer_1Tests,   apzAix_Rwlock_Initializer_1Patch, 0 },
10482   {  zAix_PthreadName,    zAix_PthreadList,
10483      apzAix_PthreadMachs,
10484      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10485      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
10487   {  zAix_Stdint_1Name,    zAix_Stdint_1List,
10488      apzAix_Stdint_1Machs,
10489      AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10490      aAix_Stdint_1Tests,   apzAix_Stdint_1Patch, 0 },
10492   {  zAix_Stdint_2Name,    zAix_Stdint_2List,
10493      apzAix_Stdint_2Machs,
10494      AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10495      aAix_Stdint_2Tests,   apzAix_Stdint_2Patch, 0 },
10497   {  zAix_Stdint_3Name,    zAix_Stdint_3List,
10498      apzAix_Stdint_3Machs,
10499      AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10500      aAix_Stdint_3Tests,   apzAix_Stdint_3Patch, 0 },
10502   {  zAix_Stdint_4Name,    zAix_Stdint_4List,
10503      apzAix_Stdint_4Machs,
10504      AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10505      aAix_Stdint_4Tests,   apzAix_Stdint_4Patch, 0 },
10507   {  zAix_Stdint_5Name,    zAix_Stdint_5List,
10508      apzAix_Stdint_5Machs,
10509      AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10510      aAix_Stdint_5Tests,   apzAix_Stdint_5Patch, 0 },
10512   {  zAix_Stdio_InlineName,    zAix_Stdio_InlineList,
10513      apzAix_Stdio_InlineMachs,
10514      AIX_STDIO_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10515      aAix_Stdio_InlineTests,   apzAix_Stdio_InlinePatch, 0 },
10517   {  zAix_Stdlib_MallocName,    zAix_Stdlib_MallocList,
10518      apzAix_Stdlib_MallocMachs,
10519      AIX_STDLIB_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10520      aAix_Stdlib_MallocTests,   apzAix_Stdlib_MallocPatch, 0 },
10522   {  zAix_Stdlib_ReallocName,    zAix_Stdlib_ReallocList,
10523      apzAix_Stdlib_ReallocMachs,
10524      AIX_STDLIB_REALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10525      aAix_Stdlib_ReallocTests,   apzAix_Stdlib_ReallocPatch, 0 },
10527   {  zAix_Stdlib_CallocName,    zAix_Stdlib_CallocList,
10528      apzAix_Stdlib_CallocMachs,
10529      AIX_STDLIB_CALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10530      aAix_Stdlib_CallocTests,   apzAix_Stdlib_CallocPatch, 0 },
10532   {  zAix_Stdlib_VallocName,    zAix_Stdlib_VallocList,
10533      apzAix_Stdlib_VallocMachs,
10534      AIX_STDLIB_VALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10535      aAix_Stdlib_VallocTests,   apzAix_Stdlib_VallocPatch, 0 },
10537   {  zAix_Stdlib_Vec_MallocName,    zAix_Stdlib_Vec_MallocList,
10538      apzAix_Stdlib_Vec_MallocMachs,
10539      AIX_STDLIB_VEC_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10540      aAix_Stdlib_Vec_MallocTests,   apzAix_Stdlib_Vec_MallocPatch, 0 },
10542   {  zAix_Stdlib_Vec_CallocName,    zAix_Stdlib_Vec_CallocList,
10543      apzAix_Stdlib_Vec_CallocMachs,
10544      AIX_STDLIB_VEC_CALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10545      aAix_Stdlib_Vec_CallocTests,   apzAix_Stdlib_Vec_CallocPatch, 0 },
10547   {  zAix_Strtof_ConstName,    zAix_Strtof_ConstList,
10548      apzAix_Strtof_ConstMachs,
10549      AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10550      aAix_Strtof_ConstTests,   apzAix_Strtof_ConstPatch, 0 },
10552   {  zAix_SysmachineName,    zAix_SysmachineList,
10553      apzAix_SysmachineMachs,
10554      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10555      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
10557   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
10558      apzAix_Syswait_2Machs,
10559      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10560      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
10562   {  zAix_VolatileName,    zAix_VolatileList,
10563      apzAix_VolatileMachs,
10564      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10565      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
10567   {  zAlpha___AssertName,    zAlpha___AssertList,
10568      apzAlpha___AssertMachs,
10569      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10570      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
10572   {  zAlpha_AssertName,    zAlpha_AssertList,
10573      apzAlpha_AssertMachs,
10574      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10575      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
10577   {  zAlpha_GetoptName,    zAlpha_GetoptList,
10578      apzAlpha_GetoptMachs,
10579      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10580      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
10582   {  zAlpha_If_SemicolonName,    zAlpha_If_SemicolonList,
10583      apzAlpha_If_SemicolonMachs,
10584      ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10585      aAlpha_If_SemicolonTests,   apzAlpha_If_SemicolonPatch, 0 },
10587   {  zAlpha_ParensName,    zAlpha_ParensList,
10588      apzAlpha_ParensMachs,
10589      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10590      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
10592   {  zAlpha_SbrkName,    zAlpha_SbrkList,
10593      apzAlpha_SbrkMachs,
10594      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10595      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
10597   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
10598      apzAvoid_Bool_DefineMachs,
10599      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10600      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
10602   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
10603      apzAvoid_Bool_TypeMachs,
10604      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10605      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
10607   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
10608      apzAvoid_Wchar_T_TypeMachs,
10609      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10610      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
10612   {  zBad_Struct_TermName,    zBad_Struct_TermList,
10613      apzBad_Struct_TermMachs,
10614      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10615      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
10617   {  zBadquoteName,    zBadquoteList,
10618      apzBadquoteMachs,
10619      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10620      aBadquoteTests,   apzBadquotePatch, 0 },
10622   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
10623      apzBroken_Assert_StdioMachs,
10624      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10625      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
10627   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
10628      apzBroken_Assert_StdlibMachs,
10629      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10630      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
10632   {  zBroken_CabsName,    zBroken_CabsList,
10633      apzBroken_CabsMachs,
10634      BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
10635      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
10637   {  zBroken_NanName,    zBroken_NanList,
10638      apzBroken_NanMachs,
10639      BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10640      aBroken_NanTests,   apzBroken_NanPatch, 0 },
10642   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
10643      apzBsd_Stdio_Attrs_ConflictMachs,
10644      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10645      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
10647   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
10648      apzCtrl_Quotes_DefMachs,
10649      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10650      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
10652   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
10653      apzCtrl_Quotes_UseMachs,
10654      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10655      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
10657   {  zCxx_UnreadyName,    zCxx_UnreadyList,
10658      apzCxx_UnreadyMachs,
10659      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10660      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
10662   {  zDarwin_AvailabilityinternalName,    zDarwin_AvailabilityinternalList,
10663      apzDarwin_AvailabilityinternalMachs,
10664      DARWIN_AVAILABILITYINTERNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10665      aDarwin_AvailabilityinternalTests,   apzDarwin_AvailabilityinternalPatch, 0 },
10667   {  zDarwin_9_Long_Double_Funcs_2Name,    zDarwin_9_Long_Double_Funcs_2List,
10668      apzDarwin_9_Long_Double_Funcs_2Machs,
10669      DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10670      aDarwin_9_Long_Double_Funcs_2Tests,   apzDarwin_9_Long_Double_Funcs_2Patch, 0 },
10672   {  zDarwin_ExterncName,    zDarwin_ExterncList,
10673      apzDarwin_ExterncMachs,
10674      DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10675      aDarwin_ExterncTests,   apzDarwin_ExterncPatch, 0 },
10677   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
10678      apzDarwin_Gcc4_BreakageMachs,
10679      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10680      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
10682   {  zDarwin_Longjmp_NoreturnName,    zDarwin_Longjmp_NoreturnList,
10683      apzDarwin_Longjmp_NoreturnMachs,
10684      DARWIN_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10685      aDarwin_Longjmp_NoreturnTests,   apzDarwin_Longjmp_NoreturnPatch, 0 },
10687   {  zDarwin_Os_Trace_1Name,    zDarwin_Os_Trace_1List,
10688      apzDarwin_Os_Trace_1Machs,
10689      DARWIN_OS_TRACE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10690      aDarwin_Os_Trace_1Tests,   apzDarwin_Os_Trace_1Patch, 0 },
10692   {  zDarwin_Os_Trace_2Name,    zDarwin_Os_Trace_2List,
10693      apzDarwin_Os_Trace_2Machs,
10694      DARWIN_OS_TRACE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10695      aDarwin_Os_Trace_2Tests,   apzDarwin_Os_Trace_2Patch, 0 },
10697   {  zDarwin_Os_Trace_3Name,    zDarwin_Os_Trace_3List,
10698      apzDarwin_Os_Trace_3Machs,
10699      DARWIN_OS_TRACE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10700      aDarwin_Os_Trace_3Tests,   apzDarwin_Os_Trace_3Patch, 0 },
10702   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
10703      apzDarwin_Private_ExternMachs,
10704      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10705      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
10707   {  zDarwin_Stdint_1Name,    zDarwin_Stdint_1List,
10708      apzDarwin_Stdint_1Machs,
10709      DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10710      aDarwin_Stdint_1Tests,   apzDarwin_Stdint_1Patch, 0 },
10712   {  zDarwin_Stdint_2Name,    zDarwin_Stdint_2List,
10713      apzDarwin_Stdint_2Machs,
10714      DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10715      aDarwin_Stdint_2Tests,   apzDarwin_Stdint_2Patch, 0 },
10717   {  zDarwin_Stdint_3Name,    zDarwin_Stdint_3List,
10718      apzDarwin_Stdint_3Machs,
10719      DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10720      aDarwin_Stdint_3Tests,   apzDarwin_Stdint_3Patch, 0 },
10722   {  zDarwin_Stdint_4Name,    zDarwin_Stdint_4List,
10723      apzDarwin_Stdint_4Machs,
10724      DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10725      aDarwin_Stdint_4Tests,   apzDarwin_Stdint_4Patch, 0 },
10727   {  zDarwin_Stdint_5Name,    zDarwin_Stdint_5List,
10728      apzDarwin_Stdint_5Machs,
10729      DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10730      aDarwin_Stdint_5Tests,   apzDarwin_Stdint_5Patch, 0 },
10732   {  zDarwin_Stdint_6Name,    zDarwin_Stdint_6List,
10733      apzDarwin_Stdint_6Machs,
10734      DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10735      aDarwin_Stdint_6Tests,   apzDarwin_Stdint_6Patch, 0 },
10737   {  zDarwin_Stdint_7Name,    zDarwin_Stdint_7List,
10738      apzDarwin_Stdint_7Machs,
10739      DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10740      aDarwin_Stdint_7Tests,   apzDarwin_Stdint_7Patch, 0 },
10742   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
10743      apzDec_Intern_AsmMachs,
10744      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
10745      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
10747   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
10748      apzDjgpp_Wchar_HMachs,
10749      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10750      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
10752   {  zEcd_CursorName,    zEcd_CursorList,
10753      apzEcd_CursorMachs,
10754      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10755      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
10757   {  zFeraiseexcept_Nosse_DivbyzeroName,    zFeraiseexcept_Nosse_DivbyzeroList,
10758      apzFeraiseexcept_Nosse_DivbyzeroMachs,
10759      FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10760      aFeraiseexcept_Nosse_DivbyzeroTests,   apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 },
10762   {  zFeraiseexcept_Nosse_InvalidName,    zFeraiseexcept_Nosse_InvalidList,
10763      apzFeraiseexcept_Nosse_InvalidMachs,
10764      FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10765      aFeraiseexcept_Nosse_InvalidTests,   apzFeraiseexcept_Nosse_InvalidPatch, 0 },
10767   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
10768      apzFreebsd_Gcc3_BreakageMachs,
10769      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10770      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
10772   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
10773      apzFreebsd_Gcc4_BreakageMachs,
10774      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10775      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
10777   {  zGlibc_C99_Inline_1Name,    zGlibc_C99_Inline_1List,
10778      apzGlibc_C99_Inline_1Machs,
10779      GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10780      aGlibc_C99_Inline_1Tests,   apzGlibc_C99_Inline_1Patch, 0 },
10782   {  zGlibc_C99_Inline_1aName,    zGlibc_C99_Inline_1aList,
10783      apzGlibc_C99_Inline_1aMachs,
10784      GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10785      aGlibc_C99_Inline_1aTests,   apzGlibc_C99_Inline_1aPatch, 0 },
10787   {  zGlibc_C99_Inline_2Name,    zGlibc_C99_Inline_2List,
10788      apzGlibc_C99_Inline_2Machs,
10789      GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
10790      aGlibc_C99_Inline_2Tests,   apzGlibc_C99_Inline_2Patch, 0 },
10792   {  zGlibc_C99_Inline_3Name,    zGlibc_C99_Inline_3List,
10793      apzGlibc_C99_Inline_3Machs,
10794      GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10795      aGlibc_C99_Inline_3Tests,   apzGlibc_C99_Inline_3Patch, 0 },
10797   {  zGlibc_C99_Inline_4Name,    zGlibc_C99_Inline_4List,
10798      apzGlibc_C99_Inline_4Machs,
10799      GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10800      aGlibc_C99_Inline_4Tests,   apzGlibc_C99_Inline_4Patch, 0 },
10802   {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
10803      apzGlibc_Mutex_InitMachs,
10804      GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
10805      aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
10807   {  zGlibc_StdintName,    zGlibc_StdintList,
10808      apzGlibc_StdintMachs,
10809      GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10810      aGlibc_StdintTests,   apzGlibc_StdintPatch, 0 },
10812   {  zGlibc_StrncpyName,    zGlibc_StrncpyList,
10813      apzGlibc_StrncpyMachs,
10814      GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10815      aGlibc_StrncpyTests,   apzGlibc_StrncpyPatch, 0 },
10817   {  zGlibc_TgmathName,    zGlibc_TgmathList,
10818      apzGlibc_TgmathMachs,
10819      GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10820      aGlibc_TgmathTests,   apzGlibc_TgmathPatch, 0 },
10822   {  zGnu_TypesName,    zGnu_TypesList,
10823      apzGnu_TypesMachs,
10824      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
10825      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
10827   {  zHp_InlineName,    zHp_InlineList,
10828      apzHp_InlineMachs,
10829      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10830      aHp_InlineTests,   apzHp_InlinePatch, 0 },
10832   {  zHp_SysfileName,    zHp_SysfileList,
10833      apzHp_SysfileMachs,
10834      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10835      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
10837   {  zHppa_Hpux_Fp_MacrosName,    zHppa_Hpux_Fp_MacrosList,
10838      apzHppa_Hpux_Fp_MacrosMachs,
10839      HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10840      aHppa_Hpux_Fp_MacrosTests,   apzHppa_Hpux_Fp_MacrosPatch, 0 },
10842   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
10843      apzHpux10_Cpp_Pow_InlineMachs,
10844      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10845      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
10847   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
10848      apzHpux11_Cpp_Pow_InlineMachs,
10849      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10850      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
10852   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
10853      apzHpux10_Ctype_Declarations1Machs,
10854      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10855      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
10857   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
10858      apzHpux10_Ctype_Declarations2Machs,
10859      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10860      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
10862   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
10863      apzHpux10_Stdio_DeclarationsMachs,
10864      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10865      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
10867   {  zHppa_Hpux11_AllocaName,    zHppa_Hpux11_AllocaList,
10868      apzHppa_Hpux11_AllocaMachs,
10869      HPPA_HPUX11_ALLOCA_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10870      aHppa_Hpux11_AllocaTests,   apzHppa_Hpux11_AllocaPatch, 0 },
10872   {  zHpux11_AbsName,    zHpux11_AbsList,
10873      apzHpux11_AbsMachs,
10874      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10875      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
10877   {  zHpux11_Lwp_Rwlock_ValidName,    zHpux11_Lwp_Rwlock_ValidList,
10878      apzHpux11_Lwp_Rwlock_ValidMachs,
10879      HPUX11_LWP_RWLOCK_VALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10880      aHpux11_Lwp_Rwlock_ValidTests,   apzHpux11_Lwp_Rwlock_ValidPatch, 0 },
10882   {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
10883      apzHpux11_Extern_SendfileMachs,
10884      HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10885      aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
10887   {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
10888      apzHpux11_Extern_SendpathMachs,
10889      HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10890      aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
10892   {  zHpux11_FabsfName,    zHpux11_FabsfList,
10893      apzHpux11_FabsfMachs,
10894      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10895      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
10897   {  zHpux11_Pthread_PointerName,    zHpux11_Pthread_PointerList,
10898      apzHpux11_Pthread_PointerMachs,
10899      HPUX11_PTHREAD_POINTER_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10900      aHpux11_Pthread_PointerTests,   apzHpux11_Pthread_PointerPatch, 0 },
10902   {  zHpux11_Pthread_ConstName,    zHpux11_Pthread_ConstList,
10903      apzHpux11_Pthread_ConstMachs,
10904      HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10905      aHpux11_Pthread_ConstTests,   apzHpux11_Pthread_ConstPatch, 0 },
10907   {  zHpux11_Size_TName,    zHpux11_Size_TList,
10908      apzHpux11_Size_TMachs,
10909      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10910      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
10912   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
10913      apzHpux11_SnprintfMachs,
10914      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10915      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
10917   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
10918      apzHpux11_VsnprintfMachs,
10919      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10920      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
10922   {  zHpux_VsscanfName,    zHpux_VsscanfList,
10923      apzHpux_VsscanfMachs,
10924      HPUX_VSSCANF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10925      aHpux_VsscanfTests,   apzHpux_VsscanfPatch, 0 },
10927   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
10928      apzHpux8_Bogus_InlinesMachs,
10929      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
10930      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
10932   {  zHpux_C99_IntptrName,    zHpux_C99_IntptrList,
10933      apzHpux_C99_IntptrMachs,
10934      HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
10935      aHpux_C99_IntptrTests,   apzHpux_C99_IntptrPatch, 0 },
10937   {  zHpux_C99_InttypesName,    zHpux_C99_InttypesList,
10938      apzHpux_C99_InttypesMachs,
10939      HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
10940      aHpux_C99_InttypesTests,   apzHpux_C99_InttypesPatch, 0 },
10942   {  zHpux_C99_Inttypes2Name,    zHpux_C99_Inttypes2List,
10943      apzHpux_C99_Inttypes2Machs,
10944      HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
10945      aHpux_C99_Inttypes2Tests,   apzHpux_C99_Inttypes2Patch, 0 },
10947   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
10948      apzHpux_Ctype_MacrosMachs,
10949      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10950      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
10952   {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
10953      apzHpux_Extern_ErrnoMachs,
10954      HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10955      aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
10957   {  zHpux_HtonlName,    zHpux_HtonlList,
10958      apzHpux_HtonlMachs,
10959      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10960      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
10962   {  zHpux_Imaginary_IName,    zHpux_Imaginary_IList,
10963      apzHpux_Imaginary_IMachs,
10964      HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10965      aHpux_Imaginary_ITests,   apzHpux_Imaginary_IPatch, 0 },
10967   {  zHpux_Inttype_Int8_TName,    zHpux_Inttype_Int8_TList,
10968      apzHpux_Inttype_Int8_TMachs,
10969      HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10970      aHpux_Inttype_Int8_TTests,   apzHpux_Inttype_Int8_TPatch, 0 },
10972   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
10973      apzHpux_Long_DoubleMachs,
10974      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
10975      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
10977   {  zHpux_Long_Double_2Name,    zHpux_Long_Double_2List,
10978      apzHpux_Long_Double_2Machs,
10979      HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10980      aHpux_Long_Double_2Tests,   apzHpux_Long_Double_2Patch, 0 },
10982   {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
10983      apzHpux_Pthread_InitializersMachs,
10984      HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
10985      aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
10987   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
10988      apzHpux_Spu_InfoMachs,
10989      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10990      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
10992   {  zHpux_Stdint_Least_FastName,    zHpux_Stdint_Least_FastList,
10993      apzHpux_Stdint_Least_FastMachs,
10994      HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10995      aHpux_Stdint_Least_FastTests,   apzHpux_Stdint_Least_FastPatch, 0 },
10997   {  zHpux_LongjmpName,    zHpux_LongjmpList,
10998      apzHpux_LongjmpMachs,
10999      HPUX_LONGJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11000      aHpux_LongjmpTests,   apzHpux_LongjmpPatch, 0 },
11002   {  zHpux_SystimeName,    zHpux_SystimeList,
11003      apzHpux_SystimeMachs,
11004      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11005      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
11007   {  zHuge_Val_HexName,    zHuge_Val_HexList,
11008      apzHuge_Val_HexMachs,
11009      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11010      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
11012   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
11013      apzHuge_Valf_HexMachs,
11014      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11015      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
11017   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
11018      apzHuge_Vall_HexMachs,
11019      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11020      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
11022   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
11023      apzInt_Abort_Free_And_ExitMachs,
11024      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11025      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
11027   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
11028      apzIo_Quotes_DefMachs,
11029      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11030      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
11032   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
11033      apzIo_Quotes_UseMachs,
11034      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11035      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
11037   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
11038      apzIp_Missing_SemiMachs,
11039      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
11040      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
11042   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
11043      apzIrix_Limits_ConstMachs,
11044      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11045      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
11047   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
11048      apzIrix_Stdio_Va_ListMachs,
11049      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11050      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
11052   {  zKandr_ConcatName,    zKandr_ConcatList,
11053      apzKandr_ConcatMachs,
11054      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11055      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
11057   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
11058      apzLinux_Ia64_UcontextMachs,
11059      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11060      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
11062   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
11063      apzLynxos_No_Warning_In_Sys_Time_HMachs,
11064      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11065      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
11067   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
11068      apzLynxos_Missing_PutenvMachs,
11069      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11070      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
11072   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
11073      apzMachine_Ansi_H_Va_ListMachs,
11074      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11075      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
11077   {  zMachine_NameName,    zMachine_NameList,
11078      apzMachine_NameMachs,
11079      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11080      aMachine_NameTests,   apzMachine_NamePatch, 0 },
11082   {  zMath_ExceptionName,    zMath_ExceptionList,
11083      apzMath_ExceptionMachs,
11084      MATH_EXCEPTION_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
11085      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
11087   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
11088      apzMath_Huge_Val_From_Dbl_MaxMachs,
11089      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
11090      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
11092   {  zNested_Auth_DesName,    zNested_Auth_DesList,
11093      apzNested_Auth_DesMachs,
11094      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11095      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
11097   {  zNetbsd_C99_Inline_1Name,    zNetbsd_C99_Inline_1List,
11098      apzNetbsd_C99_Inline_1Machs,
11099      NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11100      aNetbsd_C99_Inline_1Tests,   apzNetbsd_C99_Inline_1Patch, 0 },
11102   {  zNetbsd_C99_Inline_2Name,    zNetbsd_C99_Inline_2List,
11103      apzNetbsd_C99_Inline_2Machs,
11104      NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11105      aNetbsd_C99_Inline_2Tests,   apzNetbsd_C99_Inline_2Patch, 0 },
11107   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
11108      apzNetbsd_Extra_SemicolonMachs,
11109      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11110      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
11112   {  zNewlib_Stdint_1Name,    zNewlib_Stdint_1List,
11113      apzNewlib_Stdint_1Machs,
11114      NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
11115      aNewlib_Stdint_1Tests,   apzNewlib_Stdint_1Patch, 0 },
11117   {  zNewlib_Stdint_2Name,    zNewlib_Stdint_2List,
11118      apzNewlib_Stdint_2Machs,
11119      NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11120      aNewlib_Stdint_2Tests,   apzNewlib_Stdint_2Patch, 0 },
11122   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
11123      apzNext_Math_PrefixMachs,
11124      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11125      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
11127   {  zNext_TemplateName,    zNext_TemplateList,
11128      apzNext_TemplateMachs,
11129      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11130      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
11132   {  zNext_VolitileName,    zNext_VolitileList,
11133      apzNext_VolitileMachs,
11134      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11135      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
11137   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
11138      apzNext_Wait_UnionMachs,
11139      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11140      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
11142   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
11143      apzNodeent_SyntaxMachs,
11144      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11145      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
11147   {  zOpenbsd_Null_DefinitionName,    zOpenbsd_Null_DefinitionList,
11148      apzOpenbsd_Null_DefinitionMachs,
11149      OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11150      aOpenbsd_Null_DefinitionTests,   apzOpenbsd_Null_DefinitionPatch, 0 },
11152   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
11153      apzObstack_Lvalue_CastMachs,
11154      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11155      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
11157   {  zOpenbsd_Va_StartName,    zOpenbsd_Va_StartList,
11158      apzOpenbsd_Va_StartMachs,
11159      OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11160      aOpenbsd_Va_StartTests,   apzOpenbsd_Va_StartPatch, 0 },
11162   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
11163      apzOsf_Namespace_AMachs,
11164      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11165      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
11167   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
11168      apzOsf_Namespace_CMachs,
11169      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11170      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
11172   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
11173      apzPthread_Incomplete_Struct_ArgumentMachs,
11174      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11175      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
11177   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
11178      apzRead_Ret_TypeMachs,
11179      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11180      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
11182   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
11183      apzRpc_Xdr_Lvalue_Cast_AMachs,
11184      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11185      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
11187   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
11188      apzRpc_Xdr_Lvalue_Cast_BMachs,
11189      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11190      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
11192   {  zRs6000_DoubleName,    zRs6000_DoubleList,
11193      apzRs6000_DoubleMachs,
11194      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11195      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
11197   {  zRs6000_FchmodName,    zRs6000_FchmodList,
11198      apzRs6000_FchmodMachs,
11199      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11200      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
11202   {  zRs6000_ParamName,    zRs6000_ParamList,
11203      apzRs6000_ParamMachs,
11204      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11205      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
11207   {  zSolaris___RestrictName,    zSolaris___RestrictList,
11208      apzSolaris___RestrictMachs,
11209      SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11210      aSolaris___RestrictTests,   apzSolaris___RestrictPatch, 0 },
11212   {  zSolaris_ComplexName,    zSolaris_ComplexList,
11213      apzSolaris_ComplexMachs,
11214      SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
11215      aSolaris_ComplexTests,   apzSolaris_ComplexPatch, 0 },
11217   {  zSolaris_Complex_CxxName,    zSolaris_Complex_CxxList,
11218      apzSolaris_Complex_CxxMachs,
11219      SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
11220      aSolaris_Complex_CxxTests,   apzSolaris_Complex_CxxPatch, 0 },
11222   {  zSolaris_Cxx_LinkageName,    zSolaris_Cxx_LinkageList,
11223      apzSolaris_Cxx_LinkageMachs,
11224      SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11225      aSolaris_Cxx_LinkageTests,   apzSolaris_Cxx_LinkagePatch, 0 },
11227   {  zSolaris_Getc_Strict_StdcName,    zSolaris_Getc_Strict_StdcList,
11228      apzSolaris_Getc_Strict_StdcMachs,
11229      SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11230      aSolaris_Getc_Strict_StdcTests,   apzSolaris_Getc_Strict_StdcPatch, 0 },
11232   {  zSolaris_Gets_C11Name,    zSolaris_Gets_C11List,
11233      apzSolaris_Gets_C11Machs,
11234      SOLARIS_GETS_C11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11235      aSolaris_Gets_C11Tests,   apzSolaris_Gets_C11Patch, 0 },
11237   {  zSolaris_Gets_Cxx14Name,    zSolaris_Gets_Cxx14List,
11238      apzSolaris_Gets_Cxx14Machs,
11239      SOLARIS_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11240      aSolaris_Gets_Cxx14Tests,   apzSolaris_Gets_Cxx14Patch, 0 },
11242   {  zSolaris_Int_ConstName,    zSolaris_Int_ConstList,
11243      apzSolaris_Int_ConstMachs,
11244      SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11245      aSolaris_Int_ConstTests,   apzSolaris_Int_ConstPatch, 0 },
11247   {  zSolaris_Int_Limits_1Name,    zSolaris_Int_Limits_1List,
11248      apzSolaris_Int_Limits_1Machs,
11249      SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11250      aSolaris_Int_Limits_1Tests,   apzSolaris_Int_Limits_1Patch, 0 },
11252   {  zSolaris_Int_Limits_2Name,    zSolaris_Int_Limits_2List,
11253      apzSolaris_Int_Limits_2Machs,
11254      SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11255      aSolaris_Int_Limits_2Tests,   apzSolaris_Int_Limits_2Patch, 0 },
11257   {  zSolaris_Int_Limits_3Name,    zSolaris_Int_Limits_3List,
11258      apzSolaris_Int_Limits_3Machs,
11259      SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11260      aSolaris_Int_Limits_3Tests,   apzSolaris_Int_Limits_3Patch, 0 },
11262   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
11263      apzSolaris_Math_1Machs,
11264      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11265      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
11267   {  zSolaris_Math_10Name,    zSolaris_Math_10List,
11268      apzSolaris_Math_10Machs,
11269      SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11270      aSolaris_Math_10Tests,   apzSolaris_Math_10Patch, 0 },
11272   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
11273      apzSolaris_Math_2Machs,
11274      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11275      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
11277   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
11278      apzSolaris_Math_3Machs,
11279      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11280      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
11282   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
11283      apzSolaris_Math_4Machs,
11284      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11285      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
11287   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
11288      apzSolaris_Math_8Machs,
11289      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11290      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
11292   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
11293      apzSolaris_Math_9Machs,
11294      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11295      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
11297   {  zSolaris_Math_11Name,    zSolaris_Math_11List,
11298      apzSolaris_Math_11Machs,
11299      SOLARIS_MATH_11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11300      aSolaris_Math_11Tests,   apzSolaris_Math_11Patch, 0 },
11302   {  zSolaris_Math_12Name,    zSolaris_Math_12List,
11303      apzSolaris_Math_12Machs,
11304      SOLARIS_MATH_12_TEST_CT, FD_MACH_ONLY,
11305      aSolaris_Math_12Tests,   apzSolaris_Math_12Patch, 0 },
11307   {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
11308      apzSolaris_Once_Init_1Machs,
11309      SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11310      aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
11312   {  zSolaris_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
11313      apzSolaris_Posix_Spawn_RestrictMachs,
11314      SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11315      aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
11317   {  zSolaris_Pow_Int_OverloadName,    zSolaris_Pow_Int_OverloadList,
11318      apzSolaris_Pow_Int_OverloadMachs,
11319      SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11320      aSolaris_Pow_Int_OverloadTests,   apzSolaris_Pow_Int_OverloadPatch, 0 },
11322   {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
11323      apzSolaris_Rwlock_Init_1Machs,
11324      SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11325      aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
11327   {  zSolaris_Std___FilbufName,    zSolaris_Std___FilbufList,
11328      apzSolaris_Std___FilbufMachs,
11329      SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11330      aSolaris_Std___FilbufTests,   apzSolaris_Std___FilbufPatch, 0 },
11332   {  zSolaris_Std_Gets_Cxx14Name,    zSolaris_Std_Gets_Cxx14List,
11333      apzSolaris_Std_Gets_Cxx14Machs,
11334      SOLARIS_STD_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11335      aSolaris_Std_Gets_Cxx14Tests,   apzSolaris_Std_Gets_Cxx14Patch, 0 },
11337   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
11338      apzSolaris_Stdio_TagMachs,
11339      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
11340      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
11342   {  zSolaris_Stdlib_NoreturnName,    zSolaris_Stdlib_NoreturnList,
11343      apzSolaris_Stdlib_NoreturnMachs,
11344      SOLARIS_STDLIB_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11345      aSolaris_Stdlib_NoreturnTests,   apzSolaris_Stdlib_NoreturnPatch, 0 },
11347   {  zStatsswtchName,    zStatsswtchList,
11348      apzStatsswtchMachs,
11349      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11350      aStatsswtchTests,   apzStatsswtchPatch, 0 },
11352   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
11353      apzStdio_Stdarg_HMachs,
11354      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
11355      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
11357   {  zStdio_Va_ListName,    zStdio_Va_ListList,
11358      apzStdio_Va_ListMachs,
11359      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
11360      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
11362   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
11363      apzStdio_Va_List_ClientsMachs,
11364      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
11365      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
11367   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
11368      apzStrict_Ansi_NotMachs,
11369      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11370      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
11372   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
11373      apzStrict_Ansi_Not_CtdMachs,
11374      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11375      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
11377   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
11378      apzStrict_Ansi_OnlyMachs,
11379      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11380      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
11382   {  zStruct_FileName,    zStruct_FileList,
11383      apzStruct_FileMachs,
11384      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11385      aStruct_FileTests,   apzStruct_FilePatch, 0 },
11387   {  zStruct_SockaddrName,    zStruct_SockaddrList,
11388      apzStruct_SockaddrMachs,
11389      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11390      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
11392   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
11393      apzSun_Auth_ProtoMachs,
11394      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11395      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
11397   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
11398      apzSun_Bogus_IfdefMachs,
11399      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11400      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
11402   {  zSun_CatmacroName,    zSun_CatmacroList,
11403      apzSun_CatmacroMachs,
11404      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11405      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
11407   {  zSun_MallocName,    zSun_MallocList,
11408      apzSun_MallocMachs,
11409      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
11410      aSun_MallocTests,   apzSun_MallocPatch, 0 },
11412   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
11413      apzSun_Rusers_SemiMachs,
11414      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
11415      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
11417   {  zSun_SignalName,    zSun_SignalList,
11418      apzSun_SignalMachs,
11419      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11420      aSun_SignalTests,   apzSun_SignalPatch, 0 },
11422   {  zSunos_StrlenName,    zSunos_StrlenList,
11423      apzSunos_StrlenMachs,
11424      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11425      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
11427   {  zSuse_Linux_Vt_CxxName,    zSuse_Linux_Vt_CxxList,
11428      apzSuse_Linux_Vt_CxxMachs,
11429      SUSE_LINUX_VT_CXX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11430      aSuse_Linux_Vt_CxxTests,   apzSuse_Linux_Vt_CxxPatch, 0 },
11432   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
11433      apzSvr4_Disable_OptMachs,
11434      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
11435      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
11437   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
11438      apzSvr4_GetcwdMachs,
11439      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11440      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
11442   {  zSvr4_ProfilName,    zSvr4_ProfilList,
11443      apzSvr4_ProfilMachs,
11444      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11445      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
11447   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
11448      apzSvr4_Sighandler_TypeMachs,
11449      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11450      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
11452   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
11453      apzSvr4_Undeclared_GetrngeMachs,
11454      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11455      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
11457   {  zSysv68_StringName,    zSysv68_StringList,
11458      apzSysv68_StringMachs,
11459      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
11460      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
11462   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
11463      apzSysz_Stdlib_For_SunMachs,
11464      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11465      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
11467   {  zThread_KeywordName,    zThread_KeywordList,
11468      apzThread_KeywordMachs,
11469      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11470      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
11472   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
11473      apzTinfo_CplusplusMachs,
11474      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11475      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
11477   {  zUltrix_ConstName,    zUltrix_ConstList,
11478      apzUltrix_ConstMachs,
11479      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11480      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
11482   {  zUltrix_Const2Name,    zUltrix_Const2List,
11483      apzUltrix_Const2Machs,
11484      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11485      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
11487   {  zVa_I960_MacroName,    zVa_I960_MacroList,
11488      apzVa_I960_MacroMachs,
11489      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11490      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
11492   {  zVms_Add_Missing_BracesName,    zVms_Add_Missing_BracesList,
11493      apzVms_Add_Missing_BracesMachs,
11494      VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11495      aVms_Add_Missing_BracesTests,   apzVms_Add_Missing_BracesPatch, 0 },
11497   {  zVms_Decc_BuiltinName,    zVms_Decc_BuiltinList,
11498      apzVms_Decc_BuiltinMachs,
11499      VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
11500      aVms_Decc_BuiltinTests,   apzVms_Decc_BuiltinPatch, 0 },
11502   {  zVms_Define_Can_Use_Extern_PrefixName,    zVms_Define_Can_Use_Extern_PrefixList,
11503      apzVms_Define_Can_Use_Extern_PrefixMachs,
11504      VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11505      aVms_Define_Can_Use_Extern_PrefixTests,   apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
11507   {  zVms_Disable_Decc_String_BuiltinsName,    zVms_Disable_Decc_String_BuiltinsList,
11508      apzVms_Disable_Decc_String_BuiltinsMachs,
11509      VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11510      aVms_Disable_Decc_String_BuiltinsTests,   apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
11512   {  zVms_Do_Not_Redeclare_HostaliasName,    zVms_Do_Not_Redeclare_HostaliasList,
11513      apzVms_Do_Not_Redeclare_HostaliasMachs,
11514      VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11515      aVms_Do_Not_Redeclare_HostaliasTests,   apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
11517   {  zVms_Forward_Declare_StructName,    zVms_Forward_Declare_StructList,
11518      apzVms_Forward_Declare_StructMachs,
11519      VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11520      aVms_Forward_Declare_StructTests,   apzVms_Forward_Declare_StructPatch, 0 },
11522   {  zVms_No_64bit_GetoptName,    zVms_No_64bit_GetoptList,
11523      apzVms_No_64bit_GetoptMachs,
11524      VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11525      aVms_No_64bit_GetoptTests,   apzVms_No_64bit_GetoptPatch, 0 },
11527   {  zVms_Use_Fast_SetjmpName,    zVms_Use_Fast_SetjmpList,
11528      apzVms_Use_Fast_SetjmpMachs,
11529      VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11530      aVms_Use_Fast_SetjmpTests,   apzVms_Use_Fast_SetjmpPatch, 0 },
11532   {  zVms_Use_Pragma_Extern_ModelName,    zVms_Use_Pragma_Extern_ModelList,
11533      apzVms_Use_Pragma_Extern_ModelMachs,
11534      VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11535      aVms_Use_Pragma_Extern_ModelTests,   apzVms_Use_Pragma_Extern_ModelPatch, 0 },
11537   {  zVms_Use_Quoted_IncludeName,    zVms_Use_Quoted_IncludeList,
11538      apzVms_Use_Quoted_IncludeMachs,
11539      VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11540      aVms_Use_Quoted_IncludeTests,   apzVms_Use_Quoted_IncludePatch, 0 },
11542   {  zVoid_NullName,    zVoid_NullList,
11543      apzVoid_NullMachs,
11544      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11545      aVoid_NullTests,   apzVoid_NullPatch, 0 },
11547   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
11548      apzVxworks_Gcc_ProblemMachs,
11549      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
11550      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
11552   {  zVxworks_Ioctl_MacroName,    zVxworks_Ioctl_MacroList,
11553      apzVxworks_Ioctl_MacroMachs,
11554      VXWORKS_IOCTL_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11555      aVxworks_Ioctl_MacroTests,   apzVxworks_Ioctl_MacroPatch, 0 },
11557   {  zVxworks_Mkdir_MacroName,    zVxworks_Mkdir_MacroList,
11558      apzVxworks_Mkdir_MacroMachs,
11559      VXWORKS_MKDIR_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11560      aVxworks_Mkdir_MacroTests,   apzVxworks_Mkdir_MacroPatch, 0 },
11562   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
11563      apzVxworks_Needs_VxtypesMachs,
11564      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11565      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
11567   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
11568      apzVxworks_Needs_VxworksMachs,
11569      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
11570      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
11572   {  zVxworks_RegsName,    zVxworks_RegsList,
11573      apzVxworks_RegsMachs,
11574      VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11575      aVxworks_RegsTests,   apzVxworks_RegsPatch, 0 },
11577   {  zVxworks_TimeName,    zVxworks_TimeList,
11578      apzVxworks_TimeMachs,
11579      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11580      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
11582   {  zVxworks_Write_ConstName,    zVxworks_Write_ConstList,
11583      apzVxworks_Write_ConstMachs,
11584      VXWORKS_WRITE_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11585      aVxworks_Write_ConstTests,   apzVxworks_Write_ConstPatch, 0 },
11587   {  zX11_ClassName,    zX11_ClassList,
11588      apzX11_ClassMachs,
11589      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11590      aX11_ClassTests,   apzX11_ClassPatch, 0 },
11592   {  zX11_Class_UsageName,    zX11_Class_UsageList,
11593      apzX11_Class_UsageMachs,
11594      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11595      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
11597   {  zX11_NewName,    zX11_NewList,
11598      apzX11_NewMachs,
11599      X11_NEW_TEST_CT, FD_MACH_ONLY,
11600      aX11_NewTests,   apzX11_NewPatch, 0 },
11602   {  zX11_SprintfName,    zX11_SprintfList,
11603      apzX11_SprintfMachs,
11604      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11605      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }