2013-06-18 Richard Biener <rguenther@suse.de>
[official-gcc.git] / fixincludes / fixincl.x
blob2563528e14e4c0bb9dab198db17cfc84ff8aa118
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  May 23, 2013 at 04:44:10 PM by AutoGen 5.12
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT SVN-MERGE THIS FILE, EITHER Thu May 23 16:44:10 MSK 2013
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 228 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_Stdint fix
585  */
586 tSCC zAab_Vxworks_StdintName[] =
587      "AAB_vxworks_stdint";
590  *  File name selection pattern
591  */
592 tSCC zAab_Vxworks_StdintList[] =
593   "stdint.h\0";
595  *  Machine/OS name selection pattern
596  */
597 tSCC* apzAab_Vxworks_StdintMachs[] = {
598         "*-*-vxworks*",
599         (const char*)NULL };
600 #define AAB_VXWORKS_STDINT_TEST_CT  0
601 #define aAab_Vxworks_StdintTests   (tTestDesc*)NULL
604  *  Fix Command Arguments for Aab_Vxworks_Stdint
605  */
606 static const char* apzAab_Vxworks_StdintPatch[] = {
607 "#ifndef _STDINT_H\n\
608 #define _STDINT_H\n\
609 /* get int*_t, uint*_t */\n\
610 #include <types/vxTypes.h>\n\n\
611 /* get legacy vxworks types for compatibility */\n\
612 #include <types/vxTypesOld.h>\n\n\
613 typedef long intptr_t;\n\
614 typedef unsigned long uintptr_t;\n\n\
615 typedef int64_t intmax_t;\n\
616 typedef uint64_t uintmax_t;\n\n\
617 typedef int8_t int_least8_t;\n\
618 typedef int16_t int_least16_t;\n\
619 typedef int32_t int_least32_t;\n\
620 typedef int64_t int_least64_t;\n\n\
621 typedef uint8_t uint_least8_t;\n\
622 typedef uint16_t uint_least16_t;\n\
623 typedef uint32_t uint_least32_t;\n\
624 typedef uint64_t uint_least64_t;\n\n\
625 typedef int8_t int_fast8_t;\n\
626 typedef int int_fast16_t;\n\
627 typedef int32_t int_fast32_t;\n\
628 typedef int64_t int_fast64_t;\n\n\
629 typedef uint8_t uint_fast8_t;\n\
630 typedef unsigned int uint_fast16_t;\n\
631 typedef uint32_t uint_fast32_t;\n\
632 typedef uint64_t uint_fast64_t;\n\n\
633 /* Ranges */\n\
634 #define UINT8_MAX (~(uint8_t)0)\n\
635 #define UINT8_MIN 0\n\
636 #define UINT16_MAX (~(uint16_t)0)\n\
637 #define UINT16_MIN 0\n\
638 #define UINT32_MAX (~(uint32_t)0)\n\
639 #define UINT32_MIN 0\n\
640 #define UINT64_MAX (~(uint64_t)0)\n\
641 #define UINT64_MIN 0\n\n\
642 #define UINTPTR_MAX (~(uintptr_t)0)\n\
643 #define UINTPTR_MIN 0\n\n\
644 /* Need to do int_fast16_t as well, as type\n\
645    size may be architecture dependent */\n\
646 #define UINT_FAST16_MAX (~(uint_fast16_t)0)\n\
647 #define UINT_FAST16_MAX 0\n\n\
648 #define INT8_MAX (UINT8_MAX>>1)\n\
649 #define INT8_MIN (INT8_MAX+1)\n\
650 #define INT16_MAX (UINT16_MAX>>1)\n\
651 #define INT16_MIN (INT16_MAX+1)\n\
652 #define INT32_MAX (UINT32_MAX>>1)\n\
653 #define INT32_MIN (INT32_MAX+1)\n\
654 #define INT64_MAX (UINT64_MAX>>1)\n\
655 #define INT64_MIN (INT64_MAX+1)\n\n\
656 #define INTPTR_MAX (UINTPTR_MAX>>1)\n\
657 #define INTPTR_MIN (INTPTR_MAX+1)\t\n\n\
658 #define INT_FAST16_MAX (UINT_FAST16_MAX>>1)\n\
659 #define INT_FAST16_MIN (INT_FAST16_MAX+1)\n\n\
660 /* now define equiv. constants */\n\
661 #define UINT_FAST8_MAX UINT8_MAX\n\
662 #define UINT_FAST8_MIN UINT_FAST8_MIN\n\
663 #define INT_FAST8_MAX INT8_MAX\n\
664 #define INT_FAST8_MIN INT8_MIN\n\
665 #define UINT_FAST32_MAX UINT32_MAX\n\
666 #define UINT_FAST32_MIN UINT32_MIN\n\
667 #define INT_FAST32_MAX INT32_MAX\n\
668 #define INT_FAST32_MIN INT32_MIN\n\
669 #define UINT_FAST64_MAX UINT64_MAX\n\
670 #define UINT_FAST64_MIN UINT64_MIN\n\
671 #define INT_FAST64_MAX INT64_MAX\n\
672 #define INT_FAST64_MIN INT64_MIN\n\n\
673 #define UINT_LEAST8_MAX UINT8_MAX\n\
674 #define UINT_LEAST8_MIN UINT8_MIN\n\
675 #define INT_LEAST8_MAX INT8_MAX\n\
676 #define INT_LEAST8_MIN INT8_MIN\n\
677 #define UINT_LEAST16_MAX UINT16_MAX\n\
678 #define UINT_LEAST16_MIN UINT16_MIN\n\
679 #define INT_LEAST16_MAX INT16_MAX\n\
680 #define INT_LEAST16_MIN INT16_MIN\n\
681 #define UINT_LEAST32_MAX UINT32_MAX\n\
682 #define UINT_LEAST32_MIN UINT32_MIN\n\
683 #define INT_LEAST32_MAX INT32_MAX\n\
684 #define INT_LEAST32_MIN INT32_MIN\n\
685 #define UINT_LEAST64_MAX UINT64_MAX\n\
686 #define UINT_LEAST64_MIN UINT64_MIN\n\
687 #define INT_LEAST64_MAX INT64_MAX\n\
688 #define INT_LEAST64_MIN INT64_MIN\n\n\
689 #define UINTMAX_MAX UINT64_MAX\n\
690 #define UINTMAX_MIN UINT64_MIN\n\
691 #define INTMAX_MAX INT64_MAX\n\
692 #define INTMAX_MIN INT64_MIN\n\n\
693 #endif",
694     (char*)NULL };
696 /* * * * * * * * * * * * * * * * * * * * * * * * * *
698  *  Description of Aab_Vxworks_Unistd fix
699  */
700 tSCC zAab_Vxworks_UnistdName[] =
701      "AAB_vxworks_unistd";
704  *  File name selection pattern
705  */
706 tSCC zAab_Vxworks_UnistdList[] =
707   "unistd.h\0";
709  *  Machine/OS name selection pattern
710  */
711 tSCC* apzAab_Vxworks_UnistdMachs[] = {
712         "*-*-vxworks*",
713         (const char*)NULL };
714 #define AAB_VXWORKS_UNISTD_TEST_CT  0
715 #define aAab_Vxworks_UnistdTests   (tTestDesc*)NULL
718  *  Fix Command Arguments for Aab_Vxworks_Unistd
719  */
720 static const char* apzAab_Vxworks_UnistdPatch[] = {
721 "#ifndef _UNISTD_H\n\
722 #define _UNISTD_H\n\
723 #include_next <unistd.h>\n\
724 #include <ioLib.h>\n\
725 #ifndef STDIN_FILENO\n\
726 #define STDIN_FILENO 0\n\
727 #endif\n\
728 #ifndef STDOUT_FILENO\n\
729 #define STDOUT_FILENO 1\n\
730 #endif\n\
731 #ifndef STDERR_FILENO\n\
732 #define STDERR_FILENO 2\n\
733 #endif\n\
734 #endif /* _UNISTD_H */",
735     (char*)NULL };
737 /* * * * * * * * * * * * * * * * * * * * * * * * * *
739  *  Description of Aix_Complex fix
740  */
741 tSCC zAix_ComplexName[] =
742      "aix_complex";
745  *  File name selection pattern
746  */
747 tSCC zAix_ComplexList[] =
748   "complex.h\0";
750  *  Machine/OS name selection pattern
751  */
752 tSCC* apzAix_ComplexMachs[] = {
753         "*-*-aix*",
754         (const char*)NULL };
757  *  content selection pattern - do fix if pattern found
758  */
759 tSCC zAix_ComplexSelect0[] =
760        "#define[ \t]_Complex_I[ \t]__I";
762 #define    AIX_COMPLEX_TEST_CT  1
763 static tTestDesc aAix_ComplexTests[] = {
764   { TT_EGREP,    zAix_ComplexSelect0, (regex_t*)NULL }, };
767  *  Fix Command Arguments for Aix_Complex
768  */
769 static const char* apzAix_ComplexPatch[] = {
770     "format",
771     "#define _Complex_I (__extension__ 1.0iF)",
772     (char*)NULL };
774 /* * * * * * * * * * * * * * * * * * * * * * * * * *
776  *  Description of Aix_Malloc fix
777  */
778 tSCC zAix_MallocName[] =
779      "aix_malloc";
782  *  File name selection pattern
783  */
784 tSCC zAix_MallocList[] =
785   "malloc.h\0";
787  *  Machine/OS name selection pattern
788  */
789 tSCC* apzAix_MallocMachs[] = {
790         "*-*-aix*",
791         (const char*)NULL };
794  *  content selection pattern - do fix if pattern found
795  */
796 tSCC zAix_MallocSelect0[] =
797        "#ifdef __cplusplus";
799 #define    AIX_MALLOC_TEST_CT  1
800 static tTestDesc aAix_MallocTests[] = {
801   { TT_EGREP,    zAix_MallocSelect0, (regex_t*)NULL }, };
804  *  Fix Command Arguments for Aix_Malloc
805  */
806 static const char* apzAix_MallocPatch[] = {
807     "format",
808     "#if (defined(__cplusplus) && defined(__IBMCPP__))",
809     (char*)NULL };
811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
813  *  Description of Aix_Net_If_Arp fix
814  */
815 tSCC zAix_Net_If_ArpName[] =
816      "aix_net_if_arp";
819  *  File name selection pattern
820  */
821 tSCC zAix_Net_If_ArpList[] =
822   "net/if_arp.h\0";
824  *  Machine/OS name selection pattern
825  */
826 tSCC* apzAix_Net_If_ArpMachs[] = {
827         "*-*-aix*",
828         (const char*)NULL };
831  *  content selection pattern - do fix if pattern found
832  */
833 tSCC zAix_Net_If_ArpSelect0[] =
834        "^struct  fc_softc \\{";
836 #define    AIX_NET_IF_ARP_TEST_CT  1
837 static tTestDesc aAix_Net_If_ArpTests[] = {
838   { TT_EGREP,    zAix_Net_If_ArpSelect0, (regex_t*)NULL }, };
841  *  Fix Command Arguments for Aix_Net_If_Arp
842  */
843 static const char* apzAix_Net_If_ArpPatch[] = {
844     "format",
845     "typedef struct _fc_softc {",
846     (char*)NULL };
848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
850  *  Description of Aix_Null fix
851  */
852 tSCC zAix_NullName[] =
853      "aix_null";
856  *  File name selection pattern
857  */
858 tSCC zAix_NullList[] =
859   "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";
861  *  Machine/OS name selection pattern
862  */
863 tSCC* apzAix_NullMachs[] = {
864         "*-*-aix*",
865         (const char*)NULL };
868  *  content selection pattern - do fix if pattern found
869  */
870 tSCC zAix_NullSelect0[] =
871        "#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
874  *  content bypass pattern - skip fix if pattern found
875  */
876 tSCC zAix_NullBypass0[] =
877        "__null";
879 #define    AIX_NULL_TEST_CT  2
880 static tTestDesc aAix_NullTests[] = {
881   { TT_NEGREP,   zAix_NullBypass0, (regex_t*)NULL },
882   { TT_EGREP,    zAix_NullSelect0, (regex_t*)NULL }, };
885  *  Fix Command Arguments for Aix_Null
886  */
887 static const char* apzAix_NullPatch[] = {
888     "format",
889     "#ifndef NULL\n\
890 #ifdef __cplusplus\n\
891 #ifdef __GNUG__\n\
892 #define NULL __null\n\
893 #else /* ! __GNUG__  */\n\
894 #define NULL 0L\n\
895 #endif /* __GNUG__  */\n\
896 #else /* ! __cplusplus  */\n\
897 #define NULL ((void *)0)\n\
898 #endif /* __cplusplus  */\n\
899 #endif /* !NULL  */",
900     (char*)NULL };
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
904  *  Description of Aix_Once_Init_1 fix
905  */
906 tSCC zAix_Once_Init_1Name[] =
907      "aix_once_init_1";
910  *  File name selection pattern
911  */
912 tSCC zAix_Once_Init_1List[] =
913   "pthread.h\0";
915  *  Machine/OS name selection pattern
916  */
917 tSCC* apzAix_Once_Init_1Machs[] = {
918         "*-*-aix*",
919         (const char*)NULL };
922  *  content selection pattern - do fix if pattern found
923  */
924 tSCC zAix_Once_Init_1Select0[] =
925        "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\
926 \\{ \\\\\n";
928 #define    AIX_ONCE_INIT_1_TEST_CT  1
929 static tTestDesc aAix_Once_Init_1Tests[] = {
930   { TT_EGREP,    zAix_Once_Init_1Select0, (regex_t*)NULL }, };
933  *  Fix Command Arguments for Aix_Once_Init_1
934  */
935 static const char* apzAix_Once_Init_1Patch[] = {
936     "format",
937     "#define PTHREAD_ONCE_INIT \\\n\
938 {{ \\\n",
939     (char*)NULL };
941 /* * * * * * * * * * * * * * * * * * * * * * * * * *
943  *  Description of Aix_Once_Init_2 fix
944  */
945 tSCC zAix_Once_Init_2Name[] =
946      "aix_once_init_2";
949  *  File name selection pattern
950  */
951 tSCC zAix_Once_Init_2List[] =
952   "pthread.h\0";
954  *  Machine/OS name selection pattern
955  */
956 tSCC* apzAix_Once_Init_2Machs[] = {
957         "*-*-aix*",
958         (const char*)NULL };
961  *  content selection pattern - do fix if pattern found
962  */
963 tSCC zAix_Once_Init_2Select0[] =
964        "[ \t]0 \\\\\n\
965 \\}\n";
967 #define    AIX_ONCE_INIT_2_TEST_CT  1
968 static tTestDesc aAix_Once_Init_2Tests[] = {
969   { TT_EGREP,    zAix_Once_Init_2Select0, (regex_t*)NULL }, };
972  *  Fix Command Arguments for Aix_Once_Init_2
973  */
974 static const char* apzAix_Once_Init_2Patch[] = {
975     "format",
976     "\t0 \\\n\
977 }}\n",
978     (char*)NULL };
980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
982  *  Description of Aix_Mutex_Initializer_1 fix
983  */
984 tSCC zAix_Mutex_Initializer_1Name[] =
985      "aix_mutex_initializer_1";
988  *  File name selection pattern
989  */
990 tSCC zAix_Mutex_Initializer_1List[] =
991   "pthread.h\0";
993  *  Machine/OS name selection pattern
994  */
995 tSCC* apzAix_Mutex_Initializer_1Machs[] = {
996         "*-*-aix*",
997         (const char*)NULL };
1000  *  content selection pattern - do fix if pattern found
1001  */
1002 tSCC zAix_Mutex_Initializer_1Select0[] =
1003        "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
1004 \\{ \\\\\n";
1006 #define    AIX_MUTEX_INITIALIZER_1_TEST_CT  1
1007 static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
1008   { TT_EGREP,    zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
1011  *  Fix Command Arguments for Aix_Mutex_Initializer_1
1012  */
1013 static const char* apzAix_Mutex_Initializer_1Patch[] = {
1014     "format",
1015     "#define PTHREAD_MUTEX_INITIALIZER \\\n\
1016 {{ \\\n",
1017     (char*)NULL };
1019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1021  *  Description of Aix_Cond_Initializer_1 fix
1022  */
1023 tSCC zAix_Cond_Initializer_1Name[] =
1024      "aix_cond_initializer_1";
1027  *  File name selection pattern
1028  */
1029 tSCC zAix_Cond_Initializer_1List[] =
1030   "pthread.h\0";
1032  *  Machine/OS name selection pattern
1033  */
1034 tSCC* apzAix_Cond_Initializer_1Machs[] = {
1035         "*-*-aix*",
1036         (const char*)NULL };
1039  *  content selection pattern - do fix if pattern found
1040  */
1041 tSCC zAix_Cond_Initializer_1Select0[] =
1042        "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
1043 \\{ \\\\\n";
1045 #define    AIX_COND_INITIALIZER_1_TEST_CT  1
1046 static tTestDesc aAix_Cond_Initializer_1Tests[] = {
1047   { TT_EGREP,    zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
1050  *  Fix Command Arguments for Aix_Cond_Initializer_1
1051  */
1052 static const char* apzAix_Cond_Initializer_1Patch[] = {
1053     "format",
1054     "#define PTHREAD_COND_INITIALIZER \\\n\
1055 {{ \\\n",
1056     (char*)NULL };
1058 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1060  *  Description of Aix_Rwlock_Initializer_1 fix
1061  */
1062 tSCC zAix_Rwlock_Initializer_1Name[] =
1063      "aix_rwlock_initializer_1";
1066  *  File name selection pattern
1067  */
1068 tSCC zAix_Rwlock_Initializer_1List[] =
1069   "pthread.h\0";
1071  *  Machine/OS name selection pattern
1072  */
1073 tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
1074         "*-*-aix*",
1075         (const char*)NULL };
1078  *  content selection pattern - do fix if pattern found
1079  */
1080 tSCC zAix_Rwlock_Initializer_1Select0[] =
1081        "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
1082 \\{ \\\\\n";
1084 #define    AIX_RWLOCK_INITIALIZER_1_TEST_CT  1
1085 static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
1086   { TT_EGREP,    zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
1089  *  Fix Command Arguments for Aix_Rwlock_Initializer_1
1090  */
1091 static const char* apzAix_Rwlock_Initializer_1Patch[] = {
1092     "format",
1093     "#define PTHREAD_RWLOCK_INITIALIZER \\\n\
1094 {{ \\\n",
1095     (char*)NULL };
1097 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1099  *  Description of Aix_Pthread fix
1100  */
1101 tSCC zAix_PthreadName[] =
1102      "aix_pthread";
1105  *  File name selection pattern
1106  */
1107 tSCC zAix_PthreadList[] =
1108   "pthread.h\0";
1110  *  Machine/OS name selection pattern
1111  */
1112 #define apzAix_PthreadMachs (const char**)NULL
1115  *  content selection pattern - do fix if pattern found
1116  */
1117 tSCC zAix_PthreadSelect0[] =
1118        "(#define [A-Za-z_0-9]+)(\\\\\n\
1119 [^A-Za-z_0-9 \t\n\
1120 (])";
1122 #define    AIX_PTHREAD_TEST_CT  1
1123 static tTestDesc aAix_PthreadTests[] = {
1124   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
1127  *  Fix Command Arguments for Aix_Pthread
1128  */
1129 static const char* apzAix_PthreadPatch[] = {
1130     "format",
1131     "%1 %2",
1132     (char*)NULL };
1134 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1136  *  Description of Aix_Stdint_1 fix
1137  */
1138 tSCC zAix_Stdint_1Name[] =
1139      "aix_stdint_1";
1142  *  File name selection pattern
1143  */
1144 tSCC zAix_Stdint_1List[] =
1145   "stdint-aix.h\0stdint.h\0";
1147  *  Machine/OS name selection pattern
1148  */
1149 tSCC* apzAix_Stdint_1Machs[] = {
1150         "*-*-aix*",
1151         (const char*)NULL };
1154  *  content selection pattern - do fix if pattern found
1155  */
1156 tSCC zAix_Stdint_1Select0[] =
1157        "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
1158 #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
1160 #define    AIX_STDINT_1_TEST_CT  1
1161 static tTestDesc aAix_Stdint_1Tests[] = {
1162   { TT_EGREP,    zAix_Stdint_1Select0, (regex_t*)NULL }, };
1165  *  Fix Command Arguments for Aix_Stdint_1
1166  */
1167 static const char* apzAix_Stdint_1Patch[] = {
1168     "format",
1169     "#define UINT8_MAX\t(255)\n\
1170 #define UINT16_MAX\t(65535)",
1171     (char*)NULL };
1173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1175  *  Description of Aix_Stdint_2 fix
1176  */
1177 tSCC zAix_Stdint_2Name[] =
1178      "aix_stdint_2";
1181  *  File name selection pattern
1182  */
1183 tSCC zAix_Stdint_2List[] =
1184   "stdint-aix.h\0stdint.h\0";
1186  *  Machine/OS name selection pattern
1187  */
1188 tSCC* apzAix_Stdint_2Machs[] = {
1189         "*-*-aix*",
1190         (const char*)NULL };
1193  *  content selection pattern - do fix if pattern found
1194  */
1195 tSCC zAix_Stdint_2Select0[] =
1196        "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
1197 #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
1198 #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
1199 #else\n\
1200 #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
1201 #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
1202 #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
1204 #define    AIX_STDINT_2_TEST_CT  1
1205 static tTestDesc aAix_Stdint_2Tests[] = {
1206   { TT_EGREP,    zAix_Stdint_2Select0, (regex_t*)NULL }, };
1209  *  Fix Command Arguments for Aix_Stdint_2
1210  */
1211 static const char* apzAix_Stdint_2Patch[] = {
1212     "format",
1213     "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1214 #define INTPTR_MAX\t9223372036854775807L\n\
1215 #define UINTPTR_MAX\t18446744073709551615UL\n\
1216 #else\n\
1217 #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1218 #define INTPTR_MAX\t2147483647L\n\
1219 #define UINTPTR_MAX\t4294967295UL",
1220     (char*)NULL };
1222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1224  *  Description of Aix_Stdint_3 fix
1225  */
1226 tSCC zAix_Stdint_3Name[] =
1227      "aix_stdint_3";
1230  *  File name selection pattern
1231  */
1232 tSCC zAix_Stdint_3List[] =
1233   "stdint-aix.h\0stdint.h\0";
1235  *  Machine/OS name selection pattern
1236  */
1237 tSCC* apzAix_Stdint_3Machs[] = {
1238         "*-*-aix*",
1239         (const char*)NULL };
1242  *  content selection pattern - do fix if pattern found
1243  */
1244 tSCC zAix_Stdint_3Select0[] =
1245        "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
1246 #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
1247 #else\n\
1248 #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
1249 #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
1251 #define    AIX_STDINT_3_TEST_CT  1
1252 static tTestDesc aAix_Stdint_3Tests[] = {
1253   { TT_EGREP,    zAix_Stdint_3Select0, (regex_t*)NULL }, };
1256  *  Fix Command Arguments for Aix_Stdint_3
1257  */
1258 static const char* apzAix_Stdint_3Patch[] = {
1259     "format",
1260     "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
1261 #define PTRDIFF_MAX\t9223372036854775807L\n\
1262 #else\n\
1263 #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
1264 #define PTRDIFF_MAX\t2147483647L",
1265     (char*)NULL };
1267 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1269  *  Description of Aix_Stdint_4 fix
1270  */
1271 tSCC zAix_Stdint_4Name[] =
1272      "aix_stdint_4";
1275  *  File name selection pattern
1276  */
1277 tSCC zAix_Stdint_4List[] =
1278   "stdint-aix.h\0stdint.h\0";
1280  *  Machine/OS name selection pattern
1281  */
1282 tSCC* apzAix_Stdint_4Machs[] = {
1283         "*-*-aix*",
1284         (const char*)NULL };
1287  *  content selection pattern - do fix if pattern found
1288  */
1289 tSCC zAix_Stdint_4Select0[] =
1290        "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
1291 #else\n\
1292 #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
1294 #define    AIX_STDINT_4_TEST_CT  1
1295 static tTestDesc aAix_Stdint_4Tests[] = {
1296   { TT_EGREP,    zAix_Stdint_4Select0, (regex_t*)NULL }, };
1299  *  Fix Command Arguments for Aix_Stdint_4
1300  */
1301 static const char* apzAix_Stdint_4Patch[] = {
1302     "format",
1303     "#define SIZE_MAX\t18446744073709551615UL\n\
1304 #else\n\
1305 #define SIZE_MAX\t4294967295UL",
1306     (char*)NULL };
1308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1310  *  Description of Aix_Stdint_5 fix
1311  */
1312 tSCC zAix_Stdint_5Name[] =
1313      "aix_stdint_5";
1316  *  File name selection pattern
1317  */
1318 tSCC zAix_Stdint_5List[] =
1319   "stdint-aix.h\0stdint.h\0";
1321  *  Machine/OS name selection pattern
1322  */
1323 tSCC* apzAix_Stdint_5Machs[] = {
1324         "*-*-aix*",
1325         (const char*)NULL };
1328  *  content selection pattern - do fix if pattern found
1329  */
1330 tSCC zAix_Stdint_5Select0[] =
1331        "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
1332 #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
1334 #define    AIX_STDINT_5_TEST_CT  1
1335 static tTestDesc aAix_Stdint_5Tests[] = {
1336   { TT_EGREP,    zAix_Stdint_5Select0, (regex_t*)NULL }, };
1339  *  Fix Command Arguments for Aix_Stdint_5
1340  */
1341 static const char* apzAix_Stdint_5Patch[] = {
1342     "format",
1343     "#define UINT8_C(c)\tc\n\
1344 #define UINT16_C(c)\tc",
1345     (char*)NULL };
1347 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1349  *  Description of Aix_Sysmachine fix
1350  */
1351 tSCC zAix_SysmachineName[] =
1352      "aix_sysmachine";
1355  *  File name selection pattern
1356  */
1357 tSCC zAix_SysmachineList[] =
1358   "sys/machine.h\0";
1360  *  Machine/OS name selection pattern
1361  */
1362 #define apzAix_SysmachineMachs (const char**)NULL
1365  *  content selection pattern - do fix if pattern found
1366  */
1367 tSCC zAix_SysmachineSelect0[] =
1368        "\\\\ +\n";
1370 #define    AIX_SYSMACHINE_TEST_CT  1
1371 static tTestDesc aAix_SysmachineTests[] = {
1372   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
1375  *  Fix Command Arguments for Aix_Sysmachine
1376  */
1377 static const char* apzAix_SysmachinePatch[] = {
1378     "format",
1379     "\\\n",
1380     (char*)NULL };
1382 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1384  *  Description of Aix_Syswait_2 fix
1385  */
1386 tSCC zAix_Syswait_2Name[] =
1387      "aix_syswait_2";
1390  *  File name selection pattern
1391  */
1392 tSCC zAix_Syswait_2List[] =
1393   "sys/wait.h\0";
1395  *  Machine/OS name selection pattern
1396  */
1397 #define apzAix_Syswait_2Machs (const char**)NULL
1400  *  content selection pattern - do fix if pattern found
1401  */
1402 tSCC zAix_Syswait_2Select0[] =
1403        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
1405 #define    AIX_SYSWAIT_2_TEST_CT  1
1406 static tTestDesc aAix_Syswait_2Tests[] = {
1407   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
1410  *  Fix Command Arguments for Aix_Syswait_2
1411  */
1412 static const char* apzAix_Syswait_2Patch[] = {
1413     "format",
1414     "? (int)%1",
1415     (char*)NULL };
1417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1419  *  Description of Aix_Volatile fix
1420  */
1421 tSCC zAix_VolatileName[] =
1422      "aix_volatile";
1425  *  File name selection pattern
1426  */
1427 tSCC zAix_VolatileList[] =
1428   "sys/signal.h\0";
1430  *  Machine/OS name selection pattern
1431  */
1432 #define apzAix_VolatileMachs (const char**)NULL
1435  *  content selection pattern - do fix if pattern found
1436  */
1437 tSCC zAix_VolatileSelect0[] =
1438        "typedef volatile int sig_atomic_t";
1440 #define    AIX_VOLATILE_TEST_CT  1
1441 static tTestDesc aAix_VolatileTests[] = {
1442   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
1445  *  Fix Command Arguments for Aix_Volatile
1446  */
1447 static const char* apzAix_VolatilePatch[] = {
1448     "format",
1449     "typedef int sig_atomic_t",
1450     (char*)NULL };
1452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1454  *  Description of Alpha___Assert fix
1455  */
1456 tSCC zAlpha___AssertName[] =
1457      "alpha___assert";
1460  *  File name selection pattern
1461  */
1462 tSCC zAlpha___AssertList[] =
1463   "assert.h\0";
1465  *  Machine/OS name selection pattern
1466  */
1467 #define apzAlpha___AssertMachs (const char**)NULL
1470  *  content selection pattern - do fix if pattern found
1471  */
1472 tSCC zAlpha___AssertSelect0[] =
1473        "__assert\\(char \\*, char \\*, int\\)";
1475 #define    ALPHA___ASSERT_TEST_CT  1
1476 static tTestDesc aAlpha___AssertTests[] = {
1477   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
1480  *  Fix Command Arguments for Alpha___Assert
1481  */
1482 static const char* apzAlpha___AssertPatch[] = {
1483     "format",
1484     "__assert(const char *, const char *, int)",
1485     (char*)NULL };
1487 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1489  *  Description of Alpha_Assert fix
1490  */
1491 tSCC zAlpha_AssertName[] =
1492      "alpha_assert";
1495  *  File name selection pattern
1496  */
1497 tSCC zAlpha_AssertList[] =
1498   "assert.h\0";
1500  *  Machine/OS name selection pattern
1501  */
1502 #define apzAlpha_AssertMachs (const char**)NULL
1505  *  content selection pattern - do fix if pattern found
1506  */
1507 tSCC zAlpha_AssertSelect0[] =
1508        "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1510 #define    ALPHA_ASSERT_TEST_CT  1
1511 static tTestDesc aAlpha_AssertTests[] = {
1512   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1515  *  Fix Command Arguments for Alpha_Assert
1516  */
1517 static const char* apzAlpha_AssertPatch[] = {
1518     "format",
1519     "%1(EX)",
1520     (char*)NULL };
1522 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1524  *  Description of Alpha_Getopt fix
1525  */
1526 tSCC zAlpha_GetoptName[] =
1527      "alpha_getopt";
1530  *  File name selection pattern
1531  */
1532 tSCC zAlpha_GetoptList[] =
1533   "stdio.h\0stdlib.h\0";
1535  *  Machine/OS name selection pattern
1536  */
1537 #define apzAlpha_GetoptMachs (const char**)NULL
1540  *  content selection pattern - do fix if pattern found
1541  */
1542 tSCC zAlpha_GetoptSelect0[] =
1543        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1545 #define    ALPHA_GETOPT_TEST_CT  1
1546 static tTestDesc aAlpha_GetoptTests[] = {
1547   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1550  *  Fix Command Arguments for Alpha_Getopt
1551  */
1552 static const char* apzAlpha_GetoptPatch[] = {
1553     "format",
1554     "getopt(int, char *const[], const char *)",
1555     (char*)NULL };
1557 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1559  *  Description of Alpha_If_Semicolon fix
1560  */
1561 tSCC zAlpha_If_SemicolonName[] =
1562      "alpha_if_semicolon";
1565  *  File name selection pattern
1566  */
1567 tSCC zAlpha_If_SemicolonList[] =
1568   "net/if.h\0";
1570  *  Machine/OS name selection pattern
1571  */
1572 #define apzAlpha_If_SemicolonMachs (const char**)NULL
1575  *  content selection pattern - do fix if pattern found
1576  */
1577 tSCC zAlpha_If_SemicolonSelect0[] =
1578        "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
1580 #define    ALPHA_IF_SEMICOLON_TEST_CT  1
1581 static tTestDesc aAlpha_If_SemicolonTests[] = {
1582   { TT_EGREP,    zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
1585  *  Fix Command Arguments for Alpha_If_Semicolon
1586  */
1587 static const char* apzAlpha_If_SemicolonPatch[] = {
1588     "format",
1589     "struct sockaddr vmif_paddr;\t/*",
1590     (char*)NULL };
1592 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1594  *  Description of Alpha_Parens fix
1595  */
1596 tSCC zAlpha_ParensName[] =
1597      "alpha_parens";
1600  *  File name selection pattern
1601  */
1602 tSCC zAlpha_ParensList[] =
1603   "sym.h\0";
1605  *  Machine/OS name selection pattern
1606  */
1607 #define apzAlpha_ParensMachs (const char**)NULL
1610  *  content selection pattern - do fix if pattern found
1611  */
1612 tSCC zAlpha_ParensSelect0[] =
1613        "#ifndef\\(__mips64\\)";
1615 #define    ALPHA_PARENS_TEST_CT  1
1616 static tTestDesc aAlpha_ParensTests[] = {
1617   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1620  *  Fix Command Arguments for Alpha_Parens
1621  */
1622 static const char* apzAlpha_ParensPatch[] = {
1623     "format",
1624     "#ifndef __mips64",
1625     (char*)NULL };
1627 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1629  *  Description of Alpha_Sbrk fix
1630  */
1631 tSCC zAlpha_SbrkName[] =
1632      "alpha_sbrk";
1635  *  File name selection pattern
1636  */
1637 tSCC zAlpha_SbrkList[] =
1638   "unistd.h\0";
1640  *  Machine/OS name selection pattern
1641  */
1642 #define apzAlpha_SbrkMachs (const char**)NULL
1645  *  content selection pattern - do fix if pattern found
1646  */
1647 tSCC zAlpha_SbrkSelect0[] =
1648        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1650 #define    ALPHA_SBRK_TEST_CT  1
1651 static tTestDesc aAlpha_SbrkTests[] = {
1652   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1655  *  Fix Command Arguments for Alpha_Sbrk
1656  */
1657 static const char* apzAlpha_SbrkPatch[] = {
1658     "format",
1659     "void *sbrk(",
1660     (char*)NULL };
1662 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1664  *  Description of Avoid_Bool_Define fix
1665  */
1666 tSCC zAvoid_Bool_DefineName[] =
1667      "avoid_bool_define";
1670  *  File name selection pattern
1671  */
1672 tSCC zAvoid_Bool_DefineList[] =
1673   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1675  *  Machine/OS name selection pattern
1676  */
1677 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1680  *  content selection pattern - do fix if pattern found
1681  */
1682 tSCC zAvoid_Bool_DefineSelect0[] =
1683        "#[ \t]*define[ \t]+bool[ \t]";
1686  *  content bypass pattern - skip fix if pattern found
1687  */
1688 tSCC zAvoid_Bool_DefineBypass0[] =
1689        "__cplusplus";
1691 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1692 static tTestDesc aAvoid_Bool_DefineTests[] = {
1693   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1694   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1697  *  Fix Command Arguments for Avoid_Bool_Define
1698  */
1699 static const char* apzAvoid_Bool_DefinePatch[] = {
1700     "format",
1701     "#ifndef __cplusplus\n\
1702 %0\n\
1703 #endif",
1704     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1705     (char*)NULL };
1707 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1709  *  Description of Avoid_Bool_Type fix
1710  */
1711 tSCC zAvoid_Bool_TypeName[] =
1712      "avoid_bool_type";
1715  *  File name selection pattern
1716  */
1717 tSCC zAvoid_Bool_TypeList[] =
1718   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1720  *  Machine/OS name selection pattern
1721  */
1722 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1725  *  content selection pattern - do fix if pattern found
1726  */
1727 tSCC zAvoid_Bool_TypeSelect0[] =
1728        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1731  *  content bypass pattern - skip fix if pattern found
1732  */
1733 tSCC zAvoid_Bool_TypeBypass0[] =
1734        "__cplusplus";
1736 #define    AVOID_BOOL_TYPE_TEST_CT  2
1737 static tTestDesc aAvoid_Bool_TypeTests[] = {
1738   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1739   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1742  *  Fix Command Arguments for Avoid_Bool_Type
1743  */
1744 static const char* apzAvoid_Bool_TypePatch[] = {
1745     "format",
1746     "#ifndef __cplusplus\n\
1747 %0\n\
1748 #endif",
1749     (char*)NULL };
1751 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1753  *  Description of Avoid_Wchar_T_Type fix
1754  */
1755 tSCC zAvoid_Wchar_T_TypeName[] =
1756      "avoid_wchar_t_type";
1759  *  File name selection pattern
1760  */
1761 #define zAvoid_Wchar_T_TypeList (char*)NULL
1763  *  Machine/OS name selection pattern
1764  */
1765 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1768  *  content selection pattern - do fix if pattern found
1769  */
1770 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1771        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1774  *  content bypass pattern - skip fix if pattern found
1775  */
1776 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1777        "__cplusplus";
1778 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1779        "_LINUX_NLS_H";
1780 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1781        "XFree86: xc/lib/X11/Xlib\\.h";
1783 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1784 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1785   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1786   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1787   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1788   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1791  *  Fix Command Arguments for Avoid_Wchar_T_Type
1792  */
1793 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1794     "format",
1795     "#ifndef __cplusplus\n\
1796 %0\n\
1797 #endif",
1798     (char*)NULL };
1800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1802  *  Description of Bad_Struct_Term fix
1803  */
1804 tSCC zBad_Struct_TermName[] =
1805      "bad_struct_term";
1808  *  File name selection pattern
1809  */
1810 tSCC zBad_Struct_TermList[] =
1811   "curses.h\0";
1813  *  Machine/OS name selection pattern
1814  */
1815 #define apzBad_Struct_TermMachs (const char**)NULL
1818  *  content selection pattern - do fix if pattern found
1819  */
1820 tSCC zBad_Struct_TermSelect0[] =
1821        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1823 #define    BAD_STRUCT_TERM_TEST_CT  1
1824 static tTestDesc aBad_Struct_TermTests[] = {
1825   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1828  *  Fix Command Arguments for Bad_Struct_Term
1829  */
1830 static const char* apzBad_Struct_TermPatch[] = {
1831     "format",
1832     "struct term;",
1833     (char*)NULL };
1835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1837  *  Description of Badquote fix
1838  */
1839 tSCC zBadquoteName[] =
1840      "badquote";
1843  *  File name selection pattern
1844  */
1845 tSCC zBadquoteList[] =
1846   "sundev/vuid_event.h\0";
1848  *  Machine/OS name selection pattern
1849  */
1850 #define apzBadquoteMachs (const char**)NULL
1853  *  content selection pattern - do fix if pattern found
1854  */
1855 tSCC zBadquoteSelect0[] =
1856        "doesn't";
1858 #define    BADQUOTE_TEST_CT  1
1859 static tTestDesc aBadquoteTests[] = {
1860   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1863  *  Fix Command Arguments for Badquote
1864  */
1865 static const char* apzBadquotePatch[] = {
1866     "format",
1867     "does not",
1868     (char*)NULL };
1870 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1872  *  Description of Broken_Assert_Stdio fix
1873  */
1874 tSCC zBroken_Assert_StdioName[] =
1875      "broken_assert_stdio";
1878  *  File name selection pattern
1879  */
1880 tSCC zBroken_Assert_StdioList[] =
1881   "assert.h\0";
1883  *  Machine/OS name selection pattern
1884  */
1885 #define apzBroken_Assert_StdioMachs (const char**)NULL
1888  *  content selection pattern - do fix if pattern found
1889  */
1890 tSCC zBroken_Assert_StdioSelect0[] =
1891        "stderr";
1894  *  content bypass pattern - skip fix if pattern found
1895  */
1896 tSCC zBroken_Assert_StdioBypass0[] =
1897        "include.*stdio\\.h";
1899 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1900 static tTestDesc aBroken_Assert_StdioTests[] = {
1901   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1902   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1905  *  Fix Command Arguments for Broken_Assert_Stdio
1906  */
1907 static const char* apzBroken_Assert_StdioPatch[] = {
1908     "wrap",
1909     "#include <stdio.h>\n",
1910     (char*)NULL };
1912 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1914  *  Description of Broken_Assert_Stdlib fix
1915  */
1916 tSCC zBroken_Assert_StdlibName[] =
1917      "broken_assert_stdlib";
1920  *  File name selection pattern
1921  */
1922 tSCC zBroken_Assert_StdlibList[] =
1923   "assert.h\0";
1925  *  Machine/OS name selection pattern
1926  */
1927 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1930  *  content selection pattern - do fix if pattern found
1931  */
1932 tSCC zBroken_Assert_StdlibSelect0[] =
1933        "exit *\\(|abort *\\(";
1936  *  content bypass pattern - skip fix if pattern found
1937  */
1938 tSCC zBroken_Assert_StdlibBypass0[] =
1939        "include.*stdlib\\.h";
1941 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1942 static tTestDesc aBroken_Assert_StdlibTests[] = {
1943   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1944   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1947  *  Fix Command Arguments for Broken_Assert_Stdlib
1948  */
1949 static const char* apzBroken_Assert_StdlibPatch[] = {
1950     "wrap",
1951     "#ifdef __cplusplus\n\
1952 #include <stdlib.h>\n\
1953 #endif\n",
1954     (char*)NULL };
1956 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1958  *  Description of Broken_Cabs fix
1959  */
1960 tSCC zBroken_CabsName[] =
1961      "broken_cabs";
1964  *  File name selection pattern
1965  */
1966 tSCC zBroken_CabsList[] =
1967   "math.h\0architecture/*/math.h\0";
1969  *  Machine/OS name selection pattern
1970  */
1971 #define apzBroken_CabsMachs (const char**)NULL
1974  *  content selection pattern - do fix if pattern found
1975  */
1976 tSCC zBroken_CabsSelect0[] =
1977        "^extern[ \t]+double[ \t]+cabs";
1979 #define    BROKEN_CABS_TEST_CT  1
1980 static tTestDesc aBroken_CabsTests[] = {
1981   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1984  *  Fix Command Arguments for Broken_Cabs
1985  */
1986 static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
1987     "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
1988     "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
1989     (char*)NULL };
1991 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1993  *  Description of Broken_Nan fix
1994  */
1995 tSCC zBroken_NanName[] =
1996      "broken_nan";
1999  *  File name selection pattern
2000  */
2001 tSCC zBroken_NanList[] =
2002   "architecture/ppc/math.h\0architecture/*/math.h\0";
2004  *  Machine/OS name selection pattern
2005  */
2006 #define apzBroken_NanMachs (const char**)NULL
2009  *  content selection pattern - do fix if pattern found
2010  */
2011 tSCC zBroken_NanSelect0[] =
2012        "#if defined\\(__APPLE_CC__\\) && \\(__APPLE_CC__ >= 1345\\)";
2015  *  content bypass pattern - skip fix if pattern found
2016  */
2017 tSCC zBroken_NanBypass0[] =
2018        "powl";
2020 #define    BROKEN_NAN_TEST_CT  2
2021 static tTestDesc aBroken_NanTests[] = {
2022   { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
2023   { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
2026  *  Fix Command Arguments for Broken_Nan
2027  */
2028 static const char* apzBroken_NanPatch[] = {
2029     "format",
2030     "#if 1",
2031     (char*)NULL };
2033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2035  *  Description of Bsd_Stdio_Attrs_Conflict fix
2036  */
2037 tSCC zBsd_Stdio_Attrs_ConflictName[] =
2038      "bsd_stdio_attrs_conflict";
2041  *  File name selection pattern
2042  */
2043 tSCC zBsd_Stdio_Attrs_ConflictList[] =
2044   "stdio.h\0";
2046  *  Machine/OS name selection pattern
2047  */
2048 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
2049         "*-*-*bsd*",
2050         "*-*-*darwin*",
2051         (const char*)NULL };
2054  *  content selection pattern - do fix if pattern found
2055  */
2056 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
2057        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
2059 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
2060 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
2061   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
2064  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
2065  */
2066 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
2067     "format",
2068     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
2069 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
2070 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
2071     (char*)NULL };
2073 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2075  *  Description of Cdef_Cplusplus fix
2076  */
2077 tSCC zCdef_CplusplusName[] =
2078      "cdef_cplusplus";
2081  *  File name selection pattern
2082  */
2083 tSCC zCdef_CplusplusList[] =
2084   "sys/cdefs.h\0";
2086  *  Machine/OS name selection pattern
2087  */
2088 #define apzCdef_CplusplusMachs (const char**)NULL
2091  *  content selection pattern - do fix if pattern found
2092  */
2093 tSCC zCdef_CplusplusSelect0[] =
2094        "\\[\\[noreturn\\]\\]";
2096 #define    CDEF_CPLUSPLUS_TEST_CT  1
2097 static tTestDesc aCdef_CplusplusTests[] = {
2098   { TT_EGREP,    zCdef_CplusplusSelect0, (regex_t*)NULL }, };
2101  *  Fix Command Arguments for Cdef_Cplusplus
2102  */
2103 static const char* apzCdef_CplusplusPatch[] = {
2104     "format",
2105     "__attribute__((__noreturn__))",
2106     (char*)NULL };
2108 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2110  *  Description of Ctrl_Quotes_Def fix
2111  */
2112 tSCC zCtrl_Quotes_DefName[] =
2113      "ctrl_quotes_def";
2116  *  File name selection pattern
2117  */
2118 #define zCtrl_Quotes_DefList (char*)NULL
2120  *  Machine/OS name selection pattern
2121  */
2122 #define apzCtrl_Quotes_DefMachs (const char**)NULL
2125  *  content selection pattern - do fix if pattern found
2126  */
2127 tSCC zCtrl_Quotes_DefSelect0[] =
2128        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
2130 #define    CTRL_QUOTES_DEF_TEST_CT  1
2131 static tTestDesc aCtrl_Quotes_DefTests[] = {
2132   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
2135  *  Fix Command Arguments for Ctrl_Quotes_Def
2136  */
2137 static const char* apzCtrl_Quotes_DefPatch[] = {
2138     "char_macro_def",
2139     "CTRL",
2140     (char*)NULL };
2142 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2144  *  Description of Ctrl_Quotes_Use fix
2145  */
2146 tSCC zCtrl_Quotes_UseName[] =
2147      "ctrl_quotes_use";
2150  *  File name selection pattern
2151  */
2152 #define zCtrl_Quotes_UseList (char*)NULL
2154  *  Machine/OS name selection pattern
2155  */
2156 #define apzCtrl_Quotes_UseMachs (const char**)NULL
2159  *  content selection pattern - do fix if pattern found
2160  */
2161 tSCC zCtrl_Quotes_UseSelect0[] =
2162        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
2164 #define    CTRL_QUOTES_USE_TEST_CT  1
2165 static tTestDesc aCtrl_Quotes_UseTests[] = {
2166   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
2169  *  Fix Command Arguments for Ctrl_Quotes_Use
2170  */
2171 static const char* apzCtrl_Quotes_UsePatch[] = {
2172     "char_macro_use",
2173     "CTRL",
2174     (char*)NULL };
2176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2178  *  Description of Cxx_Unready fix
2179  */
2180 tSCC zCxx_UnreadyName[] =
2181      "cxx_unready";
2184  *  File name selection pattern
2185  */
2186 tSCC zCxx_UnreadyList[] =
2187   "sys/mman.h\0rpc/types.h\0";
2189  *  Machine/OS name selection pattern
2190  */
2191 #define apzCxx_UnreadyMachs (const char**)NULL
2194  *  content selection pattern - do fix if pattern found
2195  */
2196 tSCC zCxx_UnreadySelect0[] =
2197        "[^#]+malloc.*;";
2200  *  content bypass pattern - skip fix if pattern found
2201  */
2202 tSCC zCxx_UnreadyBypass0[] =
2203        "\"C\"|__BEGIN_DECLS";
2205 #define    CXX_UNREADY_TEST_CT  2
2206 static tTestDesc aCxx_UnreadyTests[] = {
2207   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
2208   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
2211  *  Fix Command Arguments for Cxx_Unready
2212  */
2213 static const char* apzCxx_UnreadyPatch[] = {
2214     "wrap",
2215     "#ifdef __cplusplus\n\
2216 extern \"C\" {\n\
2217 #endif\n",
2218     "#ifdef __cplusplus\n\
2219 }\n\
2220 #endif\n",
2221     (char*)NULL };
2223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2225  *  Description of Darwin_9_Long_Double_Funcs_2 fix
2226  */
2227 tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
2228      "darwin_9_long_double_funcs_2";
2231  *  File name selection pattern
2232  */
2233 tSCC zDarwin_9_Long_Double_Funcs_2List[] =
2234   "math.h\0";
2236  *  Machine/OS name selection pattern
2237  */
2238 tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = {
2239         "*-*-darwin7.9*",
2240         (const char*)NULL };
2243  *  content selection pattern - do fix if pattern found
2244  */
2245 tSCC zDarwin_9_Long_Double_Funcs_2Select0[] =
2246        "#include[ \\t]+\\\"";
2248 #define    DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
2249 static tTestDesc aDarwin_9_Long_Double_Funcs_2Tests[] = {
2250   { TT_EGREP,    zDarwin_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
2253  *  Fix Command Arguments for Darwin_9_Long_Double_Funcs_2
2254  */
2255 static const char* apzDarwin_9_Long_Double_Funcs_2Patch[] = {
2256     "format",
2257     "%1<%2.h>",
2258     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
2259     (char*)NULL };
2261 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2263  *  Description of Darwin_Externc fix
2264  */
2265 tSCC zDarwin_ExterncName[] =
2266      "darwin_externc";
2269  *  File name selection pattern
2270  */
2271 tSCC zDarwin_ExterncList[] =
2272   "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
2274  *  Machine/OS name selection pattern
2275  */
2276 tSCC* apzDarwin_ExterncMachs[] = {
2277         "*-*-darwin*",
2278         (const char*)NULL };
2281  *  content bypass pattern - skip fix if pattern found
2282  */
2283 tSCC zDarwin_ExterncBypass0[] =
2284        "extern \"C\"";
2285 tSCC zDarwin_ExterncBypass1[] =
2286        "__BEGIN_DECLS";
2288 #define    DARWIN_EXTERNC_TEST_CT  2
2289 static tTestDesc aDarwin_ExterncTests[] = {
2290   { TT_NEGREP,   zDarwin_ExterncBypass0, (regex_t*)NULL },
2291   { TT_NEGREP,   zDarwin_ExterncBypass1, (regex_t*)NULL }, };
2294  *  Fix Command Arguments for Darwin_Externc
2295  */
2296 static const char* apzDarwin_ExterncPatch[] = {
2297     "wrap",
2298     "#ifdef __cplusplus\n\
2299 extern \"C\" {\n\
2300 #endif\n",
2301     "#ifdef __cplusplus\n\
2302 }\n\
2303 #endif\n",
2304     (char*)NULL };
2306 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2308  *  Description of Darwin_Gcc4_Breakage fix
2309  */
2310 tSCC zDarwin_Gcc4_BreakageName[] =
2311      "darwin_gcc4_breakage";
2314  *  File name selection pattern
2315  */
2316 tSCC zDarwin_Gcc4_BreakageList[] =
2317   "AvailabilityMacros.h\0";
2319  *  Machine/OS name selection pattern
2320  */
2321 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
2322         "*-*-darwin*",
2323         (const char*)NULL };
2326  *  content selection pattern - do fix if pattern found
2327  */
2328 tSCC zDarwin_Gcc4_BreakageSelect0[] =
2329        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
2331 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
2332 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
2333   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2336  *  Fix Command Arguments for Darwin_Gcc4_Breakage
2337  */
2338 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
2339     "format",
2340     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
2341     (char*)NULL };
2343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2345  *  Description of Darwin_Private_Extern fix
2346  */
2347 tSCC zDarwin_Private_ExternName[] =
2348      "darwin_private_extern";
2351  *  File name selection pattern
2352  */
2353 tSCC zDarwin_Private_ExternList[] =
2354   "mach-o/dyld.h\0";
2356  *  Machine/OS name selection pattern
2357  */
2358 tSCC* apzDarwin_Private_ExternMachs[] = {
2359         "*-*-darwin*",
2360         (const char*)NULL };
2363  *  content selection pattern - do fix if pattern found
2364  */
2365 tSCC zDarwin_Private_ExternSelect0[] =
2366        "__private_extern__ [a-z_]+ _dyld_";
2368 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
2369 static tTestDesc aDarwin_Private_ExternTests[] = {
2370   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2373  *  Fix Command Arguments for Darwin_Private_Extern
2374  */
2375 static const char* apzDarwin_Private_ExternPatch[] = {
2376     "format",
2377     "extern",
2378     "__private_extern__",
2379     (char*)NULL };
2381 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2383  *  Description of Darwin_Stdint_1 fix
2384  */
2385 tSCC zDarwin_Stdint_1Name[] =
2386      "darwin_stdint_1";
2389  *  File name selection pattern
2390  */
2391 tSCC zDarwin_Stdint_1List[] =
2392   "stdint-darwin.h\0stdint.h\0";
2394  *  Machine/OS name selection pattern
2395  */
2396 tSCC* apzDarwin_Stdint_1Machs[] = {
2397         "*-*-darwin*",
2398         (const char*)NULL };
2401  *  content selection pattern - do fix if pattern found
2402  */
2403 tSCC zDarwin_Stdint_1Select0[] =
2404        "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2405 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2407 #define    DARWIN_STDINT_1_TEST_CT  1
2408 static tTestDesc aDarwin_Stdint_1Tests[] = {
2409   { TT_EGREP,    zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2412  *  Fix Command Arguments for Darwin_Stdint_1
2413  */
2414 static const char* apzDarwin_Stdint_1Patch[] = {
2415     "format",
2416     "#define UINT8_C(v)\tv\n\
2417 #define UINT16_C(v)\tv",
2418     (char*)NULL };
2420 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2422  *  Description of Darwin_Stdint_2 fix
2423  */
2424 tSCC zDarwin_Stdint_2Name[] =
2425      "darwin_stdint_2";
2428  *  File name selection pattern
2429  */
2430 tSCC zDarwin_Stdint_2List[] =
2431   "stdint-darwin.h\0stdint.h\0";
2433  *  Machine/OS name selection pattern
2434  */
2435 tSCC* apzDarwin_Stdint_2Machs[] = {
2436         "*-*-darwin*",
2437         (const char*)NULL };
2440  *  content selection pattern - do fix if pattern found
2441  */
2442 tSCC zDarwin_Stdint_2Select0[] =
2443        "#if __WORDSIZE == 64\n\
2444 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2445 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2446 #else\n\
2447 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2448 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2449 #endif";
2451 #define    DARWIN_STDINT_2_TEST_CT  1
2452 static tTestDesc aDarwin_Stdint_2Tests[] = {
2453   { TT_EGREP,    zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2456  *  Fix Command Arguments for Darwin_Stdint_2
2457  */
2458 static const char* apzDarwin_Stdint_2Patch[] = {
2459     "format",
2460     "#if __WORDSIZE == 64\n\
2461 #define INTPTR_MAX 9223372036854775807L\n\
2462 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2463 #else\n\
2464 #define INTPTR_MAX 2147483647L\n\
2465 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2466 #endif",
2467     (char*)NULL };
2469 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2471  *  Description of Darwin_Stdint_3 fix
2472  */
2473 tSCC zDarwin_Stdint_3Name[] =
2474      "darwin_stdint_3";
2477  *  File name selection pattern
2478  */
2479 tSCC zDarwin_Stdint_3List[] =
2480   "stdint-darwin.h\0stdint.h\0";
2482  *  Machine/OS name selection pattern
2483  */
2484 tSCC* apzDarwin_Stdint_3Machs[] = {
2485         "*-*-darwin*",
2486         (const char*)NULL };
2489  *  content selection pattern - do fix if pattern found
2490  */
2491 tSCC zDarwin_Stdint_3Select0[] =
2492        "#if __WORDSIZE == 64\n\
2493 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
2494 #else\n\
2495 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
2496 #endif";
2498 #define    DARWIN_STDINT_3_TEST_CT  1
2499 static tTestDesc aDarwin_Stdint_3Tests[] = {
2500   { TT_EGREP,    zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
2503  *  Fix Command Arguments for Darwin_Stdint_3
2504  */
2505 static const char* apzDarwin_Stdint_3Patch[] = {
2506     "format",
2507     "#if __WORDSIZE == 64\n\
2508 #define UINTPTR_MAX 18446744073709551615UL\n\
2509 #else\n\
2510 #define UINTPTR_MAX 4294967295UL\n\
2511 #endif",
2512     (char*)NULL };
2514 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2516  *  Description of Darwin_Stdint_4 fix
2517  */
2518 tSCC zDarwin_Stdint_4Name[] =
2519      "darwin_stdint_4";
2522  *  File name selection pattern
2523  */
2524 tSCC zDarwin_Stdint_4List[] =
2525   "stdint-darwin.h\0stdint.h\0";
2527  *  Machine/OS name selection pattern
2528  */
2529 tSCC* apzDarwin_Stdint_4Machs[] = {
2530         "*-*-darwin*",
2531         (const char*)NULL };
2534  *  content selection pattern - do fix if pattern found
2535  */
2536 tSCC zDarwin_Stdint_4Select0[] =
2537        "#if __WORDSIZE == 64\n\
2538 #define SIZE_MAX[ \t]+UINT64_MAX\n\
2539 #else\n\
2540 #define SIZE_MAX[ \t]+UINT32_MAX\n\
2541 #endif";
2543 #define    DARWIN_STDINT_4_TEST_CT  1
2544 static tTestDesc aDarwin_Stdint_4Tests[] = {
2545   { TT_EGREP,    zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
2548  *  Fix Command Arguments for Darwin_Stdint_4
2549  */
2550 static const char* apzDarwin_Stdint_4Patch[] = {
2551     "format",
2552     "#if __WORDSIZE == 64\n\
2553 #define SIZE_MAX 18446744073709551615UL\n\
2554 #else\n\
2555 #define SIZE_MAX 4294967295UL\n\
2556 #endif",
2557     (char*)NULL };
2559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2561  *  Description of Darwin_Stdint_5 fix
2562  */
2563 tSCC zDarwin_Stdint_5Name[] =
2564      "darwin_stdint_5";
2567  *  File name selection pattern
2568  */
2569 tSCC zDarwin_Stdint_5List[] =
2570   "stdint-darwin.h\0stdint.h\0";
2572  *  Machine/OS name selection pattern
2573  */
2574 tSCC* apzDarwin_Stdint_5Machs[] = {
2575         "*-*-darwin*",
2576         (const char*)NULL };
2579  *  content selection pattern - do fix if pattern found
2580  */
2581 tSCC zDarwin_Stdint_5Select0[] =
2582        "#define INTMAX_MIN[ \t]+INT64_MIN\n\
2583 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
2584 #define UINTMAX_MAX[ \t]+UINT64_MAX";
2586 #define    DARWIN_STDINT_5_TEST_CT  1
2587 static tTestDesc aDarwin_Stdint_5Tests[] = {
2588   { TT_EGREP,    zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
2591  *  Fix Command Arguments for Darwin_Stdint_5
2592  */
2593 static const char* apzDarwin_Stdint_5Patch[] = {
2594     "format",
2595     "#if __WORDSIZE == 64\n\
2596 #define INTMAX_MIN   (-9223372036854775807L - 1)\n\
2597 #define INTMAX_MAX   9223372036854775807L\n\
2598 #define UINTMAX_MAX  18446744073709551615UL\n\
2599 #else\n\
2600 #define INTMAX_MIN   (-9223372036854775807LL - 1)\n\
2601 #define INTMAX_MAX   9223372036854775807LL\n\
2602 #define UINTMAX_MAX  18446744073709551615ULL\n\
2603 #endif",
2604     (char*)NULL };
2606 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2608  *  Description of Darwin_Stdint_6 fix
2609  */
2610 tSCC zDarwin_Stdint_6Name[] =
2611      "darwin_stdint_6";
2614  *  File name selection pattern
2615  */
2616 tSCC zDarwin_Stdint_6List[] =
2617   "stdint-darwin.h\0stdint.h\0";
2619  *  Machine/OS name selection pattern
2620  */
2621 tSCC* apzDarwin_Stdint_6Machs[] = {
2622         "*-*-darwin*",
2623         (const char*)NULL };
2626  *  content selection pattern - do fix if pattern found
2627  */
2628 tSCC zDarwin_Stdint_6Select0[] =
2629        "#if __WORDSIZE == 64\n\
2630 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
2631 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
2632 #else\n\
2633 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
2634 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
2635 #endif";
2637 #define    DARWIN_STDINT_6_TEST_CT  1
2638 static tTestDesc aDarwin_Stdint_6Tests[] = {
2639   { TT_EGREP,    zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
2642  *  Fix Command Arguments for Darwin_Stdint_6
2643  */
2644 static const char* apzDarwin_Stdint_6Patch[] = {
2645     "format",
2646     "#if __WORDSIZE == 64\n\
2647 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
2648 #define PTRDIFF_MAX 9223372036854775807L\n\
2649 #else\n\
2650 #define PTRDIFF_MIN (-2147483647 - 1)\n\
2651 #define PTRDIFF_MAX 2147483647\n\
2652 #endif",
2653     (char*)NULL };
2655 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2657  *  Description of Darwin_Stdint_7 fix
2658  */
2659 tSCC zDarwin_Stdint_7Name[] =
2660      "darwin_stdint_7";
2663  *  File name selection pattern
2664  */
2665 tSCC zDarwin_Stdint_7List[] =
2666   "stdint-darwin.h\0stdint.h\0";
2668  *  Machine/OS name selection pattern
2669  */
2670 tSCC* apzDarwin_Stdint_7Machs[] = {
2671         "*-*-darwin*",
2672         (const char*)NULL };
2675  *  content selection pattern - do fix if pattern found
2676  */
2677 tSCC zDarwin_Stdint_7Select0[] =
2678        "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
2679 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
2681 #define    DARWIN_STDINT_7_TEST_CT  1
2682 static tTestDesc aDarwin_Stdint_7Tests[] = {
2683   { TT_EGREP,    zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
2686  *  Fix Command Arguments for Darwin_Stdint_7
2687  */
2688 static const char* apzDarwin_Stdint_7Patch[] = {
2689     "format",
2690     "#if __WORDSIZE == 64\n\
2691 #define INTMAX_C(v)  (v ## L)\n\
2692 #define UINTMAX_C(v) (v ## UL)\n\
2693 #else\n\
2694 #define INTMAX_C(v)  (v ## LL)\n\
2695 #define UINTMAX_C(v) (v ## ULL)\n\
2696 #endif",
2697     (char*)NULL };
2699 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2701  *  Description of Dec_Intern_Asm fix
2702  */
2703 tSCC zDec_Intern_AsmName[] =
2704      "dec_intern_asm";
2707  *  File name selection pattern
2708  */
2709 tSCC zDec_Intern_AsmList[] =
2710   "c_asm.h\0";
2712  *  Machine/OS name selection pattern
2713  */
2714 #define apzDec_Intern_AsmMachs (const char**)NULL
2715 #define DEC_INTERN_ASM_TEST_CT  0
2716 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
2719  *  Fix Command Arguments for Dec_Intern_Asm
2720  */
2721 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
2722     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
2723 #ifdef __DECC\n",
2724     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
2725 #endif\n",
2726     (char*)NULL };
2728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2730  *  Description of Djgpp_Wchar_H fix
2731  */
2732 tSCC zDjgpp_Wchar_HName[] =
2733      "djgpp_wchar_h";
2736  *  File name selection pattern
2737  */
2738 #define zDjgpp_Wchar_HList (char*)NULL
2740  *  Machine/OS name selection pattern
2741  */
2742 #define apzDjgpp_Wchar_HMachs (const char**)NULL
2745  *  content selection pattern - do fix if pattern found
2746  */
2747 tSCC zDjgpp_Wchar_HSelect0[] =
2748        "__DJ_wint_t";
2751  *  content bypass pattern - skip fix if pattern found
2752  */
2753 tSCC zDjgpp_Wchar_HBypass0[] =
2754        "sys/djtypes.h";
2756 #define    DJGPP_WCHAR_H_TEST_CT  2
2757 static tTestDesc aDjgpp_Wchar_HTests[] = {
2758   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2759   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2762  *  Fix Command Arguments for Djgpp_Wchar_H
2763  */
2764 static const char* apzDjgpp_Wchar_HPatch[] = {
2765     "format",
2766     "%0\n\
2767 #include <sys/djtypes.h>",
2768     "#include <stddef.h>",
2769     (char*)NULL };
2771 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2773  *  Description of Ecd_Cursor fix
2774  */
2775 tSCC zEcd_CursorName[] =
2776      "ecd_cursor";
2779  *  File name selection pattern
2780  */
2781 tSCC zEcd_CursorList[] =
2782   "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
2784  *  Machine/OS name selection pattern
2785  */
2786 #define apzEcd_CursorMachs (const char**)NULL
2789  *  content selection pattern - do fix if pattern found
2790  */
2791 tSCC zEcd_CursorSelect0[] =
2792        "ecd\\.cursor";
2794 #define    ECD_CURSOR_TEST_CT  1
2795 static tTestDesc aEcd_CursorTests[] = {
2796   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
2799  *  Fix Command Arguments for Ecd_Cursor
2800  */
2801 static const char* apzEcd_CursorPatch[] = {
2802     "format",
2803     "ecd_cursor",
2804     (char*)NULL };
2806 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2808  *  Description of Freebsd_Gcc3_Breakage fix
2809  */
2810 tSCC zFreebsd_Gcc3_BreakageName[] =
2811      "freebsd_gcc3_breakage";
2814  *  File name selection pattern
2815  */
2816 tSCC zFreebsd_Gcc3_BreakageList[] =
2817   "sys/cdefs.h\0";
2819  *  Machine/OS name selection pattern
2820  */
2821 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2822         "*-*-freebsd*",
2823         (const char*)NULL };
2826  *  content selection pattern - do fix if pattern found
2827  */
2828 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2829        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2832  *  content bypass pattern - skip fix if pattern found
2833  */
2834 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2835        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2837 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
2838 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2839   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2840   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2843  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
2844  */
2845 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2846     "format",
2847     "%0 || __GNUC__ >= 3",
2848     (char*)NULL };
2850 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2852  *  Description of Freebsd_Gcc4_Breakage fix
2853  */
2854 tSCC zFreebsd_Gcc4_BreakageName[] =
2855      "freebsd_gcc4_breakage";
2858  *  File name selection pattern
2859  */
2860 tSCC zFreebsd_Gcc4_BreakageList[] =
2861   "sys/cdefs.h\0";
2863  *  Machine/OS name selection pattern
2864  */
2865 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2866         "*-*-freebsd*",
2867         (const char*)NULL };
2870  *  content selection pattern - do fix if pattern found
2871  */
2872 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2873        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2875 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
2876 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2877   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2880  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
2881  */
2882 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2883     "format",
2884     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2885     (char*)NULL };
2887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2889  *  Description of Glibc_C99_Inline_1 fix
2890  */
2891 tSCC zGlibc_C99_Inline_1Name[] =
2892      "glibc_c99_inline_1";
2895  *  File name selection pattern
2896  */
2897 tSCC zGlibc_C99_Inline_1List[] =
2898   "features.h\0*/features.h\0";
2900  *  Machine/OS name selection pattern
2901  */
2902 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
2905  *  content selection pattern - do fix if pattern found
2906  */
2907 tSCC zGlibc_C99_Inline_1Select0[] =
2908        "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
2910 #define    GLIBC_C99_INLINE_1_TEST_CT  1
2911 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
2912   { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
2915  *  Fix Command Arguments for Glibc_C99_Inline_1
2916  */
2917 static const char* apzGlibc_C99_Inline_1Patch[] = {
2918     "format",
2919     "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
2920     (char*)NULL };
2922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2924  *  Description of Glibc_C99_Inline_1a fix
2925  */
2926 tSCC zGlibc_C99_Inline_1aName[] =
2927      "glibc_c99_inline_1a";
2930  *  File name selection pattern
2931  */
2932 tSCC zGlibc_C99_Inline_1aList[] =
2933   "features.h\0*/features.h\0";
2935  *  Machine/OS name selection pattern
2936  */
2937 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
2940  *  content selection pattern - do fix if pattern found
2941  */
2942 tSCC zGlibc_C99_Inline_1aSelect0[] =
2943        "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
2944 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
2946 #define    GLIBC_C99_INLINE_1A_TEST_CT  1
2947 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
2948   { TT_EGREP,    zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
2951  *  Fix Command Arguments for Glibc_C99_Inline_1a
2952  */
2953 static const char* apzGlibc_C99_Inline_1aPatch[] = {
2954     "format",
2955     "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
2956 %2",
2957     (char*)NULL };
2959 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2961  *  Description of Glibc_C99_Inline_2 fix
2962  */
2963 tSCC zGlibc_C99_Inline_2Name[] =
2964      "glibc_c99_inline_2";
2967  *  File name selection pattern
2968  */
2969 tSCC zGlibc_C99_Inline_2List[] =
2970   "sys/stat.h\0*/sys/stat.h\0";
2972  *  Machine/OS name selection pattern
2973  */
2974 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
2977  *  content selection pattern - do fix if pattern found
2978  */
2979 tSCC zGlibc_C99_Inline_2Select0[] =
2980        "extern __inline__ int";
2982 #define    GLIBC_C99_INLINE_2_TEST_CT  1
2983 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
2984   { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
2987  *  Fix Command Arguments for Glibc_C99_Inline_2
2988  */
2989 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
2990     "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2991 extern\\\n\
2992 #endif\\\n\
2993 __inline__ int \\1/",
2994     "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2995 extern\\\n\
2996 #endif\\\n\
2997 __inline__ int \\1/",
2998     "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2999 extern\\\n\
3000 #endif\\\n\
3001 __inline__ int \\1/",
3002     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3003 extern\\\n\
3004 #endif\\\n\
3005 __inline__ int __REDIRECT\\1 (\\2/",
3006     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3007 extern\\\n\
3008 #endif\\\n\
3009 __inline__ int __REDIRECT\\1 (\\2/",
3010     "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
3011 extern\\\n\
3012 #endif\\\n\
3013 __inline__ int/",
3014     (char*)NULL };
3016 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3018  *  Description of Glibc_C99_Inline_3 fix
3019  */
3020 tSCC zGlibc_C99_Inline_3Name[] =
3021      "glibc_c99_inline_3";
3024  *  File name selection pattern
3025  */
3026 tSCC zGlibc_C99_Inline_3List[] =
3027   "bits/string2.h\0*/bits/string2.h\0";
3029  *  Machine/OS name selection pattern
3030  */
3031 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
3034  *  content selection pattern - do fix if pattern found
3035  */
3036 tSCC zGlibc_C99_Inline_3Select0[] =
3037        "extern __inline";
3040  *  content bypass pattern - skip fix if pattern found
3041  */
3042 tSCC zGlibc_C99_Inline_3Bypass0[] =
3043        "__extern_inline|__GNU_STDC_INLINE__";
3045 #define    GLIBC_C99_INLINE_3_TEST_CT  2
3046 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
3047   { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
3048   { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
3051  *  Fix Command Arguments for Glibc_C99_Inline_3
3052  */
3053 static const char* apzGlibc_C99_Inline_3Patch[] = {
3054     "format",
3055     "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
3056     "^# ifdef __cplusplus$",
3057     (char*)NULL };
3059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3061  *  Description of Glibc_C99_Inline_4 fix
3062  */
3063 tSCC zGlibc_C99_Inline_4Name[] =
3064      "glibc_c99_inline_4";
3067  *  File name selection pattern
3068  */
3069 tSCC zGlibc_C99_Inline_4List[] =
3070   "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0";
3072  *  Machine/OS name selection pattern
3073  */
3074 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
3077  *  content selection pattern - do fix if pattern found
3078  */
3079 tSCC zGlibc_C99_Inline_4Select0[] =
3080        "(^| )extern __inline";
3083  *  content bypass pattern - skip fix if pattern found
3084  */
3085 tSCC zGlibc_C99_Inline_4Bypass0[] =
3086        "__extern_inline|__gnu_inline__";
3088 #define    GLIBC_C99_INLINE_4_TEST_CT  2
3089 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
3090   { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
3091   { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
3094  *  Fix Command Arguments for Glibc_C99_Inline_4
3095  */
3096 static const char* apzGlibc_C99_Inline_4Patch[] = {
3097     "format",
3098     "%0 __attribute__ ((__gnu_inline__))",
3099     (char*)NULL };
3101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3103  *  Description of Glibc_Mutex_Init fix
3104  */
3105 tSCC zGlibc_Mutex_InitName[] =
3106      "glibc_mutex_init";
3109  *  File name selection pattern
3110  */
3111 tSCC zGlibc_Mutex_InitList[] =
3112   "pthread.h\0";
3114  *  Machine/OS name selection pattern
3115  */
3116 #define apzGlibc_Mutex_InitMachs (const char**)NULL
3119  *  content selection pattern - do fix if pattern found
3120  */
3121 tSCC zGlibc_Mutex_InitSelect0[] =
3122        "\\{ *\\{ *0, *\\} *\\}";
3124 #define    GLIBC_MUTEX_INIT_TEST_CT  1
3125 static tTestDesc aGlibc_Mutex_InitTests[] = {
3126   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
3129  *  Fix Command Arguments for Glibc_Mutex_Init
3130  */
3131 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
3132     "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
3133 N\n\
3134 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
3136     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
3137     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
3138     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
3139     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3140     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
3141     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3142     "-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\
3143 #  \\1\\\n\
3144   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3145 # else\\\n\
3146 #  \\1\\\n\
3147   { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3148 # endif/",
3149     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
3150     "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
3151     (char*)NULL };
3153 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3155  *  Description of Glibc_Stdint fix
3156  */
3157 tSCC zGlibc_StdintName[] =
3158      "glibc_stdint";
3161  *  File name selection pattern
3162  */
3163 tSCC zGlibc_StdintList[] =
3164   "stdint.h\0";
3166  *  Machine/OS name selection pattern
3167  */
3168 #define apzGlibc_StdintMachs (const char**)NULL
3171  *  content selection pattern - do fix if pattern found
3172  */
3173 tSCC zGlibc_StdintSelect0[] =
3174        "GNU C Library";
3176 #define    GLIBC_STDINT_TEST_CT  1
3177 static tTestDesc aGlibc_StdintTests[] = {
3178   { TT_EGREP,    zGlibc_StdintSelect0, (regex_t*)NULL }, };
3181  *  Fix Command Arguments for Glibc_Stdint
3182  */
3183 static const char* apzGlibc_StdintPatch[] = {
3184     "format",
3185     "# define UINT8_C(c)\tc\n\
3186 # define UINT16_C(c)\tc",
3187     "# define UINT8_C\\(c\\)\tc ## U\n\
3188 # define UINT16_C\\(c\\)\tc ## U",
3189     (char*)NULL };
3191 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3193  *  Description of Glibc_Strncpy fix
3194  */
3195 tSCC zGlibc_StrncpyName[] =
3196      "glibc_strncpy";
3199  *  File name selection pattern
3200  */
3201 tSCC zGlibc_StrncpyList[] =
3202   "bits/string2.h\0";
3204  *  Machine/OS name selection pattern
3205  */
3206 #define apzGlibc_StrncpyMachs (const char**)NULL
3209  *  content bypass pattern - skip fix if pattern found
3210  */
3211 tSCC zGlibc_StrncpyBypass0[] =
3212        "__builtin_strncpy";
3214 #define    GLIBC_STRNCPY_TEST_CT  1
3215 static tTestDesc aGlibc_StrncpyTests[] = {
3216   { TT_NEGREP,   zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
3219  *  Fix Command Arguments for Glibc_Strncpy
3220  */
3221 static const char* apzGlibc_StrncpyPatch[] = {
3222     "format",
3223     "#  define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
3224     "#  define strncpy([^\n\
3225 ]*\\\\\n\
3226 )*[^\n\
3227 ]*",
3228     (char*)NULL };
3230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3232  *  Description of Glibc_Tgmath fix
3233  */
3234 tSCC zGlibc_TgmathName[] =
3235      "glibc_tgmath";
3238  *  File name selection pattern
3239  */
3240 tSCC zGlibc_TgmathList[] =
3241   "tgmath.h\0";
3243  *  Machine/OS name selection pattern
3244  */
3245 #define apzGlibc_TgmathMachs (const char**)NULL
3248  *  content selection pattern - do fix if pattern found
3249  */
3250 tSCC zGlibc_TgmathSelect0[] =
3251        "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
3254  *  content bypass pattern - skip fix if pattern found
3255  */
3256 tSCC zGlibc_TgmathBypass0[] =
3257        "__floating_type\\(type\\) \\\\\n\
3258 .*__builtin_classify_type";
3260 #define    GLIBC_TGMATH_TEST_CT  2
3261 static tTestDesc aGlibc_TgmathTests[] = {
3262   { TT_NEGREP,   zGlibc_TgmathBypass0, (regex_t*)NULL },
3263   { TT_EGREP,    zGlibc_TgmathSelect0, (regex_t*)NULL }, };
3266  *  Fix Command Arguments for Glibc_Tgmath
3267  */
3268 static const char* apzGlibc_TgmathPatch[] = {
3269     "format",
3270     "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
3271     (char*)NULL };
3273 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3275  *  Description of Gnu_Types fix
3276  */
3277 tSCC zGnu_TypesName[] =
3278      "gnu_types";
3281  *  File name selection pattern
3282  */
3283 tSCC zGnu_TypesList[] =
3284   "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
3286  *  Machine/OS name selection pattern
3287  */
3288 tSCC* apzGnu_TypesMachs[] = {
3289         "*-*-solaris2.1[0-9]*",
3290         (const char*)NULL };
3293  *  content selection pattern - do fix if pattern found
3294  */
3295 tSCC zGnu_TypesSelect0[] =
3296        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
3299  *  content bypass pattern - skip fix if pattern found
3300  */
3301 tSCC zGnu_TypesBypass0[] =
3302        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
3304 #define    GNU_TYPES_TEST_CT  2
3305 static tTestDesc aGnu_TypesTests[] = {
3306   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
3307   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
3310  *  Fix Command Arguments for Gnu_Types
3311  */
3312 static const char* apzGnu_TypesPatch[] = {
3313     "gnu_type",
3314     (char*)NULL };
3316 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3318  *  Description of Hp_Inline fix
3319  */
3320 tSCC zHp_InlineName[] =
3321      "hp_inline";
3324  *  File name selection pattern
3325  */
3326 tSCC zHp_InlineList[] =
3327   "sys/spinlock.h\0machine/machparam.h\0";
3329  *  Machine/OS name selection pattern
3330  */
3331 #define apzHp_InlineMachs (const char**)NULL
3334  *  content selection pattern - do fix if pattern found
3335  */
3336 tSCC zHp_InlineSelect0[] =
3337        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
3339 #define    HP_INLINE_TEST_CT  1
3340 static tTestDesc aHp_InlineTests[] = {
3341   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
3344  *  Fix Command Arguments for Hp_Inline
3345  */
3346 static const char* apzHp_InlinePatch[] = {
3347     "format",
3348     "%1<machine/%2.h>",
3349     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
3350     (char*)NULL };
3352 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3354  *  Description of Hp_Sysfile fix
3355  */
3356 tSCC zHp_SysfileName[] =
3357      "hp_sysfile";
3360  *  File name selection pattern
3361  */
3362 tSCC zHp_SysfileList[] =
3363   "sys/file.h\0";
3365  *  Machine/OS name selection pattern
3366  */
3367 #define apzHp_SysfileMachs (const char**)NULL
3370  *  content selection pattern - do fix if pattern found
3371  */
3372 tSCC zHp_SysfileSelect0[] =
3373        "HPUX_SOURCE";
3375 #define    HP_SYSFILE_TEST_CT  1
3376 static tTestDesc aHp_SysfileTests[] = {
3377   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
3380  *  Fix Command Arguments for Hp_Sysfile
3381  */
3382 static const char* apzHp_SysfilePatch[] = {
3383     "format",
3384     "(struct file *, ...)",
3385     "\\(\\.\\.\\.\\)",
3386     (char*)NULL };
3388 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3390  *  Description of Hppa_Hpux_Fp_Macros fix
3391  */
3392 tSCC zHppa_Hpux_Fp_MacrosName[] =
3393      "hppa_hpux_fp_macros";
3396  *  File name selection pattern
3397  */
3398 tSCC zHppa_Hpux_Fp_MacrosList[] =
3399   "math.h\0";
3401  *  Machine/OS name selection pattern
3402  */
3403 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
3404         "hppa*-hp-hpux11*",
3405         (const char*)NULL };
3408  *  content selection pattern - do fix if pattern found
3409  */
3410 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
3411        "#[ \t]*define[ \t]*FP_NORMAL.*\n\
3412 #[ \t]*define[ \t]*FP_ZERO.*\n\
3413 #[ \t]*define[ \t]*FP_INFINITE.*\n\
3414 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
3415 #[ \t]*define[ \t]*FP_NAN.*\n";
3417 #define    HPPA_HPUX_FP_MACROS_TEST_CT  1
3418 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
3419   { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
3422  *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
3423  */
3424 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
3425     "format",
3426     "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
3427 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
3428    (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
3429 %0#endif\n\n\
3430 #ifdef _INCLUDE_HPUX_SOURCE\n",
3431     (char*)NULL };
3433 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3435  *  Description of Hpux10_Cpp_Pow_Inline fix
3436  */
3437 tSCC zHpux10_Cpp_Pow_InlineName[] =
3438      "hpux10_cpp_pow_inline";
3441  *  File name selection pattern
3442  */
3443 tSCC zHpux10_Cpp_Pow_InlineList[] =
3444   "fixinc-test-limits.h\0math.h\0";
3446  *  Machine/OS name selection pattern
3447  */
3448 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
3451  *  content selection pattern - do fix if pattern found
3452  */
3453 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
3454        "^# +ifdef +__cplusplus\n\
3455  +\\}\n\
3456  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
3457 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
3458  +\\}\n\
3459  +extern +\"C\" +\\{\n\
3460 #else\n\
3461 # +endif";
3463 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
3464 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
3465   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3468  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
3469  */
3470 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
3471     "format",
3472     "",
3473     (char*)NULL };
3475 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3477  *  Description of Hpux11_Cpp_Pow_Inline fix
3478  */
3479 tSCC zHpux11_Cpp_Pow_InlineName[] =
3480      "hpux11_cpp_pow_inline";
3483  *  File name selection pattern
3484  */
3485 tSCC zHpux11_Cpp_Pow_InlineList[] =
3486   "math.h\0";
3488  *  Machine/OS name selection pattern
3489  */
3490 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
3493  *  content selection pattern - do fix if pattern found
3494  */
3495 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
3496        " +inline double pow\\(double d,int expon\\) \\{\n\
3497  +return pow\\(d, \\(double\\)expon\\);\n\
3498  +\\}\n";
3500 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
3501 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
3502   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3505  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
3506  */
3507 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
3508     "format",
3509     "",
3510     (char*)NULL };
3512 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3514  *  Description of Hpux10_Ctype_Declarations1 fix
3515  */
3516 tSCC zHpux10_Ctype_Declarations1Name[] =
3517      "hpux10_ctype_declarations1";
3520  *  File name selection pattern
3521  */
3522 tSCC zHpux10_Ctype_Declarations1List[] =
3523   "ctype.h\0";
3525  *  Machine/OS name selection pattern
3526  */
3527 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
3530  *  content selection pattern - do fix if pattern found
3531  */
3532 tSCC zHpux10_Ctype_Declarations1Select0[] =
3533        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
3536  *  content bypass pattern - skip fix if pattern found
3537  */
3538 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
3539        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
3541 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
3542 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
3543   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
3544   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
3547  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
3548  */
3549 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
3550     "format",
3551     "#ifdef _PROTOTYPES\n\
3552 extern int __tolower(int);\n\
3553 extern int __toupper(int);\n\
3554 #else /* NOT _PROTOTYPES */\n\
3555 extern int __tolower();\n\
3556 extern int __toupper();\n\
3557 #endif /* _PROTOTYPES */\n\n\
3558 %0\n",
3559     (char*)NULL };
3561 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3563  *  Description of Hpux10_Ctype_Declarations2 fix
3564  */
3565 tSCC zHpux10_Ctype_Declarations2Name[] =
3566      "hpux10_ctype_declarations2";
3569  *  File name selection pattern
3570  */
3571 tSCC zHpux10_Ctype_Declarations2List[] =
3572   "ctype.h\0";
3574  *  Machine/OS name selection pattern
3575  */
3576 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
3579  *  content selection pattern - do fix if pattern found
3580  */
3581 tSCC zHpux10_Ctype_Declarations2Select0[] =
3582        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
3585  *  content bypass pattern - skip fix if pattern found
3586  */
3587 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
3588        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
3590 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
3591 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
3592   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
3593   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
3596  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
3597  */
3598 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
3599     "format",
3600     "%0\n\n\
3601 #ifdef _PROTOTYPES\n\
3602      extern int _isalnum(int);\n\
3603      extern int _isalpha(int);\n\
3604      extern int _iscntrl(int);\n\
3605      extern int _isdigit(int);\n\
3606      extern int _isgraph(int);\n\
3607      extern int _islower(int);\n\
3608      extern int _isprint(int);\n\
3609      extern int _ispunct(int);\n\
3610      extern int _isspace(int);\n\
3611      extern int _isupper(int);\n\
3612      extern int _isxdigit(int);\n\
3613 #  else /* not _PROTOTYPES */\n\
3614      extern int _isalnum();\n\
3615      extern int _isalpha();\n\
3616      extern int _iscntrl();\n\
3617      extern int _isdigit();\n\
3618      extern int _isgraph();\n\
3619      extern int _islower();\n\
3620      extern int _isprint();\n\
3621      extern int _ispunct();\n\
3622      extern int _isspace();\n\
3623      extern int _isupper();\n\
3624      extern int _isxdigit();\n\
3625 #endif /* _PROTOTYPES */\n",
3626     (char*)NULL };
3628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3630  *  Description of Hpux10_Stdio_Declarations fix
3631  */
3632 tSCC zHpux10_Stdio_DeclarationsName[] =
3633      "hpux10_stdio_declarations";
3636  *  File name selection pattern
3637  */
3638 tSCC zHpux10_Stdio_DeclarationsList[] =
3639   "stdio.h\0";
3641  *  Machine/OS name selection pattern
3642  */
3643 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
3646  *  content selection pattern - do fix if pattern found
3647  */
3648 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
3649        "^#[ \t]*define _iob[ \t]*__iob";
3652  *  content bypass pattern - skip fix if pattern found
3653  */
3654 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
3655        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
3657 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
3658 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
3659   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
3660   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
3663  *  Fix Command Arguments for Hpux10_Stdio_Declarations
3664  */
3665 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
3666     "format",
3667     "%0\n\n\
3668 #  if defined(__STDC__) || defined(__cplusplus)\n\
3669      extern int snprintf(char *, size_t, const char *, ...);\n\
3670      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
3671 #  else /* not __STDC__) || __cplusplus */\n\
3672      extern int snprintf();\n\
3673      extern int vsnprintf();\n\
3674 #  endif /* __STDC__) || __cplusplus */\n",
3675     (char*)NULL };
3677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3679  *  Description of Hpux11_Abs fix
3680  */
3681 tSCC zHpux11_AbsName[] =
3682      "hpux11_abs";
3685  *  File name selection pattern
3686  */
3687 tSCC zHpux11_AbsList[] =
3688   "stdlib.h\0";
3690  *  Machine/OS name selection pattern
3691  */
3692 tSCC* apzHpux11_AbsMachs[] = {
3693         "*-hp-hpux11*",
3694         (const char*)NULL };
3697  *  content selection pattern - do fix if pattern found
3698  */
3699 tSCC zHpux11_AbsSelect0[] =
3700        "ifndef _MATH_INCLUDED";
3702 #define    HPUX11_ABS_TEST_CT  1
3703 static tTestDesc aHpux11_AbsTests[] = {
3704   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
3707  *  Fix Command Arguments for Hpux11_Abs
3708  */
3709 static const char* apzHpux11_AbsPatch[] = {
3710     "format",
3711     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
3712     (char*)NULL };
3714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3716  *  Description of Hpux11_Fabsf fix
3717  */
3718 tSCC zHpux11_FabsfName[] =
3719      "hpux11_fabsf";
3722  *  File name selection pattern
3723  */
3724 tSCC zHpux11_FabsfList[] =
3725   "math.h\0";
3727  *  Machine/OS name selection pattern
3728  */
3729 #define apzHpux11_FabsfMachs (const char**)NULL
3732  *  content selection pattern - do fix if pattern found
3733  */
3734 tSCC zHpux11_FabsfSelect0[] =
3735        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
3738  *  content bypass pattern - skip fix if pattern found
3739  */
3740 tSCC zHpux11_FabsfBypass0[] =
3741        "__cplusplus";
3743 #define    HPUX11_FABSF_TEST_CT  2
3744 static tTestDesc aHpux11_FabsfTests[] = {
3745   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
3746   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
3749  *  Fix Command Arguments for Hpux11_Fabsf
3750  */
3751 static const char* apzHpux11_FabsfPatch[] = {
3752     "format",
3753     "#ifndef __cplusplus\n\
3754 %0\n\
3755 #endif",
3756     (char*)NULL };
3758 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3760  *  Description of Hpux11_Pthread_Const fix
3761  */
3762 tSCC zHpux11_Pthread_ConstName[] =
3763      "hpux11_pthread_const";
3766  *  File name selection pattern
3767  */
3768 tSCC zHpux11_Pthread_ConstList[] =
3769   "sys/pthread.h\0";
3771  *  Machine/OS name selection pattern
3772  */
3773 tSCC* apzHpux11_Pthread_ConstMachs[] = {
3774         "*-hp-hpux11.[0-3]*",
3775         (const char*)NULL };
3778  *  content selection pattern - do fix if pattern found
3779  */
3780 tSCC zHpux11_Pthread_ConstSelect0[] =
3781        "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
3783 #define    HPUX11_PTHREAD_CONST_TEST_CT  1
3784 static tTestDesc aHpux11_Pthread_ConstTests[] = {
3785   { TT_EGREP,    zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
3788  *  Fix Command Arguments for Hpux11_Pthread_Const
3789  */
3790 static const char* apzHpux11_Pthread_ConstPatch[] = {
3791     "format",
3792     "#define __POINTER_SET\t\t((void *) 1L)",
3793     (char*)NULL };
3795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3797  *  Description of Hpux11_Size_T fix
3798  */
3799 tSCC zHpux11_Size_TName[] =
3800      "hpux11_size_t";
3803  *  File name selection pattern
3804  */
3805 #define zHpux11_Size_TList (char*)NULL
3807  *  Machine/OS name selection pattern
3808  */
3809 tSCC* apzHpux11_Size_TMachs[] = {
3810         "*-hp-hpux11*",
3811         (const char*)NULL };
3814  *  content selection pattern - do fix if pattern found
3815  */
3816 tSCC zHpux11_Size_TSelect0[] =
3817        "__size_t";
3819 #define    HPUX11_SIZE_T_TEST_CT  1
3820 static tTestDesc aHpux11_Size_TTests[] = {
3821   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
3824  *  Fix Command Arguments for Hpux11_Size_T
3825  */
3826 static const char* apzHpux11_Size_TPatch[] = {
3827     "format",
3828     "_hpux_size_t",
3829     (char*)NULL };
3831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3833  *  Description of Hpux11_Snprintf fix
3834  */
3835 tSCC zHpux11_SnprintfName[] =
3836      "hpux11_snprintf";
3839  *  File name selection pattern
3840  */
3841 tSCC zHpux11_SnprintfList[] =
3842   "stdio.h\0";
3844  *  Machine/OS name selection pattern
3845  */
3846 #define apzHpux11_SnprintfMachs (const char**)NULL
3849  *  content selection pattern - do fix if pattern found
3850  */
3851 tSCC zHpux11_SnprintfSelect0[] =
3852        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
3854 #define    HPUX11_SNPRINTF_TEST_CT  1
3855 static tTestDesc aHpux11_SnprintfTests[] = {
3856   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
3859  *  Fix Command Arguments for Hpux11_Snprintf
3860  */
3861 static const char* apzHpux11_SnprintfPatch[] = {
3862     "format",
3863     "%1 const %3",
3864     (char*)NULL };
3866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3868  *  Description of Hpux11_Vsnprintf fix
3869  */
3870 tSCC zHpux11_VsnprintfName[] =
3871      "hpux11_vsnprintf";
3874  *  File name selection pattern
3875  */
3876 tSCC zHpux11_VsnprintfList[] =
3877   "stdio.h\0";
3879  *  Machine/OS name selection pattern
3880  */
3881 #define apzHpux11_VsnprintfMachs (const char**)NULL
3884  *  content selection pattern - do fix if pattern found
3885  */
3886 tSCC zHpux11_VsnprintfSelect0[] =
3887        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
3889 #define    HPUX11_VSNPRINTF_TEST_CT  1
3890 static tTestDesc aHpux11_VsnprintfTests[] = {
3891   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
3894  *  Fix Command Arguments for Hpux11_Vsnprintf
3895  */
3896 static const char* apzHpux11_VsnprintfPatch[] = {
3897     "format",
3898     "%1 __va_list);",
3899     (char*)NULL };
3901 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3903  *  Description of Hpux8_Bogus_Inlines fix
3904  */
3905 tSCC zHpux8_Bogus_InlinesName[] =
3906      "hpux8_bogus_inlines";
3909  *  File name selection pattern
3910  */
3911 tSCC zHpux8_Bogus_InlinesList[] =
3912   "math.h\0";
3914  *  Machine/OS name selection pattern
3915  */
3916 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
3919  *  content selection pattern - do fix if pattern found
3920  */
3921 tSCC zHpux8_Bogus_InlinesSelect0[] =
3922        "inline";
3925  *  content bypass pattern - skip fix if pattern found
3926  */
3927 tSCC zHpux8_Bogus_InlinesBypass0[] =
3928        "__GNUG__";
3930 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
3931 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
3932   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
3933   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
3936  *  Fix Command Arguments for Hpux8_Bogus_Inlines
3937  */
3938 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
3939     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
3940     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
3941     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
3942     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
3943     (char*)NULL };
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3947  *  Description of Hpux_Ctype_Macros fix
3948  */
3949 tSCC zHpux_Ctype_MacrosName[] =
3950      "hpux_ctype_macros";
3953  *  File name selection pattern
3954  */
3955 tSCC zHpux_Ctype_MacrosList[] =
3956   "ctype.h\0";
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zHpux_Ctype_MacrosSelect0[] =
3966        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
3968 #define    HPUX_CTYPE_MACROS_TEST_CT  1
3969 static tTestDesc aHpux_Ctype_MacrosTests[] = {
3970   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
3973  *  Fix Command Arguments for Hpux_Ctype_Macros
3974  */
3975 static const char* apzHpux_Ctype_MacrosPatch[] = {
3976     "format",
3977     "%1(int)%3",
3978     (char*)NULL };
3980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3982  *  Description of Hpux_Htonl fix
3983  */
3984 tSCC zHpux_HtonlName[] =
3985      "hpux_htonl";
3988  *  File name selection pattern
3989  */
3990 tSCC zHpux_HtonlList[] =
3991   "netinet/in.h\0";
3993  *  Machine/OS name selection pattern
3994  */
3995 #define apzHpux_HtonlMachs (const char**)NULL
3998  *  content selection pattern - do fix if pattern found
3999  */
4000 tSCC zHpux_HtonlSelect0[] =
4001        "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
4002 (/\\*\n\
4003  \\* Macros for number representation conversion\\.\n\
4004  \\*/\n\
4005 #ifndef ntohl)";
4007 #define    HPUX_HTONL_TEST_CT  1
4008 static tTestDesc aHpux_HtonlTests[] = {
4009   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
4012  *  Fix Command Arguments for Hpux_Htonl
4013  */
4014 static const char* apzHpux_HtonlPatch[] = {
4015     "format",
4016     "#if 1\n\
4017 %1",
4018     (char*)NULL };
4020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4022  *  Description of Hpux_Long_Double fix
4023  */
4024 tSCC zHpux_Long_DoubleName[] =
4025      "hpux_long_double";
4028  *  File name selection pattern
4029  */
4030 tSCC zHpux_Long_DoubleList[] =
4031   "stdlib.h\0";
4033  *  Machine/OS name selection pattern
4034  */
4035 tSCC* apzHpux_Long_DoubleMachs[] = {
4036         "*-*-hpux10*",
4037         "*-*-hpux11.[012]*",
4038         (const char*)NULL };
4041  *  content selection pattern - do fix if pattern found
4042  */
4043 tSCC zHpux_Long_DoubleSelect0[] =
4044        "extern[ \t]long_double[ \t]strtold";
4047  *  content bypass pattern - skip fix if pattern found
4048  */
4049 tSCC zHpux_Long_DoubleBypass0[] =
4050        "long_double_t";
4052 #define    HPUX_LONG_DOUBLE_TEST_CT  2
4053 static tTestDesc aHpux_Long_DoubleTests[] = {
4054   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
4055   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
4058  *  Fix Command Arguments for Hpux_Long_Double
4059  */
4060 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
4061     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
4062     "-e", "s/long_double/long double/g",
4063     (char*)NULL };
4065 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4067  *  Description of Hpux_Long_Double_2 fix
4068  */
4069 tSCC zHpux_Long_Double_2Name[] =
4070      "hpux_long_double_2";
4073  *  File name selection pattern
4074  */
4075 tSCC zHpux_Long_Double_2List[] =
4076   "stdlib.h\0";
4078  *  Machine/OS name selection pattern
4079  */
4080 tSCC* apzHpux_Long_Double_2Machs[] = {
4081         "hppa*-*-hpux11.3*",
4082         (const char*)NULL };
4085  *  content selection pattern - do fix if pattern found
4086  */
4087 tSCC zHpux_Long_Double_2Select0[] =
4088        "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
4090 #define    HPUX_LONG_DOUBLE_2_TEST_CT  1
4091 static tTestDesc aHpux_Long_Double_2Tests[] = {
4092   { TT_EGREP,    zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
4095  *  Fix Command Arguments for Hpux_Long_Double_2
4096  */
4097 static const char* apzHpux_Long_Double_2Patch[] = {
4098     "format",
4099     "#  if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
4100     (char*)NULL };
4102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4104  *  Description of Hpux_Systime fix
4105  */
4106 tSCC zHpux_SystimeName[] =
4107      "hpux_systime";
4110  *  File name selection pattern
4111  */
4112 tSCC zHpux_SystimeList[] =
4113   "sys/time.h\0";
4115  *  Machine/OS name selection pattern
4116  */
4117 #define apzHpux_SystimeMachs (const char**)NULL
4120  *  content selection pattern - do fix if pattern found
4121  */
4122 tSCC zHpux_SystimeSelect0[] =
4123        "^extern struct sigevent;";
4125 #define    HPUX_SYSTIME_TEST_CT  1
4126 static tTestDesc aHpux_SystimeTests[] = {
4127   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
4130  *  Fix Command Arguments for Hpux_Systime
4131  */
4132 static const char* apzHpux_SystimePatch[] = {
4133     "format",
4134     "struct sigevent;",
4135     (char*)NULL };
4137 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4139  *  Description of Hpux_Spu_Info fix
4140  */
4141 tSCC zHpux_Spu_InfoName[] =
4142      "hpux_spu_info";
4145  *  File name selection pattern
4146  */
4147 tSCC zHpux_Spu_InfoList[] =
4148   "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
4150  *  Machine/OS name selection pattern
4151  */
4152 tSCC* apzHpux_Spu_InfoMachs[] = {
4153         "*-hp-hpux*",
4154         (const char*)NULL };
4157  *  content selection pattern - do fix if pattern found
4158  */
4159 tSCC zHpux_Spu_InfoSelect0[] =
4160        "^.*extern.*spu_info.*";
4162 #define    HPUX_SPU_INFO_TEST_CT  1
4163 static tTestDesc aHpux_Spu_InfoTests[] = {
4164   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
4167  *  Fix Command Arguments for Hpux_Spu_Info
4168  */
4169 static const char* apzHpux_Spu_InfoPatch[] = {
4170     "format",
4171     "#ifdef _KERNEL\n\
4172 %0\n\
4173 #endif",
4174     (char*)NULL };
4176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4178  *  Description of Hpux11_Extern_Sendfile fix
4179  */
4180 tSCC zHpux11_Extern_SendfileName[] =
4181      "hpux11_extern_sendfile";
4184  *  File name selection pattern
4185  */
4186 tSCC zHpux11_Extern_SendfileList[] =
4187   "sys/socket.h\0";
4189  *  Machine/OS name selection pattern
4190  */
4191 tSCC* apzHpux11_Extern_SendfileMachs[] = {
4192         "*-hp-hpux11.[12]*",
4193         (const char*)NULL };
4196  *  content selection pattern - do fix if pattern found
4197  */
4198 tSCC zHpux11_Extern_SendfileSelect0[] =
4199        "^[ \t]*extern sbsize_t sendfile.*\n\
4200 .*, int\\)\\);\n";
4202 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
4203 static tTestDesc aHpux11_Extern_SendfileTests[] = {
4204   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
4207  *  Fix Command Arguments for Hpux11_Extern_Sendfile
4208  */
4209 static const char* apzHpux11_Extern_SendfilePatch[] = {
4210     "format",
4211     "#ifndef _APP32_64BIT_OFF_T\n\
4212 %0#endif\n",
4213     (char*)NULL };
4215 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4217  *  Description of Hpux11_Extern_Sendpath fix
4218  */
4219 tSCC zHpux11_Extern_SendpathName[] =
4220      "hpux11_extern_sendpath";
4223  *  File name selection pattern
4224  */
4225 tSCC zHpux11_Extern_SendpathList[] =
4226   "sys/socket.h\0";
4228  *  Machine/OS name selection pattern
4229  */
4230 tSCC* apzHpux11_Extern_SendpathMachs[] = {
4231         "*-hp-hpux11.[12]*",
4232         (const char*)NULL };
4235  *  content selection pattern - do fix if pattern found
4236  */
4237 tSCC zHpux11_Extern_SendpathSelect0[] =
4238        "^[ \t]*extern sbsize_t sendpath.*\n\
4239 .*, int\\)\\);\n";
4241 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
4242 static tTestDesc aHpux11_Extern_SendpathTests[] = {
4243   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
4246  *  Fix Command Arguments for Hpux11_Extern_Sendpath
4247  */
4248 static const char* apzHpux11_Extern_SendpathPatch[] = {
4249     "format",
4250     "#ifndef _APP32_64BIT_OFF_T\n\
4251 %0#endif\n",
4252     (char*)NULL };
4254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4256  *  Description of Hpux_Extern_Errno fix
4257  */
4258 tSCC zHpux_Extern_ErrnoName[] =
4259      "hpux_extern_errno";
4262  *  File name selection pattern
4263  */
4264 tSCC zHpux_Extern_ErrnoList[] =
4265   "errno.h\0";
4267  *  Machine/OS name selection pattern
4268  */
4269 tSCC* apzHpux_Extern_ErrnoMachs[] = {
4270         "*-hp-hpux10.*",
4271         "*-hp-hpux11.[0-2]*",
4272         (const char*)NULL };
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zHpux_Extern_ErrnoSelect0[] =
4278        "^[ \t]*extern int errno;$";
4280 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
4281 static tTestDesc aHpux_Extern_ErrnoTests[] = {
4282   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
4285  *  Fix Command Arguments for Hpux_Extern_Errno
4286  */
4287 static const char* apzHpux_Extern_ErrnoPatch[] = {
4288     "format",
4289     "#ifdef __cplusplus\n\
4290 extern \"C\" {\n\
4291 #endif\n\
4292 %0\n\
4293 #ifdef __cplusplus\n\
4294 }\n\
4295 #endif",
4296     (char*)NULL };
4298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4300  *  Description of Hpux_Pthread_Initializers fix
4301  */
4302 tSCC zHpux_Pthread_InitializersName[] =
4303      "hpux_pthread_initializers";
4306  *  File name selection pattern
4307  */
4308 tSCC zHpux_Pthread_InitializersList[] =
4309   "sys/pthread.h\0";
4311  *  Machine/OS name selection pattern
4312  */
4313 tSCC* apzHpux_Pthread_InitializersMachs[] = {
4314         "*-hp-hpux11.[0-3]*",
4315         (const char*)NULL };
4316 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
4317 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
4320  *  Fix Command Arguments for Hpux_Pthread_Initializers
4321  */
4322 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
4323     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
4324     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
4325     "-e", "/^[ \t]*0$/d",
4326     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
4327     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
4328     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
4329     "-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\\\\@",
4330     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
4331     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
4332     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
4333     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
4334     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
4335     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
4336     (char*)NULL };
4338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4340  *  Description of Hpux_C99_Intptr fix
4341  */
4342 tSCC zHpux_C99_IntptrName[] =
4343      "hpux_c99_intptr";
4346  *  File name selection pattern
4347  */
4348 tSCC zHpux_C99_IntptrList[] =
4349   "stdint-hpux11.h\0stdint.h\0";
4351  *  Machine/OS name selection pattern
4352  */
4353 tSCC* apzHpux_C99_IntptrMachs[] = {
4354         "*-hp-hpux11.3*",
4355         (const char*)NULL };
4356 #define HPUX_C99_INTPTR_TEST_CT  0
4357 #define aHpux_C99_IntptrTests   (tTestDesc*)NULL
4360  *  Fix Command Arguments for Hpux_C99_Intptr
4361  */
4362 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
4363     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
4364     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
4365     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
4366     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
4367     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
4368     "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
4369     (char*)NULL };
4371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4373  *  Description of Hpux_C99_Inttypes fix
4374  */
4375 tSCC zHpux_C99_InttypesName[] =
4376      "hpux_c99_inttypes";
4379  *  File name selection pattern
4380  */
4381 tSCC zHpux_C99_InttypesList[] =
4382   "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4384  *  Machine/OS name selection pattern
4385  */
4386 tSCC* apzHpux_C99_InttypesMachs[] = {
4387         "*-hp-hpux11.[23]*",
4388         (const char*)NULL };
4389 #define HPUX_C99_INTTYPES_TEST_CT  0
4390 #define aHpux_C99_InttypesTests   (tTestDesc*)NULL
4393  *  Fix Command Arguments for Hpux_C99_Inttypes
4394  */
4395 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4396     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4397     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4398     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4399     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4400     (char*)NULL };
4402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4404  *  Description of Hpux_C99_Inttypes2 fix
4405  */
4406 tSCC zHpux_C99_Inttypes2Name[] =
4407      "hpux_c99_inttypes2";
4410  *  File name selection pattern
4411  */
4412 tSCC zHpux_C99_Inttypes2List[] =
4413   "stdint-hpux11.h\0stdint.h\0";
4415  *  Machine/OS name selection pattern
4416  */
4417 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4418         "*-hp-hpux11.2*",
4419         (const char*)NULL };
4420 #define HPUX_C99_INTTYPES2_TEST_CT  0
4421 #define aHpux_C99_Inttypes2Tests   (tTestDesc*)NULL
4424  *  Fix Command Arguments for Hpux_C99_Inttypes2
4425  */
4426 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4427     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4428     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4429     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4430     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4431     (char*)NULL };
4433 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4435  *  Description of Hpux_Stdint_Least_Fast fix
4436  */
4437 tSCC zHpux_Stdint_Least_FastName[] =
4438      "hpux_stdint_least_fast";
4441  *  File name selection pattern
4442  */
4443 tSCC zHpux_Stdint_Least_FastList[] =
4444   "stdint-hpux11.h\0stdint.h\0";
4446  *  Machine/OS name selection pattern
4447  */
4448 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
4449         "*-hp-hpux11.2*",
4450         (const char*)NULL };
4453  *  content selection pattern - do fix if pattern found
4454  */
4455 tSCC zHpux_Stdint_Least_FastSelect0[] =
4456        "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
4458 #define    HPUX_STDINT_LEAST_FAST_TEST_CT  1
4459 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
4460   { TT_EGREP,    zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
4463  *  Fix Command Arguments for Hpux_Stdint_Least_Fast
4464  */
4465 static const char* apzHpux_Stdint_Least_FastPatch[] = {
4466     "format",
4467     "#  define\tUINT_%164_MAX\t__UINT64_MAX__",
4468     (char*)NULL };
4470 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4472  *  Description of Hpux_Inttype_Int8_T fix
4473  */
4474 tSCC zHpux_Inttype_Int8_TName[] =
4475      "hpux_inttype_int8_t";
4478  *  File name selection pattern
4479  */
4480 tSCC zHpux_Inttype_Int8_TList[] =
4481   "sys/_inttypes.h\0";
4483  *  Machine/OS name selection pattern
4484  */
4485 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
4486         "*-hp-hpux1[01].*",
4487         (const char*)NULL };
4490  *  content selection pattern - do fix if pattern found
4491  */
4492 tSCC zHpux_Inttype_Int8_TSelect0[] =
4493        "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
4495 #define    HPUX_INTTYPE_INT8_T_TEST_CT  1
4496 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
4497   { TT_EGREP,    zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
4500  *  Fix Command Arguments for Hpux_Inttype_Int8_T
4501  */
4502 static const char* apzHpux_Inttype_Int8_TPatch[] = {
4503     "format",
4504     "typedef signed char int%18_t;",
4505     (char*)NULL };
4507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4509  *  Description of Hpux_Imaginary_I fix
4510  */
4511 tSCC zHpux_Imaginary_IName[] =
4512      "hpux_imaginary_i";
4515  *  File name selection pattern
4516  */
4517 tSCC zHpux_Imaginary_IList[] =
4518   "complex.h\0";
4520  *  Machine/OS name selection pattern
4521  */
4522 tSCC* apzHpux_Imaginary_IMachs[] = {
4523         "ia64-hp-hpux11.*",
4524         (const char*)NULL };
4527  *  content selection pattern - do fix if pattern found
4528  */
4529 tSCC zHpux_Imaginary_ISelect0[] =
4530        "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
4532 #define    HPUX_IMAGINARY_I_TEST_CT  1
4533 static tTestDesc aHpux_Imaginary_ITests[] = {
4534   { TT_EGREP,    zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
4537  *  Fix Command Arguments for Hpux_Imaginary_I
4538  */
4539 static const char* apzHpux_Imaginary_IPatch[] = {
4540     "format",
4541     "#define _Complex_I (__extension__ 1.0iF)",
4542     (char*)NULL };
4544 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4546  *  Description of Huge_Val_Hex fix
4547  */
4548 tSCC zHuge_Val_HexName[] =
4549      "huge_val_hex";
4552  *  File name selection pattern
4553  */
4554 tSCC zHuge_Val_HexList[] =
4555   "bits/huge_val.h\0";
4557  *  Machine/OS name selection pattern
4558  */
4559 #define apzHuge_Val_HexMachs (const char**)NULL
4562  *  content selection pattern - do fix if pattern found
4563  */
4564 tSCC zHuge_Val_HexSelect0[] =
4565        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
4568  *  content bypass pattern - skip fix if pattern found
4569  */
4570 tSCC zHuge_Val_HexBypass0[] =
4571        "__builtin_huge_val";
4573 #define    HUGE_VAL_HEX_TEST_CT  2
4574 static tTestDesc aHuge_Val_HexTests[] = {
4575   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
4576   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
4579  *  Fix Command Arguments for Huge_Val_Hex
4580  */
4581 static const char* apzHuge_Val_HexPatch[] = {
4582     "format",
4583     "#define HUGE_VAL (__builtin_huge_val())\n",
4584     (char*)NULL };
4586 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4588  *  Description of Huge_Valf_Hex fix
4589  */
4590 tSCC zHuge_Valf_HexName[] =
4591      "huge_valf_hex";
4594  *  File name selection pattern
4595  */
4596 tSCC zHuge_Valf_HexList[] =
4597   "bits/huge_val.h\0";
4599  *  Machine/OS name selection pattern
4600  */
4601 #define apzHuge_Valf_HexMachs (const char**)NULL
4604  *  content selection pattern - do fix if pattern found
4605  */
4606 tSCC zHuge_Valf_HexSelect0[] =
4607        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
4610  *  content bypass pattern - skip fix if pattern found
4611  */
4612 tSCC zHuge_Valf_HexBypass0[] =
4613        "__builtin_huge_valf";
4615 #define    HUGE_VALF_HEX_TEST_CT  2
4616 static tTestDesc aHuge_Valf_HexTests[] = {
4617   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
4618   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
4621  *  Fix Command Arguments for Huge_Valf_Hex
4622  */
4623 static const char* apzHuge_Valf_HexPatch[] = {
4624     "format",
4625     "#define HUGE_VALF (__builtin_huge_valf())\n",
4626     (char*)NULL };
4628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4630  *  Description of Huge_Vall_Hex fix
4631  */
4632 tSCC zHuge_Vall_HexName[] =
4633      "huge_vall_hex";
4636  *  File name selection pattern
4637  */
4638 tSCC zHuge_Vall_HexList[] =
4639   "bits/huge_val.h\0";
4641  *  Machine/OS name selection pattern
4642  */
4643 #define apzHuge_Vall_HexMachs (const char**)NULL
4646  *  content selection pattern - do fix if pattern found
4647  */
4648 tSCC zHuge_Vall_HexSelect0[] =
4649        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
4652  *  content bypass pattern - skip fix if pattern found
4653  */
4654 tSCC zHuge_Vall_HexBypass0[] =
4655        "__builtin_huge_vall";
4657 #define    HUGE_VALL_HEX_TEST_CT  2
4658 static tTestDesc aHuge_Vall_HexTests[] = {
4659   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
4660   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
4663  *  Fix Command Arguments for Huge_Vall_Hex
4664  */
4665 static const char* apzHuge_Vall_HexPatch[] = {
4666     "format",
4667     "#define HUGE_VALL (__builtin_huge_vall())\n",
4668     (char*)NULL };
4670 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4672  *  Description of Int_Abort_Free_And_Exit fix
4673  */
4674 tSCC zInt_Abort_Free_And_ExitName[] =
4675      "int_abort_free_and_exit";
4678  *  File name selection pattern
4679  */
4680 tSCC zInt_Abort_Free_And_ExitList[] =
4681   "stdlib.h\0";
4683  *  Machine/OS name selection pattern
4684  */
4685 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
4688  *  content selection pattern - do fix if pattern found
4689  */
4690 tSCC zInt_Abort_Free_And_ExitSelect0[] =
4691        "int[ \t]+(abort|free|exit)[ \t]*\\(";
4694  *  content bypass pattern - skip fix if pattern found
4695  */
4696 tSCC zInt_Abort_Free_And_ExitBypass0[] =
4697        "_CLASSIC_ANSI_TYPES";
4699 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
4700 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
4701   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
4702   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
4705  *  Fix Command Arguments for Int_Abort_Free_And_Exit
4706  */
4707 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
4708     "format",
4709     "void\t%1(",
4710     (char*)NULL };
4712 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4714  *  Description of Io_Quotes_Def fix
4715  */
4716 tSCC zIo_Quotes_DefName[] =
4717      "io_quotes_def";
4720  *  File name selection pattern
4721  */
4722 #define zIo_Quotes_DefList (char*)NULL
4724  *  Machine/OS name selection pattern
4725  */
4726 #define apzIo_Quotes_DefMachs (const char**)NULL
4729  *  content selection pattern - do fix if pattern found
4730  */
4731 tSCC zIo_Quotes_DefSelect0[] =
4732        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
4734 #define    IO_QUOTES_DEF_TEST_CT  1
4735 static tTestDesc aIo_Quotes_DefTests[] = {
4736   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
4739  *  Fix Command Arguments for Io_Quotes_Def
4740  */
4741 static const char* apzIo_Quotes_DefPatch[] = {
4742     "char_macro_def",
4743     "IO",
4744     (char*)NULL };
4746 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4748  *  Description of Io_Quotes_Use fix
4749  */
4750 tSCC zIo_Quotes_UseName[] =
4751      "io_quotes_use";
4754  *  File name selection pattern
4755  */
4756 #define zIo_Quotes_UseList (char*)NULL
4758  *  Machine/OS name selection pattern
4759  */
4760 #define apzIo_Quotes_UseMachs (const char**)NULL
4763  *  content selection pattern - do fix if pattern found
4764  */
4765 tSCC zIo_Quotes_UseSelect0[] =
4766        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
4768 #define    IO_QUOTES_USE_TEST_CT  1
4769 static tTestDesc aIo_Quotes_UseTests[] = {
4770   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
4773  *  Fix Command Arguments for Io_Quotes_Use
4774  */
4775 static const char* apzIo_Quotes_UsePatch[] = {
4776     "char_macro_use",
4777     "IO",
4778     (char*)NULL };
4780 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4782  *  Description of Ip_Missing_Semi fix
4783  */
4784 tSCC zIp_Missing_SemiName[] =
4785      "ip_missing_semi";
4788  *  File name selection pattern
4789  */
4790 tSCC zIp_Missing_SemiList[] =
4791   "netinet/ip.h\0";
4793  *  Machine/OS name selection pattern
4794  */
4795 #define apzIp_Missing_SemiMachs (const char**)NULL
4798  *  content selection pattern - do fix if pattern found
4799  */
4800 tSCC zIp_Missing_SemiSelect0[] =
4801        "}$";
4803 #define    IP_MISSING_SEMI_TEST_CT  1
4804 static tTestDesc aIp_Missing_SemiTests[] = {
4805   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
4808  *  Fix Command Arguments for Ip_Missing_Semi
4809  */
4810 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
4811     "-e", "/^struct/,/^};/s/}$/};/",
4812     (char*)NULL };
4814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4816  *  Description of Irix_Limits_Const fix
4817  */
4818 tSCC zIrix_Limits_ConstName[] =
4819      "irix_limits_const";
4822  *  File name selection pattern
4823  */
4824 tSCC zIrix_Limits_ConstList[] =
4825   "fixinc-test-limits.h\0limits.h\0";
4827  *  Machine/OS name selection pattern
4828  */
4829 #define apzIrix_Limits_ConstMachs (const char**)NULL
4832  *  content selection pattern - do fix if pattern found
4833  */
4834 tSCC zIrix_Limits_ConstSelect0[] =
4835        "^extern const ";
4837 #define    IRIX_LIMITS_CONST_TEST_CT  1
4838 static tTestDesc aIrix_Limits_ConstTests[] = {
4839   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
4842  *  Fix Command Arguments for Irix_Limits_Const
4843  */
4844 static const char* apzIrix_Limits_ConstPatch[] = {
4845     "format",
4846     "extern __const ",
4847     (char*)NULL };
4849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4851  *  Description of Irix_Stdio_Va_List fix
4852  */
4853 tSCC zIrix_Stdio_Va_ListName[] =
4854      "irix_stdio_va_list";
4857  *  File name selection pattern
4858  */
4859 tSCC zIrix_Stdio_Va_ListList[] =
4860   "stdio.h\0";
4862  *  Machine/OS name selection pattern
4863  */
4864 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
4867  *  content selection pattern - do fix if pattern found
4868  */
4869 tSCC zIrix_Stdio_Va_ListSelect0[] =
4870        "/\\* va_list \\*/ char \\*";
4872 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
4873 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
4874   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
4877  *  Fix Command Arguments for Irix_Stdio_Va_List
4878  */
4879 static const char* apzIrix_Stdio_Va_ListPatch[] = {
4880     "format",
4881     "__gnuc_va_list",
4882     (char*)NULL };
4884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4886  *  Description of Kandr_Concat fix
4887  */
4888 tSCC zKandr_ConcatName[] =
4889      "kandr_concat";
4892  *  File name selection pattern
4893  */
4894 tSCC zKandr_ConcatList[] =
4895   "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";
4897  *  Machine/OS name selection pattern
4898  */
4899 #define apzKandr_ConcatMachs (const char**)NULL
4902  *  content selection pattern - do fix if pattern found
4903  */
4904 tSCC zKandr_ConcatSelect0[] =
4905        "/\\*\\*/";
4907 #define    KANDR_CONCAT_TEST_CT  1
4908 static tTestDesc aKandr_ConcatTests[] = {
4909   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
4912  *  Fix Command Arguments for Kandr_Concat
4913  */
4914 static const char* apzKandr_ConcatPatch[] = {
4915     "format",
4916     "##",
4917     (char*)NULL };
4919 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4921  *  Description of Linux_Ia64_Ucontext fix
4922  */
4923 tSCC zLinux_Ia64_UcontextName[] =
4924      "linux_ia64_ucontext";
4927  *  File name selection pattern
4928  */
4929 tSCC zLinux_Ia64_UcontextList[] =
4930   "sys/ucontext.h\0";
4932  *  Machine/OS name selection pattern
4933  */
4934 tSCC* apzLinux_Ia64_UcontextMachs[] = {
4935         "ia64-*-linux*",
4936         (const char*)NULL };
4939  *  content selection pattern - do fix if pattern found
4940  */
4941 tSCC zLinux_Ia64_UcontextSelect0[] =
4942        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
4944 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
4945 static tTestDesc aLinux_Ia64_UcontextTests[] = {
4946   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
4949  *  Fix Command Arguments for Linux_Ia64_Ucontext
4950  */
4951 static const char* apzLinux_Ia64_UcontextPatch[] = {
4952     "format",
4953     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
4954     (char*)NULL };
4956 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4958  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
4959  */
4960 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
4961      "lynxos_no_warning_in_sys_time_h";
4964  *  File name selection pattern
4965  */
4966 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
4967   "sys/time.h\0";
4969  *  Machine/OS name selection pattern
4970  */
4971 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
4974  *  content selection pattern - do fix if pattern found
4975  */
4976 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
4977        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
4979 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
4980 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
4981   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
4984  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
4985  */
4986 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
4987     "format",
4988     "",
4989     (char*)NULL };
4991 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4993  *  Description of Lynxos_Missing_Putenv fix
4994  */
4995 tSCC zLynxos_Missing_PutenvName[] =
4996      "lynxos_missing_putenv";
4999  *  File name selection pattern
5000  */
5001 tSCC zLynxos_Missing_PutenvList[] =
5002   "stdlib.h\0";
5004  *  Machine/OS name selection pattern
5005  */
5006 tSCC* apzLynxos_Missing_PutenvMachs[] = {
5007         "*-*-lynxos*",
5008         (const char*)NULL };
5011  *  content selection pattern - do fix if pattern found
5012  */
5013 tSCC zLynxos_Missing_PutenvSelect0[] =
5014        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
5017  *  content bypass pattern - skip fix if pattern found
5018  */
5019 tSCC zLynxos_Missing_PutenvBypass0[] =
5020        "putenv[ \\t]*\\(";
5022 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
5023 static tTestDesc aLynxos_Missing_PutenvTests[] = {
5024   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
5025   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
5028  *  Fix Command Arguments for Lynxos_Missing_Putenv
5029  */
5030 static const char* apzLynxos_Missing_PutenvPatch[] = {
5031     "format",
5032     "%0\n\
5033 extern int putenv\t\t\t\t_AP((char *));",
5034     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
5035     (char*)NULL };
5037 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5039  *  Description of Machine_Ansi_H_Va_List fix
5040  */
5041 tSCC zMachine_Ansi_H_Va_ListName[] =
5042      "machine_ansi_h_va_list";
5045  *  File name selection pattern
5046  */
5047 #define zMachine_Ansi_H_Va_ListList (char*)NULL
5049  *  Machine/OS name selection pattern
5050  */
5051 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
5054  *  content selection pattern - do fix if pattern found
5055  */
5056 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
5057        "define[ \t]+_BSD_VA_LIST_[ \t]";
5060  *  content bypass pattern - skip fix if pattern found
5061  */
5062 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
5063        "__builtin_va_list";
5065 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
5066 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
5067   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
5068   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
5071  *  Fix Command Arguments for Machine_Ansi_H_Va_List
5072  */
5073 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
5074     "format",
5075     "%1__builtin_va_list",
5076     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
5077     (char*)NULL };
5079 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5081  *  Description of Machine_Name fix
5082  */
5083 tSCC zMachine_NameName[] =
5084      "machine_name";
5087  *  File name selection pattern
5088  */
5089 #define zMachine_NameList (char*)NULL
5091  *  Machine/OS name selection pattern
5092  */
5093 #define apzMachine_NameMachs (const char**)NULL
5096  *  perform the C function call test
5097  */
5098 tSCC zMachine_NameFTst0[] = "machine_name";
5100 #define    MACHINE_NAME_TEST_CT  1
5101 static tTestDesc aMachine_NameTests[] = {
5102   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
5105  *  Fix Command Arguments for Machine_Name
5106  */
5107 static const char* apzMachine_NamePatch[] = {
5108     "machine_name",
5109     (char*)NULL };
5111 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5113  *  Description of Math_Exception fix
5114  */
5115 tSCC zMath_ExceptionName[] =
5116      "math_exception";
5119  *  File name selection pattern
5120  */
5121 tSCC zMath_ExceptionList[] =
5122   "math.h\0";
5124  *  Machine/OS name selection pattern
5125  */
5126 #define apzMath_ExceptionMachs (const char**)NULL
5129  *  content selection pattern - do fix if pattern found
5130  */
5131 tSCC zMath_ExceptionSelect0[] =
5132        "struct exception";
5135  *  content bypass pattern - skip fix if pattern found
5136  */
5137 tSCC zMath_ExceptionBypass0[] =
5138        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
5140 #define    MATH_EXCEPTION_TEST_CT  2
5141 static tTestDesc aMath_ExceptionTests[] = {
5142   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
5143   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
5146  *  Fix Command Arguments for Math_Exception
5147  */
5148 static const char* apzMath_ExceptionPatch[] = {
5149     "wrap",
5150     "#ifdef __cplusplus\n\
5151 #define exception __math_exception\n\
5152 #endif\n",
5153     "#ifdef __cplusplus\n\
5154 #undef exception\n\
5155 #endif\n",
5156     (char*)NULL };
5158 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5160  *  Description of Math_Huge_Val_From_Dbl_Max fix
5161  */
5162 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
5163      "math_huge_val_from_dbl_max";
5166  *  File name selection pattern
5167  */
5168 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
5169   "math.h\0";
5171  *  Machine/OS name selection pattern
5172  */
5173 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
5176  *  content selection pattern - do fix if pattern found
5177  */
5178 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
5179        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
5182  *  content bypass pattern - skip fix if pattern found
5183  */
5184 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
5185        "define[ \t]+DBL_MAX";
5187 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
5188 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
5189   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
5190   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
5193  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
5194  */
5195 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
5196     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
5197 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
5198 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
5199 \telse cat\n\
5200 \tfi",
5201     (char*)NULL };
5203 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5205  *  Description of Nested_Auth_Des fix
5206  */
5207 tSCC zNested_Auth_DesName[] =
5208      "nested_auth_des";
5211  *  File name selection pattern
5212  */
5213 tSCC zNested_Auth_DesList[] =
5214   "rpc/rpc.h\0";
5216  *  Machine/OS name selection pattern
5217  */
5218 #define apzNested_Auth_DesMachs (const char**)NULL
5221  *  content selection pattern - do fix if pattern found
5222  */
5223 tSCC zNested_Auth_DesSelect0[] =
5224        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
5226 #define    NESTED_AUTH_DES_TEST_CT  1
5227 static tTestDesc aNested_Auth_DesTests[] = {
5228   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
5231  *  Fix Command Arguments for Nested_Auth_Des
5232  */
5233 static const char* apzNested_Auth_DesPatch[] = {
5234     "format",
5235     "%1*/ /*",
5236     (char*)NULL };
5238 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5240  *  Description of Netbsd_C99_Inline_1 fix
5241  */
5242 tSCC zNetbsd_C99_Inline_1Name[] =
5243      "netbsd_c99_inline_1";
5246  *  File name selection pattern
5247  */
5248 tSCC zNetbsd_C99_Inline_1List[] =
5249   "signal.h\0";
5251  *  Machine/OS name selection pattern
5252  */
5253 tSCC* apzNetbsd_C99_Inline_1Machs[] = {
5254         "*-*-netbsd*",
5255         (const char*)NULL };
5258  *  content selection pattern - do fix if pattern found
5259  */
5260 tSCC zNetbsd_C99_Inline_1Select0[] =
5261        "extern __inline int";
5263 #define    NETBSD_C99_INLINE_1_TEST_CT  1
5264 static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
5265   { TT_EGREP,    zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
5268  *  Fix Command Arguments for Netbsd_C99_Inline_1
5269  */
5270 static const char* apzNetbsd_C99_Inline_1Patch[] = {
5271     "format",
5272     "extern\n\
5273 #ifdef __GNUC_STDC_INLINE__\n\
5274 __attribute__((__gnu_inline__))\n\
5275 #endif\n\
5276 __inline int",
5277     (char*)NULL };
5279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5281  *  Description of Netbsd_C99_Inline_2 fix
5282  */
5283 tSCC zNetbsd_C99_Inline_2Name[] =
5284      "netbsd_c99_inline_2";
5287  *  File name selection pattern
5288  */
5289 tSCC zNetbsd_C99_Inline_2List[] =
5290   "signal.h\0";
5292  *  Machine/OS name selection pattern
5293  */
5294 tSCC* apzNetbsd_C99_Inline_2Machs[] = {
5295         "*-*-netbsd*",
5296         (const char*)NULL };
5299  *  content selection pattern - do fix if pattern found
5300  */
5301 tSCC zNetbsd_C99_Inline_2Select0[] =
5302        "#define _SIGINLINE extern __inline";
5304 #define    NETBSD_C99_INLINE_2_TEST_CT  1
5305 static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
5306   { TT_EGREP,    zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
5309  *  Fix Command Arguments for Netbsd_C99_Inline_2
5310  */
5311 static const char* apzNetbsd_C99_Inline_2Patch[] = {
5312     "format",
5313     "#ifdef __GNUC_STDC_INLINE__\n\
5314 #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
5315 #else\n\
5316 %0\n\
5317 #endif",
5318     (char*)NULL };
5320 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5322  *  Description of Netbsd_Extra_Semicolon fix
5323  */
5324 tSCC zNetbsd_Extra_SemicolonName[] =
5325      "netbsd_extra_semicolon";
5328  *  File name selection pattern
5329  */
5330 tSCC zNetbsd_Extra_SemicolonList[] =
5331   "sys/cdefs.h\0";
5333  *  Machine/OS name selection pattern
5334  */
5335 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
5336         "*-*-netbsd*",
5337         (const char*)NULL };
5340  *  content selection pattern - do fix if pattern found
5341  */
5342 tSCC zNetbsd_Extra_SemicolonSelect0[] =
5343        "#define[ \t]*__END_DECLS[ \t]*};";
5345 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
5346 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
5347   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
5350  *  Fix Command Arguments for Netbsd_Extra_Semicolon
5351  */
5352 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
5353     "format",
5354     "#define __END_DECLS }",
5355     (char*)NULL };
5357 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5359  *  Description of Newlib_Stdint_1 fix
5360  */
5361 tSCC zNewlib_Stdint_1Name[] =
5362      "newlib_stdint_1";
5365  *  File name selection pattern
5366  */
5367 tSCC zNewlib_Stdint_1List[] =
5368   "stdint-newlib.h\0stdint.h\0";
5370  *  Machine/OS name selection pattern
5371  */
5372 #define apzNewlib_Stdint_1Machs (const char**)NULL
5375  *  content selection pattern - do fix if pattern found
5376  */
5377 tSCC zNewlib_Stdint_1Select0[] =
5378        "@todo - Add support for wint_t types";
5380 #define    NEWLIB_STDINT_1_TEST_CT  1
5381 static tTestDesc aNewlib_Stdint_1Tests[] = {
5382   { TT_EGREP,    zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
5385  *  Fix Command Arguments for Newlib_Stdint_1
5386  */
5387 static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
5388     "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
5389     "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
5390     "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
5391     "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
5392     "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
5393     "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
5394     "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
5395     "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
5396     "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
5397     "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
5398     "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
5399     "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
5400     "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
5401     "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
5402     (char*)NULL };
5404 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5406  *  Description of Newlib_Stdint_2 fix
5407  */
5408 tSCC zNewlib_Stdint_2Name[] =
5409      "newlib_stdint_2";
5412  *  File name selection pattern
5413  */
5414 tSCC zNewlib_Stdint_2List[] =
5415   "stdint-newlib.h\0stdint.h\0";
5417  *  Machine/OS name selection pattern
5418  */
5419 #define apzNewlib_Stdint_2Machs (const char**)NULL
5422  *  content selection pattern - do fix if pattern found
5423  */
5424 tSCC zNewlib_Stdint_2Select0[] =
5425        "@todo - Add support for wint_t types";
5427 #define    NEWLIB_STDINT_2_TEST_CT  1
5428 static tTestDesc aNewlib_Stdint_2Tests[] = {
5429   { TT_EGREP,    zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
5432  *  Fix Command Arguments for Newlib_Stdint_2
5433  */
5434 static const char* apzNewlib_Stdint_2Patch[] = {
5435     "format",
5436     "#define INTMAX_MAX __INTMAX_MAX__\n\
5437 #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
5438 #define UINTMAX_MAX __UINTMAX_MAX__\n\
5439 #define WCHAR_MAX __WCHAR_MAX__\n\
5440 #define WCHAR_MIN __WCHAR_MIN__\n\
5441 #define WINT_MAX __WINT_MAX__\n\
5442 #define WINT_MIN __WINT_MIN__\n\n\
5443 %0",
5444     "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
5445     (char*)NULL };
5447 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5449  *  Description of Next_Math_Prefix fix
5450  */
5451 tSCC zNext_Math_PrefixName[] =
5452      "next_math_prefix";
5455  *  File name selection pattern
5456  */
5457 tSCC zNext_Math_PrefixList[] =
5458   "ansi/math.h\0";
5460  *  Machine/OS name selection pattern
5461  */
5462 #define apzNext_Math_PrefixMachs (const char**)NULL
5465  *  content selection pattern - do fix if pattern found
5466  */
5467 tSCC zNext_Math_PrefixSelect0[] =
5468        "^extern[ \t]+double[ \t]+__const__[ \t]";
5470 #define    NEXT_MATH_PREFIX_TEST_CT  1
5471 static tTestDesc aNext_Math_PrefixTests[] = {
5472   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
5475  *  Fix Command Arguments for Next_Math_Prefix
5476  */
5477 static const char* apzNext_Math_PrefixPatch[] = {
5478     "format",
5479     "extern double %1(",
5480     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
5481     (char*)NULL };
5483 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5485  *  Description of Next_Template fix
5486  */
5487 tSCC zNext_TemplateName[] =
5488      "next_template";
5491  *  File name selection pattern
5492  */
5493 tSCC zNext_TemplateList[] =
5494   "bsd/libc.h\0";
5496  *  Machine/OS name selection pattern
5497  */
5498 #define apzNext_TemplateMachs (const char**)NULL
5501  *  content selection pattern - do fix if pattern found
5502  */
5503 tSCC zNext_TemplateSelect0[] =
5504        "[ \t]template\\)";
5506 #define    NEXT_TEMPLATE_TEST_CT  1
5507 static tTestDesc aNext_TemplateTests[] = {
5508   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
5511  *  Fix Command Arguments for Next_Template
5512  */
5513 static const char* apzNext_TemplatePatch[] = {
5514     "format",
5515     "(%1)",
5516     "\\(([^)]*)[ \t]template\\)",
5517     (char*)NULL };
5519 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5521  *  Description of Next_Volitile fix
5522  */
5523 tSCC zNext_VolitileName[] =
5524      "next_volitile";
5527  *  File name selection pattern
5528  */
5529 tSCC zNext_VolitileList[] =
5530   "ansi/stdlib.h\0";
5532  *  Machine/OS name selection pattern
5533  */
5534 #define apzNext_VolitileMachs (const char**)NULL
5537  *  content selection pattern - do fix if pattern found
5538  */
5539 tSCC zNext_VolitileSelect0[] =
5540        "^extern[ \t]+volatile[ \t]+void[ \t]";
5542 #define    NEXT_VOLITILE_TEST_CT  1
5543 static tTestDesc aNext_VolitileTests[] = {
5544   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
5547  *  Fix Command Arguments for Next_Volitile
5548  */
5549 static const char* apzNext_VolitilePatch[] = {
5550     "format",
5551     "extern void %1(",
5552     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
5553     (char*)NULL };
5555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5557  *  Description of Next_Wait_Union fix
5558  */
5559 tSCC zNext_Wait_UnionName[] =
5560      "next_wait_union";
5563  *  File name selection pattern
5564  */
5565 tSCC zNext_Wait_UnionList[] =
5566   "sys/wait.h\0";
5568  *  Machine/OS name selection pattern
5569  */
5570 #define apzNext_Wait_UnionMachs (const char**)NULL
5573  *  content selection pattern - do fix if pattern found
5574  */
5575 tSCC zNext_Wait_UnionSelect0[] =
5576        "wait\\(union wait";
5578 #define    NEXT_WAIT_UNION_TEST_CT  1
5579 static tTestDesc aNext_Wait_UnionTests[] = {
5580   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
5583  *  Fix Command Arguments for Next_Wait_Union
5584  */
5585 static const char* apzNext_Wait_UnionPatch[] = {
5586     "format",
5587     "wait(void",
5588     (char*)NULL };
5590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5592  *  Description of Nodeent_Syntax fix
5593  */
5594 tSCC zNodeent_SyntaxName[] =
5595      "nodeent_syntax";
5598  *  File name selection pattern
5599  */
5600 tSCC zNodeent_SyntaxList[] =
5601   "netdnet/dnetdb.h\0";
5603  *  Machine/OS name selection pattern
5604  */
5605 #define apzNodeent_SyntaxMachs (const char**)NULL
5608  *  content selection pattern - do fix if pattern found
5609  */
5610 tSCC zNodeent_SyntaxSelect0[] =
5611        "char[ \t]*\\*na_addr[ \t]*$";
5613 #define    NODEENT_SYNTAX_TEST_CT  1
5614 static tTestDesc aNodeent_SyntaxTests[] = {
5615   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
5618  *  Fix Command Arguments for Nodeent_Syntax
5619  */
5620 static const char* apzNodeent_SyntaxPatch[] = {
5621     "format",
5622     "%0;",
5623     (char*)NULL };
5625 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5627  *  Description of Openbsd_Null_Definition fix
5628  */
5629 tSCC zOpenbsd_Null_DefinitionName[] =
5630      "openbsd_null_definition";
5633  *  File name selection pattern
5634  */
5635 tSCC zOpenbsd_Null_DefinitionList[] =
5636   "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
5638  *  Machine/OS name selection pattern
5639  */
5640 tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
5641         "*-*-openbsd*",
5642         (const char*)NULL };
5645  *  content selection pattern - do fix if pattern found
5646  */
5647 tSCC zOpenbsd_Null_DefinitionSelect0[] =
5648        "__GNUG__";
5650 #define    OPENBSD_NULL_DEFINITION_TEST_CT  1
5651 static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
5652   { TT_EGREP,    zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
5655  *  Fix Command Arguments for Openbsd_Null_Definition
5656  */
5657 static const char* apzOpenbsd_Null_DefinitionPatch[] = {
5658     "format",
5659     "#ifndef NULL\n\
5660 #ifdef __cplusplus\n\
5661 #ifdef __GNUG__\n\
5662 #define NULL\t__null\n\
5663 #else\t /* ! __GNUG__  */\n\
5664 #define NULL\t0L\n\
5665 #endif\t /* __GNUG__  */\n\
5666 #else\t /* ! __cplusplus  */\n\
5667 #define NULL\t((void *)0)\n\
5668 #endif\t /* __cplusplus  */\n\
5669 #endif\t /* !NULL  */",
5670     "^#ifndef[ \t]*NULL\n\
5671 ^#ifdef[ \t]*__GNUG__\n\
5672 ^#define[ \t]*NULL[ \t]*__null\n\
5673 ^#else\n\
5674 ^#define[ \t]*NULL[ \t]*0L\n\
5675 ^#endif\n\
5676 ^#endif",
5677     (char*)NULL };
5679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5681  *  Description of Obstack_Lvalue_Cast fix
5682  */
5683 tSCC zObstack_Lvalue_CastName[] =
5684      "obstack_lvalue_cast";
5687  *  File name selection pattern
5688  */
5689 tSCC zObstack_Lvalue_CastList[] =
5690   "obstack.h\0";
5692  *  Machine/OS name selection pattern
5693  */
5694 #define apzObstack_Lvalue_CastMachs (const char**)NULL
5697  *  content selection pattern - do fix if pattern found
5698  */
5699 tSCC zObstack_Lvalue_CastSelect0[] =
5700        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
5702 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
5703 static tTestDesc aObstack_Lvalue_CastTests[] = {
5704   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
5707  *  Fix Command Arguments for Obstack_Lvalue_Cast
5708  */
5709 static const char* apzObstack_Lvalue_CastPatch[] = {
5710     "format",
5711     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
5712     (char*)NULL };
5714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5716  *  Description of Openbsd_Va_Start fix
5717  */
5718 tSCC zOpenbsd_Va_StartName[] =
5719      "openbsd_va_start";
5722  *  File name selection pattern
5723  */
5724 tSCC zOpenbsd_Va_StartList[] =
5725   "stdarg.h\0";
5727  *  Machine/OS name selection pattern
5728  */
5729 tSCC* apzOpenbsd_Va_StartMachs[] = {
5730         "*-*-openbsd*",
5731         (const char*)NULL };
5734  *  content selection pattern - do fix if pattern found
5735  */
5736 tSCC zOpenbsd_Va_StartSelect0[] =
5737        "__builtin_stdarg_start";
5739 #define    OPENBSD_VA_START_TEST_CT  1
5740 static tTestDesc aOpenbsd_Va_StartTests[] = {
5741   { TT_EGREP,    zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
5744  *  Fix Command Arguments for Openbsd_Va_Start
5745  */
5746 static const char* apzOpenbsd_Va_StartPatch[] = {
5747     "format",
5748     "__builtin_va_start",
5749     (char*)NULL };
5751 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5753  *  Description of Osf_Namespace_A fix
5754  */
5755 tSCC zOsf_Namespace_AName[] =
5756      "osf_namespace_a";
5759  *  File name selection pattern
5760  */
5761 tSCC zOsf_Namespace_AList[] =
5762   "reg_types.h\0sys/lc_core.h\0";
5764  *  Machine/OS name selection pattern
5765  */
5766 #define apzOsf_Namespace_AMachs (const char**)NULL
5769  *  perform the 'test' shell command - do fix on success
5770  */
5771 tSCC zOsf_Namespace_ATest0[] =
5772        " -r reg_types.h";
5773 tSCC zOsf_Namespace_ATest1[] =
5774        " -r sys/lc_core.h";
5775 tSCC zOsf_Namespace_ATest2[] =
5776        " -n \"`grep '} regex_t;' reg_types.h`\"";
5777 tSCC zOsf_Namespace_ATest3[] =
5778        " -z \"`grep __regex_t regex.h`\"";
5780 #define    OSF_NAMESPACE_A_TEST_CT  4
5781 static tTestDesc aOsf_Namespace_ATests[] = {
5782   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
5783   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
5784   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
5785   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
5788  *  Fix Command Arguments for Osf_Namespace_A
5789  */
5790 static const char* apzOsf_Namespace_APatch[] = {
5791     "format",
5792     "__%0",
5793     "reg(ex|off|match)_t",
5794     (char*)NULL };
5796 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5798  *  Description of Osf_Namespace_C fix
5799  */
5800 tSCC zOsf_Namespace_CName[] =
5801      "osf_namespace_c";
5804  *  File name selection pattern
5805  */
5806 tSCC zOsf_Namespace_CList[] =
5807   "regex.h\0";
5809  *  Machine/OS name selection pattern
5810  */
5811 #define apzOsf_Namespace_CMachs (const char**)NULL
5814  *  content selection pattern - do fix if pattern found
5815  */
5816 tSCC zOsf_Namespace_CSelect0[] =
5817        "#include <reg_types.h>.*";
5820  *  perform the 'test' shell command - do fix on success
5821  */
5822 tSCC zOsf_Namespace_CTest0[] =
5823        " -r reg_types.h";
5824 tSCC zOsf_Namespace_CTest1[] =
5825        " -r sys/lc_core.h";
5826 tSCC zOsf_Namespace_CTest2[] =
5827        " -n \"`grep '} regex_t;' reg_types.h`\"";
5828 tSCC zOsf_Namespace_CTest3[] =
5829        " -z \"`grep __regex_t regex.h`\"";
5831 #define    OSF_NAMESPACE_C_TEST_CT  5
5832 static tTestDesc aOsf_Namespace_CTests[] = {
5833   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
5834   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
5835   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
5836   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
5837   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
5840  *  Fix Command Arguments for Osf_Namespace_C
5841  */
5842 static const char* apzOsf_Namespace_CPatch[] = {
5843     "format",
5844     "%0\n\
5845 typedef __regex_t\tregex_t;\n\
5846 typedef __regoff_t\tregoff_t;\n\
5847 typedef __regmatch_t\tregmatch_t;",
5848     (char*)NULL };
5850 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5852  *  Description of Pthread_Incomplete_Struct_Argument fix
5853  */
5854 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
5855      "pthread_incomplete_struct_argument";
5858  *  File name selection pattern
5859  */
5860 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
5861   "pthread.h\0";
5863  *  Machine/OS name selection pattern
5864  */
5865 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
5868  *  content selection pattern - do fix if pattern found
5869  */
5870 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
5871        "struct __jmp_buf_tag";
5873 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
5874 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
5875   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
5878  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
5879  */
5880 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
5881     "format",
5882     "%1 *%2%3",
5883     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
5884     (char*)NULL };
5886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5888  *  Description of Read_Ret_Type fix
5889  */
5890 tSCC zRead_Ret_TypeName[] =
5891      "read_ret_type";
5894  *  File name selection pattern
5895  */
5896 tSCC zRead_Ret_TypeList[] =
5897   "stdio.h\0";
5899  *  Machine/OS name selection pattern
5900  */
5901 #define apzRead_Ret_TypeMachs (const char**)NULL
5904  *  content selection pattern - do fix if pattern found
5905  */
5906 tSCC zRead_Ret_TypeSelect0[] =
5907        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
5909 #define    READ_RET_TYPE_TEST_CT  1
5910 static tTestDesc aRead_Ret_TypeTests[] = {
5911   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
5914  *  Fix Command Arguments for Read_Ret_Type
5915  */
5916 static const char* apzRead_Ret_TypePatch[] = {
5917     "format",
5918     "extern unsigned int fread(), fwrite();\n\
5919 %1%2",
5920     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
5921     (char*)NULL };
5923 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5925  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
5926  */
5927 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
5928      "rpc_xdr_lvalue_cast_a";
5931  *  File name selection pattern
5932  */
5933 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
5934   "rpc/xdr.h\0";
5936  *  Machine/OS name selection pattern
5937  */
5938 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
5941  *  content selection pattern - do fix if pattern found
5942  */
5943 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
5944        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
5945 .*__extension__.*";
5947 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
5948 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
5949   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
5952  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
5953  */
5954 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
5955     "format",
5956     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
5957     (char*)NULL };
5959 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5961  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
5962  */
5963 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
5964      "rpc_xdr_lvalue_cast_b";
5967  *  File name selection pattern
5968  */
5969 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
5970   "rpc/xdr.h\0";
5972  *  Machine/OS name selection pattern
5973  */
5974 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
5977  *  content selection pattern - do fix if pattern found
5978  */
5979 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
5980        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
5981 .*__extension__.*";
5983 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
5984 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
5985   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
5988  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
5989  */
5990 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
5991     "format",
5992     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
5993     (char*)NULL };
5995 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5997  *  Description of Rs6000_Double fix
5998  */
5999 tSCC zRs6000_DoubleName[] =
6000      "rs6000_double";
6003  *  File name selection pattern
6004  */
6005 tSCC zRs6000_DoubleList[] =
6006   "math.h\0";
6008  *  Machine/OS name selection pattern
6009  */
6010 #define apzRs6000_DoubleMachs (const char**)NULL
6013  *  content selection pattern - do fix if pattern found
6014  */
6015 tSCC zRs6000_DoubleSelect0[] =
6016        "[^a-zA-Z_]class\\(";
6018 #define    RS6000_DOUBLE_TEST_CT  1
6019 static tTestDesc aRs6000_DoubleTests[] = {
6020   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
6023  *  Fix Command Arguments for Rs6000_Double
6024  */
6025 static const char* apzRs6000_DoublePatch[] = {
6026     "format",
6027     "#ifndef __cplusplus\n\
6028 %0\n\
6029 #endif",
6030     "^.*[^a-zA-Z_]class\\(.*",
6031     (char*)NULL };
6033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6035  *  Description of Rs6000_Fchmod fix
6036  */
6037 tSCC zRs6000_FchmodName[] =
6038      "rs6000_fchmod";
6041  *  File name selection pattern
6042  */
6043 tSCC zRs6000_FchmodList[] =
6044   "sys/stat.h\0";
6046  *  Machine/OS name selection pattern
6047  */
6048 #define apzRs6000_FchmodMachs (const char**)NULL
6051  *  content selection pattern - do fix if pattern found
6052  */
6053 tSCC zRs6000_FchmodSelect0[] =
6054        "fchmod\\(char \\*";
6056 #define    RS6000_FCHMOD_TEST_CT  1
6057 static tTestDesc aRs6000_FchmodTests[] = {
6058   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
6061  *  Fix Command Arguments for Rs6000_Fchmod
6062  */
6063 static const char* apzRs6000_FchmodPatch[] = {
6064     "format",
6065     "fchmod(int",
6066     (char*)NULL };
6068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6070  *  Description of Rs6000_Param fix
6071  */
6072 tSCC zRs6000_ParamName[] =
6073      "rs6000_param";
6076  *  File name selection pattern
6077  */
6078 tSCC zRs6000_ParamList[] =
6079   "stdio.h\0unistd.h\0";
6081  *  Machine/OS name selection pattern
6082  */
6083 #define apzRs6000_ParamMachs (const char**)NULL
6086  *  content selection pattern - do fix if pattern found
6087  */
6088 tSCC zRs6000_ParamSelect0[] =
6089        "rename\\(const char \\*old, const char \\*new\\)";
6091 #define    RS6000_PARAM_TEST_CT  1
6092 static tTestDesc aRs6000_ParamTests[] = {
6093   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
6096  *  Fix Command Arguments for Rs6000_Param
6097  */
6098 static const char* apzRs6000_ParamPatch[] = {
6099     "format",
6100     "rename(const char *_old, const char *_new)",
6101     (char*)NULL };
6103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6105  *  Description of Solaris___Restrict fix
6106  */
6107 tSCC zSolaris___RestrictName[] =
6108      "solaris___restrict";
6111  *  File name selection pattern
6112  */
6113 tSCC zSolaris___RestrictList[] =
6114   "sys/feature_tests.h\0";
6116  *  Machine/OS name selection pattern
6117  */
6118 tSCC* apzSolaris___RestrictMachs[] = {
6119         "*-*-solaris2*",
6120         (const char*)NULL };
6123  *  content selection pattern - do fix if pattern found
6124  */
6125 tSCC zSolaris___RestrictSelect0[] =
6126        "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
6128 #define    SOLARIS___RESTRICT_TEST_CT  1
6129 static tTestDesc aSolaris___RestrictTests[] = {
6130   { TT_EGREP,    zSolaris___RestrictSelect0, (regex_t*)NULL }, };
6133  *  Fix Command Arguments for Solaris___Restrict
6134  */
6135 static const char* apzSolaris___RestrictPatch[] = {
6136     "format",
6137     "#ifdef __cplusplus\n\
6138 #define\t_RESTRICT_KYWD\t__restrict\n\
6139 #else\n\
6140 %0\n\
6141 #endif",
6142     (char*)NULL };
6144 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6146  *  Description of Solaris_Complex fix
6147  */
6148 tSCC zSolaris_ComplexName[] =
6149      "solaris_complex";
6152  *  File name selection pattern
6153  */
6154 tSCC zSolaris_ComplexList[] =
6155   "complex.h\0";
6157  *  Machine/OS name selection pattern
6158  */
6159 tSCC* apzSolaris_ComplexMachs[] = {
6160         "*-*-solaris2.*",
6161         (const char*)NULL };
6164  *  content selection pattern - do fix if pattern found
6165  */
6166 tSCC zSolaris_ComplexSelect0[] =
6167        "#define[ \t]_Complex_I[ \t]_Complex_I";
6169 #define    SOLARIS_COMPLEX_TEST_CT  1
6170 static tTestDesc aSolaris_ComplexTests[] = {
6171   { TT_EGREP,    zSolaris_ComplexSelect0, (regex_t*)NULL }, };
6174  *  Fix Command Arguments for Solaris_Complex
6175  */
6176 static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
6177     "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
6178     "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
6179     "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
6180     "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
6181     (char*)NULL };
6183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6185  *  Description of Solaris_Complex_Cxx fix
6186  */
6187 tSCC zSolaris_Complex_CxxName[] =
6188      "solaris_complex_cxx";
6191  *  File name selection pattern
6192  */
6193 tSCC zSolaris_Complex_CxxList[] =
6194   "complex.h\0";
6196  *  Machine/OS name selection pattern
6197  */
6198 tSCC* apzSolaris_Complex_CxxMachs[] = {
6199         "*-*-solaris2.*",
6200         (const char*)NULL };
6201 #define SOLARIS_COMPLEX_CXX_TEST_CT  0
6202 #define aSolaris_Complex_CxxTests   (tTestDesc*)NULL
6205  *  Fix Command Arguments for Solaris_Complex_Cxx
6206  */
6207 static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
6208     "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
6209 #ifdef\t__cplusplus\\\n\
6210 extern \"C\" {\\\n\
6211 #endif",
6212     "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
6213 #ifdef\t__cplusplus\\\n\
6214 }\\\n\
6215 #endif",
6216     (char*)NULL };
6218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6220  *  Description of Solaris_Cxx_Linkage fix
6221  */
6222 tSCC zSolaris_Cxx_LinkageName[] =
6223      "solaris_cxx_linkage";
6226  *  File name selection pattern
6227  */
6228 tSCC zSolaris_Cxx_LinkageList[] =
6229   "iso/stdlib_iso.h\0";
6231  *  Machine/OS name selection pattern
6232  */
6233 tSCC* apzSolaris_Cxx_LinkageMachs[] = {
6234         "*-*-solaris2*",
6235         (const char*)NULL };
6238  *  content selection pattern - do fix if pattern found
6239  */
6240 tSCC zSolaris_Cxx_LinkageSelect0[] =
6241        "(#if __cplusplus >= 199711L)\n\
6242 (extern \"C\\+\\+\" \\{\n\
6243 )(.*(bsearch|qsort).*)";
6245 #define    SOLARIS_CXX_LINKAGE_TEST_CT  1
6246 static tTestDesc aSolaris_Cxx_LinkageTests[] = {
6247   { TT_EGREP,    zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
6250  *  Fix Command Arguments for Solaris_Cxx_Linkage
6251  */
6252 static const char* apzSolaris_Cxx_LinkagePatch[] = {
6253     "format",
6254     "%1 && !__GNUG__\n\
6255 %2%3",
6256     (char*)NULL };
6258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6260  *  Description of Solaris_Getc_Strict_Stdc fix
6261  */
6262 tSCC zSolaris_Getc_Strict_StdcName[] =
6263      "solaris_getc_strict_stdc";
6266  *  File name selection pattern
6267  */
6268 tSCC zSolaris_Getc_Strict_StdcList[] =
6269   "iso/stdio_iso.h\0";
6271  *  Machine/OS name selection pattern
6272  */
6273 tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
6274         "*-*-solaris2*",
6275         (const char*)NULL };
6278  *  content selection pattern - do fix if pattern found
6279  */
6280 tSCC zSolaris_Getc_Strict_StdcSelect0[] =
6281        "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
6283 #define    SOLARIS_GETC_STRICT_STDC_TEST_CT  1
6284 static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
6285   { TT_EGREP,    zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
6288  *  Fix Command Arguments for Solaris_Getc_Strict_Stdc
6289  */
6290 static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
6291     "format",
6292     "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
6293     (char*)NULL };
6295 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6297  *  Description of Solaris_Longjmp_Noreturn fix
6298  */
6299 tSCC zSolaris_Longjmp_NoreturnName[] =
6300      "solaris_longjmp_noreturn";
6303  *  File name selection pattern
6304  */
6305 tSCC zSolaris_Longjmp_NoreturnList[] =
6306   "iso/setjmp_iso.h\0";
6308  *  Machine/OS name selection pattern
6309  */
6310 tSCC* apzSolaris_Longjmp_NoreturnMachs[] = {
6311         "*-*-solaris2*",
6312         (const char*)NULL };
6315  *  content selection pattern - do fix if pattern found
6316  */
6317 tSCC zSolaris_Longjmp_NoreturnSelect0[] =
6318        "(.*longjmp\\(jmp_buf.*[^)]+\\));";
6321  *  content bypass pattern - skip fix if pattern found
6322  */
6323 tSCC zSolaris_Longjmp_NoreturnBypass0[] =
6324        "__NORETURN";
6326 #define    SOLARIS_LONGJMP_NORETURN_TEST_CT  2
6327 static tTestDesc aSolaris_Longjmp_NoreturnTests[] = {
6328   { TT_NEGREP,   zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL },
6329   { TT_EGREP,    zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
6332  *  Fix Command Arguments for Solaris_Longjmp_Noreturn
6333  */
6334 static const char* apzSolaris_Longjmp_NoreturnPatch[] = {
6335     "format",
6336     "%1 __attribute__ ((__noreturn__));",
6337     (char*)NULL };
6339 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6341  *  Description of Solaris_Math_1 fix
6342  */
6343 tSCC zSolaris_Math_1Name[] =
6344      "solaris_math_1";
6347  *  File name selection pattern
6348  */
6349 tSCC zSolaris_Math_1List[] =
6350   "iso/math_c99.h\0";
6352  *  Machine/OS name selection pattern
6353  */
6354 #define apzSolaris_Math_1Machs (const char**)NULL
6357  *  content selection pattern - do fix if pattern found
6358  */
6359 tSCC zSolaris_Math_1Select0[] =
6360        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6363  *  content bypass pattern - skip fix if pattern found
6364  */
6365 tSCC zSolaris_Math_1Bypass0[] =
6366        "__GNUC__";
6368 #define    SOLARIS_MATH_1_TEST_CT  2
6369 static tTestDesc aSolaris_Math_1Tests[] = {
6370   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
6371   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
6374  *  Fix Command Arguments for Solaris_Math_1
6375  */
6376 static const char* apzSolaris_Math_1Patch[] = {
6377     "format",
6378     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
6379     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
6380     (char*)NULL };
6382 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6384  *  Description of Solaris_Math_2 fix
6385  */
6386 tSCC zSolaris_Math_2Name[] =
6387      "solaris_math_2";
6390  *  File name selection pattern
6391  */
6392 tSCC zSolaris_Math_2List[] =
6393   "iso/math_c99.h\0";
6395  *  Machine/OS name selection pattern
6396  */
6397 #define apzSolaris_Math_2Machs (const char**)NULL
6400  *  content selection pattern - do fix if pattern found
6401  */
6402 tSCC zSolaris_Math_2Select0[] =
6403        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6406  *  content bypass pattern - skip fix if pattern found
6407  */
6408 tSCC zSolaris_Math_2Bypass0[] =
6409        "__GNUC__";
6411 #define    SOLARIS_MATH_2_TEST_CT  2
6412 static tTestDesc aSolaris_Math_2Tests[] = {
6413   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
6414   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
6417  *  Fix Command Arguments for Solaris_Math_2
6418  */
6419 static const char* apzSolaris_Math_2Patch[] = {
6420     "format",
6421     "#define\tINFINITY\t(__builtin_inff())",
6422     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
6423     (char*)NULL };
6425 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6427  *  Description of Solaris_Math_3 fix
6428  */
6429 tSCC zSolaris_Math_3Name[] =
6430      "solaris_math_3";
6433  *  File name selection pattern
6434  */
6435 tSCC zSolaris_Math_3List[] =
6436   "iso/math_c99.h\0";
6438  *  Machine/OS name selection pattern
6439  */
6440 #define apzSolaris_Math_3Machs (const char**)NULL
6443  *  content selection pattern - do fix if pattern found
6444  */
6445 tSCC zSolaris_Math_3Select0[] =
6446        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6449  *  content bypass pattern - skip fix if pattern found
6450  */
6451 tSCC zSolaris_Math_3Bypass0[] =
6452        "__GNUC__";
6454 #define    SOLARIS_MATH_3_TEST_CT  2
6455 static tTestDesc aSolaris_Math_3Tests[] = {
6456   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
6457   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
6460  *  Fix Command Arguments for Solaris_Math_3
6461  */
6462 static const char* apzSolaris_Math_3Patch[] = {
6463     "format",
6464     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
6465     "^#define[ \t]+NAN[ \t]+__builtin_nan",
6466     (char*)NULL };
6468 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6470  *  Description of Solaris_Math_4 fix
6471  */
6472 tSCC zSolaris_Math_4Name[] =
6473      "solaris_math_4";
6476  *  File name selection pattern
6477  */
6478 tSCC zSolaris_Math_4List[] =
6479   "iso/math_c99.h\0";
6481  *  Machine/OS name selection pattern
6482  */
6483 #define apzSolaris_Math_4Machs (const char**)NULL
6486  *  content selection pattern - do fix if pattern found
6487  */
6488 tSCC zSolaris_Math_4Select0[] =
6489        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6492  *  content bypass pattern - skip fix if pattern found
6493  */
6494 tSCC zSolaris_Math_4Bypass0[] =
6495        "__GNUC__";
6497 #define    SOLARIS_MATH_4_TEST_CT  2
6498 static tTestDesc aSolaris_Math_4Tests[] = {
6499   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
6500   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
6503  *  Fix Command Arguments for Solaris_Math_4
6504  */
6505 static const char* apzSolaris_Math_4Patch[] = {
6506     "format",
6507     "#define\tfpclassify(x) \\\n\
6508   __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
6509     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
6510     (char*)NULL };
6512 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6514  *  Description of Solaris_Math_8 fix
6515  */
6516 tSCC zSolaris_Math_8Name[] =
6517      "solaris_math_8";
6520  *  File name selection pattern
6521  */
6522 tSCC zSolaris_Math_8List[] =
6523   "iso/math_c99.h\0";
6525  *  Machine/OS name selection pattern
6526  */
6527 #define apzSolaris_Math_8Machs (const char**)NULL
6530  *  content selection pattern - do fix if pattern found
6531  */
6532 tSCC zSolaris_Math_8Select0[] =
6533        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
6536  *  content bypass pattern - skip fix if pattern found
6537  */
6538 tSCC zSolaris_Math_8Bypass0[] =
6539        "__GNUC__";
6541 #define    SOLARIS_MATH_8_TEST_CT  2
6542 static tTestDesc aSolaris_Math_8Tests[] = {
6543   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
6544   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
6547  *  Fix Command Arguments for Solaris_Math_8
6548  */
6549 static const char* apzSolaris_Math_8Patch[] = {
6550     "format",
6551     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
6552 \t\t\t   ? __builtin_signbitf(x) \\\n\
6553 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
6554 \t\t\t     ? __builtin_signbitl(x) \\\n\
6555 \t\t\t     : __builtin_signbit(x))",
6556     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
6557     (char*)NULL };
6559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6561  *  Description of Solaris_Math_9 fix
6562  */
6563 tSCC zSolaris_Math_9Name[] =
6564      "solaris_math_9";
6567  *  File name selection pattern
6568  */
6569 tSCC zSolaris_Math_9List[] =
6570   "iso/math_c99.h\0";
6572  *  Machine/OS name selection pattern
6573  */
6574 #define apzSolaris_Math_9Machs (const char**)NULL
6577  *  content selection pattern - do fix if pattern found
6578  */
6579 tSCC zSolaris_Math_9Select0[] =
6580        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6583  *  content bypass pattern - skip fix if pattern found
6584  */
6585 tSCC zSolaris_Math_9Bypass0[] =
6586        "__GNUC__";
6588 #define    SOLARIS_MATH_9_TEST_CT  2
6589 static tTestDesc aSolaris_Math_9Tests[] = {
6590   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
6591   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
6594  *  Fix Command Arguments for Solaris_Math_9
6595  */
6596 static const char* apzSolaris_Math_9Patch[] = {
6597     "format",
6598     "#define\t%1(x, y)%2__builtin_%1(x, y)",
6599     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
6600     (char*)NULL };
6602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6604  *  Description of Solaris_Math_10 fix
6605  */
6606 tSCC zSolaris_Math_10Name[] =
6607      "solaris_math_10";
6610  *  File name selection pattern
6611  */
6612 tSCC zSolaris_Math_10List[] =
6613   "iso/math_c99.h\0";
6615  *  Machine/OS name selection pattern
6616  */
6617 #define apzSolaris_Math_10Machs (const char**)NULL
6620  *  content selection pattern - do fix if pattern found
6621  */
6622 tSCC zSolaris_Math_10Select0[] =
6623        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6625 #define    SOLARIS_MATH_10_TEST_CT  1
6626 static tTestDesc aSolaris_Math_10Tests[] = {
6627   { TT_EGREP,    zSolaris_Math_10Select0, (regex_t*)NULL }, };
6630  *  Fix Command Arguments for Solaris_Math_10
6631  */
6632 static const char* apzSolaris_Math_10Patch[] = {
6633     "format",
6634     "#define\tisinf(x) __builtin_isinf(x)",
6635     "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
6636 [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
6637 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
6638 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
6639     (char*)NULL };
6641 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6643  *  Description of Solaris_Mutex_Init_2 fix
6644  */
6645 tSCC zSolaris_Mutex_Init_2Name[] =
6646      "solaris_mutex_init_2";
6649  *  File name selection pattern
6650  */
6651 tSCC zSolaris_Mutex_Init_2List[] =
6652   "pthread.h\0";
6654  *  Machine/OS name selection pattern
6655  */
6656 tSCC* apzSolaris_Mutex_Init_2Machs[] = {
6657         "*-*-solaris2.[0-9]",
6658         "*-*-solaris2.[0-9][!0-9]*",
6659         (const char*)NULL };
6662  *  content selection pattern - do fix if pattern found
6663  */
6664 tSCC zSolaris_Mutex_Init_2Select0[] =
6665        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6667 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
6668 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
6669   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
6672  *  Fix Command Arguments for Solaris_Mutex_Init_2
6673  */
6674 static const char* apzSolaris_Mutex_Init_2Patch[] = {
6675     "format",
6676     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6677 %0\n\
6678 #else\n\
6679 %1, {0}}%4\n\
6680 #endif",
6681     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
6682 [ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
6683     (char*)NULL };
6685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6687  *  Description of Solaris_Pow_Int_Overload fix
6688  */
6689 tSCC zSolaris_Pow_Int_OverloadName[] =
6690      "solaris_pow_int_overload";
6693  *  File name selection pattern
6694  */
6695 tSCC zSolaris_Pow_Int_OverloadList[] =
6696   "iso/math_iso.h\0";
6698  *  Machine/OS name selection pattern
6699  */
6700 tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
6701         "*-*-solaris2*",
6702         (const char*)NULL };
6705  *  content selection pattern - do fix if pattern found
6706  */
6707 tSCC zSolaris_Pow_Int_OverloadSelect0[] =
6708        "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
6709 [^{}]*\\}";
6711 #define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
6712 static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
6713   { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
6716  *  Fix Command Arguments for Solaris_Pow_Int_Overload
6717  */
6718 static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
6719     "format",
6720     "#if __cplusplus < 201103L\n\
6721 %0\n\
6722 #endif",
6723     (char*)NULL };
6725 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6727  *  Description of Solaris_Rwlock_Init_1 fix
6728  */
6729 tSCC zSolaris_Rwlock_Init_1Name[] =
6730      "solaris_rwlock_init_1";
6733  *  File name selection pattern
6734  */
6735 tSCC zSolaris_Rwlock_Init_1List[] =
6736   "pthread.h\0";
6738  *  Machine/OS name selection pattern
6739  */
6740 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
6741         "*-*-solaris*",
6742         (const char*)NULL };
6745  *  content selection pattern - do fix if pattern found
6746  */
6747 tSCC zSolaris_Rwlock_Init_1Select0[] =
6748        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6750 #define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
6751 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
6752   { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
6755  *  Fix Command Arguments for Solaris_Rwlock_Init_1
6756  */
6757 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
6758     "format",
6759     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6760 %0\n\
6761 #else\n\
6762 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
6763 #endif",
6764     "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
6765     (char*)NULL };
6767 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6769  *  Description of Solaris_Once_Init_1 fix
6770  */
6771 tSCC zSolaris_Once_Init_1Name[] =
6772      "solaris_once_init_1";
6775  *  File name selection pattern
6776  */
6777 tSCC zSolaris_Once_Init_1List[] =
6778   "pthread.h\0";
6780  *  Machine/OS name selection pattern
6781  */
6782 tSCC* apzSolaris_Once_Init_1Machs[] = {
6783         "*-*-solaris*",
6784         (const char*)NULL };
6787  *  content selection pattern - do fix if pattern found
6788  */
6789 tSCC zSolaris_Once_Init_1Select0[] =
6790        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6792 #define    SOLARIS_ONCE_INIT_1_TEST_CT  1
6793 static tTestDesc aSolaris_Once_Init_1Tests[] = {
6794   { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
6797  *  Fix Command Arguments for Solaris_Once_Init_1
6798  */
6799 static const char* apzSolaris_Once_Init_1Patch[] = {
6800     "format",
6801     "%1{%2}%3",
6802     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
6803     (char*)NULL };
6805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6807  *  Description of Solaris_Once_Init_2 fix
6808  */
6809 tSCC zSolaris_Once_Init_2Name[] =
6810      "solaris_once_init_2";
6813  *  File name selection pattern
6814  */
6815 tSCC zSolaris_Once_Init_2List[] =
6816   "pthread.h\0";
6818  *  Machine/OS name selection pattern
6819  */
6820 tSCC* apzSolaris_Once_Init_2Machs[] = {
6821         "*-*-solaris2.[0-9]",
6822         "*-*-solaris2.[0-9][!0-9]*",
6823         (const char*)NULL };
6826  *  content selection pattern - do fix if pattern found
6827  */
6828 tSCC zSolaris_Once_Init_2Select0[] =
6829        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6831 #define    SOLARIS_ONCE_INIT_2_TEST_CT  1
6832 static tTestDesc aSolaris_Once_Init_2Tests[] = {
6833   { TT_EGREP,    zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
6836  *  Fix Command Arguments for Solaris_Once_Init_2
6837  */
6838 static const char* apzSolaris_Once_Init_2Patch[] = {
6839     "format",
6840     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6841 %0\n\
6842 #else\n\
6843 %1{0}, {0}, {0}, {%3}%4\n\
6844 #endif",
6845     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
6846     (char*)NULL };
6848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6850  *  Description of Solaris_Int_Const fix
6851  */
6852 tSCC zSolaris_Int_ConstName[] =
6853      "solaris_int_const";
6856  *  File name selection pattern
6857  */
6858 tSCC zSolaris_Int_ConstList[] =
6859   "sys/int_const.h\0";
6861  *  Machine/OS name selection pattern
6862  */
6863 tSCC* apzSolaris_Int_ConstMachs[] = {
6864         "*-*-solaris2*",
6865         (const char*)NULL };
6868  *  content selection pattern - do fix if pattern found
6869  */
6870 tSCC zSolaris_Int_ConstSelect0[] =
6871        "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
6872 (/*.**/)\n\
6873 #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
6875 #define    SOLARIS_INT_CONST_TEST_CT  1
6876 static tTestDesc aSolaris_Int_ConstTests[] = {
6877   { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
6880  *  Fix Command Arguments for Solaris_Int_Const
6881  */
6882 static const char* apzSolaris_Int_ConstPatch[] = {
6883     "format",
6884     "#define\tUINT8_C(c)\t(c)\n\
6885 %1\n\
6886 #define\tUINT16_C(c)\t(c)",
6887     (char*)NULL };
6889 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6891  *  Description of Solaris_Int_Limits_1 fix
6892  */
6893 tSCC zSolaris_Int_Limits_1Name[] =
6894      "solaris_int_limits_1";
6897  *  File name selection pattern
6898  */
6899 tSCC zSolaris_Int_Limits_1List[] =
6900   "sys/int_limits.h\0";
6902  *  Machine/OS name selection pattern
6903  */
6904 tSCC* apzSolaris_Int_Limits_1Machs[] = {
6905         "*-*-solaris2*",
6906         (const char*)NULL };
6909  *  content selection pattern - do fix if pattern found
6910  */
6911 tSCC zSolaris_Int_Limits_1Select0[] =
6912        "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
6913 #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
6915 #define    SOLARIS_INT_LIMITS_1_TEST_CT  1
6916 static tTestDesc aSolaris_Int_Limits_1Tests[] = {
6917   { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
6920  *  Fix Command Arguments for Solaris_Int_Limits_1
6921  */
6922 static const char* apzSolaris_Int_Limits_1Patch[] = {
6923     "format",
6924     "#define\tUINT8_MAX\t(255)\n\
6925 #define\tUINT16_MAX\t(65535)",
6926     (char*)NULL };
6928 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6930  *  Description of Solaris_Int_Limits_2 fix
6931  */
6932 tSCC zSolaris_Int_Limits_2Name[] =
6933      "solaris_int_limits_2";
6936  *  File name selection pattern
6937  */
6938 tSCC zSolaris_Int_Limits_2List[] =
6939   "sys/int_limits.h\0";
6941  *  Machine/OS name selection pattern
6942  */
6943 tSCC* apzSolaris_Int_Limits_2Machs[] = {
6944         "*-*-solaris2*",
6945         (const char*)NULL };
6948  *  content selection pattern - do fix if pattern found
6949  */
6950 tSCC zSolaris_Int_Limits_2Select0[] =
6951        "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
6953 #define    SOLARIS_INT_LIMITS_2_TEST_CT  1
6954 static tTestDesc aSolaris_Int_Limits_2Tests[] = {
6955   { TT_EGREP,    zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
6958  *  Fix Command Arguments for Solaris_Int_Limits_2
6959  */
6960 static const char* apzSolaris_Int_Limits_2Patch[] = {
6961     "format",
6962     "#define\t%1_FAST16_%2 %132_%2",
6963     (char*)NULL };
6965 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6967  *  Description of Solaris_Int_Limits_3 fix
6968  */
6969 tSCC zSolaris_Int_Limits_3Name[] =
6970      "solaris_int_limits_3";
6973  *  File name selection pattern
6974  */
6975 tSCC zSolaris_Int_Limits_3List[] =
6976   "sys/int_limits.h\0";
6978  *  Machine/OS name selection pattern
6979  */
6980 tSCC* apzSolaris_Int_Limits_3Machs[] = {
6981         "*-*-solaris2*",
6982         (const char*)NULL };
6985  *  content selection pattern - do fix if pattern found
6986  */
6987 tSCC zSolaris_Int_Limits_3Select0[] =
6988        "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
6990 #define    SOLARIS_INT_LIMITS_3_TEST_CT  1
6991 static tTestDesc aSolaris_Int_Limits_3Tests[] = {
6992   { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
6995  *  Fix Command Arguments for Solaris_Int_Limits_3
6996  */
6997 static const char* apzSolaris_Int_Limits_3Patch[] = {
6998     "format",
6999     "#define\tSIZE_MAX\t4294967295U",
7000     (char*)NULL };
7002 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7004  *  Description of Solaris_Int_Types fix
7005  */
7006 tSCC zSolaris_Int_TypesName[] =
7007      "solaris_int_types";
7010  *  File name selection pattern
7011  */
7012 tSCC zSolaris_Int_TypesList[] =
7013   "sys/int_types.h\0";
7015  *  Machine/OS name selection pattern
7016  */
7017 #define apzSolaris_Int_TypesMachs (const char**)NULL
7020  *  content selection pattern - do fix if pattern found
7021  */
7022 tSCC zSolaris_Int_TypesSelect0[] =
7023        "__STDC__ - 0 == 0";
7026  *  content bypass pattern - skip fix if pattern found
7027  */
7028 tSCC zSolaris_Int_TypesBypass0[] =
7029        "_LONGLONG_TYPE";
7031 #define    SOLARIS_INT_TYPES_TEST_CT  2
7032 static tTestDesc aSolaris_Int_TypesTests[] = {
7033   { TT_NEGREP,   zSolaris_Int_TypesBypass0, (regex_t*)NULL },
7034   { TT_EGREP,    zSolaris_Int_TypesSelect0, (regex_t*)NULL }, };
7037  *  Fix Command Arguments for Solaris_Int_Types
7038  */
7039 static const char* apzSolaris_Int_TypesPatch[] = {
7040     "format",
7041     "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))",
7042     (char*)NULL };
7044 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7046  *  Description of Solaris_Posix_Spawn_Restrict fix
7047  */
7048 tSCC zSolaris_Posix_Spawn_RestrictName[] =
7049      "solaris_posix_spawn_restrict";
7052  *  File name selection pattern
7053  */
7054 tSCC zSolaris_Posix_Spawn_RestrictList[] =
7055   "spawn.h\0";
7057  *  Machine/OS name selection pattern
7058  */
7059 tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
7060         "*-*-solaris2*",
7061         (const char*)NULL };
7064  *  content selection pattern - do fix if pattern found
7065  */
7066 tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
7067        "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
7069 #define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
7070 static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
7071   { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
7074  *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
7075  */
7076 static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
7077     "format",
7078     "%1*_RESTRICT_KYWD %2%3",
7079     (char*)NULL };
7081 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7083  *  Description of Solaris_Std___Filbuf fix
7084  */
7085 tSCC zSolaris_Std___FilbufName[] =
7086      "solaris_std___filbuf";
7089  *  File name selection pattern
7090  */
7091 tSCC zSolaris_Std___FilbufList[] =
7092   "stdio.h\0";
7094  *  Machine/OS name selection pattern
7095  */
7096 tSCC* apzSolaris_Std___FilbufMachs[] = {
7097         "*-*-solaris2*",
7098         (const char*)NULL };
7101  *  content selection pattern - do fix if pattern found
7102  */
7103 tSCC zSolaris_Std___FilbufSelect0[] =
7104        "(using std::perror;\n\
7105 )(#endif)";
7108  *  content bypass pattern - skip fix if pattern found
7109  */
7110 tSCC zSolaris_Std___FilbufBypass0[] =
7111        "using std::__filbuf";
7113 #define    SOLARIS_STD___FILBUF_TEST_CT  2
7114 static tTestDesc aSolaris_Std___FilbufTests[] = {
7115   { TT_NEGREP,   zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
7116   { TT_EGREP,    zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
7119  *  Fix Command Arguments for Solaris_Std___Filbuf
7120  */
7121 static const char* apzSolaris_Std___FilbufPatch[] = {
7122     "format",
7123     "%1#ifndef _LP64\n\
7124 using std::__filbuf;\n\
7125 using std::__flsbuf;\n\
7126 #endif\n\
7127 %2",
7128     (char*)NULL };
7130 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7132  *  Description of Solaris_Stdio_Tag fix
7133  */
7134 tSCC zSolaris_Stdio_TagName[] =
7135      "solaris_stdio_tag";
7138  *  File name selection pattern
7139  */
7140 tSCC zSolaris_Stdio_TagList[] =
7141   "stdio_tag.h\0";
7143  *  Machine/OS name selection pattern
7144  */
7145 #define apzSolaris_Stdio_TagMachs (const char**)NULL
7148  *  content selection pattern - do fix if pattern found
7149  */
7150 tSCC zSolaris_Stdio_TagSelect0[] =
7151        "__cplusplus < 54321L";
7154  *  content bypass pattern - skip fix if pattern found
7155  */
7156 tSCC zSolaris_Stdio_TagBypass0[] =
7157        "__GNUC__";
7159 #define    SOLARIS_STDIO_TAG_TEST_CT  2
7160 static tTestDesc aSolaris_Stdio_TagTests[] = {
7161   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
7162   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
7165  *  Fix Command Arguments for Solaris_Stdio_Tag
7166  */
7167 static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
7168     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
7169     (char*)NULL };
7171 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7173  *  Description of Solaris_Sys_Va_List fix
7174  */
7175 tSCC zSolaris_Sys_Va_ListName[] =
7176      "solaris_sys_va_list";
7179  *  File name selection pattern
7180  */
7181 tSCC zSolaris_Sys_Va_ListList[] =
7182   "sys/va_list.h\0";
7184  *  Machine/OS name selection pattern
7185  */
7186 tSCC* apzSolaris_Sys_Va_ListMachs[] = {
7187         "*-*-solaris2.9",
7188         (const char*)NULL };
7191  *  content selection pattern - do fix if pattern found
7192  */
7193 tSCC zSolaris_Sys_Va_ListSelect0[] =
7194        "#if.*__STDC__.*\n\
7195 typedef void \\*__va_list;\n\
7196 #else\n\
7197 typedef char \\*__va_list;\n\
7198 #endif";
7200 #define    SOLARIS_SYS_VA_LIST_TEST_CT  1
7201 static tTestDesc aSolaris_Sys_Va_ListTests[] = {
7202   { TT_EGREP,    zSolaris_Sys_Va_ListSelect0, (regex_t*)NULL }, };
7205  *  Fix Command Arguments for Solaris_Sys_Va_List
7206  */
7207 static const char* apzSolaris_Sys_Va_ListPatch[] = {
7208     "format",
7209     "#ifdef __GNUC__\n\
7210 typedef __builtin_va_list __va_list;\n\
7211 #else\n\
7212 %0\n\
7213 #endif",
7214     (char*)NULL };
7216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7218  *  Description of Statsswtch fix
7219  */
7220 tSCC zStatsswtchName[] =
7221      "statsswtch";
7224  *  File name selection pattern
7225  */
7226 tSCC zStatsswtchList[] =
7227   "rpcsvc/rstat.h\0";
7229  *  Machine/OS name selection pattern
7230  */
7231 #define apzStatsswtchMachs (const char**)NULL
7234  *  content selection pattern - do fix if pattern found
7235  */
7236 tSCC zStatsswtchSelect0[] =
7237        "boottime$";
7239 #define    STATSSWTCH_TEST_CT  1
7240 static tTestDesc aStatsswtchTests[] = {
7241   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
7244  *  Fix Command Arguments for Statsswtch
7245  */
7246 static const char* apzStatsswtchPatch[] = {
7247     "format",
7248     "boottime;",
7249     (char*)NULL };
7251 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7253  *  Description of Stdio_Stdarg_H fix
7254  */
7255 tSCC zStdio_Stdarg_HName[] =
7256      "stdio_stdarg_h";
7259  *  File name selection pattern
7260  */
7261 tSCC zStdio_Stdarg_HList[] =
7262   "stdio.h\0";
7264  *  Machine/OS name selection pattern
7265  */
7266 tSCC* apzStdio_Stdarg_HMachs[] = {
7267         "*-*-solaris2.1[0-9]*",
7268         (const char*)NULL };
7271  *  content bypass pattern - skip fix if pattern found
7272  */
7273 tSCC zStdio_Stdarg_HBypass0[] =
7274        "include.*(stdarg.h|machine/ansi.h)";
7276 #define    STDIO_STDARG_H_TEST_CT  1
7277 static tTestDesc aStdio_Stdarg_HTests[] = {
7278   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
7281  *  Fix Command Arguments for Stdio_Stdarg_H
7282  */
7283 static const char* apzStdio_Stdarg_HPatch[] = {
7284     "wrap",
7285     "#define __need___va_list\n\
7286 #include <stdarg.h>\n",
7287     (char*)NULL };
7289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7291  *  Description of Stdio_Va_List fix
7292  */
7293 tSCC zStdio_Va_ListName[] =
7294      "stdio_va_list";
7297  *  File name selection pattern
7298  */
7299 tSCC zStdio_Va_ListList[] =
7300   "stdio.h\0";
7302  *  Machine/OS name selection pattern
7303  */
7304 tSCC* apzStdio_Va_ListMachs[] = {
7305         "*-*-solaris2.1[0-9]*",
7306         (const char*)NULL };
7309  *  content bypass pattern - skip fix if pattern found
7310  */
7311 tSCC zStdio_Va_ListBypass0[] =
7312        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
7314 #define    STDIO_VA_LIST_TEST_CT  1
7315 static tTestDesc aStdio_Va_ListTests[] = {
7316   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
7319  *  Fix Command Arguments for Stdio_Va_List
7320  */
7321 static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
7322     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
7323 s@(va_list)&@(__gnuc_va_list)\\&@\n\
7324 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
7325 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7326 s@ va_list@ __not_va_list__@\n\
7327 s@\\*va_list@*__not_va_list__@\n\
7328 s@ __va_list)@ __gnuc_va_list)@\n\
7329 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
7330 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
7331 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
7332 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
7333 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
7334 s@VA_LIST@DUMMY_VA_LIST@\n\
7335 s@_Va_LIST@_VA_LIST@",
7336     (char*)NULL };
7338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7340  *  Description of Stdio_Va_List_Clients fix
7341  */
7342 tSCC zStdio_Va_List_ClientsName[] =
7343      "stdio_va_list_clients";
7346  *  File name selection pattern
7347  */
7348 tSCC zStdio_Va_List_ClientsList[] =
7349   "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
7351  *  Machine/OS name selection pattern
7352  */
7353 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
7356  *  content bypass pattern - skip fix if pattern found
7357  */
7358 tSCC zStdio_Va_List_ClientsBypass0[] =
7359        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
7360 tSCC zStdio_Va_List_ClientsBypass1[] =
7361        "include <stdarg\\.h>|#ifdef va_start";
7363 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
7364 static tTestDesc aStdio_Va_List_ClientsTests[] = {
7365   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
7366   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
7369  *  Fix Command Arguments for Stdio_Va_List_Clients
7370  */
7371 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
7372     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
7373 s@(va_list)&@(__gnuc_va_list)\\&@\n\
7374 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
7375 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7376 s@ va_list@ __not_va_list__@\n\
7377 s@\\*va_list@*__not_va_list__@\n\
7378 s@ __va_list)@ __gnuc_va_list)@\n\
7379 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
7380 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
7381 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
7382 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
7383 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
7384 s@VA_LIST@DUMMY_VA_LIST@\n\
7385 s@_Va_LIST@_VA_LIST@",
7386     (char*)NULL };
7388 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7390  *  Description of Strict_Ansi_Not fix
7391  */
7392 tSCC zStrict_Ansi_NotName[] =
7393      "strict_ansi_not";
7396  *  File name selection pattern
7397  */
7398 #define zStrict_Ansi_NotList (char*)NULL
7400  *  Machine/OS name selection pattern
7401  */
7402 #define apzStrict_Ansi_NotMachs (const char**)NULL
7405  *  content selection pattern - do fix if pattern found
7406  */
7407 tSCC zStrict_Ansi_NotSelect0[] =
7408        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
7411  *  content bypass pattern - skip fix if pattern found
7412  */
7413 tSCC zStrict_Ansi_NotBypass0[] =
7414        "GNU and MIPS C compilers define __STDC__ differently";
7415 tSCC zStrict_Ansi_NotBypass1[] =
7416        "__SCO_VERSION__.*__STDC__ != 1";
7419  *  perform the C function call test
7420  */
7421 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
7423 #define    STRICT_ANSI_NOT_TEST_CT  4
7424 static tTestDesc aStrict_Ansi_NotTests[] = {
7425   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
7426   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
7427   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
7428   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
7431  *  Fix Command Arguments for Strict_Ansi_Not
7432  */
7433 static const char* apzStrict_Ansi_NotPatch[] = {
7434     "format",
7435     "%1 !defined(__STRICT_ANSI__)",
7436     (char*)NULL };
7438 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7440  *  Description of Strict_Ansi_Not_Ctd fix
7441  */
7442 tSCC zStrict_Ansi_Not_CtdName[] =
7443      "strict_ansi_not_ctd";
7446  *  File name selection pattern
7447  */
7448 tSCC zStrict_Ansi_Not_CtdList[] =
7449   "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
7451  *  Machine/OS name selection pattern
7452  */
7453 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
7456  *  content selection pattern - do fix if pattern found
7457  */
7458 tSCC zStrict_Ansi_Not_CtdSelect0[] =
7459        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
7462  *  perform the C function call test
7463  */
7464 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
7466 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
7467 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
7468   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
7469   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
7472  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
7473  */
7474 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
7475     "format",
7476     "%1 !defined(__STRICT_ANSI__)",
7477     (char*)NULL };
7479 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7481  *  Description of Strict_Ansi_Only fix
7482  */
7483 tSCC zStrict_Ansi_OnlyName[] =
7484      "strict_ansi_only";
7487  *  File name selection pattern
7488  */
7489 #define zStrict_Ansi_OnlyList (char*)NULL
7491  *  Machine/OS name selection pattern
7492  */
7493 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
7496  *  content selection pattern - do fix if pattern found
7497  */
7498 tSCC zStrict_Ansi_OnlySelect0[] =
7499        "^([ \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)";
7502  *  perform the C function call test
7503  */
7504 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
7506 #define    STRICT_ANSI_ONLY_TEST_CT  2
7507 static tTestDesc aStrict_Ansi_OnlyTests[] = {
7508   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
7509   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
7512  *  Fix Command Arguments for Strict_Ansi_Only
7513  */
7514 static const char* apzStrict_Ansi_OnlyPatch[] = {
7515     "format",
7516     "%1 defined(__STRICT_ANSI__)",
7517     (char*)NULL };
7519 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7521  *  Description of Struct_File fix
7522  */
7523 tSCC zStruct_FileName[] =
7524      "struct_file";
7527  *  File name selection pattern
7528  */
7529 tSCC zStruct_FileList[] =
7530   "rpc/xdr.h\0";
7532  *  Machine/OS name selection pattern
7533  */
7534 #define apzStruct_FileMachs (const char**)NULL
7537  *  content selection pattern - do fix if pattern found
7538  */
7539 tSCC zStruct_FileSelect0[] =
7540        "^.*xdrstdio_create.*struct __file_s";
7542 #define    STRUCT_FILE_TEST_CT  1
7543 static tTestDesc aStruct_FileTests[] = {
7544   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
7547  *  Fix Command Arguments for Struct_File
7548  */
7549 static const char* apzStruct_FilePatch[] = {
7550     "format",
7551     "struct __file_s;\n\
7552 %0",
7553     (char*)NULL };
7555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7557  *  Description of Struct_Sockaddr fix
7558  */
7559 tSCC zStruct_SockaddrName[] =
7560      "struct_sockaddr";
7563  *  File name selection pattern
7564  */
7565 tSCC zStruct_SockaddrList[] =
7566   "rpc/auth.h\0";
7568  *  Machine/OS name selection pattern
7569  */
7570 #define apzStruct_SockaddrMachs (const char**)NULL
7573  *  content selection pattern - do fix if pattern found
7574  */
7575 tSCC zStruct_SockaddrSelect0[] =
7576        "^.*authdes_create.*struct sockaddr[^_]";
7579  *  content bypass pattern - skip fix if pattern found
7580  */
7581 tSCC zStruct_SockaddrBypass0[] =
7582        "<sys/socket.h>";
7583 tSCC zStruct_SockaddrBypass1[] =
7584        "struct sockaddr;\n";
7586 #define    STRUCT_SOCKADDR_TEST_CT  3
7587 static tTestDesc aStruct_SockaddrTests[] = {
7588   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
7589   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
7590   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
7593  *  Fix Command Arguments for Struct_Sockaddr
7594  */
7595 static const char* apzStruct_SockaddrPatch[] = {
7596     "format",
7597     "struct sockaddr;\n\
7598 %0",
7599     (char*)NULL };
7601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7603  *  Description of Sun_Auth_Proto fix
7604  */
7605 tSCC zSun_Auth_ProtoName[] =
7606      "sun_auth_proto";
7609  *  File name selection pattern
7610  */
7611 tSCC zSun_Auth_ProtoList[] =
7612   "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
7614  *  Machine/OS name selection pattern
7615  */
7616 #define apzSun_Auth_ProtoMachs (const char**)NULL
7619  *  content selection pattern - do fix if pattern found
7620  */
7621 tSCC zSun_Auth_ProtoSelect0[] =
7622        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
7625  *  content bypass pattern - skip fix if pattern found
7626  */
7627 tSCC zSun_Auth_ProtoBypass0[] =
7628        "__cplusplus";
7630 #define    SUN_AUTH_PROTO_TEST_CT  2
7631 static tTestDesc aSun_Auth_ProtoTests[] = {
7632   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
7633   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
7636  *  Fix Command Arguments for Sun_Auth_Proto
7637  */
7638 static const char* apzSun_Auth_ProtoPatch[] = {
7639     "format",
7640     "#ifdef __cplusplus\n\
7641 %1(...);%2\n\
7642 #else\n\
7643 %1();%2\n\
7644 #endif",
7645     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
7646     (char*)NULL };
7648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7650  *  Description of Sun_Bogus_Ifdef fix
7651  */
7652 tSCC zSun_Bogus_IfdefName[] =
7653      "sun_bogus_ifdef";
7656  *  File name selection pattern
7657  */
7658 tSCC zSun_Bogus_IfdefList[] =
7659   "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
7661  *  Machine/OS name selection pattern
7662  */
7663 #define apzSun_Bogus_IfdefMachs (const char**)NULL
7666  *  content selection pattern - do fix if pattern found
7667  */
7668 tSCC zSun_Bogus_IfdefSelect0[] =
7669        "#ifdef(.*\\|\\|.*)";
7671 #define    SUN_BOGUS_IFDEF_TEST_CT  1
7672 static tTestDesc aSun_Bogus_IfdefTests[] = {
7673   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
7676  *  Fix Command Arguments for Sun_Bogus_Ifdef
7677  */
7678 static const char* apzSun_Bogus_IfdefPatch[] = {
7679     "format",
7680     "#if%1",
7681     (char*)NULL };
7683 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7685  *  Description of Sun_Catmacro fix
7686  */
7687 tSCC zSun_CatmacroName[] =
7688      "sun_catmacro";
7691  *  File name selection pattern
7692  */
7693 tSCC zSun_CatmacroList[] =
7694   "pixrect/memvar.h\0";
7696  *  Machine/OS name selection pattern
7697  */
7698 #define apzSun_CatmacroMachs (const char**)NULL
7701  *  content selection pattern - do fix if pattern found
7702  */
7703 tSCC zSun_CatmacroSelect0[] =
7704        "^#define[ \t]+CAT\\(a,b\\).*";
7706 #define    SUN_CATMACRO_TEST_CT  1
7707 static tTestDesc aSun_CatmacroTests[] = {
7708   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
7711  *  Fix Command Arguments for Sun_Catmacro
7712  */
7713 static const char* apzSun_CatmacroPatch[] = {
7714     "format",
7715     "#ifdef __STDC__\n\
7716 #  define CAT(a,b) a##b\n\
7717 #else\n\
7718 %0\n\
7719 #endif",
7720     (char*)NULL };
7722 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7724  *  Description of Sun_Malloc fix
7725  */
7726 tSCC zSun_MallocName[] =
7727      "sun_malloc";
7730  *  File name selection pattern
7731  */
7732 tSCC zSun_MallocList[] =
7733   "malloc.h\0";
7735  *  Machine/OS name selection pattern
7736  */
7737 #define apzSun_MallocMachs (const char**)NULL
7740  *  content bypass pattern - skip fix if pattern found
7741  */
7742 tSCC zSun_MallocBypass0[] =
7743        "_CLASSIC_ANSI_TYPES";
7745 #define    SUN_MALLOC_TEST_CT  1
7746 static tTestDesc aSun_MallocTests[] = {
7747   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
7750  *  Fix Command Arguments for Sun_Malloc
7751  */
7752 static const char* apzSun_MallocPatch[] = { sed_cmd_z,
7753     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
7754     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
7755     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
7756     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
7757     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
7758     (char*)NULL };
7760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7762  *  Description of Sun_Rusers_Semi fix
7763  */
7764 tSCC zSun_Rusers_SemiName[] =
7765      "sun_rusers_semi";
7768  *  File name selection pattern
7769  */
7770 tSCC zSun_Rusers_SemiList[] =
7771   "rpcsvc/rusers.h\0";
7773  *  Machine/OS name selection pattern
7774  */
7775 #define apzSun_Rusers_SemiMachs (const char**)NULL
7778  *  content selection pattern - do fix if pattern found
7779  */
7780 tSCC zSun_Rusers_SemiSelect0[] =
7781        "_cnt$";
7783 #define    SUN_RUSERS_SEMI_TEST_CT  1
7784 static tTestDesc aSun_Rusers_SemiTests[] = {
7785   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
7788  *  Fix Command Arguments for Sun_Rusers_Semi
7789  */
7790 static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
7791     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
7792     (char*)NULL };
7794 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7796  *  Description of Sun_Signal fix
7797  */
7798 tSCC zSun_SignalName[] =
7799      "sun_signal";
7802  *  File name selection pattern
7803  */
7804 tSCC zSun_SignalList[] =
7805   "sys/signal.h\0signal.h\0";
7807  *  Machine/OS name selection pattern
7808  */
7809 #define apzSun_SignalMachs (const char**)NULL
7812  *  content selection pattern - do fix if pattern found
7813  */
7814 tSCC zSun_SignalSelect0[] =
7815        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
7817 #define    SUN_SIGNAL_TEST_CT  1
7818 static tTestDesc aSun_SignalTests[] = {
7819   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
7822  *  Fix Command Arguments for Sun_Signal
7823  */
7824 static const char* apzSun_SignalPatch[] = {
7825     "format",
7826     "#ifdef __cplusplus\n\
7827 void\t(*signal(...))(...);\n\
7828 #else\n\
7829 %0\n\
7830 #endif",
7831     (char*)NULL };
7833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7835  *  Description of Sunos_Strlen fix
7836  */
7837 tSCC zSunos_StrlenName[] =
7838      "sunos_strlen";
7841  *  File name selection pattern
7842  */
7843 tSCC zSunos_StrlenList[] =
7844   "strings.h\0";
7846  *  Machine/OS name selection pattern
7847  */
7848 #define apzSunos_StrlenMachs (const char**)NULL
7851  *  content selection pattern - do fix if pattern found
7852  */
7853 tSCC zSunos_StrlenSelect0[] =
7854        "int[ \t]*strlen\\(\\);(.*)";
7856 #define    SUNOS_STRLEN_TEST_CT  1
7857 static tTestDesc aSunos_StrlenTests[] = {
7858   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
7861  *  Fix Command Arguments for Sunos_Strlen
7862  */
7863 static const char* apzSunos_StrlenPatch[] = {
7864     "format",
7865     "__SIZE_TYPE__ strlen();%1",
7866     (char*)NULL };
7868 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7870  *  Description of Svr4_Disable_Opt fix
7871  */
7872 tSCC zSvr4_Disable_OptName[] =
7873      "svr4_disable_opt";
7876  *  File name selection pattern
7877  */
7878 tSCC zSvr4_Disable_OptList[] =
7879   "string.h\0";
7881  *  Machine/OS name selection pattern
7882  */
7883 #define apzSvr4_Disable_OptMachs (const char**)NULL
7886  *  content selection pattern - do fix if pattern found
7887  */
7888 tSCC zSvr4_Disable_OptSelect0[] =
7889        "#define.*__std_hdr_";
7891 #define    SVR4_DISABLE_OPT_TEST_CT  1
7892 static tTestDesc aSvr4_Disable_OptTests[] = {
7893   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
7896  *  Fix Command Arguments for Svr4_Disable_Opt
7897  */
7898 static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
7899     "-e", "/#define.*__std_hdr_/d",
7900     (char*)NULL };
7902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7904  *  Description of Svr4_Getcwd fix
7905  */
7906 tSCC zSvr4_GetcwdName[] =
7907      "svr4_getcwd";
7910  *  File name selection pattern
7911  */
7912 tSCC zSvr4_GetcwdList[] =
7913   "stdlib.h\0unistd.h\0prototypes.h\0";
7915  *  Machine/OS name selection pattern
7916  */
7917 #define apzSvr4_GetcwdMachs (const char**)NULL
7920  *  content selection pattern - do fix if pattern found
7921  */
7922 tSCC zSvr4_GetcwdSelect0[] =
7923        "getcwd\\(char \\*, int\\)";
7925 #define    SVR4_GETCWD_TEST_CT  1
7926 static tTestDesc aSvr4_GetcwdTests[] = {
7927   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
7930  *  Fix Command Arguments for Svr4_Getcwd
7931  */
7932 static const char* apzSvr4_GetcwdPatch[] = {
7933     "format",
7934     "getcwd(char *, size_t)",
7935     (char*)NULL };
7937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7939  *  Description of Svr4_Profil fix
7940  */
7941 tSCC zSvr4_ProfilName[] =
7942      "svr4_profil";
7945  *  File name selection pattern
7946  */
7947 tSCC zSvr4_ProfilList[] =
7948   "stdlib.h\0unistd.h\0";
7950  *  Machine/OS name selection pattern
7951  */
7952 #define apzSvr4_ProfilMachs (const char**)NULL
7955  *  content selection pattern - do fix if pattern found
7956  */
7957 tSCC zSvr4_ProfilSelect0[] =
7958        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
7960 #define    SVR4_PROFIL_TEST_CT  1
7961 static tTestDesc aSvr4_ProfilTests[] = {
7962   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
7965  *  Fix Command Arguments for Svr4_Profil
7966  */
7967 static const char* apzSvr4_ProfilPatch[] = {
7968     "format",
7969     "profil(unsigned short *, size_t, int, unsigned int)",
7970     (char*)NULL };
7972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7974  *  Description of Svr4_Sighandler_Type fix
7975  */
7976 tSCC zSvr4_Sighandler_TypeName[] =
7977      "svr4_sighandler_type";
7980  *  File name selection pattern
7981  */
7982 tSCC zSvr4_Sighandler_TypeList[] =
7983   "sys/signal.h\0";
7985  *  Machine/OS name selection pattern
7986  */
7987 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
7990  *  content selection pattern - do fix if pattern found
7991  */
7992 tSCC zSvr4_Sighandler_TypeSelect0[] =
7993        "void *\\(\\*\\)\\(\\)";
7995 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
7996 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
7997   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
8000  *  Fix Command Arguments for Svr4_Sighandler_Type
8001  */
8002 static const char* apzSvr4_Sighandler_TypePatch[] = {
8003     "format",
8004     "void (*)(int)",
8005     (char*)NULL };
8007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8009  *  Description of Svr4_Undeclared_Getrnge fix
8010  */
8011 tSCC zSvr4_Undeclared_GetrngeName[] =
8012      "svr4_undeclared_getrnge";
8015  *  File name selection pattern
8016  */
8017 tSCC zSvr4_Undeclared_GetrngeList[] =
8018   "regexp.h\0";
8020  *  Machine/OS name selection pattern
8021  */
8022 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
8025  *  content selection pattern - do fix if pattern found
8026  */
8027 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
8028        "getrnge";
8031  *  content bypass pattern - skip fix if pattern found
8032  */
8033 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
8034        "static void getrnge";
8036 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
8037 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
8038   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
8039   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
8042  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
8043  */
8044 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
8045     "format",
8046     "%0\n\
8047 static int getrnge ();",
8048     "^static int[ \t]+size;",
8049     (char*)NULL };
8051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8053  *  Description of Sysv68_String fix
8054  */
8055 tSCC zSysv68_StringName[] =
8056      "sysv68_string";
8059  *  File name selection pattern
8060  */
8061 tSCC zSysv68_StringList[] =
8062   "testing.h\0string.h\0";
8064  *  Machine/OS name selection pattern
8065  */
8066 #define apzSysv68_StringMachs (const char**)NULL
8069  *  content bypass pattern - skip fix if pattern found
8070  */
8071 tSCC zSysv68_StringBypass0[] =
8072        "_CLASSIC_ANSI_TYPES";
8074 #define    SYSV68_STRING_TEST_CT  1
8075 static tTestDesc aSysv68_StringTests[] = {
8076   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
8079  *  Fix Command Arguments for Sysv68_String
8080  */
8081 static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
8082     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
8083     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
8084     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
8085     "-e", "/^extern char$/N",
8086     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
8087     "-e", "/^extern int$/N",
8088     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
8089     "-e", "/^\tstrncmp(),$/N",
8090     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
8091 extern unsigned int\\\n\
8092 \\2/",
8093     (char*)NULL };
8095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8097  *  Description of Sysz_Stdlib_For_Sun fix
8098  */
8099 tSCC zSysz_Stdlib_For_SunName[] =
8100      "sysz_stdlib_for_sun";
8103  *  File name selection pattern
8104  */
8105 tSCC zSysz_Stdlib_For_SunList[] =
8106   "stdlib.h\0";
8108  *  Machine/OS name selection pattern
8109  */
8110 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
8113  *  content selection pattern - do fix if pattern found
8114  */
8115 tSCC zSysz_Stdlib_For_SunSelect0[] =
8116        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
8119  *  content bypass pattern - skip fix if pattern found
8120  */
8121 tSCC zSysz_Stdlib_For_SunBypass0[] =
8122        "_CLASSIC_ANSI_TYPES";
8124 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
8125 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
8126   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
8127   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
8130  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
8131  */
8132 static const char* apzSysz_Stdlib_For_SunPatch[] = {
8133     "format",
8134     "void *\t%1(",
8135     (char*)NULL };
8137 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8139  *  Description of Thread_Keyword fix
8140  */
8141 tSCC zThread_KeywordName[] =
8142      "thread_keyword";
8145  *  File name selection pattern
8146  */
8147 tSCC zThread_KeywordList[] =
8148   "pthread.h\0bits/sigthread.h\0";
8150  *  Machine/OS name selection pattern
8151  */
8152 #define apzThread_KeywordMachs (const char**)NULL
8155  *  content selection pattern - do fix if pattern found
8156  */
8157 tSCC zThread_KeywordSelect0[] =
8158        "([* ])__thread([,)])";
8160 #define    THREAD_KEYWORD_TEST_CT  1
8161 static tTestDesc aThread_KeywordTests[] = {
8162   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
8165  *  Fix Command Arguments for Thread_Keyword
8166  */
8167 static const char* apzThread_KeywordPatch[] = {
8168     "format",
8169     "%1__thr%2",
8170     (char*)NULL };
8172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8174  *  Description of Tinfo_Cplusplus fix
8175  */
8176 tSCC zTinfo_CplusplusName[] =
8177      "tinfo_cplusplus";
8180  *  File name selection pattern
8181  */
8182 tSCC zTinfo_CplusplusList[] =
8183   "tinfo.h\0";
8185  *  Machine/OS name selection pattern
8186  */
8187 #define apzTinfo_CplusplusMachs (const char**)NULL
8190  *  content selection pattern - do fix if pattern found
8191  */
8192 tSCC zTinfo_CplusplusSelect0[] =
8193        "[ \t]_cplusplus";
8195 #define    TINFO_CPLUSPLUS_TEST_CT  1
8196 static tTestDesc aTinfo_CplusplusTests[] = {
8197   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
8200  *  Fix Command Arguments for Tinfo_Cplusplus
8201  */
8202 static const char* apzTinfo_CplusplusPatch[] = {
8203     "format",
8204     " __cplusplus",
8205     (char*)NULL };
8207 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8209  *  Description of Ultrix_Const fix
8210  */
8211 tSCC zUltrix_ConstName[] =
8212      "ultrix_const";
8215  *  File name selection pattern
8216  */
8217 tSCC zUltrix_ConstList[] =
8218   "stdio.h\0";
8220  *  Machine/OS name selection pattern
8221  */
8222 #define apzUltrix_ConstMachs (const char**)NULL
8225  *  content selection pattern - do fix if pattern found
8226  */
8227 tSCC zUltrix_ConstSelect0[] =
8228        "perror\\( char \\*";
8230 #define    ULTRIX_CONST_TEST_CT  1
8231 static tTestDesc aUltrix_ConstTests[] = {
8232   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
8235  *  Fix Command Arguments for Ultrix_Const
8236  */
8237 static const char* apzUltrix_ConstPatch[] = {
8238     "format",
8239     "%1 const %3 *__",
8240     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
8241     (char*)NULL };
8243 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8245  *  Description of Ultrix_Const2 fix
8246  */
8247 tSCC zUltrix_Const2Name[] =
8248      "ultrix_const2";
8251  *  File name selection pattern
8252  */
8253 tSCC zUltrix_Const2List[] =
8254   "stdio.h\0";
8256  *  Machine/OS name selection pattern
8257  */
8258 #define apzUltrix_Const2Machs (const char**)NULL
8261  *  content selection pattern - do fix if pattern found
8262  */
8263 tSCC zUltrix_Const2Select0[] =
8264        "\\*fopen\\( char \\*";
8266 #define    ULTRIX_CONST2_TEST_CT  1
8267 static tTestDesc aUltrix_Const2Tests[] = {
8268   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
8271  *  Fix Command Arguments for Ultrix_Const2
8272  */
8273 static const char* apzUltrix_Const2Patch[] = {
8274     "format",
8275     "%1( const char *%3, const char *",
8276     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
8277     (char*)NULL };
8279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8281  *  Description of Va_I960_Macro fix
8282  */
8283 tSCC zVa_I960_MacroName[] =
8284      "va_i960_macro";
8287  *  File name selection pattern
8288  */
8289 tSCC zVa_I960_MacroList[] =
8290   "arch/i960/archI960.h\0";
8292  *  Machine/OS name selection pattern
8293  */
8294 #define apzVa_I960_MacroMachs (const char**)NULL
8297  *  content selection pattern - do fix if pattern found
8298  */
8299 tSCC zVa_I960_MacroSelect0[] =
8300        "__(vsiz|vali|vpad|alignof__)";
8302 #define    VA_I960_MACRO_TEST_CT  1
8303 static tTestDesc aVa_I960_MacroTests[] = {
8304   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
8307  *  Fix Command Arguments for Va_I960_Macro
8308  */
8309 static const char* apzVa_I960_MacroPatch[] = {
8310     "format",
8311     "__vx%1",
8312     (char*)NULL };
8314 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8316  *  Description of Vms_Define_Can_Use_Extern_Prefix fix
8317  */
8318 tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
8319      "vms_define_can_use_extern_prefix";
8322  *  File name selection pattern
8323  */
8324 tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
8325   "rtldef/decc$types.h\0";
8327  *  Machine/OS name selection pattern
8328  */
8329 tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
8330         "*-*-*vms*",
8331         (const char*)NULL };
8334  *  content selection pattern - do fix if pattern found
8335  */
8336 tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
8337        "#[ \t]*else\n\
8338 #[ \t]*if defined\\(__DECCXX\\)\n\
8339 #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
8341 #define    VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT  1
8342 static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
8343   { TT_EGREP,    zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
8346  *  Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
8347  */
8348 static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
8349     "format",
8350     "%0#    elif defined (__GNUC__)\n\
8351 #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
8352     (char*)NULL };
8354 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8356  *  Description of Vms_Use_Pragma_Extern_Model fix
8357  */
8358 tSCC zVms_Use_Pragma_Extern_ModelName[] =
8359      "vms_use_pragma_extern_model";
8362  *  File name selection pattern
8363  */
8364 #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
8366  *  Machine/OS name selection pattern
8367  */
8368 tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
8369         "*-*-*vms*",
8370         (const char*)NULL };
8373  *  content selection pattern - do fix if pattern found
8374  */
8375 tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
8376        "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
8377 # pragma extern_model __save\n";
8379 #define    VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT  1
8380 static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
8381   { TT_EGREP,    zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
8384  *  Fix Command Arguments for Vms_Use_Pragma_Extern_Model
8385  */
8386 static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
8387     "format",
8388     "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
8389 # pragma extern_model __save\n",
8390     (char*)NULL };
8392 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8394  *  Description of Vms_Disable_Decc_String_Builtins fix
8395  */
8396 tSCC zVms_Disable_Decc_String_BuiltinsName[] =
8397      "vms_disable_decc_string_builtins";
8400  *  File name selection pattern
8401  */
8402 tSCC zVms_Disable_Decc_String_BuiltinsList[] =
8403   "rtldef/string.h\0";
8405  *  Machine/OS name selection pattern
8406  */
8407 tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
8408         "*-*-*vms*",
8409         (const char*)NULL };
8412  *  content selection pattern - do fix if pattern found
8413  */
8414 tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
8415        "#if !defined\\(__VAX\\)\n";
8417 #define    VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT  1
8418 static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
8419   { TT_EGREP,    zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
8422  *  Fix Command Arguments for Vms_Disable_Decc_String_Builtins
8423  */
8424 static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
8425     "format",
8426     "#if !defined(__VAX) && !defined(__GNUC__)\n",
8427     (char*)NULL };
8429 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8431  *  Description of Vms_Use_Quoted_Include fix
8432  */
8433 tSCC zVms_Use_Quoted_IncludeName[] =
8434      "vms_use_quoted_include";
8437  *  File name selection pattern
8438  */
8439 tSCC zVms_Use_Quoted_IncludeList[] =
8440   "rtldef/wait.h\0starlet_c/pthread.h\0";
8442  *  Machine/OS name selection pattern
8443  */
8444 tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
8445         "*-*-*vms*",
8446         (const char*)NULL };
8449  *  content selection pattern - do fix if pattern found
8450  */
8451 tSCC zVms_Use_Quoted_IncludeSelect0[] =
8452        "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
8454 #define    VMS_USE_QUOTED_INCLUDE_TEST_CT  1
8455 static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
8456   { TT_EGREP,    zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
8459  *  Fix Command Arguments for Vms_Use_Quoted_Include
8460  */
8461 static const char* apzVms_Use_Quoted_IncludePatch[] = {
8462     "format",
8463     "%1<sys/%2.h>",
8464     (char*)NULL };
8466 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8468  *  Description of Vms_Add_Missing_Braces fix
8469  */
8470 tSCC zVms_Add_Missing_BracesName[] =
8471      "vms_add_missing_braces";
8474  *  File name selection pattern
8475  */
8476 tSCC zVms_Add_Missing_BracesList[] =
8477   "rtldef/signal.h\0";
8479  *  Machine/OS name selection pattern
8480  */
8481 tSCC* apzVms_Add_Missing_BracesMachs[] = {
8482         "*-*-*vms*",
8483         (const char*)NULL };
8486  *  content selection pattern - do fix if pattern found
8487  */
8488 tSCC zVms_Add_Missing_BracesSelect0[] =
8489        "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
8491 #define    VMS_ADD_MISSING_BRACES_TEST_CT  1
8492 static tTestDesc aVms_Add_Missing_BracesTests[] = {
8493   { TT_EGREP,    zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
8496  *  Fix Command Arguments for Vms_Add_Missing_Braces
8497  */
8498 static const char* apzVms_Add_Missing_BracesPatch[] = {
8499     "format",
8500     "%1 {%2} ",
8501     (char*)NULL };
8503 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8505  *  Description of Vms_Do_Not_Redeclare_Hostalias fix
8506  */
8507 tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
8508      "vms_do_not_redeclare_hostalias";
8511  *  File name selection pattern
8512  */
8513 tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
8514   "rtldef/resolv.h\0";
8516  *  Machine/OS name selection pattern
8517  */
8518 tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
8519         "*-*-*vms*",
8520         (const char*)NULL };
8523  *  content selection pattern - do fix if pattern found
8524  */
8525 tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
8526        "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
8527 (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
8529 #define    VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT  1
8530 static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
8531   { TT_EGREP,    zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
8534  *  Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
8535  */
8536 static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
8537     "format",
8538     "%1\n\
8539 /* %2 */",
8540     (char*)NULL };
8542 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8544  *  Description of Vms_Decc_Builtin fix
8545  */
8546 tSCC zVms_Decc_BuiltinName[] =
8547      "vms_decc_builtin";
8550  *  File name selection pattern
8551  */
8552 tSCC zVms_Decc_BuiltinList[] =
8553   "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
8555  *  Machine/OS name selection pattern
8556  */
8557 tSCC* apzVms_Decc_BuiltinMachs[] = {
8558         "*-*-*vms*",
8559         (const char*)NULL };
8562  *  content selection pattern - do fix if pattern found
8563  */
8564 tSCC zVms_Decc_BuiltinSelect0[] =
8565        "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
8567 #define    VMS_DECC_BUILTIN_TEST_CT  1
8568 static tTestDesc aVms_Decc_BuiltinTests[] = {
8569   { TT_EGREP,    zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
8572  *  Fix Command Arguments for Vms_Decc_Builtin
8573  */
8574 static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
8575     "-e", "s@__MEMSET@memset@",
8576     "-e", "s@__MEMMOVE@memmove@",
8577     "-e", "s@__MEMCPY@memcpy@",
8578     "-e", "s@__STRLEN@strlen@",
8579     "-e", "s@__STRCPY@strcpy@",
8580     (char*)NULL };
8582 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8584  *  Description of Vms_No_64bit_Getopt fix
8585  */
8586 tSCC zVms_No_64bit_GetoptName[] =
8587      "vms_no_64bit_getopt";
8590  *  File name selection pattern
8591  */
8592 tSCC zVms_No_64bit_GetoptList[] =
8593   "rtldef/stdio.h\0rtldef/unistd.h\0";
8595  *  Machine/OS name selection pattern
8596  */
8597 tSCC* apzVms_No_64bit_GetoptMachs[] = {
8598         "*-*-*vms*",
8599         (const char*)NULL };
8602  *  content selection pattern - do fix if pattern found
8603  */
8604 tSCC zVms_No_64bit_GetoptSelect0[] =
8605        "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
8607 #define    VMS_NO_64BIT_GETOPT_TEST_CT  1
8608 static tTestDesc aVms_No_64bit_GetoptTests[] = {
8609   { TT_EGREP,    zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
8612  *  Fix Command Arguments for Vms_No_64bit_Getopt
8613  */
8614 static const char* apzVms_No_64bit_GetoptPatch[] = {
8615     "format",
8616     "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only.  */\n\
8617 %0#endif\n",
8618     (char*)NULL };
8620 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8622  *  Description of Vms_Forward_Declare_Struct fix
8623  */
8624 tSCC zVms_Forward_Declare_StructName[] =
8625      "vms_forward_declare_struct";
8628  *  File name selection pattern
8629  */
8630 tSCC zVms_Forward_Declare_StructList[] =
8631   "rtldef/if.h\0";
8633  *  Machine/OS name selection pattern
8634  */
8635 tSCC* apzVms_Forward_Declare_StructMachs[] = {
8636         "*-*-*vms*",
8637         (const char*)NULL };
8640  *  content selection pattern - do fix if pattern found
8641  */
8642 tSCC zVms_Forward_Declare_StructSelect0[] =
8643        "(/\\* forward decls for C\\+\\+ \\*/\n\
8644 )#ifdef __cplusplus\n";
8646 #define    VMS_FORWARD_DECLARE_STRUCT_TEST_CT  1
8647 static tTestDesc aVms_Forward_Declare_StructTests[] = {
8648   { TT_EGREP,    zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
8651  *  Fix Command Arguments for Vms_Forward_Declare_Struct
8652  */
8653 static const char* apzVms_Forward_Declare_StructPatch[] = {
8654     "format",
8655     "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
8656     (char*)NULL };
8658 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8660  *  Description of Vms_Use_Fast_Setjmp fix
8661  */
8662 tSCC zVms_Use_Fast_SetjmpName[] =
8663      "vms_use_fast_setjmp";
8666  *  File name selection pattern
8667  */
8668 tSCC zVms_Use_Fast_SetjmpList[] =
8669   "rtldef/setjmp.h\0";
8671  *  Machine/OS name selection pattern
8672  */
8673 tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
8674         "*-*-*vms*",
8675         (const char*)NULL };
8678  *  content selection pattern - do fix if pattern found
8679  */
8680 tSCC zVms_Use_Fast_SetjmpSelect0[] =
8681        "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
8683 #define    VMS_USE_FAST_SETJMP_TEST_CT  1
8684 static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
8685   { TT_EGREP,    zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
8688  *  Fix Command Arguments for Vms_Use_Fast_Setjmp
8689  */
8690 static const char* apzVms_Use_Fast_SetjmpPatch[] = {
8691     "format",
8692     "%0 defined (__GNUC__) ||",
8693     (char*)NULL };
8695 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8697  *  Description of Void_Null fix
8698  */
8699 tSCC zVoid_NullName[] =
8700      "void_null";
8703  *  File name selection pattern
8704  */
8705 tSCC zVoid_NullList[] =
8706   "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";
8708  *  Machine/OS name selection pattern
8709  */
8710 #define apzVoid_NullMachs (const char**)NULL
8713  *  content selection pattern - do fix if pattern found
8714  */
8715 tSCC zVoid_NullSelect0[] =
8716        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
8719  *  content bypass pattern - skip fix if pattern found
8720  */
8721 tSCC zVoid_NullBypass0[] =
8722        "__cplusplus";
8723 tSCC zVoid_NullBypass1[] =
8724        "__null";
8726 #define    VOID_NULL_TEST_CT  3
8727 static tTestDesc aVoid_NullTests[] = {
8728   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
8729   { TT_NEGREP,   zVoid_NullBypass1, (regex_t*)NULL },
8730   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
8733  *  Fix Command Arguments for Void_Null
8734  */
8735 static const char* apzVoid_NullPatch[] = {
8736     "format",
8737     "#ifndef NULL\n\
8738 #ifdef __cplusplus\n\
8739 #ifdef __GNUG__\n\
8740 #define NULL __null\n\
8741 #else /* ! __GNUG__  */\n\
8742 #define NULL 0L\n\
8743 #endif /* __GNUG__  */\n\
8744 #else /* ! __cplusplus  */\n\
8745 #define NULL ((void *)0)\n\
8746 #endif /* __cplusplus  */\n\
8747 #endif /* !NULL  */",
8748     (char*)NULL };
8750 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8752  *  Description of Vxworks_Gcc_Problem fix
8753  */
8754 tSCC zVxworks_Gcc_ProblemName[] =
8755      "vxworks_gcc_problem";
8758  *  File name selection pattern
8759  */
8760 tSCC zVxworks_Gcc_ProblemList[] =
8761   "types/vxTypesBase.h\0";
8763  *  Machine/OS name selection pattern
8764  */
8765 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
8768  *  content selection pattern - do fix if pattern found
8769  */
8770 tSCC zVxworks_Gcc_ProblemSelect0[] =
8771        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
8773 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
8774 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
8775   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
8778  *  Fix Command Arguments for Vxworks_Gcc_Problem
8779  */
8780 static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
8781     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
8782     "-e", "/[ \t]size_t/i\\\n\
8783 #ifndef _GCC_SIZE_T\\\n\
8784 #define _GCC_SIZE_T\n",
8785     "-e", "/[ \t]size_t/a\\\n\
8786 #endif\n",
8787     "-e", "/[ \t]ptrdiff_t/i\\\n\
8788 #ifndef _GCC_PTRDIFF_T\\\n\
8789 #define _GCC_PTRDIFF_T\n",
8790     "-e", "/[ \t]ptrdiff_t/a\\\n\
8791 #endif\n",
8792     "-e", "/[ \t]wchar_t/i\\\n\
8793 #ifndef _GCC_WCHAR_T\\\n\
8794 #define _GCC_WCHAR_T\n",
8795     "-e", "/[ \t]wchar_t/a\\\n\
8796 #endif\n",
8797     (char*)NULL };
8799 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8801  *  Description of Vxworks_Ioctl_Macro fix
8802  */
8803 tSCC zVxworks_Ioctl_MacroName[] =
8804      "vxworks_ioctl_macro";
8807  *  File name selection pattern
8808  */
8809 tSCC zVxworks_Ioctl_MacroList[] =
8810   "ioLib.h\0";
8812  *  Machine/OS name selection pattern
8813  */
8814 tSCC* apzVxworks_Ioctl_MacroMachs[] = {
8815         "*-*-vxworks*",
8816         (const char*)NULL };
8817 #define VXWORKS_IOCTL_MACRO_TEST_CT  0
8818 #define aVxworks_Ioctl_MacroTests   (tTestDesc*)NULL
8821  *  Fix Command Arguments for Vxworks_Ioctl_Macro
8822  */
8823 static const char* apzVxworks_Ioctl_MacroPatch[] = {
8824     "format",
8825     "%0\n\
8826 #define ioctl(fd, func, arg) (ioctl)(fd, func, (int)(arg))\n",
8827     "extern[\t ]+int[\t ]+ioctl[\t ]*\\([\t ,[:alnum:]]*\\);",
8828     (char*)NULL };
8830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8832  *  Description of Vxworks_Mkdir_Macro fix
8833  */
8834 tSCC zVxworks_Mkdir_MacroName[] =
8835      "vxworks_mkdir_macro";
8838  *  File name selection pattern
8839  */
8840 tSCC zVxworks_Mkdir_MacroList[] =
8841   "sys/stat.h\0";
8843  *  Machine/OS name selection pattern
8844  */
8845 tSCC* apzVxworks_Mkdir_MacroMachs[] = {
8846         "*-*-vxworks*",
8847         (const char*)NULL };
8848 #define VXWORKS_MKDIR_MACRO_TEST_CT  0
8849 #define aVxworks_Mkdir_MacroTests   (tTestDesc*)NULL
8852  *  Fix Command Arguments for Vxworks_Mkdir_Macro
8853  */
8854 static const char* apzVxworks_Mkdir_MacroPatch[] = {
8855     "format",
8856     "%0\n\
8857 #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir))\n",
8858     "extern[\t ]+STATUS[\t ]+mkdir[\t ]*\\([\t ]*const[\t ]+char[\t ]*\\*[\t ]*(|[_[:alpha:]][_[:alnum:]]*)\\)[\t ]*;",
8859     (char*)NULL };
8861 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8863  *  Description of Vxworks_Needs_Vxtypes fix
8864  */
8865 tSCC zVxworks_Needs_VxtypesName[] =
8866      "vxworks_needs_vxtypes";
8869  *  File name selection pattern
8870  */
8871 tSCC zVxworks_Needs_VxtypesList[] =
8872   "time.h\0";
8874  *  Machine/OS name selection pattern
8875  */
8876 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
8879  *  content selection pattern - do fix if pattern found
8880  */
8881 tSCC zVxworks_Needs_VxtypesSelect0[] =
8882        "uint_t([ \t]+_clocks_per_sec)";
8884 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
8885 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
8886   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
8889  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
8890  */
8891 static const char* apzVxworks_Needs_VxtypesPatch[] = {
8892     "format",
8893     "unsigned int%1",
8894     (char*)NULL };
8896 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8898  *  Description of Vxworks_Needs_Vxworks fix
8899  */
8900 tSCC zVxworks_Needs_VxworksName[] =
8901      "vxworks_needs_vxworks";
8904  *  File name selection pattern
8905  */
8906 tSCC zVxworks_Needs_VxworksList[] =
8907   "sys/stat.h\0";
8909  *  Machine/OS name selection pattern
8910  */
8911 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
8914  *  content selection pattern - do fix if pattern found
8915  */
8916 tSCC zVxworks_Needs_VxworksSelect0[] =
8917        "#[ \t]define[ \t]+__INCstath";
8920  *  perform the 'test' shell command - do fix on success
8921  */
8922 tSCC zVxworks_Needs_VxworksTest0[] =
8923        " -r types/vxTypesOld.h";
8924 tSCC zVxworks_Needs_VxworksTest1[] =
8925        " -n \"`egrep '#include' $file`\"";
8926 tSCC zVxworks_Needs_VxworksTest2[] =
8927        " -n \"`egrep ULONG $file`\"";
8929 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
8930 static tTestDesc aVxworks_Needs_VxworksTests[] = {
8931   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
8932   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
8933   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
8934   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
8937  *  Fix Command Arguments for Vxworks_Needs_Vxworks
8938  */
8939 static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
8940     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
8941 #include <types/vxTypesOld.h>\n",
8942     (char*)NULL };
8944 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8946  *  Description of Vxworks_Regs fix
8947  */
8948 tSCC zVxworks_RegsName[] =
8949      "vxworks_regs";
8952  *  File name selection pattern
8953  */
8954 #define zVxworks_RegsList (char*)NULL
8956  *  Machine/OS name selection pattern
8957  */
8958 tSCC* apzVxworks_RegsMachs[] = {
8959         "*-*-vxworks*",
8960         (const char*)NULL };
8963  *  content selection pattern - do fix if pattern found
8964  */
8965 tSCC zVxworks_RegsSelect0[] =
8966        "#[\t ]*include[\t ]+[<\"]regs.h[>\"]";
8968 #define    VXWORKS_REGS_TEST_CT  1
8969 static tTestDesc aVxworks_RegsTests[] = {
8970   { TT_EGREP,    zVxworks_RegsSelect0, (regex_t*)NULL }, };
8973  *  Fix Command Arguments for Vxworks_Regs
8974  */
8975 static const char* apzVxworks_RegsPatch[] = {
8976     "format",
8977     "#include <arch/../regs.h>",
8978     (char*)NULL };
8980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8982  *  Description of Vxworks_Time fix
8983  */
8984 tSCC zVxworks_TimeName[] =
8985      "vxworks_time";
8988  *  File name selection pattern
8989  */
8990 tSCC zVxworks_TimeList[] =
8991   "time.h\0";
8993  *  Machine/OS name selection pattern
8994  */
8995 #define apzVxworks_TimeMachs (const char**)NULL
8998  *  content selection pattern - do fix if pattern found
8999  */
9000 tSCC zVxworks_TimeSelect0[] =
9001        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
9004  *  perform the 'test' shell command - do fix on success
9005  */
9006 tSCC zVxworks_TimeTest0[] =
9007        " -r vxWorks.h";
9009 #define    VXWORKS_TIME_TEST_CT  2
9010 static tTestDesc aVxworks_TimeTests[] = {
9011   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
9012   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
9015  *  Fix Command Arguments for Vxworks_Time
9016  */
9017 static const char* apzVxworks_TimePatch[] = {
9018     "format",
9019     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
9020 #ifdef __cplusplus\n\
9021 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
9022 #else\n\
9023 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
9024 #endif\n\
9025 #define __gcc_VOIDFUNCPTR_defined\n\
9026 #endif\n\
9027 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
9028     (char*)NULL };
9030 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9032  *  Description of Vxworks_Write_Const fix
9033  */
9034 tSCC zVxworks_Write_ConstName[] =
9035      "vxworks_write_const";
9038  *  File name selection pattern
9039  */
9040 tSCC zVxworks_Write_ConstList[] =
9041   "ioLib.h\0";
9043  *  Machine/OS name selection pattern
9044  */
9045 tSCC* apzVxworks_Write_ConstMachs[] = {
9046         "*-*-vxworks*",
9047         (const char*)NULL };
9048 #define VXWORKS_WRITE_CONST_TEST_CT  0
9049 #define aVxworks_Write_ConstTests   (tTestDesc*)NULL
9052  *  Fix Command Arguments for Vxworks_Write_Const
9053  */
9054 static const char* apzVxworks_Write_ConstPatch[] = {
9055     "format",
9056     "extern int  write (int, const char*, size_t);",
9057     "extern[\t ]+int[\t ]+write[\t ]*\\([\t ]*int[\t ]*,[\t ]*char[\t ]*\\*[\t ]*,[\t ]*size_t[\t ]*\\)[\t ]*;",
9058     (char*)NULL };
9060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9062  *  Description of X11_Class fix
9063  */
9064 tSCC zX11_ClassName[] =
9065      "x11_class";
9068  *  File name selection pattern
9069  */
9070 tSCC zX11_ClassList[] =
9071   "X11/ShellP.h\0";
9073  *  Machine/OS name selection pattern
9074  */
9075 #define apzX11_ClassMachs (const char**)NULL
9078  *  content selection pattern - do fix if pattern found
9079  */
9080 tSCC zX11_ClassSelect0[] =
9081        "^([ \t]*char \\*)class;(.*)";
9084  *  content bypass pattern - skip fix if pattern found
9085  */
9086 tSCC zX11_ClassBypass0[] =
9087        "__cplusplus";
9089 #define    X11_CLASS_TEST_CT  2
9090 static tTestDesc aX11_ClassTests[] = {
9091   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
9092   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
9095  *  Fix Command Arguments for X11_Class
9096  */
9097 static const char* apzX11_ClassPatch[] = {
9098     "format",
9099     "#ifdef __cplusplus\n\
9100 %1c_class;%2\n\
9101 #else\n\
9102 %1class;%2\n\
9103 #endif",
9104     (char*)NULL };
9106 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9108  *  Description of X11_Class_Usage fix
9109  */
9110 tSCC zX11_Class_UsageName[] =
9111      "x11_class_usage";
9114  *  File name selection pattern
9115  */
9116 tSCC zX11_Class_UsageList[] =
9117   "Xm/BaseClassI.h\0";
9119  *  Machine/OS name selection pattern
9120  */
9121 #define apzX11_Class_UsageMachs (const char**)NULL
9124  *  content selection pattern - do fix if pattern found
9125  */
9126 tSCC zX11_Class_UsageSelect0[] =
9127        " class\\)";
9130  *  content bypass pattern - skip fix if pattern found
9131  */
9132 tSCC zX11_Class_UsageBypass0[] =
9133        "__cplusplus";
9135 #define    X11_CLASS_USAGE_TEST_CT  2
9136 static tTestDesc aX11_Class_UsageTests[] = {
9137   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
9138   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
9141  *  Fix Command Arguments for X11_Class_Usage
9142  */
9143 static const char* apzX11_Class_UsagePatch[] = {
9144     "format",
9145     " c_class)",
9146     (char*)NULL };
9148 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9150  *  Description of X11_New fix
9151  */
9152 tSCC zX11_NewName[] =
9153      "x11_new";
9156  *  File name selection pattern
9157  */
9158 tSCC zX11_NewList[] =
9159   "Xm/Traversal.h\0";
9161  *  Machine/OS name selection pattern
9162  */
9163 #define apzX11_NewMachs (const char**)NULL
9166  *  content bypass pattern - skip fix if pattern found
9167  */
9168 tSCC zX11_NewBypass0[] =
9169        "__cplusplus";
9171 #define    X11_NEW_TEST_CT  1
9172 static tTestDesc aX11_NewTests[] = {
9173   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
9176  *  Fix Command Arguments for X11_New
9177  */
9178 static const char* apzX11_NewPatch[] = { sed_cmd_z,
9179     "-e", "/Widget\told, new;/i\\\n\
9180 #ifdef __cplusplus\\\n\
9181 \\\tWidget\told, c_new;\\\n\
9182 #else\n",
9183     "-e", "/Widget\told, new;/a\\\n\
9184 #endif\n",
9185     "-e", "s/Widget new,/Widget c_new,/g",
9186     (char*)NULL };
9188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9190  *  Description of X11_Sprintf fix
9191  */
9192 tSCC zX11_SprintfName[] =
9193      "x11_sprintf";
9196  *  File name selection pattern
9197  */
9198 tSCC zX11_SprintfList[] =
9199   "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
9201  *  Machine/OS name selection pattern
9202  */
9203 #define apzX11_SprintfMachs (const char**)NULL
9206  *  content selection pattern - do fix if pattern found
9207  */
9208 tSCC zX11_SprintfSelect0[] =
9209        "^extern char \\*\tsprintf\\(\\);$";
9211 #define    X11_SPRINTF_TEST_CT  1
9212 static tTestDesc aX11_SprintfTests[] = {
9213   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
9216  *  Fix Command Arguments for X11_Sprintf
9217  */
9218 static const char* apzX11_SprintfPatch[] = {
9219     "format",
9220     "#ifndef __STDC__\n\
9221 %0\n\
9222 #endif /* !defined __STDC__ */",
9223     (char*)NULL };
9225 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9227  *  Description of Feraiseexcept_Nosse_Invalid fix
9228  */
9229 tSCC zFeraiseexcept_Nosse_InvalidName[] =
9230      "feraiseexcept_nosse_invalid";
9233  *  File name selection pattern
9234  */
9235 tSCC zFeraiseexcept_Nosse_InvalidList[] =
9236   "bits/fenv.h\0";
9238  *  Machine/OS name selection pattern
9239  */
9240 tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = {
9241         "i[34567]86-*-linux*",
9242         "x86*-linux*",
9243         "amd64-*-linux*",
9244         (const char*)NULL };
9247  *  content selection pattern - do fix if pattern found
9248  */
9249 tSCC zFeraiseexcept_Nosse_InvalidSelect0[] =
9250        "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$";
9253  *  content bypass pattern - skip fix if pattern found
9254  */
9255 tSCC zFeraiseexcept_Nosse_InvalidBypass0[] =
9256        "\"fdiv .*; fwait\"";
9258 #define    FERAISEEXCEPT_NOSSE_INVALID_TEST_CT  2
9259 static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = {
9260   { TT_NEGREP,   zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL },
9261   { TT_EGREP,    zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, };
9264  *  Fix Command Arguments for Feraiseexcept_Nosse_Invalid
9265  */
9266 static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = {
9267     "format",
9268     "# ifdef __SSE_MATH__\n\
9269 %0\n\
9270 # else\n\
9271 %1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\
9272 %1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\
9273 # endif",
9274     (char*)NULL };
9276 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9278  *  Description of Feraiseexcept_Nosse_Divbyzero fix
9279  */
9280 tSCC zFeraiseexcept_Nosse_DivbyzeroName[] =
9281      "feraiseexcept_nosse_divbyzero";
9284  *  File name selection pattern
9285  */
9286 tSCC zFeraiseexcept_Nosse_DivbyzeroList[] =
9287   "bits/fenv.h\0";
9289  *  Machine/OS name selection pattern
9290  */
9291 tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = {
9292         "i[34567]86-*-linux*",
9293         "x86*-linux*",
9294         "amd64-*-linux*",
9295         (const char*)NULL };
9298  *  content selection pattern - do fix if pattern found
9299  */
9300 tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] =
9301        "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$";
9304  *  content bypass pattern - skip fix if pattern found
9305  */
9306 tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] =
9307        "\"fdivp .*; fwait\"";
9309 #define    FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT  2
9310 static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = {
9311   { TT_NEGREP,   zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL },
9312   { TT_EGREP,    zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, };
9315  *  Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero
9316  */
9317 static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
9318     "format",
9319     "# ifdef __SSE_MATH__\n\
9320 %0\n\
9321 # else\n\
9322 %1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\
9323 %1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\
9324 # endif",
9325     (char*)NULL };
9327 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9329  *  Description of Complier_H_Tradcpp fix
9330  */
9331 tSCC zComplier_H_TradcppName[] =
9332      "complier_h_tradcpp";
9335  *  File name selection pattern
9336  */
9337 tSCC zComplier_H_TradcppList[] =
9338   "linux/compiler.h\0";
9340  *  Machine/OS name selection pattern
9341  */
9342 #define apzComplier_H_TradcppMachs (const char**)NULL
9345  *  content selection pattern - do fix if pattern found
9346  */
9347 tSCC zComplier_H_TradcppSelect0[] =
9348        "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)";
9350 #define    COMPLIER_H_TRADCPP_TEST_CT  1
9351 static tTestDesc aComplier_H_TradcppTests[] = {
9352   { TT_EGREP,    zComplier_H_TradcppSelect0, (regex_t*)NULL }, };
9355  *  Fix Command Arguments for Complier_H_Tradcpp
9356  */
9357 static const char* apzComplier_H_TradcppPatch[] = {
9358     "format",
9359     "/* __builtin_warning(x, y...) is obsolete */",
9360     (char*)NULL };
9363 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9365  *  List of all fixes
9366  */
9367 #define REGEX_COUNT          267
9368 #define MACH_LIST_SIZE_LIMIT 187
9369 #define FIX_COUNT            228
9372  *  Enumerate the fixes
9373  */
9374 typedef enum {
9375     AAB_AIX_STDIO_FIXIDX,
9376     AAB_AIX_FCNTL_FIXIDX,
9377     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
9378     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
9379     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
9380     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
9381     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
9382     AAB_SUN_MEMCPY_FIXIDX,
9383     AAB_VXWORKS_ASSERT_FIXIDX,
9384     AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
9385     AAB_VXWORKS_STDINT_FIXIDX,
9386     AAB_VXWORKS_UNISTD_FIXIDX,
9387     AIX_COMPLEX_FIXIDX,
9388     AIX_MALLOC_FIXIDX,
9389     AIX_NET_IF_ARP_FIXIDX,
9390     AIX_NULL_FIXIDX,
9391     AIX_ONCE_INIT_1_FIXIDX,
9392     AIX_ONCE_INIT_2_FIXIDX,
9393     AIX_MUTEX_INITIALIZER_1_FIXIDX,
9394     AIX_COND_INITIALIZER_1_FIXIDX,
9395     AIX_RWLOCK_INITIALIZER_1_FIXIDX,
9396     AIX_PTHREAD_FIXIDX,
9397     AIX_STDINT_1_FIXIDX,
9398     AIX_STDINT_2_FIXIDX,
9399     AIX_STDINT_3_FIXIDX,
9400     AIX_STDINT_4_FIXIDX,
9401     AIX_STDINT_5_FIXIDX,
9402     AIX_SYSMACHINE_FIXIDX,
9403     AIX_SYSWAIT_2_FIXIDX,
9404     AIX_VOLATILE_FIXIDX,
9405     ALPHA___ASSERT_FIXIDX,
9406     ALPHA_ASSERT_FIXIDX,
9407     ALPHA_GETOPT_FIXIDX,
9408     ALPHA_IF_SEMICOLON_FIXIDX,
9409     ALPHA_PARENS_FIXIDX,
9410     ALPHA_SBRK_FIXIDX,
9411     AVOID_BOOL_DEFINE_FIXIDX,
9412     AVOID_BOOL_TYPE_FIXIDX,
9413     AVOID_WCHAR_T_TYPE_FIXIDX,
9414     BAD_STRUCT_TERM_FIXIDX,
9415     BADQUOTE_FIXIDX,
9416     BROKEN_ASSERT_STDIO_FIXIDX,
9417     BROKEN_ASSERT_STDLIB_FIXIDX,
9418     BROKEN_CABS_FIXIDX,
9419     BROKEN_NAN_FIXIDX,
9420     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
9421     CDEF_CPLUSPLUS_FIXIDX,
9422     CTRL_QUOTES_DEF_FIXIDX,
9423     CTRL_QUOTES_USE_FIXIDX,
9424     CXX_UNREADY_FIXIDX,
9425     DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
9426     DARWIN_EXTERNC_FIXIDX,
9427     DARWIN_GCC4_BREAKAGE_FIXIDX,
9428     DARWIN_PRIVATE_EXTERN_FIXIDX,
9429     DARWIN_STDINT_1_FIXIDX,
9430     DARWIN_STDINT_2_FIXIDX,
9431     DARWIN_STDINT_3_FIXIDX,
9432     DARWIN_STDINT_4_FIXIDX,
9433     DARWIN_STDINT_5_FIXIDX,
9434     DARWIN_STDINT_6_FIXIDX,
9435     DARWIN_STDINT_7_FIXIDX,
9436     DEC_INTERN_ASM_FIXIDX,
9437     DJGPP_WCHAR_H_FIXIDX,
9438     ECD_CURSOR_FIXIDX,
9439     FREEBSD_GCC3_BREAKAGE_FIXIDX,
9440     FREEBSD_GCC4_BREAKAGE_FIXIDX,
9441     GLIBC_C99_INLINE_1_FIXIDX,
9442     GLIBC_C99_INLINE_1A_FIXIDX,
9443     GLIBC_C99_INLINE_2_FIXIDX,
9444     GLIBC_C99_INLINE_3_FIXIDX,
9445     GLIBC_C99_INLINE_4_FIXIDX,
9446     GLIBC_MUTEX_INIT_FIXIDX,
9447     GLIBC_STDINT_FIXIDX,
9448     GLIBC_STRNCPY_FIXIDX,
9449     GLIBC_TGMATH_FIXIDX,
9450     GNU_TYPES_FIXIDX,
9451     HP_INLINE_FIXIDX,
9452     HP_SYSFILE_FIXIDX,
9453     HPPA_HPUX_FP_MACROS_FIXIDX,
9454     HPUX10_CPP_POW_INLINE_FIXIDX,
9455     HPUX11_CPP_POW_INLINE_FIXIDX,
9456     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
9457     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
9458     HPUX10_STDIO_DECLARATIONS_FIXIDX,
9459     HPUX11_ABS_FIXIDX,
9460     HPUX11_FABSF_FIXIDX,
9461     HPUX11_PTHREAD_CONST_FIXIDX,
9462     HPUX11_SIZE_T_FIXIDX,
9463     HPUX11_SNPRINTF_FIXIDX,
9464     HPUX11_VSNPRINTF_FIXIDX,
9465     HPUX8_BOGUS_INLINES_FIXIDX,
9466     HPUX_CTYPE_MACROS_FIXIDX,
9467     HPUX_HTONL_FIXIDX,
9468     HPUX_LONG_DOUBLE_FIXIDX,
9469     HPUX_LONG_DOUBLE_2_FIXIDX,
9470     HPUX_SYSTIME_FIXIDX,
9471     HPUX_SPU_INFO_FIXIDX,
9472     HPUX11_EXTERN_SENDFILE_FIXIDX,
9473     HPUX11_EXTERN_SENDPATH_FIXIDX,
9474     HPUX_EXTERN_ERRNO_FIXIDX,
9475     HPUX_PTHREAD_INITIALIZERS_FIXIDX,
9476     HPUX_C99_INTPTR_FIXIDX,
9477     HPUX_C99_INTTYPES_FIXIDX,
9478     HPUX_C99_INTTYPES2_FIXIDX,
9479     HPUX_STDINT_LEAST_FAST_FIXIDX,
9480     HPUX_INTTYPE_INT8_T_FIXIDX,
9481     HPUX_IMAGINARY_I_FIXIDX,
9482     HUGE_VAL_HEX_FIXIDX,
9483     HUGE_VALF_HEX_FIXIDX,
9484     HUGE_VALL_HEX_FIXIDX,
9485     INT_ABORT_FREE_AND_EXIT_FIXIDX,
9486     IO_QUOTES_DEF_FIXIDX,
9487     IO_QUOTES_USE_FIXIDX,
9488     IP_MISSING_SEMI_FIXIDX,
9489     IRIX_LIMITS_CONST_FIXIDX,
9490     IRIX_STDIO_VA_LIST_FIXIDX,
9491     KANDR_CONCAT_FIXIDX,
9492     LINUX_IA64_UCONTEXT_FIXIDX,
9493     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
9494     LYNXOS_MISSING_PUTENV_FIXIDX,
9495     MACHINE_ANSI_H_VA_LIST_FIXIDX,
9496     MACHINE_NAME_FIXIDX,
9497     MATH_EXCEPTION_FIXIDX,
9498     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
9499     NESTED_AUTH_DES_FIXIDX,
9500     NETBSD_C99_INLINE_1_FIXIDX,
9501     NETBSD_C99_INLINE_2_FIXIDX,
9502     NETBSD_EXTRA_SEMICOLON_FIXIDX,
9503     NEWLIB_STDINT_1_FIXIDX,
9504     NEWLIB_STDINT_2_FIXIDX,
9505     NEXT_MATH_PREFIX_FIXIDX,
9506     NEXT_TEMPLATE_FIXIDX,
9507     NEXT_VOLITILE_FIXIDX,
9508     NEXT_WAIT_UNION_FIXIDX,
9509     NODEENT_SYNTAX_FIXIDX,
9510     OPENBSD_NULL_DEFINITION_FIXIDX,
9511     OBSTACK_LVALUE_CAST_FIXIDX,
9512     OPENBSD_VA_START_FIXIDX,
9513     OSF_NAMESPACE_A_FIXIDX,
9514     OSF_NAMESPACE_C_FIXIDX,
9515     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
9516     READ_RET_TYPE_FIXIDX,
9517     RPC_XDR_LVALUE_CAST_A_FIXIDX,
9518     RPC_XDR_LVALUE_CAST_B_FIXIDX,
9519     RS6000_DOUBLE_FIXIDX,
9520     RS6000_FCHMOD_FIXIDX,
9521     RS6000_PARAM_FIXIDX,
9522     SOLARIS___RESTRICT_FIXIDX,
9523     SOLARIS_COMPLEX_FIXIDX,
9524     SOLARIS_COMPLEX_CXX_FIXIDX,
9525     SOLARIS_CXX_LINKAGE_FIXIDX,
9526     SOLARIS_GETC_STRICT_STDC_FIXIDX,
9527     SOLARIS_LONGJMP_NORETURN_FIXIDX,
9528     SOLARIS_MATH_1_FIXIDX,
9529     SOLARIS_MATH_2_FIXIDX,
9530     SOLARIS_MATH_3_FIXIDX,
9531     SOLARIS_MATH_4_FIXIDX,
9532     SOLARIS_MATH_8_FIXIDX,
9533     SOLARIS_MATH_9_FIXIDX,
9534     SOLARIS_MATH_10_FIXIDX,
9535     SOLARIS_MUTEX_INIT_2_FIXIDX,
9536     SOLARIS_POW_INT_OVERLOAD_FIXIDX,
9537     SOLARIS_RWLOCK_INIT_1_FIXIDX,
9538     SOLARIS_ONCE_INIT_1_FIXIDX,
9539     SOLARIS_ONCE_INIT_2_FIXIDX,
9540     SOLARIS_INT_CONST_FIXIDX,
9541     SOLARIS_INT_LIMITS_1_FIXIDX,
9542     SOLARIS_INT_LIMITS_2_FIXIDX,
9543     SOLARIS_INT_LIMITS_3_FIXIDX,
9544     SOLARIS_INT_TYPES_FIXIDX,
9545     SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
9546     SOLARIS_STD___FILBUF_FIXIDX,
9547     SOLARIS_STDIO_TAG_FIXIDX,
9548     SOLARIS_SYS_VA_LIST_FIXIDX,
9549     STATSSWTCH_FIXIDX,
9550     STDIO_STDARG_H_FIXIDX,
9551     STDIO_VA_LIST_FIXIDX,
9552     STDIO_VA_LIST_CLIENTS_FIXIDX,
9553     STRICT_ANSI_NOT_FIXIDX,
9554     STRICT_ANSI_NOT_CTD_FIXIDX,
9555     STRICT_ANSI_ONLY_FIXIDX,
9556     STRUCT_FILE_FIXIDX,
9557     STRUCT_SOCKADDR_FIXIDX,
9558     SUN_AUTH_PROTO_FIXIDX,
9559     SUN_BOGUS_IFDEF_FIXIDX,
9560     SUN_CATMACRO_FIXIDX,
9561     SUN_MALLOC_FIXIDX,
9562     SUN_RUSERS_SEMI_FIXIDX,
9563     SUN_SIGNAL_FIXIDX,
9564     SUNOS_STRLEN_FIXIDX,
9565     SVR4_DISABLE_OPT_FIXIDX,
9566     SVR4_GETCWD_FIXIDX,
9567     SVR4_PROFIL_FIXIDX,
9568     SVR4_SIGHANDLER_TYPE_FIXIDX,
9569     SVR4_UNDECLARED_GETRNGE_FIXIDX,
9570     SYSV68_STRING_FIXIDX,
9571     SYSZ_STDLIB_FOR_SUN_FIXIDX,
9572     THREAD_KEYWORD_FIXIDX,
9573     TINFO_CPLUSPLUS_FIXIDX,
9574     ULTRIX_CONST_FIXIDX,
9575     ULTRIX_CONST2_FIXIDX,
9576     VA_I960_MACRO_FIXIDX,
9577     VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
9578     VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
9579     VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
9580     VMS_USE_QUOTED_INCLUDE_FIXIDX,
9581     VMS_ADD_MISSING_BRACES_FIXIDX,
9582     VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
9583     VMS_DECC_BUILTIN_FIXIDX,
9584     VMS_NO_64BIT_GETOPT_FIXIDX,
9585     VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
9586     VMS_USE_FAST_SETJMP_FIXIDX,
9587     VOID_NULL_FIXIDX,
9588     VXWORKS_GCC_PROBLEM_FIXIDX,
9589     VXWORKS_IOCTL_MACRO_FIXIDX,
9590     VXWORKS_MKDIR_MACRO_FIXIDX,
9591     VXWORKS_NEEDS_VXTYPES_FIXIDX,
9592     VXWORKS_NEEDS_VXWORKS_FIXIDX,
9593     VXWORKS_REGS_FIXIDX,
9594     VXWORKS_TIME_FIXIDX,
9595     VXWORKS_WRITE_CONST_FIXIDX,
9596     X11_CLASS_FIXIDX,
9597     X11_CLASS_USAGE_FIXIDX,
9598     X11_NEW_FIXIDX,
9599     X11_SPRINTF_FIXIDX,
9600     FERAISEEXCEPT_NOSSE_INVALID_FIXIDX,
9601     FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX,
9602     COMPLIER_H_TRADCPP_FIXIDX
9603 } t_fixinc_idx;
9605 tFixDesc fixDescList[ FIX_COUNT ] = {
9606   {  zAab_Aix_StdioName,    zAab_Aix_StdioList,
9607      apzAab_Aix_StdioMachs,
9608      AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9609      aAab_Aix_StdioTests,   apzAab_Aix_StdioPatch, 0 },
9611   {  zAab_Aix_FcntlName,    zAab_Aix_FcntlList,
9612      apzAab_Aix_FcntlMachs,
9613      AAB_AIX_FCNTL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9614      aAab_Aix_FcntlTests,   apzAab_Aix_FcntlPatch, 0 },
9616   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
9617      apzAab_Darwin7_9_Long_Double_FuncsMachs,
9618      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9619      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
9621   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
9622      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
9623      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9624      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
9626   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
9627      apzAab_Fd_Zero_Gnu_Types_HMachs,
9628      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9629      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
9631   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
9632      apzAab_Fd_Zero_Selectbits_HMachs,
9633      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9634      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
9636   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
9637      apzAab_Solaris_Sys_Varargs_HMachs,
9638      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9639      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
9641   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
9642      apzAab_Sun_MemcpyMachs,
9643      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9644      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
9646   {  zAab_Vxworks_AssertName,    zAab_Vxworks_AssertList,
9647      apzAab_Vxworks_AssertMachs,
9648      AAB_VXWORKS_ASSERT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9649      aAab_Vxworks_AssertTests,   apzAab_Vxworks_AssertPatch, 0 },
9651   {  zAab_Vxworks_Regs_VxtypesName,    zAab_Vxworks_Regs_VxtypesList,
9652      apzAab_Vxworks_Regs_VxtypesMachs,
9653      AAB_VXWORKS_REGS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9654      aAab_Vxworks_Regs_VxtypesTests,   apzAab_Vxworks_Regs_VxtypesPatch, 0 },
9656   {  zAab_Vxworks_StdintName,    zAab_Vxworks_StdintList,
9657      apzAab_Vxworks_StdintMachs,
9658      AAB_VXWORKS_STDINT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9659      aAab_Vxworks_StdintTests,   apzAab_Vxworks_StdintPatch, 0 },
9661   {  zAab_Vxworks_UnistdName,    zAab_Vxworks_UnistdList,
9662      apzAab_Vxworks_UnistdMachs,
9663      AAB_VXWORKS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9664      aAab_Vxworks_UnistdTests,   apzAab_Vxworks_UnistdPatch, 0 },
9666   {  zAix_ComplexName,    zAix_ComplexList,
9667      apzAix_ComplexMachs,
9668      AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9669      aAix_ComplexTests,   apzAix_ComplexPatch, 0 },
9671   {  zAix_MallocName,    zAix_MallocList,
9672      apzAix_MallocMachs,
9673      AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9674      aAix_MallocTests,   apzAix_MallocPatch, 0 },
9676   {  zAix_Net_If_ArpName,    zAix_Net_If_ArpList,
9677      apzAix_Net_If_ArpMachs,
9678      AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9679      aAix_Net_If_ArpTests,   apzAix_Net_If_ArpPatch, 0 },
9681   {  zAix_NullName,    zAix_NullList,
9682      apzAix_NullMachs,
9683      AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9684      aAix_NullTests,   apzAix_NullPatch, 0 },
9686   {  zAix_Once_Init_1Name,    zAix_Once_Init_1List,
9687      apzAix_Once_Init_1Machs,
9688      AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9689      aAix_Once_Init_1Tests,   apzAix_Once_Init_1Patch, 0 },
9691   {  zAix_Once_Init_2Name,    zAix_Once_Init_2List,
9692      apzAix_Once_Init_2Machs,
9693      AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9694      aAix_Once_Init_2Tests,   apzAix_Once_Init_2Patch, 0 },
9696   {  zAix_Mutex_Initializer_1Name,    zAix_Mutex_Initializer_1List,
9697      apzAix_Mutex_Initializer_1Machs,
9698      AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9699      aAix_Mutex_Initializer_1Tests,   apzAix_Mutex_Initializer_1Patch, 0 },
9701   {  zAix_Cond_Initializer_1Name,    zAix_Cond_Initializer_1List,
9702      apzAix_Cond_Initializer_1Machs,
9703      AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9704      aAix_Cond_Initializer_1Tests,   apzAix_Cond_Initializer_1Patch, 0 },
9706   {  zAix_Rwlock_Initializer_1Name,    zAix_Rwlock_Initializer_1List,
9707      apzAix_Rwlock_Initializer_1Machs,
9708      AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9709      aAix_Rwlock_Initializer_1Tests,   apzAix_Rwlock_Initializer_1Patch, 0 },
9711   {  zAix_PthreadName,    zAix_PthreadList,
9712      apzAix_PthreadMachs,
9713      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9714      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
9716   {  zAix_Stdint_1Name,    zAix_Stdint_1List,
9717      apzAix_Stdint_1Machs,
9718      AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9719      aAix_Stdint_1Tests,   apzAix_Stdint_1Patch, 0 },
9721   {  zAix_Stdint_2Name,    zAix_Stdint_2List,
9722      apzAix_Stdint_2Machs,
9723      AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9724      aAix_Stdint_2Tests,   apzAix_Stdint_2Patch, 0 },
9726   {  zAix_Stdint_3Name,    zAix_Stdint_3List,
9727      apzAix_Stdint_3Machs,
9728      AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9729      aAix_Stdint_3Tests,   apzAix_Stdint_3Patch, 0 },
9731   {  zAix_Stdint_4Name,    zAix_Stdint_4List,
9732      apzAix_Stdint_4Machs,
9733      AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9734      aAix_Stdint_4Tests,   apzAix_Stdint_4Patch, 0 },
9736   {  zAix_Stdint_5Name,    zAix_Stdint_5List,
9737      apzAix_Stdint_5Machs,
9738      AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9739      aAix_Stdint_5Tests,   apzAix_Stdint_5Patch, 0 },
9741   {  zAix_SysmachineName,    zAix_SysmachineList,
9742      apzAix_SysmachineMachs,
9743      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9744      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
9746   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
9747      apzAix_Syswait_2Machs,
9748      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9749      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
9751   {  zAix_VolatileName,    zAix_VolatileList,
9752      apzAix_VolatileMachs,
9753      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9754      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
9756   {  zAlpha___AssertName,    zAlpha___AssertList,
9757      apzAlpha___AssertMachs,
9758      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9759      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
9761   {  zAlpha_AssertName,    zAlpha_AssertList,
9762      apzAlpha_AssertMachs,
9763      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9764      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
9766   {  zAlpha_GetoptName,    zAlpha_GetoptList,
9767      apzAlpha_GetoptMachs,
9768      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9769      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
9771   {  zAlpha_If_SemicolonName,    zAlpha_If_SemicolonList,
9772      apzAlpha_If_SemicolonMachs,
9773      ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9774      aAlpha_If_SemicolonTests,   apzAlpha_If_SemicolonPatch, 0 },
9776   {  zAlpha_ParensName,    zAlpha_ParensList,
9777      apzAlpha_ParensMachs,
9778      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9779      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
9781   {  zAlpha_SbrkName,    zAlpha_SbrkList,
9782      apzAlpha_SbrkMachs,
9783      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9784      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
9786   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
9787      apzAvoid_Bool_DefineMachs,
9788      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9789      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
9791   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
9792      apzAvoid_Bool_TypeMachs,
9793      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9794      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
9796   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
9797      apzAvoid_Wchar_T_TypeMachs,
9798      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9799      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
9801   {  zBad_Struct_TermName,    zBad_Struct_TermList,
9802      apzBad_Struct_TermMachs,
9803      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9804      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
9806   {  zBadquoteName,    zBadquoteList,
9807      apzBadquoteMachs,
9808      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9809      aBadquoteTests,   apzBadquotePatch, 0 },
9811   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
9812      apzBroken_Assert_StdioMachs,
9813      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9814      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
9816   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
9817      apzBroken_Assert_StdlibMachs,
9818      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9819      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
9821   {  zBroken_CabsName,    zBroken_CabsList,
9822      apzBroken_CabsMachs,
9823      BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
9824      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
9826   {  zBroken_NanName,    zBroken_NanList,
9827      apzBroken_NanMachs,
9828      BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9829      aBroken_NanTests,   apzBroken_NanPatch, 0 },
9831   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
9832      apzBsd_Stdio_Attrs_ConflictMachs,
9833      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9834      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
9836   {  zCdef_CplusplusName,    zCdef_CplusplusList,
9837      apzCdef_CplusplusMachs,
9838      CDEF_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9839      aCdef_CplusplusTests,   apzCdef_CplusplusPatch, 0 },
9841   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
9842      apzCtrl_Quotes_DefMachs,
9843      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9844      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
9846   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
9847      apzCtrl_Quotes_UseMachs,
9848      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9849      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
9851   {  zCxx_UnreadyName,    zCxx_UnreadyList,
9852      apzCxx_UnreadyMachs,
9853      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9854      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
9856   {  zDarwin_9_Long_Double_Funcs_2Name,    zDarwin_9_Long_Double_Funcs_2List,
9857      apzDarwin_9_Long_Double_Funcs_2Machs,
9858      DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9859      aDarwin_9_Long_Double_Funcs_2Tests,   apzDarwin_9_Long_Double_Funcs_2Patch, 0 },
9861   {  zDarwin_ExterncName,    zDarwin_ExterncList,
9862      apzDarwin_ExterncMachs,
9863      DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9864      aDarwin_ExterncTests,   apzDarwin_ExterncPatch, 0 },
9866   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
9867      apzDarwin_Gcc4_BreakageMachs,
9868      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9869      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
9871   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
9872      apzDarwin_Private_ExternMachs,
9873      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9874      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
9876   {  zDarwin_Stdint_1Name,    zDarwin_Stdint_1List,
9877      apzDarwin_Stdint_1Machs,
9878      DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9879      aDarwin_Stdint_1Tests,   apzDarwin_Stdint_1Patch, 0 },
9881   {  zDarwin_Stdint_2Name,    zDarwin_Stdint_2List,
9882      apzDarwin_Stdint_2Machs,
9883      DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9884      aDarwin_Stdint_2Tests,   apzDarwin_Stdint_2Patch, 0 },
9886   {  zDarwin_Stdint_3Name,    zDarwin_Stdint_3List,
9887      apzDarwin_Stdint_3Machs,
9888      DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9889      aDarwin_Stdint_3Tests,   apzDarwin_Stdint_3Patch, 0 },
9891   {  zDarwin_Stdint_4Name,    zDarwin_Stdint_4List,
9892      apzDarwin_Stdint_4Machs,
9893      DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9894      aDarwin_Stdint_4Tests,   apzDarwin_Stdint_4Patch, 0 },
9896   {  zDarwin_Stdint_5Name,    zDarwin_Stdint_5List,
9897      apzDarwin_Stdint_5Machs,
9898      DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9899      aDarwin_Stdint_5Tests,   apzDarwin_Stdint_5Patch, 0 },
9901   {  zDarwin_Stdint_6Name,    zDarwin_Stdint_6List,
9902      apzDarwin_Stdint_6Machs,
9903      DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9904      aDarwin_Stdint_6Tests,   apzDarwin_Stdint_6Patch, 0 },
9906   {  zDarwin_Stdint_7Name,    zDarwin_Stdint_7List,
9907      apzDarwin_Stdint_7Machs,
9908      DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9909      aDarwin_Stdint_7Tests,   apzDarwin_Stdint_7Patch, 0 },
9911   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
9912      apzDec_Intern_AsmMachs,
9913      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
9914      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
9916   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
9917      apzDjgpp_Wchar_HMachs,
9918      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9919      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
9921   {  zEcd_CursorName,    zEcd_CursorList,
9922      apzEcd_CursorMachs,
9923      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9924      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
9926   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
9927      apzFreebsd_Gcc3_BreakageMachs,
9928      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9929      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
9931   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
9932      apzFreebsd_Gcc4_BreakageMachs,
9933      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9934      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
9936   {  zGlibc_C99_Inline_1Name,    zGlibc_C99_Inline_1List,
9937      apzGlibc_C99_Inline_1Machs,
9938      GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9939      aGlibc_C99_Inline_1Tests,   apzGlibc_C99_Inline_1Patch, 0 },
9941   {  zGlibc_C99_Inline_1aName,    zGlibc_C99_Inline_1aList,
9942      apzGlibc_C99_Inline_1aMachs,
9943      GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9944      aGlibc_C99_Inline_1aTests,   apzGlibc_C99_Inline_1aPatch, 0 },
9946   {  zGlibc_C99_Inline_2Name,    zGlibc_C99_Inline_2List,
9947      apzGlibc_C99_Inline_2Machs,
9948      GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
9949      aGlibc_C99_Inline_2Tests,   apzGlibc_C99_Inline_2Patch, 0 },
9951   {  zGlibc_C99_Inline_3Name,    zGlibc_C99_Inline_3List,
9952      apzGlibc_C99_Inline_3Machs,
9953      GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9954      aGlibc_C99_Inline_3Tests,   apzGlibc_C99_Inline_3Patch, 0 },
9956   {  zGlibc_C99_Inline_4Name,    zGlibc_C99_Inline_4List,
9957      apzGlibc_C99_Inline_4Machs,
9958      GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9959      aGlibc_C99_Inline_4Tests,   apzGlibc_C99_Inline_4Patch, 0 },
9961   {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
9962      apzGlibc_Mutex_InitMachs,
9963      GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
9964      aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
9966   {  zGlibc_StdintName,    zGlibc_StdintList,
9967      apzGlibc_StdintMachs,
9968      GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9969      aGlibc_StdintTests,   apzGlibc_StdintPatch, 0 },
9971   {  zGlibc_StrncpyName,    zGlibc_StrncpyList,
9972      apzGlibc_StrncpyMachs,
9973      GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9974      aGlibc_StrncpyTests,   apzGlibc_StrncpyPatch, 0 },
9976   {  zGlibc_TgmathName,    zGlibc_TgmathList,
9977      apzGlibc_TgmathMachs,
9978      GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9979      aGlibc_TgmathTests,   apzGlibc_TgmathPatch, 0 },
9981   {  zGnu_TypesName,    zGnu_TypesList,
9982      apzGnu_TypesMachs,
9983      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
9984      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
9986   {  zHp_InlineName,    zHp_InlineList,
9987      apzHp_InlineMachs,
9988      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9989      aHp_InlineTests,   apzHp_InlinePatch, 0 },
9991   {  zHp_SysfileName,    zHp_SysfileList,
9992      apzHp_SysfileMachs,
9993      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9994      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
9996   {  zHppa_Hpux_Fp_MacrosName,    zHppa_Hpux_Fp_MacrosList,
9997      apzHppa_Hpux_Fp_MacrosMachs,
9998      HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9999      aHppa_Hpux_Fp_MacrosTests,   apzHppa_Hpux_Fp_MacrosPatch, 0 },
10001   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
10002      apzHpux10_Cpp_Pow_InlineMachs,
10003      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10004      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
10006   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
10007      apzHpux11_Cpp_Pow_InlineMachs,
10008      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10009      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
10011   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
10012      apzHpux10_Ctype_Declarations1Machs,
10013      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10014      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
10016   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
10017      apzHpux10_Ctype_Declarations2Machs,
10018      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10019      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
10021   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
10022      apzHpux10_Stdio_DeclarationsMachs,
10023      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10024      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
10026   {  zHpux11_AbsName,    zHpux11_AbsList,
10027      apzHpux11_AbsMachs,
10028      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10029      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
10031   {  zHpux11_FabsfName,    zHpux11_FabsfList,
10032      apzHpux11_FabsfMachs,
10033      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10034      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
10036   {  zHpux11_Pthread_ConstName,    zHpux11_Pthread_ConstList,
10037      apzHpux11_Pthread_ConstMachs,
10038      HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10039      aHpux11_Pthread_ConstTests,   apzHpux11_Pthread_ConstPatch, 0 },
10041   {  zHpux11_Size_TName,    zHpux11_Size_TList,
10042      apzHpux11_Size_TMachs,
10043      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10044      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
10046   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
10047      apzHpux11_SnprintfMachs,
10048      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10049      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
10051   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
10052      apzHpux11_VsnprintfMachs,
10053      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10054      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
10056   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
10057      apzHpux8_Bogus_InlinesMachs,
10058      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
10059      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
10061   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
10062      apzHpux_Ctype_MacrosMachs,
10063      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10064      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
10066   {  zHpux_HtonlName,    zHpux_HtonlList,
10067      apzHpux_HtonlMachs,
10068      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10069      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
10071   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
10072      apzHpux_Long_DoubleMachs,
10073      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
10074      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
10076   {  zHpux_Long_Double_2Name,    zHpux_Long_Double_2List,
10077      apzHpux_Long_Double_2Machs,
10078      HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10079      aHpux_Long_Double_2Tests,   apzHpux_Long_Double_2Patch, 0 },
10081   {  zHpux_SystimeName,    zHpux_SystimeList,
10082      apzHpux_SystimeMachs,
10083      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10084      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
10086   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
10087      apzHpux_Spu_InfoMachs,
10088      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10089      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
10091   {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
10092      apzHpux11_Extern_SendfileMachs,
10093      HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10094      aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
10096   {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
10097      apzHpux11_Extern_SendpathMachs,
10098      HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10099      aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
10101   {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
10102      apzHpux_Extern_ErrnoMachs,
10103      HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10104      aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
10106   {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
10107      apzHpux_Pthread_InitializersMachs,
10108      HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
10109      aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
10111   {  zHpux_C99_IntptrName,    zHpux_C99_IntptrList,
10112      apzHpux_C99_IntptrMachs,
10113      HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
10114      aHpux_C99_IntptrTests,   apzHpux_C99_IntptrPatch, 0 },
10116   {  zHpux_C99_InttypesName,    zHpux_C99_InttypesList,
10117      apzHpux_C99_InttypesMachs,
10118      HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
10119      aHpux_C99_InttypesTests,   apzHpux_C99_InttypesPatch, 0 },
10121   {  zHpux_C99_Inttypes2Name,    zHpux_C99_Inttypes2List,
10122      apzHpux_C99_Inttypes2Machs,
10123      HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
10124      aHpux_C99_Inttypes2Tests,   apzHpux_C99_Inttypes2Patch, 0 },
10126   {  zHpux_Stdint_Least_FastName,    zHpux_Stdint_Least_FastList,
10127      apzHpux_Stdint_Least_FastMachs,
10128      HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10129      aHpux_Stdint_Least_FastTests,   apzHpux_Stdint_Least_FastPatch, 0 },
10131   {  zHpux_Inttype_Int8_TName,    zHpux_Inttype_Int8_TList,
10132      apzHpux_Inttype_Int8_TMachs,
10133      HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10134      aHpux_Inttype_Int8_TTests,   apzHpux_Inttype_Int8_TPatch, 0 },
10136   {  zHpux_Imaginary_IName,    zHpux_Imaginary_IList,
10137      apzHpux_Imaginary_IMachs,
10138      HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10139      aHpux_Imaginary_ITests,   apzHpux_Imaginary_IPatch, 0 },
10141   {  zHuge_Val_HexName,    zHuge_Val_HexList,
10142      apzHuge_Val_HexMachs,
10143      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10144      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
10146   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
10147      apzHuge_Valf_HexMachs,
10148      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10149      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
10151   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
10152      apzHuge_Vall_HexMachs,
10153      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10154      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
10156   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
10157      apzInt_Abort_Free_And_ExitMachs,
10158      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10159      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
10161   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
10162      apzIo_Quotes_DefMachs,
10163      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10164      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
10166   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
10167      apzIo_Quotes_UseMachs,
10168      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10169      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
10171   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
10172      apzIp_Missing_SemiMachs,
10173      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
10174      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
10176   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
10177      apzIrix_Limits_ConstMachs,
10178      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10179      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
10181   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
10182      apzIrix_Stdio_Va_ListMachs,
10183      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10184      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
10186   {  zKandr_ConcatName,    zKandr_ConcatList,
10187      apzKandr_ConcatMachs,
10188      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10189      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
10191   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
10192      apzLinux_Ia64_UcontextMachs,
10193      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10194      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
10196   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
10197      apzLynxos_No_Warning_In_Sys_Time_HMachs,
10198      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10199      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
10201   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
10202      apzLynxos_Missing_PutenvMachs,
10203      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10204      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
10206   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
10207      apzMachine_Ansi_H_Va_ListMachs,
10208      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10209      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
10211   {  zMachine_NameName,    zMachine_NameList,
10212      apzMachine_NameMachs,
10213      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10214      aMachine_NameTests,   apzMachine_NamePatch, 0 },
10216   {  zMath_ExceptionName,    zMath_ExceptionList,
10217      apzMath_ExceptionMachs,
10218      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10219      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
10221   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
10222      apzMath_Huge_Val_From_Dbl_MaxMachs,
10223      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
10224      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
10226   {  zNested_Auth_DesName,    zNested_Auth_DesList,
10227      apzNested_Auth_DesMachs,
10228      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10229      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
10231   {  zNetbsd_C99_Inline_1Name,    zNetbsd_C99_Inline_1List,
10232      apzNetbsd_C99_Inline_1Machs,
10233      NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10234      aNetbsd_C99_Inline_1Tests,   apzNetbsd_C99_Inline_1Patch, 0 },
10236   {  zNetbsd_C99_Inline_2Name,    zNetbsd_C99_Inline_2List,
10237      apzNetbsd_C99_Inline_2Machs,
10238      NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10239      aNetbsd_C99_Inline_2Tests,   apzNetbsd_C99_Inline_2Patch, 0 },
10241   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
10242      apzNetbsd_Extra_SemicolonMachs,
10243      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10244      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
10246   {  zNewlib_Stdint_1Name,    zNewlib_Stdint_1List,
10247      apzNewlib_Stdint_1Machs,
10248      NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
10249      aNewlib_Stdint_1Tests,   apzNewlib_Stdint_1Patch, 0 },
10251   {  zNewlib_Stdint_2Name,    zNewlib_Stdint_2List,
10252      apzNewlib_Stdint_2Machs,
10253      NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10254      aNewlib_Stdint_2Tests,   apzNewlib_Stdint_2Patch, 0 },
10256   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
10257      apzNext_Math_PrefixMachs,
10258      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10259      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
10261   {  zNext_TemplateName,    zNext_TemplateList,
10262      apzNext_TemplateMachs,
10263      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10264      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
10266   {  zNext_VolitileName,    zNext_VolitileList,
10267      apzNext_VolitileMachs,
10268      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10269      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
10271   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
10272      apzNext_Wait_UnionMachs,
10273      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10274      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
10276   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
10277      apzNodeent_SyntaxMachs,
10278      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10279      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
10281   {  zOpenbsd_Null_DefinitionName,    zOpenbsd_Null_DefinitionList,
10282      apzOpenbsd_Null_DefinitionMachs,
10283      OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10284      aOpenbsd_Null_DefinitionTests,   apzOpenbsd_Null_DefinitionPatch, 0 },
10286   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
10287      apzObstack_Lvalue_CastMachs,
10288      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10289      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
10291   {  zOpenbsd_Va_StartName,    zOpenbsd_Va_StartList,
10292      apzOpenbsd_Va_StartMachs,
10293      OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10294      aOpenbsd_Va_StartTests,   apzOpenbsd_Va_StartPatch, 0 },
10296   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
10297      apzOsf_Namespace_AMachs,
10298      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10299      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
10301   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
10302      apzOsf_Namespace_CMachs,
10303      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10304      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
10306   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
10307      apzPthread_Incomplete_Struct_ArgumentMachs,
10308      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10309      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
10311   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
10312      apzRead_Ret_TypeMachs,
10313      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10314      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
10316   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
10317      apzRpc_Xdr_Lvalue_Cast_AMachs,
10318      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10319      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
10321   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
10322      apzRpc_Xdr_Lvalue_Cast_BMachs,
10323      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10324      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
10326   {  zRs6000_DoubleName,    zRs6000_DoubleList,
10327      apzRs6000_DoubleMachs,
10328      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10329      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
10331   {  zRs6000_FchmodName,    zRs6000_FchmodList,
10332      apzRs6000_FchmodMachs,
10333      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10334      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
10336   {  zRs6000_ParamName,    zRs6000_ParamList,
10337      apzRs6000_ParamMachs,
10338      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10339      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
10341   {  zSolaris___RestrictName,    zSolaris___RestrictList,
10342      apzSolaris___RestrictMachs,
10343      SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10344      aSolaris___RestrictTests,   apzSolaris___RestrictPatch, 0 },
10346   {  zSolaris_ComplexName,    zSolaris_ComplexList,
10347      apzSolaris_ComplexMachs,
10348      SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
10349      aSolaris_ComplexTests,   apzSolaris_ComplexPatch, 0 },
10351   {  zSolaris_Complex_CxxName,    zSolaris_Complex_CxxList,
10352      apzSolaris_Complex_CxxMachs,
10353      SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
10354      aSolaris_Complex_CxxTests,   apzSolaris_Complex_CxxPatch, 0 },
10356   {  zSolaris_Cxx_LinkageName,    zSolaris_Cxx_LinkageList,
10357      apzSolaris_Cxx_LinkageMachs,
10358      SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10359      aSolaris_Cxx_LinkageTests,   apzSolaris_Cxx_LinkagePatch, 0 },
10361   {  zSolaris_Getc_Strict_StdcName,    zSolaris_Getc_Strict_StdcList,
10362      apzSolaris_Getc_Strict_StdcMachs,
10363      SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10364      aSolaris_Getc_Strict_StdcTests,   apzSolaris_Getc_Strict_StdcPatch, 0 },
10366   {  zSolaris_Longjmp_NoreturnName,    zSolaris_Longjmp_NoreturnList,
10367      apzSolaris_Longjmp_NoreturnMachs,
10368      SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10369      aSolaris_Longjmp_NoreturnTests,   apzSolaris_Longjmp_NoreturnPatch, 0 },
10371   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
10372      apzSolaris_Math_1Machs,
10373      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10374      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
10376   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
10377      apzSolaris_Math_2Machs,
10378      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10379      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
10381   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
10382      apzSolaris_Math_3Machs,
10383      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10384      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
10386   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
10387      apzSolaris_Math_4Machs,
10388      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10389      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
10391   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
10392      apzSolaris_Math_8Machs,
10393      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10394      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
10396   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
10397      apzSolaris_Math_9Machs,
10398      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10399      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
10401   {  zSolaris_Math_10Name,    zSolaris_Math_10List,
10402      apzSolaris_Math_10Machs,
10403      SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10404      aSolaris_Math_10Tests,   apzSolaris_Math_10Patch, 0 },
10406   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
10407      apzSolaris_Mutex_Init_2Machs,
10408      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10409      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
10411   {  zSolaris_Pow_Int_OverloadName,    zSolaris_Pow_Int_OverloadList,
10412      apzSolaris_Pow_Int_OverloadMachs,
10413      SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10414      aSolaris_Pow_Int_OverloadTests,   apzSolaris_Pow_Int_OverloadPatch, 0 },
10416   {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
10417      apzSolaris_Rwlock_Init_1Machs,
10418      SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10419      aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
10421   {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
10422      apzSolaris_Once_Init_1Machs,
10423      SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10424      aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
10426   {  zSolaris_Once_Init_2Name,    zSolaris_Once_Init_2List,
10427      apzSolaris_Once_Init_2Machs,
10428      SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10429      aSolaris_Once_Init_2Tests,   apzSolaris_Once_Init_2Patch, 0 },
10431   {  zSolaris_Int_ConstName,    zSolaris_Int_ConstList,
10432      apzSolaris_Int_ConstMachs,
10433      SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10434      aSolaris_Int_ConstTests,   apzSolaris_Int_ConstPatch, 0 },
10436   {  zSolaris_Int_Limits_1Name,    zSolaris_Int_Limits_1List,
10437      apzSolaris_Int_Limits_1Machs,
10438      SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10439      aSolaris_Int_Limits_1Tests,   apzSolaris_Int_Limits_1Patch, 0 },
10441   {  zSolaris_Int_Limits_2Name,    zSolaris_Int_Limits_2List,
10442      apzSolaris_Int_Limits_2Machs,
10443      SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10444      aSolaris_Int_Limits_2Tests,   apzSolaris_Int_Limits_2Patch, 0 },
10446   {  zSolaris_Int_Limits_3Name,    zSolaris_Int_Limits_3List,
10447      apzSolaris_Int_Limits_3Machs,
10448      SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10449      aSolaris_Int_Limits_3Tests,   apzSolaris_Int_Limits_3Patch, 0 },
10451   {  zSolaris_Int_TypesName,    zSolaris_Int_TypesList,
10452      apzSolaris_Int_TypesMachs,
10453      SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10454      aSolaris_Int_TypesTests,   apzSolaris_Int_TypesPatch, 0 },
10456   {  zSolaris_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
10457      apzSolaris_Posix_Spawn_RestrictMachs,
10458      SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10459      aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
10461   {  zSolaris_Std___FilbufName,    zSolaris_Std___FilbufList,
10462      apzSolaris_Std___FilbufMachs,
10463      SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10464      aSolaris_Std___FilbufTests,   apzSolaris_Std___FilbufPatch, 0 },
10466   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
10467      apzSolaris_Stdio_TagMachs,
10468      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
10469      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
10471   {  zSolaris_Sys_Va_ListName,    zSolaris_Sys_Va_ListList,
10472      apzSolaris_Sys_Va_ListMachs,
10473      SOLARIS_SYS_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10474      aSolaris_Sys_Va_ListTests,   apzSolaris_Sys_Va_ListPatch, 0 },
10476   {  zStatsswtchName,    zStatsswtchList,
10477      apzStatsswtchMachs,
10478      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10479      aStatsswtchTests,   apzStatsswtchPatch, 0 },
10481   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
10482      apzStdio_Stdarg_HMachs,
10483      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
10484      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
10486   {  zStdio_Va_ListName,    zStdio_Va_ListList,
10487      apzStdio_Va_ListMachs,
10488      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
10489      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
10491   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
10492      apzStdio_Va_List_ClientsMachs,
10493      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
10494      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
10496   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
10497      apzStrict_Ansi_NotMachs,
10498      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10499      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
10501   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
10502      apzStrict_Ansi_Not_CtdMachs,
10503      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10504      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
10506   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
10507      apzStrict_Ansi_OnlyMachs,
10508      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10509      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
10511   {  zStruct_FileName,    zStruct_FileList,
10512      apzStruct_FileMachs,
10513      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10514      aStruct_FileTests,   apzStruct_FilePatch, 0 },
10516   {  zStruct_SockaddrName,    zStruct_SockaddrList,
10517      apzStruct_SockaddrMachs,
10518      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10519      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
10521   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
10522      apzSun_Auth_ProtoMachs,
10523      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10524      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
10526   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
10527      apzSun_Bogus_IfdefMachs,
10528      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10529      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
10531   {  zSun_CatmacroName,    zSun_CatmacroList,
10532      apzSun_CatmacroMachs,
10533      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10534      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
10536   {  zSun_MallocName,    zSun_MallocList,
10537      apzSun_MallocMachs,
10538      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
10539      aSun_MallocTests,   apzSun_MallocPatch, 0 },
10541   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
10542      apzSun_Rusers_SemiMachs,
10543      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
10544      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
10546   {  zSun_SignalName,    zSun_SignalList,
10547      apzSun_SignalMachs,
10548      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10549      aSun_SignalTests,   apzSun_SignalPatch, 0 },
10551   {  zSunos_StrlenName,    zSunos_StrlenList,
10552      apzSunos_StrlenMachs,
10553      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10554      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
10556   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
10557      apzSvr4_Disable_OptMachs,
10558      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
10559      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
10561   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
10562      apzSvr4_GetcwdMachs,
10563      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10564      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
10566   {  zSvr4_ProfilName,    zSvr4_ProfilList,
10567      apzSvr4_ProfilMachs,
10568      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10569      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
10571   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
10572      apzSvr4_Sighandler_TypeMachs,
10573      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10574      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
10576   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
10577      apzSvr4_Undeclared_GetrngeMachs,
10578      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10579      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
10581   {  zSysv68_StringName,    zSysv68_StringList,
10582      apzSysv68_StringMachs,
10583      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
10584      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
10586   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
10587      apzSysz_Stdlib_For_SunMachs,
10588      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10589      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
10591   {  zThread_KeywordName,    zThread_KeywordList,
10592      apzThread_KeywordMachs,
10593      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10594      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
10596   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
10597      apzTinfo_CplusplusMachs,
10598      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10599      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
10601   {  zUltrix_ConstName,    zUltrix_ConstList,
10602      apzUltrix_ConstMachs,
10603      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10604      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
10606   {  zUltrix_Const2Name,    zUltrix_Const2List,
10607      apzUltrix_Const2Machs,
10608      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10609      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
10611   {  zVa_I960_MacroName,    zVa_I960_MacroList,
10612      apzVa_I960_MacroMachs,
10613      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10614      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
10616   {  zVms_Define_Can_Use_Extern_PrefixName,    zVms_Define_Can_Use_Extern_PrefixList,
10617      apzVms_Define_Can_Use_Extern_PrefixMachs,
10618      VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10619      aVms_Define_Can_Use_Extern_PrefixTests,   apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
10621   {  zVms_Use_Pragma_Extern_ModelName,    zVms_Use_Pragma_Extern_ModelList,
10622      apzVms_Use_Pragma_Extern_ModelMachs,
10623      VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10624      aVms_Use_Pragma_Extern_ModelTests,   apzVms_Use_Pragma_Extern_ModelPatch, 0 },
10626   {  zVms_Disable_Decc_String_BuiltinsName,    zVms_Disable_Decc_String_BuiltinsList,
10627      apzVms_Disable_Decc_String_BuiltinsMachs,
10628      VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10629      aVms_Disable_Decc_String_BuiltinsTests,   apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
10631   {  zVms_Use_Quoted_IncludeName,    zVms_Use_Quoted_IncludeList,
10632      apzVms_Use_Quoted_IncludeMachs,
10633      VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10634      aVms_Use_Quoted_IncludeTests,   apzVms_Use_Quoted_IncludePatch, 0 },
10636   {  zVms_Add_Missing_BracesName,    zVms_Add_Missing_BracesList,
10637      apzVms_Add_Missing_BracesMachs,
10638      VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10639      aVms_Add_Missing_BracesTests,   apzVms_Add_Missing_BracesPatch, 0 },
10641   {  zVms_Do_Not_Redeclare_HostaliasName,    zVms_Do_Not_Redeclare_HostaliasList,
10642      apzVms_Do_Not_Redeclare_HostaliasMachs,
10643      VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10644      aVms_Do_Not_Redeclare_HostaliasTests,   apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
10646   {  zVms_Decc_BuiltinName,    zVms_Decc_BuiltinList,
10647      apzVms_Decc_BuiltinMachs,
10648      VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
10649      aVms_Decc_BuiltinTests,   apzVms_Decc_BuiltinPatch, 0 },
10651   {  zVms_No_64bit_GetoptName,    zVms_No_64bit_GetoptList,
10652      apzVms_No_64bit_GetoptMachs,
10653      VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10654      aVms_No_64bit_GetoptTests,   apzVms_No_64bit_GetoptPatch, 0 },
10656   {  zVms_Forward_Declare_StructName,    zVms_Forward_Declare_StructList,
10657      apzVms_Forward_Declare_StructMachs,
10658      VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10659      aVms_Forward_Declare_StructTests,   apzVms_Forward_Declare_StructPatch, 0 },
10661   {  zVms_Use_Fast_SetjmpName,    zVms_Use_Fast_SetjmpList,
10662      apzVms_Use_Fast_SetjmpMachs,
10663      VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10664      aVms_Use_Fast_SetjmpTests,   apzVms_Use_Fast_SetjmpPatch, 0 },
10666   {  zVoid_NullName,    zVoid_NullList,
10667      apzVoid_NullMachs,
10668      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10669      aVoid_NullTests,   apzVoid_NullPatch, 0 },
10671   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
10672      apzVxworks_Gcc_ProblemMachs,
10673      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
10674      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
10676   {  zVxworks_Ioctl_MacroName,    zVxworks_Ioctl_MacroList,
10677      apzVxworks_Ioctl_MacroMachs,
10678      VXWORKS_IOCTL_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10679      aVxworks_Ioctl_MacroTests,   apzVxworks_Ioctl_MacroPatch, 0 },
10681   {  zVxworks_Mkdir_MacroName,    zVxworks_Mkdir_MacroList,
10682      apzVxworks_Mkdir_MacroMachs,
10683      VXWORKS_MKDIR_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10684      aVxworks_Mkdir_MacroTests,   apzVxworks_Mkdir_MacroPatch, 0 },
10686   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
10687      apzVxworks_Needs_VxtypesMachs,
10688      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10689      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
10691   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
10692      apzVxworks_Needs_VxworksMachs,
10693      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
10694      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
10696   {  zVxworks_RegsName,    zVxworks_RegsList,
10697      apzVxworks_RegsMachs,
10698      VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10699      aVxworks_RegsTests,   apzVxworks_RegsPatch, 0 },
10701   {  zVxworks_TimeName,    zVxworks_TimeList,
10702      apzVxworks_TimeMachs,
10703      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10704      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
10706   {  zVxworks_Write_ConstName,    zVxworks_Write_ConstList,
10707      apzVxworks_Write_ConstMachs,
10708      VXWORKS_WRITE_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10709      aVxworks_Write_ConstTests,   apzVxworks_Write_ConstPatch, 0 },
10711   {  zX11_ClassName,    zX11_ClassList,
10712      apzX11_ClassMachs,
10713      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10714      aX11_ClassTests,   apzX11_ClassPatch, 0 },
10716   {  zX11_Class_UsageName,    zX11_Class_UsageList,
10717      apzX11_Class_UsageMachs,
10718      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10719      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
10721   {  zX11_NewName,    zX11_NewList,
10722      apzX11_NewMachs,
10723      X11_NEW_TEST_CT, FD_MACH_ONLY,
10724      aX11_NewTests,   apzX11_NewPatch, 0 },
10726   {  zX11_SprintfName,    zX11_SprintfList,
10727      apzX11_SprintfMachs,
10728      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10729      aX11_SprintfTests,   apzX11_SprintfPatch, 0 },
10731   {  zFeraiseexcept_Nosse_InvalidName,    zFeraiseexcept_Nosse_InvalidList,
10732      apzFeraiseexcept_Nosse_InvalidMachs,
10733      FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10734      aFeraiseexcept_Nosse_InvalidTests,   apzFeraiseexcept_Nosse_InvalidPatch, 0 },
10736   {  zFeraiseexcept_Nosse_DivbyzeroName,    zFeraiseexcept_Nosse_DivbyzeroList,
10737      apzFeraiseexcept_Nosse_DivbyzeroMachs,
10738      FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10739      aFeraiseexcept_Nosse_DivbyzeroTests,   apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 },
10741   {  zComplier_H_TradcppName,    zComplier_H_TradcppList,
10742      apzComplier_H_TradcppMachs,
10743      COMPLIER_H_TRADCPP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10744      aComplier_H_TradcppTests,   apzComplier_H_TradcppPatch, 0 }