Remove unused variable and field
[official-gcc.git] / fixincludes / fixincl.x
blob1fbe3fa0e0cdde5a984fbbbce8bf0dc22ab7a56f
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  *
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  *
5  * It has been AutoGen-ed  July  6, 2013 at 10:40:53 AM by AutoGen 5.17.5pre10
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jul  6 10:40:53 PDT 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 227 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 Ctrl_Quotes_Def fix
2076  */
2077 tSCC zCtrl_Quotes_DefName[] =
2078      "ctrl_quotes_def";
2081  *  File name selection pattern
2082  */
2083 #define zCtrl_Quotes_DefList (char*)NULL
2085  *  Machine/OS name selection pattern
2086  */
2087 #define apzCtrl_Quotes_DefMachs (const char**)NULL
2090  *  content selection pattern - do fix if pattern found
2091  */
2092 tSCC zCtrl_Quotes_DefSelect0[] =
2093        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
2095 #define    CTRL_QUOTES_DEF_TEST_CT  1
2096 static tTestDesc aCtrl_Quotes_DefTests[] = {
2097   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
2100  *  Fix Command Arguments for Ctrl_Quotes_Def
2101  */
2102 static const char* apzCtrl_Quotes_DefPatch[] = {
2103     "char_macro_def",
2104     "CTRL",
2105     (char*)NULL };
2107 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2109  *  Description of Ctrl_Quotes_Use fix
2110  */
2111 tSCC zCtrl_Quotes_UseName[] =
2112      "ctrl_quotes_use";
2115  *  File name selection pattern
2116  */
2117 #define zCtrl_Quotes_UseList (char*)NULL
2119  *  Machine/OS name selection pattern
2120  */
2121 #define apzCtrl_Quotes_UseMachs (const char**)NULL
2124  *  content selection pattern - do fix if pattern found
2125  */
2126 tSCC zCtrl_Quotes_UseSelect0[] =
2127        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
2129 #define    CTRL_QUOTES_USE_TEST_CT  1
2130 static tTestDesc aCtrl_Quotes_UseTests[] = {
2131   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
2134  *  Fix Command Arguments for Ctrl_Quotes_Use
2135  */
2136 static const char* apzCtrl_Quotes_UsePatch[] = {
2137     "char_macro_use",
2138     "CTRL",
2139     (char*)NULL };
2141 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2143  *  Description of Cxx_Unready fix
2144  */
2145 tSCC zCxx_UnreadyName[] =
2146      "cxx_unready";
2149  *  File name selection pattern
2150  */
2151 tSCC zCxx_UnreadyList[] =
2152   "sys/mman.h\0rpc/types.h\0";
2154  *  Machine/OS name selection pattern
2155  */
2156 #define apzCxx_UnreadyMachs (const char**)NULL
2159  *  content selection pattern - do fix if pattern found
2160  */
2161 tSCC zCxx_UnreadySelect0[] =
2162        "[^#]+malloc.*;";
2165  *  content bypass pattern - skip fix if pattern found
2166  */
2167 tSCC zCxx_UnreadyBypass0[] =
2168        "\"C\"|__BEGIN_DECLS";
2170 #define    CXX_UNREADY_TEST_CT  2
2171 static tTestDesc aCxx_UnreadyTests[] = {
2172   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
2173   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
2176  *  Fix Command Arguments for Cxx_Unready
2177  */
2178 static const char* apzCxx_UnreadyPatch[] = {
2179     "wrap",
2180     "#ifdef __cplusplus\n\
2181 extern \"C\" {\n\
2182 #endif\n",
2183     "#ifdef __cplusplus\n\
2184 }\n\
2185 #endif\n",
2186     (char*)NULL };
2188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2190  *  Description of Darwin_9_Long_Double_Funcs_2 fix
2191  */
2192 tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
2193      "darwin_9_long_double_funcs_2";
2196  *  File name selection pattern
2197  */
2198 tSCC zDarwin_9_Long_Double_Funcs_2List[] =
2199   "math.h\0";
2201  *  Machine/OS name selection pattern
2202  */
2203 tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = {
2204         "*-*-darwin7.9*",
2205         (const char*)NULL };
2208  *  content selection pattern - do fix if pattern found
2209  */
2210 tSCC zDarwin_9_Long_Double_Funcs_2Select0[] =
2211        "#include[ \\t]+\\\"";
2213 #define    DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
2214 static tTestDesc aDarwin_9_Long_Double_Funcs_2Tests[] = {
2215   { TT_EGREP,    zDarwin_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
2218  *  Fix Command Arguments for Darwin_9_Long_Double_Funcs_2
2219  */
2220 static const char* apzDarwin_9_Long_Double_Funcs_2Patch[] = {
2221     "format",
2222     "%1<%2.h>",
2223     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
2224     (char*)NULL };
2226 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2228  *  Description of Darwin_Externc fix
2229  */
2230 tSCC zDarwin_ExterncName[] =
2231      "darwin_externc";
2234  *  File name selection pattern
2235  */
2236 tSCC zDarwin_ExterncList[] =
2237   "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
2239  *  Machine/OS name selection pattern
2240  */
2241 tSCC* apzDarwin_ExterncMachs[] = {
2242         "*-*-darwin*",
2243         (const char*)NULL };
2246  *  content bypass pattern - skip fix if pattern found
2247  */
2248 tSCC zDarwin_ExterncBypass0[] =
2249        "extern \"C\"";
2250 tSCC zDarwin_ExterncBypass1[] =
2251        "__BEGIN_DECLS";
2253 #define    DARWIN_EXTERNC_TEST_CT  2
2254 static tTestDesc aDarwin_ExterncTests[] = {
2255   { TT_NEGREP,   zDarwin_ExterncBypass0, (regex_t*)NULL },
2256   { TT_NEGREP,   zDarwin_ExterncBypass1, (regex_t*)NULL }, };
2259  *  Fix Command Arguments for Darwin_Externc
2260  */
2261 static const char* apzDarwin_ExterncPatch[] = {
2262     "wrap",
2263     "#ifdef __cplusplus\n\
2264 extern \"C\" {\n\
2265 #endif\n",
2266     "#ifdef __cplusplus\n\
2267 }\n\
2268 #endif\n",
2269     (char*)NULL };
2271 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2273  *  Description of Darwin_Gcc4_Breakage fix
2274  */
2275 tSCC zDarwin_Gcc4_BreakageName[] =
2276      "darwin_gcc4_breakage";
2279  *  File name selection pattern
2280  */
2281 tSCC zDarwin_Gcc4_BreakageList[] =
2282   "AvailabilityMacros.h\0";
2284  *  Machine/OS name selection pattern
2285  */
2286 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
2287         "*-*-darwin*",
2288         (const char*)NULL };
2291  *  content selection pattern - do fix if pattern found
2292  */
2293 tSCC zDarwin_Gcc4_BreakageSelect0[] =
2294        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
2296 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
2297 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
2298   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2301  *  Fix Command Arguments for Darwin_Gcc4_Breakage
2302  */
2303 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
2304     "format",
2305     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
2306     (char*)NULL };
2308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2310  *  Description of Darwin_Private_Extern fix
2311  */
2312 tSCC zDarwin_Private_ExternName[] =
2313      "darwin_private_extern";
2316  *  File name selection pattern
2317  */
2318 tSCC zDarwin_Private_ExternList[] =
2319   "mach-o/dyld.h\0";
2321  *  Machine/OS name selection pattern
2322  */
2323 tSCC* apzDarwin_Private_ExternMachs[] = {
2324         "*-*-darwin*",
2325         (const char*)NULL };
2328  *  content selection pattern - do fix if pattern found
2329  */
2330 tSCC zDarwin_Private_ExternSelect0[] =
2331        "__private_extern__ [a-z_]+ _dyld_";
2333 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
2334 static tTestDesc aDarwin_Private_ExternTests[] = {
2335   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2338  *  Fix Command Arguments for Darwin_Private_Extern
2339  */
2340 static const char* apzDarwin_Private_ExternPatch[] = {
2341     "format",
2342     "extern",
2343     "__private_extern__",
2344     (char*)NULL };
2346 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2348  *  Description of Darwin_Stdint_1 fix
2349  */
2350 tSCC zDarwin_Stdint_1Name[] =
2351      "darwin_stdint_1";
2354  *  File name selection pattern
2355  */
2356 tSCC zDarwin_Stdint_1List[] =
2357   "stdint-darwin.h\0stdint.h\0";
2359  *  Machine/OS name selection pattern
2360  */
2361 tSCC* apzDarwin_Stdint_1Machs[] = {
2362         "*-*-darwin*",
2363         (const char*)NULL };
2366  *  content selection pattern - do fix if pattern found
2367  */
2368 tSCC zDarwin_Stdint_1Select0[] =
2369        "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2370 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2372 #define    DARWIN_STDINT_1_TEST_CT  1
2373 static tTestDesc aDarwin_Stdint_1Tests[] = {
2374   { TT_EGREP,    zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2377  *  Fix Command Arguments for Darwin_Stdint_1
2378  */
2379 static const char* apzDarwin_Stdint_1Patch[] = {
2380     "format",
2381     "#define UINT8_C(v)\tv\n\
2382 #define UINT16_C(v)\tv",
2383     (char*)NULL };
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2387  *  Description of Darwin_Stdint_2 fix
2388  */
2389 tSCC zDarwin_Stdint_2Name[] =
2390      "darwin_stdint_2";
2393  *  File name selection pattern
2394  */
2395 tSCC zDarwin_Stdint_2List[] =
2396   "stdint-darwin.h\0stdint.h\0";
2398  *  Machine/OS name selection pattern
2399  */
2400 tSCC* apzDarwin_Stdint_2Machs[] = {
2401         "*-*-darwin*",
2402         (const char*)NULL };
2405  *  content selection pattern - do fix if pattern found
2406  */
2407 tSCC zDarwin_Stdint_2Select0[] =
2408        "#if __WORDSIZE == 64\n\
2409 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2410 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2411 #else\n\
2412 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2413 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2414 #endif";
2416 #define    DARWIN_STDINT_2_TEST_CT  1
2417 static tTestDesc aDarwin_Stdint_2Tests[] = {
2418   { TT_EGREP,    zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2421  *  Fix Command Arguments for Darwin_Stdint_2
2422  */
2423 static const char* apzDarwin_Stdint_2Patch[] = {
2424     "format",
2425     "#if __WORDSIZE == 64\n\
2426 #define INTPTR_MAX 9223372036854775807L\n\
2427 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2428 #else\n\
2429 #define INTPTR_MAX 2147483647L\n\
2430 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2431 #endif",
2432     (char*)NULL };
2434 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2436  *  Description of Darwin_Stdint_3 fix
2437  */
2438 tSCC zDarwin_Stdint_3Name[] =
2439      "darwin_stdint_3";
2442  *  File name selection pattern
2443  */
2444 tSCC zDarwin_Stdint_3List[] =
2445   "stdint-darwin.h\0stdint.h\0";
2447  *  Machine/OS name selection pattern
2448  */
2449 tSCC* apzDarwin_Stdint_3Machs[] = {
2450         "*-*-darwin*",
2451         (const char*)NULL };
2454  *  content selection pattern - do fix if pattern found
2455  */
2456 tSCC zDarwin_Stdint_3Select0[] =
2457        "#if __WORDSIZE == 64\n\
2458 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
2459 #else\n\
2460 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
2461 #endif";
2463 #define    DARWIN_STDINT_3_TEST_CT  1
2464 static tTestDesc aDarwin_Stdint_3Tests[] = {
2465   { TT_EGREP,    zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
2468  *  Fix Command Arguments for Darwin_Stdint_3
2469  */
2470 static const char* apzDarwin_Stdint_3Patch[] = {
2471     "format",
2472     "#if __WORDSIZE == 64\n\
2473 #define UINTPTR_MAX 18446744073709551615UL\n\
2474 #else\n\
2475 #define UINTPTR_MAX 4294967295UL\n\
2476 #endif",
2477     (char*)NULL };
2479 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2481  *  Description of Darwin_Stdint_4 fix
2482  */
2483 tSCC zDarwin_Stdint_4Name[] =
2484      "darwin_stdint_4";
2487  *  File name selection pattern
2488  */
2489 tSCC zDarwin_Stdint_4List[] =
2490   "stdint-darwin.h\0stdint.h\0";
2492  *  Machine/OS name selection pattern
2493  */
2494 tSCC* apzDarwin_Stdint_4Machs[] = {
2495         "*-*-darwin*",
2496         (const char*)NULL };
2499  *  content selection pattern - do fix if pattern found
2500  */
2501 tSCC zDarwin_Stdint_4Select0[] =
2502        "#if __WORDSIZE == 64\n\
2503 #define SIZE_MAX[ \t]+UINT64_MAX\n\
2504 #else\n\
2505 #define SIZE_MAX[ \t]+UINT32_MAX\n\
2506 #endif";
2508 #define    DARWIN_STDINT_4_TEST_CT  1
2509 static tTestDesc aDarwin_Stdint_4Tests[] = {
2510   { TT_EGREP,    zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
2513  *  Fix Command Arguments for Darwin_Stdint_4
2514  */
2515 static const char* apzDarwin_Stdint_4Patch[] = {
2516     "format",
2517     "#if __WORDSIZE == 64\n\
2518 #define SIZE_MAX 18446744073709551615UL\n\
2519 #else\n\
2520 #define SIZE_MAX 4294967295UL\n\
2521 #endif",
2522     (char*)NULL };
2524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2526  *  Description of Darwin_Stdint_5 fix
2527  */
2528 tSCC zDarwin_Stdint_5Name[] =
2529      "darwin_stdint_5";
2532  *  File name selection pattern
2533  */
2534 tSCC zDarwin_Stdint_5List[] =
2535   "stdint-darwin.h\0stdint.h\0";
2537  *  Machine/OS name selection pattern
2538  */
2539 tSCC* apzDarwin_Stdint_5Machs[] = {
2540         "*-*-darwin*",
2541         (const char*)NULL };
2544  *  content selection pattern - do fix if pattern found
2545  */
2546 tSCC zDarwin_Stdint_5Select0[] =
2547        "#define INTMAX_MIN[ \t]+INT64_MIN\n\
2548 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
2549 #define UINTMAX_MAX[ \t]+UINT64_MAX";
2551 #define    DARWIN_STDINT_5_TEST_CT  1
2552 static tTestDesc aDarwin_Stdint_5Tests[] = {
2553   { TT_EGREP,    zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
2556  *  Fix Command Arguments for Darwin_Stdint_5
2557  */
2558 static const char* apzDarwin_Stdint_5Patch[] = {
2559     "format",
2560     "#if __WORDSIZE == 64\n\
2561 #define INTMAX_MIN   (-9223372036854775807L - 1)\n\
2562 #define INTMAX_MAX   9223372036854775807L\n\
2563 #define UINTMAX_MAX  18446744073709551615UL\n\
2564 #else\n\
2565 #define INTMAX_MIN   (-9223372036854775807LL - 1)\n\
2566 #define INTMAX_MAX   9223372036854775807LL\n\
2567 #define UINTMAX_MAX  18446744073709551615ULL\n\
2568 #endif",
2569     (char*)NULL };
2571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2573  *  Description of Darwin_Stdint_6 fix
2574  */
2575 tSCC zDarwin_Stdint_6Name[] =
2576      "darwin_stdint_6";
2579  *  File name selection pattern
2580  */
2581 tSCC zDarwin_Stdint_6List[] =
2582   "stdint-darwin.h\0stdint.h\0";
2584  *  Machine/OS name selection pattern
2585  */
2586 tSCC* apzDarwin_Stdint_6Machs[] = {
2587         "*-*-darwin*",
2588         (const char*)NULL };
2591  *  content selection pattern - do fix if pattern found
2592  */
2593 tSCC zDarwin_Stdint_6Select0[] =
2594        "#if __WORDSIZE == 64\n\
2595 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
2596 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
2597 #else\n\
2598 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
2599 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
2600 #endif";
2602 #define    DARWIN_STDINT_6_TEST_CT  1
2603 static tTestDesc aDarwin_Stdint_6Tests[] = {
2604   { TT_EGREP,    zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
2607  *  Fix Command Arguments for Darwin_Stdint_6
2608  */
2609 static const char* apzDarwin_Stdint_6Patch[] = {
2610     "format",
2611     "#if __WORDSIZE == 64\n\
2612 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
2613 #define PTRDIFF_MAX 9223372036854775807L\n\
2614 #else\n\
2615 #define PTRDIFF_MIN (-2147483647 - 1)\n\
2616 #define PTRDIFF_MAX 2147483647\n\
2617 #endif",
2618     (char*)NULL };
2620 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2622  *  Description of Darwin_Stdint_7 fix
2623  */
2624 tSCC zDarwin_Stdint_7Name[] =
2625      "darwin_stdint_7";
2628  *  File name selection pattern
2629  */
2630 tSCC zDarwin_Stdint_7List[] =
2631   "stdint-darwin.h\0stdint.h\0";
2633  *  Machine/OS name selection pattern
2634  */
2635 tSCC* apzDarwin_Stdint_7Machs[] = {
2636         "*-*-darwin*",
2637         (const char*)NULL };
2640  *  content selection pattern - do fix if pattern found
2641  */
2642 tSCC zDarwin_Stdint_7Select0[] =
2643        "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
2644 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
2646 #define    DARWIN_STDINT_7_TEST_CT  1
2647 static tTestDesc aDarwin_Stdint_7Tests[] = {
2648   { TT_EGREP,    zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
2651  *  Fix Command Arguments for Darwin_Stdint_7
2652  */
2653 static const char* apzDarwin_Stdint_7Patch[] = {
2654     "format",
2655     "#if __WORDSIZE == 64\n\
2656 #define INTMAX_C(v)  (v ## L)\n\
2657 #define UINTMAX_C(v) (v ## UL)\n\
2658 #else\n\
2659 #define INTMAX_C(v)  (v ## LL)\n\
2660 #define UINTMAX_C(v) (v ## ULL)\n\
2661 #endif",
2662     (char*)NULL };
2664 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2666  *  Description of Dec_Intern_Asm fix
2667  */
2668 tSCC zDec_Intern_AsmName[] =
2669      "dec_intern_asm";
2672  *  File name selection pattern
2673  */
2674 tSCC zDec_Intern_AsmList[] =
2675   "c_asm.h\0";
2677  *  Machine/OS name selection pattern
2678  */
2679 #define apzDec_Intern_AsmMachs (const char**)NULL
2680 #define DEC_INTERN_ASM_TEST_CT  0
2681 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
2684  *  Fix Command Arguments for Dec_Intern_Asm
2685  */
2686 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
2687     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
2688 #ifdef __DECC\n",
2689     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
2690 #endif\n",
2691     (char*)NULL };
2693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2695  *  Description of Djgpp_Wchar_H fix
2696  */
2697 tSCC zDjgpp_Wchar_HName[] =
2698      "djgpp_wchar_h";
2701  *  File name selection pattern
2702  */
2703 #define zDjgpp_Wchar_HList (char*)NULL
2705  *  Machine/OS name selection pattern
2706  */
2707 #define apzDjgpp_Wchar_HMachs (const char**)NULL
2710  *  content selection pattern - do fix if pattern found
2711  */
2712 tSCC zDjgpp_Wchar_HSelect0[] =
2713        "__DJ_wint_t";
2716  *  content bypass pattern - skip fix if pattern found
2717  */
2718 tSCC zDjgpp_Wchar_HBypass0[] =
2719        "sys/djtypes.h";
2721 #define    DJGPP_WCHAR_H_TEST_CT  2
2722 static tTestDesc aDjgpp_Wchar_HTests[] = {
2723   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2724   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2727  *  Fix Command Arguments for Djgpp_Wchar_H
2728  */
2729 static const char* apzDjgpp_Wchar_HPatch[] = {
2730     "format",
2731     "%0\n\
2732 #include <sys/djtypes.h>",
2733     "#include <stddef.h>",
2734     (char*)NULL };
2736 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2738  *  Description of Ecd_Cursor fix
2739  */
2740 tSCC zEcd_CursorName[] =
2741      "ecd_cursor";
2744  *  File name selection pattern
2745  */
2746 tSCC zEcd_CursorList[] =
2747   "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
2749  *  Machine/OS name selection pattern
2750  */
2751 #define apzEcd_CursorMachs (const char**)NULL
2754  *  content selection pattern - do fix if pattern found
2755  */
2756 tSCC zEcd_CursorSelect0[] =
2757        "ecd\\.cursor";
2759 #define    ECD_CURSOR_TEST_CT  1
2760 static tTestDesc aEcd_CursorTests[] = {
2761   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
2764  *  Fix Command Arguments for Ecd_Cursor
2765  */
2766 static const char* apzEcd_CursorPatch[] = {
2767     "format",
2768     "ecd_cursor",
2769     (char*)NULL };
2771 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2773  *  Description of Freebsd_Gcc3_Breakage fix
2774  */
2775 tSCC zFreebsd_Gcc3_BreakageName[] =
2776      "freebsd_gcc3_breakage";
2779  *  File name selection pattern
2780  */
2781 tSCC zFreebsd_Gcc3_BreakageList[] =
2782   "sys/cdefs.h\0";
2784  *  Machine/OS name selection pattern
2785  */
2786 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2787         "*-*-freebsd*",
2788         (const char*)NULL };
2791  *  content selection pattern - do fix if pattern found
2792  */
2793 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2794        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2797  *  content bypass pattern - skip fix if pattern found
2798  */
2799 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2800        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2802 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
2803 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2804   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2805   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2808  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
2809  */
2810 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2811     "format",
2812     "%0 || __GNUC__ >= 3",
2813     (char*)NULL };
2815 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2817  *  Description of Freebsd_Gcc4_Breakage fix
2818  */
2819 tSCC zFreebsd_Gcc4_BreakageName[] =
2820      "freebsd_gcc4_breakage";
2823  *  File name selection pattern
2824  */
2825 tSCC zFreebsd_Gcc4_BreakageList[] =
2826   "sys/cdefs.h\0";
2828  *  Machine/OS name selection pattern
2829  */
2830 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2831         "*-*-freebsd*",
2832         (const char*)NULL };
2835  *  content selection pattern - do fix if pattern found
2836  */
2837 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2838        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2840 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
2841 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2842   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2845  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
2846  */
2847 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2848     "format",
2849     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2850     (char*)NULL };
2852 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2854  *  Description of Glibc_C99_Inline_1 fix
2855  */
2856 tSCC zGlibc_C99_Inline_1Name[] =
2857      "glibc_c99_inline_1";
2860  *  File name selection pattern
2861  */
2862 tSCC zGlibc_C99_Inline_1List[] =
2863   "features.h\0*/features.h\0";
2865  *  Machine/OS name selection pattern
2866  */
2867 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
2870  *  content selection pattern - do fix if pattern found
2871  */
2872 tSCC zGlibc_C99_Inline_1Select0[] =
2873        "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
2875 #define    GLIBC_C99_INLINE_1_TEST_CT  1
2876 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
2877   { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
2880  *  Fix Command Arguments for Glibc_C99_Inline_1
2881  */
2882 static const char* apzGlibc_C99_Inline_1Patch[] = {
2883     "format",
2884     "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
2885     (char*)NULL };
2887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2889  *  Description of Glibc_C99_Inline_1a fix
2890  */
2891 tSCC zGlibc_C99_Inline_1aName[] =
2892      "glibc_c99_inline_1a";
2895  *  File name selection pattern
2896  */
2897 tSCC zGlibc_C99_Inline_1aList[] =
2898   "features.h\0*/features.h\0";
2900  *  Machine/OS name selection pattern
2901  */
2902 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
2905  *  content selection pattern - do fix if pattern found
2906  */
2907 tSCC zGlibc_C99_Inline_1aSelect0[] =
2908        "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
2909 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
2911 #define    GLIBC_C99_INLINE_1A_TEST_CT  1
2912 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
2913   { TT_EGREP,    zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
2916  *  Fix Command Arguments for Glibc_C99_Inline_1a
2917  */
2918 static const char* apzGlibc_C99_Inline_1aPatch[] = {
2919     "format",
2920     "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
2921 %2",
2922     (char*)NULL };
2924 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2926  *  Description of Glibc_C99_Inline_2 fix
2927  */
2928 tSCC zGlibc_C99_Inline_2Name[] =
2929      "glibc_c99_inline_2";
2932  *  File name selection pattern
2933  */
2934 tSCC zGlibc_C99_Inline_2List[] =
2935   "sys/stat.h\0*/sys/stat.h\0";
2937  *  Machine/OS name selection pattern
2938  */
2939 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
2942  *  content selection pattern - do fix if pattern found
2943  */
2944 tSCC zGlibc_C99_Inline_2Select0[] =
2945        "extern __inline__ int";
2947 #define    GLIBC_C99_INLINE_2_TEST_CT  1
2948 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
2949   { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
2952  *  Fix Command Arguments for Glibc_C99_Inline_2
2953  */
2954 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
2955     "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2956 extern\\\n\
2957 #endif\\\n\
2958 __inline__ int \\1/",
2959     "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2960 extern\\\n\
2961 #endif\\\n\
2962 __inline__ int \\1/",
2963     "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2964 extern\\\n\
2965 #endif\\\n\
2966 __inline__ int \\1/",
2967     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2968 extern\\\n\
2969 #endif\\\n\
2970 __inline__ int __REDIRECT\\1 (\\2/",
2971     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2972 extern\\\n\
2973 #endif\\\n\
2974 __inline__ int __REDIRECT\\1 (\\2/",
2975     "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
2976 extern\\\n\
2977 #endif\\\n\
2978 __inline__ int/",
2979     (char*)NULL };
2981 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2983  *  Description of Glibc_C99_Inline_3 fix
2984  */
2985 tSCC zGlibc_C99_Inline_3Name[] =
2986      "glibc_c99_inline_3";
2989  *  File name selection pattern
2990  */
2991 tSCC zGlibc_C99_Inline_3List[] =
2992   "bits/string2.h\0*/bits/string2.h\0";
2994  *  Machine/OS name selection pattern
2995  */
2996 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
2999  *  content selection pattern - do fix if pattern found
3000  */
3001 tSCC zGlibc_C99_Inline_3Select0[] =
3002        "extern __inline";
3005  *  content bypass pattern - skip fix if pattern found
3006  */
3007 tSCC zGlibc_C99_Inline_3Bypass0[] =
3008        "__extern_inline|__GNU_STDC_INLINE__";
3010 #define    GLIBC_C99_INLINE_3_TEST_CT  2
3011 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
3012   { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
3013   { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
3016  *  Fix Command Arguments for Glibc_C99_Inline_3
3017  */
3018 static const char* apzGlibc_C99_Inline_3Patch[] = {
3019     "format",
3020     "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
3021     "^# ifdef __cplusplus$",
3022     (char*)NULL };
3024 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3026  *  Description of Glibc_C99_Inline_4 fix
3027  */
3028 tSCC zGlibc_C99_Inline_4Name[] =
3029      "glibc_c99_inline_4";
3032  *  File name selection pattern
3033  */
3034 tSCC zGlibc_C99_Inline_4List[] =
3035   "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0";
3037  *  Machine/OS name selection pattern
3038  */
3039 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
3042  *  content selection pattern - do fix if pattern found
3043  */
3044 tSCC zGlibc_C99_Inline_4Select0[] =
3045        "(^| )extern __inline";
3048  *  content bypass pattern - skip fix if pattern found
3049  */
3050 tSCC zGlibc_C99_Inline_4Bypass0[] =
3051        "__extern_inline|__gnu_inline__";
3053 #define    GLIBC_C99_INLINE_4_TEST_CT  2
3054 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
3055   { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
3056   { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
3059  *  Fix Command Arguments for Glibc_C99_Inline_4
3060  */
3061 static const char* apzGlibc_C99_Inline_4Patch[] = {
3062     "format",
3063     "%0 __attribute__ ((__gnu_inline__))",
3064     (char*)NULL };
3066 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3068  *  Description of Glibc_Mutex_Init fix
3069  */
3070 tSCC zGlibc_Mutex_InitName[] =
3071      "glibc_mutex_init";
3074  *  File name selection pattern
3075  */
3076 tSCC zGlibc_Mutex_InitList[] =
3077   "pthread.h\0";
3079  *  Machine/OS name selection pattern
3080  */
3081 #define apzGlibc_Mutex_InitMachs (const char**)NULL
3084  *  content selection pattern - do fix if pattern found
3085  */
3086 tSCC zGlibc_Mutex_InitSelect0[] =
3087        "\\{ *\\{ *0, *\\} *\\}";
3089 #define    GLIBC_MUTEX_INIT_TEST_CT  1
3090 static tTestDesc aGlibc_Mutex_InitTests[] = {
3091   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
3094  *  Fix Command Arguments for Glibc_Mutex_Init
3095  */
3096 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
3097     "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
3098 N\n\
3099 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
3101     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
3102     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
3103     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
3104     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3105     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
3106     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3107     "-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\
3108 #  \\1\\\n\
3109   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3110 # else\\\n\
3111 #  \\1\\\n\
3112   { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3113 # endif/",
3114     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
3115     "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
3116     (char*)NULL };
3118 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3120  *  Description of Glibc_Stdint fix
3121  */
3122 tSCC zGlibc_StdintName[] =
3123      "glibc_stdint";
3126  *  File name selection pattern
3127  */
3128 tSCC zGlibc_StdintList[] =
3129   "stdint.h\0";
3131  *  Machine/OS name selection pattern
3132  */
3133 #define apzGlibc_StdintMachs (const char**)NULL
3136  *  content selection pattern - do fix if pattern found
3137  */
3138 tSCC zGlibc_StdintSelect0[] =
3139        "GNU C Library";
3141 #define    GLIBC_STDINT_TEST_CT  1
3142 static tTestDesc aGlibc_StdintTests[] = {
3143   { TT_EGREP,    zGlibc_StdintSelect0, (regex_t*)NULL }, };
3146  *  Fix Command Arguments for Glibc_Stdint
3147  */
3148 static const char* apzGlibc_StdintPatch[] = {
3149     "format",
3150     "# define UINT8_C(c)\tc\n\
3151 # define UINT16_C(c)\tc",
3152     "# define UINT8_C\\(c\\)\tc ## U\n\
3153 # define UINT16_C\\(c\\)\tc ## U",
3154     (char*)NULL };
3156 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3158  *  Description of Glibc_Strncpy fix
3159  */
3160 tSCC zGlibc_StrncpyName[] =
3161      "glibc_strncpy";
3164  *  File name selection pattern
3165  */
3166 tSCC zGlibc_StrncpyList[] =
3167   "bits/string2.h\0";
3169  *  Machine/OS name selection pattern
3170  */
3171 #define apzGlibc_StrncpyMachs (const char**)NULL
3174  *  content bypass pattern - skip fix if pattern found
3175  */
3176 tSCC zGlibc_StrncpyBypass0[] =
3177        "__builtin_strncpy";
3179 #define    GLIBC_STRNCPY_TEST_CT  1
3180 static tTestDesc aGlibc_StrncpyTests[] = {
3181   { TT_NEGREP,   zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
3184  *  Fix Command Arguments for Glibc_Strncpy
3185  */
3186 static const char* apzGlibc_StrncpyPatch[] = {
3187     "format",
3188     "#  define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
3189     "#  define strncpy([^\n\
3190 ]*\\\\\n\
3191 )*[^\n\
3192 ]*",
3193     (char*)NULL };
3195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3197  *  Description of Glibc_Tgmath fix
3198  */
3199 tSCC zGlibc_TgmathName[] =
3200      "glibc_tgmath";
3203  *  File name selection pattern
3204  */
3205 tSCC zGlibc_TgmathList[] =
3206   "tgmath.h\0";
3208  *  Machine/OS name selection pattern
3209  */
3210 #define apzGlibc_TgmathMachs (const char**)NULL
3213  *  content selection pattern - do fix if pattern found
3214  */
3215 tSCC zGlibc_TgmathSelect0[] =
3216        "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
3219  *  content bypass pattern - skip fix if pattern found
3220  */
3221 tSCC zGlibc_TgmathBypass0[] =
3222        "__floating_type\\(type\\) \\\\\n\
3223 .*__builtin_classify_type";
3225 #define    GLIBC_TGMATH_TEST_CT  2
3226 static tTestDesc aGlibc_TgmathTests[] = {
3227   { TT_NEGREP,   zGlibc_TgmathBypass0, (regex_t*)NULL },
3228   { TT_EGREP,    zGlibc_TgmathSelect0, (regex_t*)NULL }, };
3231  *  Fix Command Arguments for Glibc_Tgmath
3232  */
3233 static const char* apzGlibc_TgmathPatch[] = {
3234     "format",
3235     "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
3236     (char*)NULL };
3238 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3240  *  Description of Gnu_Types fix
3241  */
3242 tSCC zGnu_TypesName[] =
3243      "gnu_types";
3246  *  File name selection pattern
3247  */
3248 tSCC zGnu_TypesList[] =
3249   "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
3251  *  Machine/OS name selection pattern
3252  */
3253 tSCC* apzGnu_TypesMachs[] = {
3254         "*-*-solaris2.1[0-9]*",
3255         (const char*)NULL };
3258  *  content selection pattern - do fix if pattern found
3259  */
3260 tSCC zGnu_TypesSelect0[] =
3261        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
3264  *  content bypass pattern - skip fix if pattern found
3265  */
3266 tSCC zGnu_TypesBypass0[] =
3267        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
3269 #define    GNU_TYPES_TEST_CT  2
3270 static tTestDesc aGnu_TypesTests[] = {
3271   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
3272   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
3275  *  Fix Command Arguments for Gnu_Types
3276  */
3277 static const char* apzGnu_TypesPatch[] = {
3278     "gnu_type",
3279     (char*)NULL };
3281 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3283  *  Description of Hp_Inline fix
3284  */
3285 tSCC zHp_InlineName[] =
3286      "hp_inline";
3289  *  File name selection pattern
3290  */
3291 tSCC zHp_InlineList[] =
3292   "sys/spinlock.h\0machine/machparam.h\0";
3294  *  Machine/OS name selection pattern
3295  */
3296 #define apzHp_InlineMachs (const char**)NULL
3299  *  content selection pattern - do fix if pattern found
3300  */
3301 tSCC zHp_InlineSelect0[] =
3302        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
3304 #define    HP_INLINE_TEST_CT  1
3305 static tTestDesc aHp_InlineTests[] = {
3306   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
3309  *  Fix Command Arguments for Hp_Inline
3310  */
3311 static const char* apzHp_InlinePatch[] = {
3312     "format",
3313     "%1<machine/%2.h>",
3314     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
3315     (char*)NULL };
3317 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3319  *  Description of Hp_Sysfile fix
3320  */
3321 tSCC zHp_SysfileName[] =
3322      "hp_sysfile";
3325  *  File name selection pattern
3326  */
3327 tSCC zHp_SysfileList[] =
3328   "sys/file.h\0";
3330  *  Machine/OS name selection pattern
3331  */
3332 #define apzHp_SysfileMachs (const char**)NULL
3335  *  content selection pattern - do fix if pattern found
3336  */
3337 tSCC zHp_SysfileSelect0[] =
3338        "HPUX_SOURCE";
3340 #define    HP_SYSFILE_TEST_CT  1
3341 static tTestDesc aHp_SysfileTests[] = {
3342   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
3345  *  Fix Command Arguments for Hp_Sysfile
3346  */
3347 static const char* apzHp_SysfilePatch[] = {
3348     "format",
3349     "(struct file *, ...)",
3350     "\\(\\.\\.\\.\\)",
3351     (char*)NULL };
3353 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3355  *  Description of Hppa_Hpux_Fp_Macros fix
3356  */
3357 tSCC zHppa_Hpux_Fp_MacrosName[] =
3358      "hppa_hpux_fp_macros";
3361  *  File name selection pattern
3362  */
3363 tSCC zHppa_Hpux_Fp_MacrosList[] =
3364   "math.h\0";
3366  *  Machine/OS name selection pattern
3367  */
3368 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
3369         "hppa*-hp-hpux11*",
3370         (const char*)NULL };
3373  *  content selection pattern - do fix if pattern found
3374  */
3375 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
3376        "#[ \t]*define[ \t]*FP_NORMAL.*\n\
3377 #[ \t]*define[ \t]*FP_ZERO.*\n\
3378 #[ \t]*define[ \t]*FP_INFINITE.*\n\
3379 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
3380 #[ \t]*define[ \t]*FP_NAN.*\n";
3382 #define    HPPA_HPUX_FP_MACROS_TEST_CT  1
3383 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
3384   { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
3387  *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
3388  */
3389 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
3390     "format",
3391     "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
3392 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
3393    (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
3394 %0#endif\n\n\
3395 #ifdef _INCLUDE_HPUX_SOURCE\n",
3396     (char*)NULL };
3398 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3400  *  Description of Hpux10_Cpp_Pow_Inline fix
3401  */
3402 tSCC zHpux10_Cpp_Pow_InlineName[] =
3403      "hpux10_cpp_pow_inline";
3406  *  File name selection pattern
3407  */
3408 tSCC zHpux10_Cpp_Pow_InlineList[] =
3409   "fixinc-test-limits.h\0math.h\0";
3411  *  Machine/OS name selection pattern
3412  */
3413 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
3416  *  content selection pattern - do fix if pattern found
3417  */
3418 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
3419        "^# +ifdef +__cplusplus\n\
3420  +\\}\n\
3421  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
3422 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
3423  +\\}\n\
3424  +extern +\"C\" +\\{\n\
3425 #else\n\
3426 # +endif";
3428 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
3429 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
3430   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3433  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
3434  */
3435 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
3436     "format",
3437     "",
3438     (char*)NULL };
3440 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3442  *  Description of Hpux11_Cpp_Pow_Inline fix
3443  */
3444 tSCC zHpux11_Cpp_Pow_InlineName[] =
3445      "hpux11_cpp_pow_inline";
3448  *  File name selection pattern
3449  */
3450 tSCC zHpux11_Cpp_Pow_InlineList[] =
3451   "math.h\0";
3453  *  Machine/OS name selection pattern
3454  */
3455 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
3458  *  content selection pattern - do fix if pattern found
3459  */
3460 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
3461        " +inline double pow\\(double d,int expon\\) \\{\n\
3462  +return pow\\(d, \\(double\\)expon\\);\n\
3463  +\\}\n";
3465 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
3466 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
3467   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3470  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
3471  */
3472 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
3473     "format",
3474     "",
3475     (char*)NULL };
3477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3479  *  Description of Hpux10_Ctype_Declarations1 fix
3480  */
3481 tSCC zHpux10_Ctype_Declarations1Name[] =
3482      "hpux10_ctype_declarations1";
3485  *  File name selection pattern
3486  */
3487 tSCC zHpux10_Ctype_Declarations1List[] =
3488   "ctype.h\0";
3490  *  Machine/OS name selection pattern
3491  */
3492 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
3495  *  content selection pattern - do fix if pattern found
3496  */
3497 tSCC zHpux10_Ctype_Declarations1Select0[] =
3498        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
3501  *  content bypass pattern - skip fix if pattern found
3502  */
3503 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
3504        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
3506 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
3507 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
3508   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
3509   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
3512  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
3513  */
3514 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
3515     "format",
3516     "#ifdef _PROTOTYPES\n\
3517 extern int __tolower(int);\n\
3518 extern int __toupper(int);\n\
3519 #else /* NOT _PROTOTYPES */\n\
3520 extern int __tolower();\n\
3521 extern int __toupper();\n\
3522 #endif /* _PROTOTYPES */\n\n\
3523 %0\n",
3524     (char*)NULL };
3526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *  Description of Hpux10_Ctype_Declarations2 fix
3529  */
3530 tSCC zHpux10_Ctype_Declarations2Name[] =
3531      "hpux10_ctype_declarations2";
3534  *  File name selection pattern
3535  */
3536 tSCC zHpux10_Ctype_Declarations2List[] =
3537   "ctype.h\0";
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zHpux10_Ctype_Declarations2Select0[] =
3547        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
3550  *  content bypass pattern - skip fix if pattern found
3551  */
3552 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
3553        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
3555 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
3556 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
3557   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
3558   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
3561  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
3562  */
3563 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
3564     "format",
3565     "%0\n\n\
3566 #ifdef _PROTOTYPES\n\
3567      extern int _isalnum(int);\n\
3568      extern int _isalpha(int);\n\
3569      extern int _iscntrl(int);\n\
3570      extern int _isdigit(int);\n\
3571      extern int _isgraph(int);\n\
3572      extern int _islower(int);\n\
3573      extern int _isprint(int);\n\
3574      extern int _ispunct(int);\n\
3575      extern int _isspace(int);\n\
3576      extern int _isupper(int);\n\
3577      extern int _isxdigit(int);\n\
3578 #  else /* not _PROTOTYPES */\n\
3579      extern int _isalnum();\n\
3580      extern int _isalpha();\n\
3581      extern int _iscntrl();\n\
3582      extern int _isdigit();\n\
3583      extern int _isgraph();\n\
3584      extern int _islower();\n\
3585      extern int _isprint();\n\
3586      extern int _ispunct();\n\
3587      extern int _isspace();\n\
3588      extern int _isupper();\n\
3589      extern int _isxdigit();\n\
3590 #endif /* _PROTOTYPES */\n",
3591     (char*)NULL };
3593 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3595  *  Description of Hpux10_Stdio_Declarations fix
3596  */
3597 tSCC zHpux10_Stdio_DeclarationsName[] =
3598      "hpux10_stdio_declarations";
3601  *  File name selection pattern
3602  */
3603 tSCC zHpux10_Stdio_DeclarationsList[] =
3604   "stdio.h\0";
3606  *  Machine/OS name selection pattern
3607  */
3608 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
3611  *  content selection pattern - do fix if pattern found
3612  */
3613 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
3614        "^#[ \t]*define _iob[ \t]*__iob";
3617  *  content bypass pattern - skip fix if pattern found
3618  */
3619 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
3620        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
3622 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
3623 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
3624   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
3625   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
3628  *  Fix Command Arguments for Hpux10_Stdio_Declarations
3629  */
3630 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
3631     "format",
3632     "%0\n\n\
3633 #  if defined(__STDC__) || defined(__cplusplus)\n\
3634      extern int snprintf(char *, size_t, const char *, ...);\n\
3635      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
3636 #  else /* not __STDC__) || __cplusplus */\n\
3637      extern int snprintf();\n\
3638      extern int vsnprintf();\n\
3639 #  endif /* __STDC__) || __cplusplus */\n",
3640     (char*)NULL };
3642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3644  *  Description of Hpux11_Abs fix
3645  */
3646 tSCC zHpux11_AbsName[] =
3647      "hpux11_abs";
3650  *  File name selection pattern
3651  */
3652 tSCC zHpux11_AbsList[] =
3653   "stdlib.h\0";
3655  *  Machine/OS name selection pattern
3656  */
3657 tSCC* apzHpux11_AbsMachs[] = {
3658         "*-hp-hpux11*",
3659         (const char*)NULL };
3662  *  content selection pattern - do fix if pattern found
3663  */
3664 tSCC zHpux11_AbsSelect0[] =
3665        "ifndef _MATH_INCLUDED";
3667 #define    HPUX11_ABS_TEST_CT  1
3668 static tTestDesc aHpux11_AbsTests[] = {
3669   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
3672  *  Fix Command Arguments for Hpux11_Abs
3673  */
3674 static const char* apzHpux11_AbsPatch[] = {
3675     "format",
3676     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
3677     (char*)NULL };
3679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3681  *  Description of Hpux11_Fabsf fix
3682  */
3683 tSCC zHpux11_FabsfName[] =
3684      "hpux11_fabsf";
3687  *  File name selection pattern
3688  */
3689 tSCC zHpux11_FabsfList[] =
3690   "math.h\0";
3692  *  Machine/OS name selection pattern
3693  */
3694 #define apzHpux11_FabsfMachs (const char**)NULL
3697  *  content selection pattern - do fix if pattern found
3698  */
3699 tSCC zHpux11_FabsfSelect0[] =
3700        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
3703  *  content bypass pattern - skip fix if pattern found
3704  */
3705 tSCC zHpux11_FabsfBypass0[] =
3706        "__cplusplus";
3708 #define    HPUX11_FABSF_TEST_CT  2
3709 static tTestDesc aHpux11_FabsfTests[] = {
3710   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
3711   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
3714  *  Fix Command Arguments for Hpux11_Fabsf
3715  */
3716 static const char* apzHpux11_FabsfPatch[] = {
3717     "format",
3718     "#ifndef __cplusplus\n\
3719 %0\n\
3720 #endif",
3721     (char*)NULL };
3723 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3725  *  Description of Hpux11_Pthread_Const fix
3726  */
3727 tSCC zHpux11_Pthread_ConstName[] =
3728      "hpux11_pthread_const";
3731  *  File name selection pattern
3732  */
3733 tSCC zHpux11_Pthread_ConstList[] =
3734   "sys/pthread.h\0";
3736  *  Machine/OS name selection pattern
3737  */
3738 tSCC* apzHpux11_Pthread_ConstMachs[] = {
3739         "*-hp-hpux11.[0-3]*",
3740         (const char*)NULL };
3743  *  content selection pattern - do fix if pattern found
3744  */
3745 tSCC zHpux11_Pthread_ConstSelect0[] =
3746        "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
3748 #define    HPUX11_PTHREAD_CONST_TEST_CT  1
3749 static tTestDesc aHpux11_Pthread_ConstTests[] = {
3750   { TT_EGREP,    zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
3753  *  Fix Command Arguments for Hpux11_Pthread_Const
3754  */
3755 static const char* apzHpux11_Pthread_ConstPatch[] = {
3756     "format",
3757     "#define __POINTER_SET\t\t((void *) 1L)",
3758     (char*)NULL };
3760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3762  *  Description of Hpux11_Size_T fix
3763  */
3764 tSCC zHpux11_Size_TName[] =
3765      "hpux11_size_t";
3768  *  File name selection pattern
3769  */
3770 #define zHpux11_Size_TList (char*)NULL
3772  *  Machine/OS name selection pattern
3773  */
3774 tSCC* apzHpux11_Size_TMachs[] = {
3775         "*-hp-hpux11*",
3776         (const char*)NULL };
3779  *  content selection pattern - do fix if pattern found
3780  */
3781 tSCC zHpux11_Size_TSelect0[] =
3782        "__size_t";
3784 #define    HPUX11_SIZE_T_TEST_CT  1
3785 static tTestDesc aHpux11_Size_TTests[] = {
3786   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
3789  *  Fix Command Arguments for Hpux11_Size_T
3790  */
3791 static const char* apzHpux11_Size_TPatch[] = {
3792     "format",
3793     "_hpux_size_t",
3794     (char*)NULL };
3796 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3798  *  Description of Hpux11_Snprintf fix
3799  */
3800 tSCC zHpux11_SnprintfName[] =
3801      "hpux11_snprintf";
3804  *  File name selection pattern
3805  */
3806 tSCC zHpux11_SnprintfList[] =
3807   "stdio.h\0";
3809  *  Machine/OS name selection pattern
3810  */
3811 #define apzHpux11_SnprintfMachs (const char**)NULL
3814  *  content selection pattern - do fix if pattern found
3815  */
3816 tSCC zHpux11_SnprintfSelect0[] =
3817        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
3819 #define    HPUX11_SNPRINTF_TEST_CT  1
3820 static tTestDesc aHpux11_SnprintfTests[] = {
3821   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
3824  *  Fix Command Arguments for Hpux11_Snprintf
3825  */
3826 static const char* apzHpux11_SnprintfPatch[] = {
3827     "format",
3828     "%1 const %3",
3829     (char*)NULL };
3831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3833  *  Description of Hpux11_Vsnprintf fix
3834  */
3835 tSCC zHpux11_VsnprintfName[] =
3836      "hpux11_vsnprintf";
3839  *  File name selection pattern
3840  */
3841 tSCC zHpux11_VsnprintfList[] =
3842   "stdio.h\0";
3844  *  Machine/OS name selection pattern
3845  */
3846 #define apzHpux11_VsnprintfMachs (const char**)NULL
3849  *  content selection pattern - do fix if pattern found
3850  */
3851 tSCC zHpux11_VsnprintfSelect0[] =
3852        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
3854 #define    HPUX11_VSNPRINTF_TEST_CT  1
3855 static tTestDesc aHpux11_VsnprintfTests[] = {
3856   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
3859  *  Fix Command Arguments for Hpux11_Vsnprintf
3860  */
3861 static const char* apzHpux11_VsnprintfPatch[] = {
3862     "format",
3863     "%1 __va_list);",
3864     (char*)NULL };
3866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3868  *  Description of Hpux8_Bogus_Inlines fix
3869  */
3870 tSCC zHpux8_Bogus_InlinesName[] =
3871      "hpux8_bogus_inlines";
3874  *  File name selection pattern
3875  */
3876 tSCC zHpux8_Bogus_InlinesList[] =
3877   "math.h\0";
3879  *  Machine/OS name selection pattern
3880  */
3881 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
3884  *  content selection pattern - do fix if pattern found
3885  */
3886 tSCC zHpux8_Bogus_InlinesSelect0[] =
3887        "inline";
3890  *  content bypass pattern - skip fix if pattern found
3891  */
3892 tSCC zHpux8_Bogus_InlinesBypass0[] =
3893        "__GNUG__";
3895 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
3896 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
3897   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
3898   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
3901  *  Fix Command Arguments for Hpux8_Bogus_Inlines
3902  */
3903 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
3904     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
3905     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
3906     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
3907     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
3908     (char*)NULL };
3910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3912  *  Description of Hpux_Ctype_Macros fix
3913  */
3914 tSCC zHpux_Ctype_MacrosName[] =
3915      "hpux_ctype_macros";
3918  *  File name selection pattern
3919  */
3920 tSCC zHpux_Ctype_MacrosList[] =
3921   "ctype.h\0";
3923  *  Machine/OS name selection pattern
3924  */
3925 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
3928  *  content selection pattern - do fix if pattern found
3929  */
3930 tSCC zHpux_Ctype_MacrosSelect0[] =
3931        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
3933 #define    HPUX_CTYPE_MACROS_TEST_CT  1
3934 static tTestDesc aHpux_Ctype_MacrosTests[] = {
3935   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
3938  *  Fix Command Arguments for Hpux_Ctype_Macros
3939  */
3940 static const char* apzHpux_Ctype_MacrosPatch[] = {
3941     "format",
3942     "%1(int)%3",
3943     (char*)NULL };
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3947  *  Description of Hpux_Htonl fix
3948  */
3949 tSCC zHpux_HtonlName[] =
3950      "hpux_htonl";
3953  *  File name selection pattern
3954  */
3955 tSCC zHpux_HtonlList[] =
3956   "netinet/in.h\0";
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzHpux_HtonlMachs (const char**)NULL
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zHpux_HtonlSelect0[] =
3966        "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
3967 (/\\*\n\
3968  \\* Macros for number representation conversion\\.\n\
3969  \\*/\n\
3970 #ifndef ntohl)";
3972 #define    HPUX_HTONL_TEST_CT  1
3973 static tTestDesc aHpux_HtonlTests[] = {
3974   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
3977  *  Fix Command Arguments for Hpux_Htonl
3978  */
3979 static const char* apzHpux_HtonlPatch[] = {
3980     "format",
3981     "#if 1\n\
3982 %1",
3983     (char*)NULL };
3985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3987  *  Description of Hpux_Long_Double fix
3988  */
3989 tSCC zHpux_Long_DoubleName[] =
3990      "hpux_long_double";
3993  *  File name selection pattern
3994  */
3995 tSCC zHpux_Long_DoubleList[] =
3996   "stdlib.h\0";
3998  *  Machine/OS name selection pattern
3999  */
4000 tSCC* apzHpux_Long_DoubleMachs[] = {
4001         "*-*-hpux10*",
4002         "*-*-hpux11.[012]*",
4003         (const char*)NULL };
4006  *  content selection pattern - do fix if pattern found
4007  */
4008 tSCC zHpux_Long_DoubleSelect0[] =
4009        "extern[ \t]long_double[ \t]strtold";
4012  *  content bypass pattern - skip fix if pattern found
4013  */
4014 tSCC zHpux_Long_DoubleBypass0[] =
4015        "long_double_t";
4017 #define    HPUX_LONG_DOUBLE_TEST_CT  2
4018 static tTestDesc aHpux_Long_DoubleTests[] = {
4019   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
4020   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
4023  *  Fix Command Arguments for Hpux_Long_Double
4024  */
4025 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
4026     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
4027     "-e", "s/long_double/long double/g",
4028     (char*)NULL };
4030 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4032  *  Description of Hpux_Long_Double_2 fix
4033  */
4034 tSCC zHpux_Long_Double_2Name[] =
4035      "hpux_long_double_2";
4038  *  File name selection pattern
4039  */
4040 tSCC zHpux_Long_Double_2List[] =
4041   "stdlib.h\0";
4043  *  Machine/OS name selection pattern
4044  */
4045 tSCC* apzHpux_Long_Double_2Machs[] = {
4046         "hppa*-*-hpux11.3*",
4047         (const char*)NULL };
4050  *  content selection pattern - do fix if pattern found
4051  */
4052 tSCC zHpux_Long_Double_2Select0[] =
4053        "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
4055 #define    HPUX_LONG_DOUBLE_2_TEST_CT  1
4056 static tTestDesc aHpux_Long_Double_2Tests[] = {
4057   { TT_EGREP,    zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
4060  *  Fix Command Arguments for Hpux_Long_Double_2
4061  */
4062 static const char* apzHpux_Long_Double_2Patch[] = {
4063     "format",
4064     "#  if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
4065     (char*)NULL };
4067 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4069  *  Description of Hpux_Systime fix
4070  */
4071 tSCC zHpux_SystimeName[] =
4072      "hpux_systime";
4075  *  File name selection pattern
4076  */
4077 tSCC zHpux_SystimeList[] =
4078   "sys/time.h\0";
4080  *  Machine/OS name selection pattern
4081  */
4082 #define apzHpux_SystimeMachs (const char**)NULL
4085  *  content selection pattern - do fix if pattern found
4086  */
4087 tSCC zHpux_SystimeSelect0[] =
4088        "^extern struct sigevent;";
4090 #define    HPUX_SYSTIME_TEST_CT  1
4091 static tTestDesc aHpux_SystimeTests[] = {
4092   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
4095  *  Fix Command Arguments for Hpux_Systime
4096  */
4097 static const char* apzHpux_SystimePatch[] = {
4098     "format",
4099     "struct sigevent;",
4100     (char*)NULL };
4102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4104  *  Description of Hpux_Spu_Info fix
4105  */
4106 tSCC zHpux_Spu_InfoName[] =
4107      "hpux_spu_info";
4110  *  File name selection pattern
4111  */
4112 tSCC zHpux_Spu_InfoList[] =
4113   "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
4115  *  Machine/OS name selection pattern
4116  */
4117 tSCC* apzHpux_Spu_InfoMachs[] = {
4118         "*-hp-hpux*",
4119         (const char*)NULL };
4122  *  content selection pattern - do fix if pattern found
4123  */
4124 tSCC zHpux_Spu_InfoSelect0[] =
4125        "^.*extern.*spu_info.*";
4127 #define    HPUX_SPU_INFO_TEST_CT  1
4128 static tTestDesc aHpux_Spu_InfoTests[] = {
4129   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
4132  *  Fix Command Arguments for Hpux_Spu_Info
4133  */
4134 static const char* apzHpux_Spu_InfoPatch[] = {
4135     "format",
4136     "#ifdef _KERNEL\n\
4137 %0\n\
4138 #endif",
4139     (char*)NULL };
4141 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4143  *  Description of Hpux11_Extern_Sendfile fix
4144  */
4145 tSCC zHpux11_Extern_SendfileName[] =
4146      "hpux11_extern_sendfile";
4149  *  File name selection pattern
4150  */
4151 tSCC zHpux11_Extern_SendfileList[] =
4152   "sys/socket.h\0";
4154  *  Machine/OS name selection pattern
4155  */
4156 tSCC* apzHpux11_Extern_SendfileMachs[] = {
4157         "*-hp-hpux11.[12]*",
4158         (const char*)NULL };
4161  *  content selection pattern - do fix if pattern found
4162  */
4163 tSCC zHpux11_Extern_SendfileSelect0[] =
4164        "^[ \t]*extern sbsize_t sendfile.*\n\
4165 .*, int\\)\\);\n";
4167 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
4168 static tTestDesc aHpux11_Extern_SendfileTests[] = {
4169   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
4172  *  Fix Command Arguments for Hpux11_Extern_Sendfile
4173  */
4174 static const char* apzHpux11_Extern_SendfilePatch[] = {
4175     "format",
4176     "#ifndef _APP32_64BIT_OFF_T\n\
4177 %0#endif\n",
4178     (char*)NULL };
4180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4182  *  Description of Hpux11_Extern_Sendpath fix
4183  */
4184 tSCC zHpux11_Extern_SendpathName[] =
4185      "hpux11_extern_sendpath";
4188  *  File name selection pattern
4189  */
4190 tSCC zHpux11_Extern_SendpathList[] =
4191   "sys/socket.h\0";
4193  *  Machine/OS name selection pattern
4194  */
4195 tSCC* apzHpux11_Extern_SendpathMachs[] = {
4196         "*-hp-hpux11.[12]*",
4197         (const char*)NULL };
4200  *  content selection pattern - do fix if pattern found
4201  */
4202 tSCC zHpux11_Extern_SendpathSelect0[] =
4203        "^[ \t]*extern sbsize_t sendpath.*\n\
4204 .*, int\\)\\);\n";
4206 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
4207 static tTestDesc aHpux11_Extern_SendpathTests[] = {
4208   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
4211  *  Fix Command Arguments for Hpux11_Extern_Sendpath
4212  */
4213 static const char* apzHpux11_Extern_SendpathPatch[] = {
4214     "format",
4215     "#ifndef _APP32_64BIT_OFF_T\n\
4216 %0#endif\n",
4217     (char*)NULL };
4219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4221  *  Description of Hpux_Extern_Errno fix
4222  */
4223 tSCC zHpux_Extern_ErrnoName[] =
4224      "hpux_extern_errno";
4227  *  File name selection pattern
4228  */
4229 tSCC zHpux_Extern_ErrnoList[] =
4230   "errno.h\0";
4232  *  Machine/OS name selection pattern
4233  */
4234 tSCC* apzHpux_Extern_ErrnoMachs[] = {
4235         "*-hp-hpux10.*",
4236         "*-hp-hpux11.[0-2]*",
4237         (const char*)NULL };
4240  *  content selection pattern - do fix if pattern found
4241  */
4242 tSCC zHpux_Extern_ErrnoSelect0[] =
4243        "^[ \t]*extern int errno;$";
4245 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
4246 static tTestDesc aHpux_Extern_ErrnoTests[] = {
4247   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
4250  *  Fix Command Arguments for Hpux_Extern_Errno
4251  */
4252 static const char* apzHpux_Extern_ErrnoPatch[] = {
4253     "format",
4254     "#ifdef __cplusplus\n\
4255 extern \"C\" {\n\
4256 #endif\n\
4257 %0\n\
4258 #ifdef __cplusplus\n\
4259 }\n\
4260 #endif",
4261     (char*)NULL };
4263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4265  *  Description of Hpux_Pthread_Initializers fix
4266  */
4267 tSCC zHpux_Pthread_InitializersName[] =
4268      "hpux_pthread_initializers";
4271  *  File name selection pattern
4272  */
4273 tSCC zHpux_Pthread_InitializersList[] =
4274   "sys/pthread.h\0";
4276  *  Machine/OS name selection pattern
4277  */
4278 tSCC* apzHpux_Pthread_InitializersMachs[] = {
4279         "*-hp-hpux11.[0-3]*",
4280         (const char*)NULL };
4281 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
4282 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
4285  *  Fix Command Arguments for Hpux_Pthread_Initializers
4286  */
4287 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
4288     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
4289     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
4290     "-e", "/^[ \t]*0$/d",
4291     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
4292     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
4293     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
4294     "-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\\\\@",
4295     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
4296     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
4297     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
4298     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
4299     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
4300     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
4301     (char*)NULL };
4303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4305  *  Description of Hpux_C99_Intptr fix
4306  */
4307 tSCC zHpux_C99_IntptrName[] =
4308      "hpux_c99_intptr";
4311  *  File name selection pattern
4312  */
4313 tSCC zHpux_C99_IntptrList[] =
4314   "stdint-hpux11.h\0stdint.h\0";
4316  *  Machine/OS name selection pattern
4317  */
4318 tSCC* apzHpux_C99_IntptrMachs[] = {
4319         "*-hp-hpux11.3*",
4320         (const char*)NULL };
4321 #define HPUX_C99_INTPTR_TEST_CT  0
4322 #define aHpux_C99_IntptrTests   (tTestDesc*)NULL
4325  *  Fix Command Arguments for Hpux_C99_Intptr
4326  */
4327 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
4328     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
4329     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
4330     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
4331     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
4332     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
4333     "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
4334     (char*)NULL };
4336 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4338  *  Description of Hpux_C99_Inttypes fix
4339  */
4340 tSCC zHpux_C99_InttypesName[] =
4341      "hpux_c99_inttypes";
4344  *  File name selection pattern
4345  */
4346 tSCC zHpux_C99_InttypesList[] =
4347   "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4349  *  Machine/OS name selection pattern
4350  */
4351 tSCC* apzHpux_C99_InttypesMachs[] = {
4352         "*-hp-hpux11.[23]*",
4353         (const char*)NULL };
4354 #define HPUX_C99_INTTYPES_TEST_CT  0
4355 #define aHpux_C99_InttypesTests   (tTestDesc*)NULL
4358  *  Fix Command Arguments for Hpux_C99_Inttypes
4359  */
4360 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4361     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4362     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4363     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4364     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4365     (char*)NULL };
4367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4369  *  Description of Hpux_C99_Inttypes2 fix
4370  */
4371 tSCC zHpux_C99_Inttypes2Name[] =
4372      "hpux_c99_inttypes2";
4375  *  File name selection pattern
4376  */
4377 tSCC zHpux_C99_Inttypes2List[] =
4378   "stdint-hpux11.h\0stdint.h\0";
4380  *  Machine/OS name selection pattern
4381  */
4382 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4383         "*-hp-hpux11.2*",
4384         (const char*)NULL };
4385 #define HPUX_C99_INTTYPES2_TEST_CT  0
4386 #define aHpux_C99_Inttypes2Tests   (tTestDesc*)NULL
4389  *  Fix Command Arguments for Hpux_C99_Inttypes2
4390  */
4391 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4392     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4393     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4394     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4395     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4396     (char*)NULL };
4398 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4400  *  Description of Hpux_Stdint_Least_Fast fix
4401  */
4402 tSCC zHpux_Stdint_Least_FastName[] =
4403      "hpux_stdint_least_fast";
4406  *  File name selection pattern
4407  */
4408 tSCC zHpux_Stdint_Least_FastList[] =
4409   "stdint-hpux11.h\0stdint.h\0";
4411  *  Machine/OS name selection pattern
4412  */
4413 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
4414         "*-hp-hpux11.2*",
4415         (const char*)NULL };
4418  *  content selection pattern - do fix if pattern found
4419  */
4420 tSCC zHpux_Stdint_Least_FastSelect0[] =
4421        "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
4423 #define    HPUX_STDINT_LEAST_FAST_TEST_CT  1
4424 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
4425   { TT_EGREP,    zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
4428  *  Fix Command Arguments for Hpux_Stdint_Least_Fast
4429  */
4430 static const char* apzHpux_Stdint_Least_FastPatch[] = {
4431     "format",
4432     "#  define\tUINT_%164_MAX\t__UINT64_MAX__",
4433     (char*)NULL };
4435 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4437  *  Description of Hpux_Inttype_Int8_T fix
4438  */
4439 tSCC zHpux_Inttype_Int8_TName[] =
4440      "hpux_inttype_int8_t";
4443  *  File name selection pattern
4444  */
4445 tSCC zHpux_Inttype_Int8_TList[] =
4446   "sys/_inttypes.h\0";
4448  *  Machine/OS name selection pattern
4449  */
4450 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
4451         "*-hp-hpux1[01].*",
4452         (const char*)NULL };
4455  *  content selection pattern - do fix if pattern found
4456  */
4457 tSCC zHpux_Inttype_Int8_TSelect0[] =
4458        "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
4460 #define    HPUX_INTTYPE_INT8_T_TEST_CT  1
4461 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
4462   { TT_EGREP,    zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
4465  *  Fix Command Arguments for Hpux_Inttype_Int8_T
4466  */
4467 static const char* apzHpux_Inttype_Int8_TPatch[] = {
4468     "format",
4469     "typedef signed char int%18_t;",
4470     (char*)NULL };
4472 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4474  *  Description of Hpux_Imaginary_I fix
4475  */
4476 tSCC zHpux_Imaginary_IName[] =
4477      "hpux_imaginary_i";
4480  *  File name selection pattern
4481  */
4482 tSCC zHpux_Imaginary_IList[] =
4483   "complex.h\0";
4485  *  Machine/OS name selection pattern
4486  */
4487 tSCC* apzHpux_Imaginary_IMachs[] = {
4488         "ia64-hp-hpux11.*",
4489         (const char*)NULL };
4492  *  content selection pattern - do fix if pattern found
4493  */
4494 tSCC zHpux_Imaginary_ISelect0[] =
4495        "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
4497 #define    HPUX_IMAGINARY_I_TEST_CT  1
4498 static tTestDesc aHpux_Imaginary_ITests[] = {
4499   { TT_EGREP,    zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
4502  *  Fix Command Arguments for Hpux_Imaginary_I
4503  */
4504 static const char* apzHpux_Imaginary_IPatch[] = {
4505     "format",
4506     "#define _Complex_I (__extension__ 1.0iF)",
4507     (char*)NULL };
4509 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4511  *  Description of Huge_Val_Hex fix
4512  */
4513 tSCC zHuge_Val_HexName[] =
4514      "huge_val_hex";
4517  *  File name selection pattern
4518  */
4519 tSCC zHuge_Val_HexList[] =
4520   "bits/huge_val.h\0";
4522  *  Machine/OS name selection pattern
4523  */
4524 #define apzHuge_Val_HexMachs (const char**)NULL
4527  *  content selection pattern - do fix if pattern found
4528  */
4529 tSCC zHuge_Val_HexSelect0[] =
4530        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
4533  *  content bypass pattern - skip fix if pattern found
4534  */
4535 tSCC zHuge_Val_HexBypass0[] =
4536        "__builtin_huge_val";
4538 #define    HUGE_VAL_HEX_TEST_CT  2
4539 static tTestDesc aHuge_Val_HexTests[] = {
4540   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
4541   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
4544  *  Fix Command Arguments for Huge_Val_Hex
4545  */
4546 static const char* apzHuge_Val_HexPatch[] = {
4547     "format",
4548     "#define HUGE_VAL (__builtin_huge_val())\n",
4549     (char*)NULL };
4551 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4553  *  Description of Huge_Valf_Hex fix
4554  */
4555 tSCC zHuge_Valf_HexName[] =
4556      "huge_valf_hex";
4559  *  File name selection pattern
4560  */
4561 tSCC zHuge_Valf_HexList[] =
4562   "bits/huge_val.h\0";
4564  *  Machine/OS name selection pattern
4565  */
4566 #define apzHuge_Valf_HexMachs (const char**)NULL
4569  *  content selection pattern - do fix if pattern found
4570  */
4571 tSCC zHuge_Valf_HexSelect0[] =
4572        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
4575  *  content bypass pattern - skip fix if pattern found
4576  */
4577 tSCC zHuge_Valf_HexBypass0[] =
4578        "__builtin_huge_valf";
4580 #define    HUGE_VALF_HEX_TEST_CT  2
4581 static tTestDesc aHuge_Valf_HexTests[] = {
4582   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
4583   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
4586  *  Fix Command Arguments for Huge_Valf_Hex
4587  */
4588 static const char* apzHuge_Valf_HexPatch[] = {
4589     "format",
4590     "#define HUGE_VALF (__builtin_huge_valf())\n",
4591     (char*)NULL };
4593 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4595  *  Description of Huge_Vall_Hex fix
4596  */
4597 tSCC zHuge_Vall_HexName[] =
4598      "huge_vall_hex";
4601  *  File name selection pattern
4602  */
4603 tSCC zHuge_Vall_HexList[] =
4604   "bits/huge_val.h\0";
4606  *  Machine/OS name selection pattern
4607  */
4608 #define apzHuge_Vall_HexMachs (const char**)NULL
4611  *  content selection pattern - do fix if pattern found
4612  */
4613 tSCC zHuge_Vall_HexSelect0[] =
4614        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
4617  *  content bypass pattern - skip fix if pattern found
4618  */
4619 tSCC zHuge_Vall_HexBypass0[] =
4620        "__builtin_huge_vall";
4622 #define    HUGE_VALL_HEX_TEST_CT  2
4623 static tTestDesc aHuge_Vall_HexTests[] = {
4624   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
4625   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
4628  *  Fix Command Arguments for Huge_Vall_Hex
4629  */
4630 static const char* apzHuge_Vall_HexPatch[] = {
4631     "format",
4632     "#define HUGE_VALL (__builtin_huge_vall())\n",
4633     (char*)NULL };
4635 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4637  *  Description of Int_Abort_Free_And_Exit fix
4638  */
4639 tSCC zInt_Abort_Free_And_ExitName[] =
4640      "int_abort_free_and_exit";
4643  *  File name selection pattern
4644  */
4645 tSCC zInt_Abort_Free_And_ExitList[] =
4646   "stdlib.h\0";
4648  *  Machine/OS name selection pattern
4649  */
4650 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
4653  *  content selection pattern - do fix if pattern found
4654  */
4655 tSCC zInt_Abort_Free_And_ExitSelect0[] =
4656        "int[ \t]+(abort|free|exit)[ \t]*\\(";
4659  *  content bypass pattern - skip fix if pattern found
4660  */
4661 tSCC zInt_Abort_Free_And_ExitBypass0[] =
4662        "_CLASSIC_ANSI_TYPES";
4664 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
4665 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
4666   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
4667   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
4670  *  Fix Command Arguments for Int_Abort_Free_And_Exit
4671  */
4672 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
4673     "format",
4674     "void\t%1(",
4675     (char*)NULL };
4677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4679  *  Description of Io_Quotes_Def fix
4680  */
4681 tSCC zIo_Quotes_DefName[] =
4682      "io_quotes_def";
4685  *  File name selection pattern
4686  */
4687 #define zIo_Quotes_DefList (char*)NULL
4689  *  Machine/OS name selection pattern
4690  */
4691 #define apzIo_Quotes_DefMachs (const char**)NULL
4694  *  content selection pattern - do fix if pattern found
4695  */
4696 tSCC zIo_Quotes_DefSelect0[] =
4697        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
4699 #define    IO_QUOTES_DEF_TEST_CT  1
4700 static tTestDesc aIo_Quotes_DefTests[] = {
4701   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
4704  *  Fix Command Arguments for Io_Quotes_Def
4705  */
4706 static const char* apzIo_Quotes_DefPatch[] = {
4707     "char_macro_def",
4708     "IO",
4709     (char*)NULL };
4711 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4713  *  Description of Io_Quotes_Use fix
4714  */
4715 tSCC zIo_Quotes_UseName[] =
4716      "io_quotes_use";
4719  *  File name selection pattern
4720  */
4721 #define zIo_Quotes_UseList (char*)NULL
4723  *  Machine/OS name selection pattern
4724  */
4725 #define apzIo_Quotes_UseMachs (const char**)NULL
4728  *  content selection pattern - do fix if pattern found
4729  */
4730 tSCC zIo_Quotes_UseSelect0[] =
4731        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
4733 #define    IO_QUOTES_USE_TEST_CT  1
4734 static tTestDesc aIo_Quotes_UseTests[] = {
4735   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
4738  *  Fix Command Arguments for Io_Quotes_Use
4739  */
4740 static const char* apzIo_Quotes_UsePatch[] = {
4741     "char_macro_use",
4742     "IO",
4743     (char*)NULL };
4745 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4747  *  Description of Ip_Missing_Semi fix
4748  */
4749 tSCC zIp_Missing_SemiName[] =
4750      "ip_missing_semi";
4753  *  File name selection pattern
4754  */
4755 tSCC zIp_Missing_SemiList[] =
4756   "netinet/ip.h\0";
4758  *  Machine/OS name selection pattern
4759  */
4760 #define apzIp_Missing_SemiMachs (const char**)NULL
4763  *  content selection pattern - do fix if pattern found
4764  */
4765 tSCC zIp_Missing_SemiSelect0[] =
4766        "}$";
4768 #define    IP_MISSING_SEMI_TEST_CT  1
4769 static tTestDesc aIp_Missing_SemiTests[] = {
4770   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
4773  *  Fix Command Arguments for Ip_Missing_Semi
4774  */
4775 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
4776     "-e", "/^struct/,/^};/s/}$/};/",
4777     (char*)NULL };
4779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4781  *  Description of Irix_Limits_Const fix
4782  */
4783 tSCC zIrix_Limits_ConstName[] =
4784      "irix_limits_const";
4787  *  File name selection pattern
4788  */
4789 tSCC zIrix_Limits_ConstList[] =
4790   "fixinc-test-limits.h\0limits.h\0";
4792  *  Machine/OS name selection pattern
4793  */
4794 #define apzIrix_Limits_ConstMachs (const char**)NULL
4797  *  content selection pattern - do fix if pattern found
4798  */
4799 tSCC zIrix_Limits_ConstSelect0[] =
4800        "^extern const ";
4802 #define    IRIX_LIMITS_CONST_TEST_CT  1
4803 static tTestDesc aIrix_Limits_ConstTests[] = {
4804   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
4807  *  Fix Command Arguments for Irix_Limits_Const
4808  */
4809 static const char* apzIrix_Limits_ConstPatch[] = {
4810     "format",
4811     "extern __const ",
4812     (char*)NULL };
4814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4816  *  Description of Irix_Stdio_Va_List fix
4817  */
4818 tSCC zIrix_Stdio_Va_ListName[] =
4819      "irix_stdio_va_list";
4822  *  File name selection pattern
4823  */
4824 tSCC zIrix_Stdio_Va_ListList[] =
4825   "stdio.h\0";
4827  *  Machine/OS name selection pattern
4828  */
4829 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
4832  *  content selection pattern - do fix if pattern found
4833  */
4834 tSCC zIrix_Stdio_Va_ListSelect0[] =
4835        "/\\* va_list \\*/ char \\*";
4837 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
4838 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
4839   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
4842  *  Fix Command Arguments for Irix_Stdio_Va_List
4843  */
4844 static const char* apzIrix_Stdio_Va_ListPatch[] = {
4845     "format",
4846     "__gnuc_va_list",
4847     (char*)NULL };
4849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4851  *  Description of Kandr_Concat fix
4852  */
4853 tSCC zKandr_ConcatName[] =
4854      "kandr_concat";
4857  *  File name selection pattern
4858  */
4859 tSCC zKandr_ConcatList[] =
4860   "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";
4862  *  Machine/OS name selection pattern
4863  */
4864 #define apzKandr_ConcatMachs (const char**)NULL
4867  *  content selection pattern - do fix if pattern found
4868  */
4869 tSCC zKandr_ConcatSelect0[] =
4870        "/\\*\\*/";
4872 #define    KANDR_CONCAT_TEST_CT  1
4873 static tTestDesc aKandr_ConcatTests[] = {
4874   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
4877  *  Fix Command Arguments for Kandr_Concat
4878  */
4879 static const char* apzKandr_ConcatPatch[] = {
4880     "format",
4881     "##",
4882     (char*)NULL };
4884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4886  *  Description of Linux_Ia64_Ucontext fix
4887  */
4888 tSCC zLinux_Ia64_UcontextName[] =
4889      "linux_ia64_ucontext";
4892  *  File name selection pattern
4893  */
4894 tSCC zLinux_Ia64_UcontextList[] =
4895   "sys/ucontext.h\0";
4897  *  Machine/OS name selection pattern
4898  */
4899 tSCC* apzLinux_Ia64_UcontextMachs[] = {
4900         "ia64-*-linux*",
4901         (const char*)NULL };
4904  *  content selection pattern - do fix if pattern found
4905  */
4906 tSCC zLinux_Ia64_UcontextSelect0[] =
4907        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
4909 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
4910 static tTestDesc aLinux_Ia64_UcontextTests[] = {
4911   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
4914  *  Fix Command Arguments for Linux_Ia64_Ucontext
4915  */
4916 static const char* apzLinux_Ia64_UcontextPatch[] = {
4917     "format",
4918     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
4919     (char*)NULL };
4921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4923  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
4924  */
4925 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
4926      "lynxos_no_warning_in_sys_time_h";
4929  *  File name selection pattern
4930  */
4931 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
4932   "sys/time.h\0";
4934  *  Machine/OS name selection pattern
4935  */
4936 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
4939  *  content selection pattern - do fix if pattern found
4940  */
4941 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
4942        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
4944 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
4945 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
4946   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
4949  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
4950  */
4951 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
4952     "format",
4953     "",
4954     (char*)NULL };
4956 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4958  *  Description of Lynxos_Missing_Putenv fix
4959  */
4960 tSCC zLynxos_Missing_PutenvName[] =
4961      "lynxos_missing_putenv";
4964  *  File name selection pattern
4965  */
4966 tSCC zLynxos_Missing_PutenvList[] =
4967   "stdlib.h\0";
4969  *  Machine/OS name selection pattern
4970  */
4971 tSCC* apzLynxos_Missing_PutenvMachs[] = {
4972         "*-*-lynxos*",
4973         (const char*)NULL };
4976  *  content selection pattern - do fix if pattern found
4977  */
4978 tSCC zLynxos_Missing_PutenvSelect0[] =
4979        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
4982  *  content bypass pattern - skip fix if pattern found
4983  */
4984 tSCC zLynxos_Missing_PutenvBypass0[] =
4985        "putenv[ \\t]*\\(";
4987 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
4988 static tTestDesc aLynxos_Missing_PutenvTests[] = {
4989   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
4990   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
4993  *  Fix Command Arguments for Lynxos_Missing_Putenv
4994  */
4995 static const char* apzLynxos_Missing_PutenvPatch[] = {
4996     "format",
4997     "%0\n\
4998 extern int putenv\t\t\t\t_AP((char *));",
4999     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
5000     (char*)NULL };
5002 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5004  *  Description of Machine_Ansi_H_Va_List fix
5005  */
5006 tSCC zMachine_Ansi_H_Va_ListName[] =
5007      "machine_ansi_h_va_list";
5010  *  File name selection pattern
5011  */
5012 #define zMachine_Ansi_H_Va_ListList (char*)NULL
5014  *  Machine/OS name selection pattern
5015  */
5016 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
5019  *  content selection pattern - do fix if pattern found
5020  */
5021 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
5022        "define[ \t]+_BSD_VA_LIST_[ \t]";
5025  *  content bypass pattern - skip fix if pattern found
5026  */
5027 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
5028        "__builtin_va_list";
5030 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
5031 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
5032   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
5033   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
5036  *  Fix Command Arguments for Machine_Ansi_H_Va_List
5037  */
5038 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
5039     "format",
5040     "%1__builtin_va_list",
5041     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
5042     (char*)NULL };
5044 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5046  *  Description of Machine_Name fix
5047  */
5048 tSCC zMachine_NameName[] =
5049      "machine_name";
5052  *  File name selection pattern
5053  */
5054 #define zMachine_NameList (char*)NULL
5056  *  Machine/OS name selection pattern
5057  */
5058 #define apzMachine_NameMachs (const char**)NULL
5061  *  perform the C function call test
5062  */
5063 tSCC zMachine_NameFTst0[] = "machine_name";
5065 #define    MACHINE_NAME_TEST_CT  1
5066 static tTestDesc aMachine_NameTests[] = {
5067   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
5070  *  Fix Command Arguments for Machine_Name
5071  */
5072 static const char* apzMachine_NamePatch[] = {
5073     "machine_name",
5074     (char*)NULL };
5076 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5078  *  Description of Math_Exception fix
5079  */
5080 tSCC zMath_ExceptionName[] =
5081      "math_exception";
5084  *  File name selection pattern
5085  */
5086 tSCC zMath_ExceptionList[] =
5087   "math.h\0";
5089  *  Machine/OS name selection pattern
5090  */
5091 #define apzMath_ExceptionMachs (const char**)NULL
5094  *  content selection pattern - do fix if pattern found
5095  */
5096 tSCC zMath_ExceptionSelect0[] =
5097        "struct exception";
5100  *  content bypass pattern - skip fix if pattern found
5101  */
5102 tSCC zMath_ExceptionBypass0[] =
5103        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
5105 #define    MATH_EXCEPTION_TEST_CT  2
5106 static tTestDesc aMath_ExceptionTests[] = {
5107   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
5108   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
5111  *  Fix Command Arguments for Math_Exception
5112  */
5113 static const char* apzMath_ExceptionPatch[] = {
5114     "wrap",
5115     "#ifdef __cplusplus\n\
5116 #define exception __math_exception\n\
5117 #endif\n",
5118     "#ifdef __cplusplus\n\
5119 #undef exception\n\
5120 #endif\n",
5121     (char*)NULL };
5123 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5125  *  Description of Math_Huge_Val_From_Dbl_Max fix
5126  */
5127 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
5128      "math_huge_val_from_dbl_max";
5131  *  File name selection pattern
5132  */
5133 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
5134   "math.h\0";
5136  *  Machine/OS name selection pattern
5137  */
5138 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
5141  *  content selection pattern - do fix if pattern found
5142  */
5143 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
5144        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
5147  *  content bypass pattern - skip fix if pattern found
5148  */
5149 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
5150        "define[ \t]+DBL_MAX";
5152 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
5153 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
5154   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
5155   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
5158  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
5159  */
5160 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
5161     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
5162 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
5163 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
5164 \telse cat\n\
5165 \tfi",
5166     (char*)NULL };
5168 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5170  *  Description of Nested_Auth_Des fix
5171  */
5172 tSCC zNested_Auth_DesName[] =
5173      "nested_auth_des";
5176  *  File name selection pattern
5177  */
5178 tSCC zNested_Auth_DesList[] =
5179   "rpc/rpc.h\0";
5181  *  Machine/OS name selection pattern
5182  */
5183 #define apzNested_Auth_DesMachs (const char**)NULL
5186  *  content selection pattern - do fix if pattern found
5187  */
5188 tSCC zNested_Auth_DesSelect0[] =
5189        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
5191 #define    NESTED_AUTH_DES_TEST_CT  1
5192 static tTestDesc aNested_Auth_DesTests[] = {
5193   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
5196  *  Fix Command Arguments for Nested_Auth_Des
5197  */
5198 static const char* apzNested_Auth_DesPatch[] = {
5199     "format",
5200     "%1*/ /*",
5201     (char*)NULL };
5203 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5205  *  Description of Netbsd_C99_Inline_1 fix
5206  */
5207 tSCC zNetbsd_C99_Inline_1Name[] =
5208      "netbsd_c99_inline_1";
5211  *  File name selection pattern
5212  */
5213 tSCC zNetbsd_C99_Inline_1List[] =
5214   "signal.h\0";
5216  *  Machine/OS name selection pattern
5217  */
5218 tSCC* apzNetbsd_C99_Inline_1Machs[] = {
5219         "*-*-netbsd*",
5220         (const char*)NULL };
5223  *  content selection pattern - do fix if pattern found
5224  */
5225 tSCC zNetbsd_C99_Inline_1Select0[] =
5226        "extern __inline int";
5228 #define    NETBSD_C99_INLINE_1_TEST_CT  1
5229 static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
5230   { TT_EGREP,    zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
5233  *  Fix Command Arguments for Netbsd_C99_Inline_1
5234  */
5235 static const char* apzNetbsd_C99_Inline_1Patch[] = {
5236     "format",
5237     "extern\n\
5238 #ifdef __GNUC_STDC_INLINE__\n\
5239 __attribute__((__gnu_inline__))\n\
5240 #endif\n\
5241 __inline int",
5242     (char*)NULL };
5244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5246  *  Description of Netbsd_C99_Inline_2 fix
5247  */
5248 tSCC zNetbsd_C99_Inline_2Name[] =
5249      "netbsd_c99_inline_2";
5252  *  File name selection pattern
5253  */
5254 tSCC zNetbsd_C99_Inline_2List[] =
5255   "signal.h\0";
5257  *  Machine/OS name selection pattern
5258  */
5259 tSCC* apzNetbsd_C99_Inline_2Machs[] = {
5260         "*-*-netbsd*",
5261         (const char*)NULL };
5264  *  content selection pattern - do fix if pattern found
5265  */
5266 tSCC zNetbsd_C99_Inline_2Select0[] =
5267        "#define _SIGINLINE extern __inline";
5269 #define    NETBSD_C99_INLINE_2_TEST_CT  1
5270 static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
5271   { TT_EGREP,    zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
5274  *  Fix Command Arguments for Netbsd_C99_Inline_2
5275  */
5276 static const char* apzNetbsd_C99_Inline_2Patch[] = {
5277     "format",
5278     "#ifdef __GNUC_STDC_INLINE__\n\
5279 #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
5280 #else\n\
5281 %0\n\
5282 #endif",
5283     (char*)NULL };
5285 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5287  *  Description of Netbsd_Extra_Semicolon fix
5288  */
5289 tSCC zNetbsd_Extra_SemicolonName[] =
5290      "netbsd_extra_semicolon";
5293  *  File name selection pattern
5294  */
5295 tSCC zNetbsd_Extra_SemicolonList[] =
5296   "sys/cdefs.h\0";
5298  *  Machine/OS name selection pattern
5299  */
5300 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
5301         "*-*-netbsd*",
5302         (const char*)NULL };
5305  *  content selection pattern - do fix if pattern found
5306  */
5307 tSCC zNetbsd_Extra_SemicolonSelect0[] =
5308        "#define[ \t]*__END_DECLS[ \t]*};";
5310 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
5311 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
5312   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
5315  *  Fix Command Arguments for Netbsd_Extra_Semicolon
5316  */
5317 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
5318     "format",
5319     "#define __END_DECLS }",
5320     (char*)NULL };
5322 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5324  *  Description of Newlib_Stdint_1 fix
5325  */
5326 tSCC zNewlib_Stdint_1Name[] =
5327      "newlib_stdint_1";
5330  *  File name selection pattern
5331  */
5332 tSCC zNewlib_Stdint_1List[] =
5333   "stdint-newlib.h\0stdint.h\0";
5335  *  Machine/OS name selection pattern
5336  */
5337 #define apzNewlib_Stdint_1Machs (const char**)NULL
5340  *  content selection pattern - do fix if pattern found
5341  */
5342 tSCC zNewlib_Stdint_1Select0[] =
5343        "@todo - Add support for wint_t types";
5345 #define    NEWLIB_STDINT_1_TEST_CT  1
5346 static tTestDesc aNewlib_Stdint_1Tests[] = {
5347   { TT_EGREP,    zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
5350  *  Fix Command Arguments for Newlib_Stdint_1
5351  */
5352 static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
5353     "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
5354     "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
5355     "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
5356     "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
5357     "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
5358     "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
5359     "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
5360     "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
5361     "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
5362     "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
5363     "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
5364     "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
5365     "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
5366     "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
5367     (char*)NULL };
5369 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5371  *  Description of Newlib_Stdint_2 fix
5372  */
5373 tSCC zNewlib_Stdint_2Name[] =
5374      "newlib_stdint_2";
5377  *  File name selection pattern
5378  */
5379 tSCC zNewlib_Stdint_2List[] =
5380   "stdint-newlib.h\0stdint.h\0";
5382  *  Machine/OS name selection pattern
5383  */
5384 #define apzNewlib_Stdint_2Machs (const char**)NULL
5387  *  content selection pattern - do fix if pattern found
5388  */
5389 tSCC zNewlib_Stdint_2Select0[] =
5390        "@todo - Add support for wint_t types";
5392 #define    NEWLIB_STDINT_2_TEST_CT  1
5393 static tTestDesc aNewlib_Stdint_2Tests[] = {
5394   { TT_EGREP,    zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
5397  *  Fix Command Arguments for Newlib_Stdint_2
5398  */
5399 static const char* apzNewlib_Stdint_2Patch[] = {
5400     "format",
5401     "#define INTMAX_MAX __INTMAX_MAX__\n\
5402 #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
5403 #define UINTMAX_MAX __UINTMAX_MAX__\n\
5404 #define WCHAR_MAX __WCHAR_MAX__\n\
5405 #define WCHAR_MIN __WCHAR_MIN__\n\
5406 #define WINT_MAX __WINT_MAX__\n\
5407 #define WINT_MIN __WINT_MIN__\n\n\
5408 %0",
5409     "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
5410     (char*)NULL };
5412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5414  *  Description of Next_Math_Prefix fix
5415  */
5416 tSCC zNext_Math_PrefixName[] =
5417      "next_math_prefix";
5420  *  File name selection pattern
5421  */
5422 tSCC zNext_Math_PrefixList[] =
5423   "ansi/math.h\0";
5425  *  Machine/OS name selection pattern
5426  */
5427 #define apzNext_Math_PrefixMachs (const char**)NULL
5430  *  content selection pattern - do fix if pattern found
5431  */
5432 tSCC zNext_Math_PrefixSelect0[] =
5433        "^extern[ \t]+double[ \t]+__const__[ \t]";
5435 #define    NEXT_MATH_PREFIX_TEST_CT  1
5436 static tTestDesc aNext_Math_PrefixTests[] = {
5437   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
5440  *  Fix Command Arguments for Next_Math_Prefix
5441  */
5442 static const char* apzNext_Math_PrefixPatch[] = {
5443     "format",
5444     "extern double %1(",
5445     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
5446     (char*)NULL };
5448 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5450  *  Description of Next_Template fix
5451  */
5452 tSCC zNext_TemplateName[] =
5453      "next_template";
5456  *  File name selection pattern
5457  */
5458 tSCC zNext_TemplateList[] =
5459   "bsd/libc.h\0";
5461  *  Machine/OS name selection pattern
5462  */
5463 #define apzNext_TemplateMachs (const char**)NULL
5466  *  content selection pattern - do fix if pattern found
5467  */
5468 tSCC zNext_TemplateSelect0[] =
5469        "[ \t]template\\)";
5471 #define    NEXT_TEMPLATE_TEST_CT  1
5472 static tTestDesc aNext_TemplateTests[] = {
5473   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
5476  *  Fix Command Arguments for Next_Template
5477  */
5478 static const char* apzNext_TemplatePatch[] = {
5479     "format",
5480     "(%1)",
5481     "\\(([^)]*)[ \t]template\\)",
5482     (char*)NULL };
5484 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5486  *  Description of Next_Volitile fix
5487  */
5488 tSCC zNext_VolitileName[] =
5489      "next_volitile";
5492  *  File name selection pattern
5493  */
5494 tSCC zNext_VolitileList[] =
5495   "ansi/stdlib.h\0";
5497  *  Machine/OS name selection pattern
5498  */
5499 #define apzNext_VolitileMachs (const char**)NULL
5502  *  content selection pattern - do fix if pattern found
5503  */
5504 tSCC zNext_VolitileSelect0[] =
5505        "^extern[ \t]+volatile[ \t]+void[ \t]";
5507 #define    NEXT_VOLITILE_TEST_CT  1
5508 static tTestDesc aNext_VolitileTests[] = {
5509   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
5512  *  Fix Command Arguments for Next_Volitile
5513  */
5514 static const char* apzNext_VolitilePatch[] = {
5515     "format",
5516     "extern void %1(",
5517     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
5518     (char*)NULL };
5520 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5522  *  Description of Next_Wait_Union fix
5523  */
5524 tSCC zNext_Wait_UnionName[] =
5525      "next_wait_union";
5528  *  File name selection pattern
5529  */
5530 tSCC zNext_Wait_UnionList[] =
5531   "sys/wait.h\0";
5533  *  Machine/OS name selection pattern
5534  */
5535 #define apzNext_Wait_UnionMachs (const char**)NULL
5538  *  content selection pattern - do fix if pattern found
5539  */
5540 tSCC zNext_Wait_UnionSelect0[] =
5541        "wait\\(union wait";
5543 #define    NEXT_WAIT_UNION_TEST_CT  1
5544 static tTestDesc aNext_Wait_UnionTests[] = {
5545   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
5548  *  Fix Command Arguments for Next_Wait_Union
5549  */
5550 static const char* apzNext_Wait_UnionPatch[] = {
5551     "format",
5552     "wait(void",
5553     (char*)NULL };
5555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5557  *  Description of Nodeent_Syntax fix
5558  */
5559 tSCC zNodeent_SyntaxName[] =
5560      "nodeent_syntax";
5563  *  File name selection pattern
5564  */
5565 tSCC zNodeent_SyntaxList[] =
5566   "netdnet/dnetdb.h\0";
5568  *  Machine/OS name selection pattern
5569  */
5570 #define apzNodeent_SyntaxMachs (const char**)NULL
5573  *  content selection pattern - do fix if pattern found
5574  */
5575 tSCC zNodeent_SyntaxSelect0[] =
5576        "char[ \t]*\\*na_addr[ \t]*$";
5578 #define    NODEENT_SYNTAX_TEST_CT  1
5579 static tTestDesc aNodeent_SyntaxTests[] = {
5580   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
5583  *  Fix Command Arguments for Nodeent_Syntax
5584  */
5585 static const char* apzNodeent_SyntaxPatch[] = {
5586     "format",
5587     "%0;",
5588     (char*)NULL };
5590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5592  *  Description of Openbsd_Null_Definition fix
5593  */
5594 tSCC zOpenbsd_Null_DefinitionName[] =
5595      "openbsd_null_definition";
5598  *  File name selection pattern
5599  */
5600 tSCC zOpenbsd_Null_DefinitionList[] =
5601   "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
5603  *  Machine/OS name selection pattern
5604  */
5605 tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
5606         "*-*-openbsd*",
5607         (const char*)NULL };
5610  *  content selection pattern - do fix if pattern found
5611  */
5612 tSCC zOpenbsd_Null_DefinitionSelect0[] =
5613        "__GNUG__";
5615 #define    OPENBSD_NULL_DEFINITION_TEST_CT  1
5616 static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
5617   { TT_EGREP,    zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
5620  *  Fix Command Arguments for Openbsd_Null_Definition
5621  */
5622 static const char* apzOpenbsd_Null_DefinitionPatch[] = {
5623     "format",
5624     "#ifndef NULL\n\
5625 #ifdef __cplusplus\n\
5626 #ifdef __GNUG__\n\
5627 #define NULL\t__null\n\
5628 #else\t /* ! __GNUG__  */\n\
5629 #define NULL\t0L\n\
5630 #endif\t /* __GNUG__  */\n\
5631 #else\t /* ! __cplusplus  */\n\
5632 #define NULL\t((void *)0)\n\
5633 #endif\t /* __cplusplus  */\n\
5634 #endif\t /* !NULL  */",
5635     "^#ifndef[ \t]*NULL\n\
5636 ^#ifdef[ \t]*__GNUG__\n\
5637 ^#define[ \t]*NULL[ \t]*__null\n\
5638 ^#else\n\
5639 ^#define[ \t]*NULL[ \t]*0L\n\
5640 ^#endif\n\
5641 ^#endif",
5642     (char*)NULL };
5644 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5646  *  Description of Obstack_Lvalue_Cast fix
5647  */
5648 tSCC zObstack_Lvalue_CastName[] =
5649      "obstack_lvalue_cast";
5652  *  File name selection pattern
5653  */
5654 tSCC zObstack_Lvalue_CastList[] =
5655   "obstack.h\0";
5657  *  Machine/OS name selection pattern
5658  */
5659 #define apzObstack_Lvalue_CastMachs (const char**)NULL
5662  *  content selection pattern - do fix if pattern found
5663  */
5664 tSCC zObstack_Lvalue_CastSelect0[] =
5665        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
5667 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
5668 static tTestDesc aObstack_Lvalue_CastTests[] = {
5669   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
5672  *  Fix Command Arguments for Obstack_Lvalue_Cast
5673  */
5674 static const char* apzObstack_Lvalue_CastPatch[] = {
5675     "format",
5676     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
5677     (char*)NULL };
5679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5681  *  Description of Openbsd_Va_Start fix
5682  */
5683 tSCC zOpenbsd_Va_StartName[] =
5684      "openbsd_va_start";
5687  *  File name selection pattern
5688  */
5689 tSCC zOpenbsd_Va_StartList[] =
5690   "stdarg.h\0";
5692  *  Machine/OS name selection pattern
5693  */
5694 tSCC* apzOpenbsd_Va_StartMachs[] = {
5695         "*-*-openbsd*",
5696         (const char*)NULL };
5699  *  content selection pattern - do fix if pattern found
5700  */
5701 tSCC zOpenbsd_Va_StartSelect0[] =
5702        "__builtin_stdarg_start";
5704 #define    OPENBSD_VA_START_TEST_CT  1
5705 static tTestDesc aOpenbsd_Va_StartTests[] = {
5706   { TT_EGREP,    zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
5709  *  Fix Command Arguments for Openbsd_Va_Start
5710  */
5711 static const char* apzOpenbsd_Va_StartPatch[] = {
5712     "format",
5713     "__builtin_va_start",
5714     (char*)NULL };
5716 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5718  *  Description of Osf_Namespace_A fix
5719  */
5720 tSCC zOsf_Namespace_AName[] =
5721      "osf_namespace_a";
5724  *  File name selection pattern
5725  */
5726 tSCC zOsf_Namespace_AList[] =
5727   "reg_types.h\0sys/lc_core.h\0";
5729  *  Machine/OS name selection pattern
5730  */
5731 #define apzOsf_Namespace_AMachs (const char**)NULL
5734  *  perform the 'test' shell command - do fix on success
5735  */
5736 tSCC zOsf_Namespace_ATest0[] =
5737        " -r reg_types.h";
5738 tSCC zOsf_Namespace_ATest1[] =
5739        " -r sys/lc_core.h";
5740 tSCC zOsf_Namespace_ATest2[] =
5741        " -n \"`grep '} regex_t;' reg_types.h`\"";
5742 tSCC zOsf_Namespace_ATest3[] =
5743        " -z \"`grep __regex_t regex.h`\"";
5745 #define    OSF_NAMESPACE_A_TEST_CT  4
5746 static tTestDesc aOsf_Namespace_ATests[] = {
5747   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
5748   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
5749   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
5750   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
5753  *  Fix Command Arguments for Osf_Namespace_A
5754  */
5755 static const char* apzOsf_Namespace_APatch[] = {
5756     "format",
5757     "__%0",
5758     "reg(ex|off|match)_t",
5759     (char*)NULL };
5761 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5763  *  Description of Osf_Namespace_C fix
5764  */
5765 tSCC zOsf_Namespace_CName[] =
5766      "osf_namespace_c";
5769  *  File name selection pattern
5770  */
5771 tSCC zOsf_Namespace_CList[] =
5772   "regex.h\0";
5774  *  Machine/OS name selection pattern
5775  */
5776 #define apzOsf_Namespace_CMachs (const char**)NULL
5779  *  content selection pattern - do fix if pattern found
5780  */
5781 tSCC zOsf_Namespace_CSelect0[] =
5782        "#include <reg_types.h>.*";
5785  *  perform the 'test' shell command - do fix on success
5786  */
5787 tSCC zOsf_Namespace_CTest0[] =
5788        " -r reg_types.h";
5789 tSCC zOsf_Namespace_CTest1[] =
5790        " -r sys/lc_core.h";
5791 tSCC zOsf_Namespace_CTest2[] =
5792        " -n \"`grep '} regex_t;' reg_types.h`\"";
5793 tSCC zOsf_Namespace_CTest3[] =
5794        " -z \"`grep __regex_t regex.h`\"";
5796 #define    OSF_NAMESPACE_C_TEST_CT  5
5797 static tTestDesc aOsf_Namespace_CTests[] = {
5798   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
5799   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
5800   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
5801   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
5802   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
5805  *  Fix Command Arguments for Osf_Namespace_C
5806  */
5807 static const char* apzOsf_Namespace_CPatch[] = {
5808     "format",
5809     "%0\n\
5810 typedef __regex_t\tregex_t;\n\
5811 typedef __regoff_t\tregoff_t;\n\
5812 typedef __regmatch_t\tregmatch_t;",
5813     (char*)NULL };
5815 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5817  *  Description of Pthread_Incomplete_Struct_Argument fix
5818  */
5819 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
5820      "pthread_incomplete_struct_argument";
5823  *  File name selection pattern
5824  */
5825 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
5826   "pthread.h\0";
5828  *  Machine/OS name selection pattern
5829  */
5830 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
5833  *  content selection pattern - do fix if pattern found
5834  */
5835 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
5836        "struct __jmp_buf_tag";
5838 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
5839 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
5840   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
5843  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
5844  */
5845 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
5846     "format",
5847     "%1 *%2%3",
5848     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
5849     (char*)NULL };
5851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5853  *  Description of Read_Ret_Type fix
5854  */
5855 tSCC zRead_Ret_TypeName[] =
5856      "read_ret_type";
5859  *  File name selection pattern
5860  */
5861 tSCC zRead_Ret_TypeList[] =
5862   "stdio.h\0";
5864  *  Machine/OS name selection pattern
5865  */
5866 #define apzRead_Ret_TypeMachs (const char**)NULL
5869  *  content selection pattern - do fix if pattern found
5870  */
5871 tSCC zRead_Ret_TypeSelect0[] =
5872        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
5874 #define    READ_RET_TYPE_TEST_CT  1
5875 static tTestDesc aRead_Ret_TypeTests[] = {
5876   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
5879  *  Fix Command Arguments for Read_Ret_Type
5880  */
5881 static const char* apzRead_Ret_TypePatch[] = {
5882     "format",
5883     "extern unsigned int fread(), fwrite();\n\
5884 %1%2",
5885     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
5886     (char*)NULL };
5888 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5890  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
5891  */
5892 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
5893      "rpc_xdr_lvalue_cast_a";
5896  *  File name selection pattern
5897  */
5898 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
5899   "rpc/xdr.h\0";
5901  *  Machine/OS name selection pattern
5902  */
5903 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
5906  *  content selection pattern - do fix if pattern found
5907  */
5908 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
5909        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
5910 .*__extension__.*";
5912 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
5913 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
5914   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
5917  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
5918  */
5919 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
5920     "format",
5921     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
5922     (char*)NULL };
5924 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5926  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
5927  */
5928 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
5929      "rpc_xdr_lvalue_cast_b";
5932  *  File name selection pattern
5933  */
5934 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
5935   "rpc/xdr.h\0";
5937  *  Machine/OS name selection pattern
5938  */
5939 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
5942  *  content selection pattern - do fix if pattern found
5943  */
5944 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
5945        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
5946 .*__extension__.*";
5948 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
5949 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
5950   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
5953  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
5954  */
5955 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
5956     "format",
5957     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
5958     (char*)NULL };
5960 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5962  *  Description of Rs6000_Double fix
5963  */
5964 tSCC zRs6000_DoubleName[] =
5965      "rs6000_double";
5968  *  File name selection pattern
5969  */
5970 tSCC zRs6000_DoubleList[] =
5971   "math.h\0";
5973  *  Machine/OS name selection pattern
5974  */
5975 #define apzRs6000_DoubleMachs (const char**)NULL
5978  *  content selection pattern - do fix if pattern found
5979  */
5980 tSCC zRs6000_DoubleSelect0[] =
5981        "[^a-zA-Z_]class\\(";
5983 #define    RS6000_DOUBLE_TEST_CT  1
5984 static tTestDesc aRs6000_DoubleTests[] = {
5985   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
5988  *  Fix Command Arguments for Rs6000_Double
5989  */
5990 static const char* apzRs6000_DoublePatch[] = {
5991     "format",
5992     "#ifndef __cplusplus\n\
5993 %0\n\
5994 #endif",
5995     "^.*[^a-zA-Z_]class\\(.*",
5996     (char*)NULL };
5998 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6000  *  Description of Rs6000_Fchmod fix
6001  */
6002 tSCC zRs6000_FchmodName[] =
6003      "rs6000_fchmod";
6006  *  File name selection pattern
6007  */
6008 tSCC zRs6000_FchmodList[] =
6009   "sys/stat.h\0";
6011  *  Machine/OS name selection pattern
6012  */
6013 #define apzRs6000_FchmodMachs (const char**)NULL
6016  *  content selection pattern - do fix if pattern found
6017  */
6018 tSCC zRs6000_FchmodSelect0[] =
6019        "fchmod\\(char \\*";
6021 #define    RS6000_FCHMOD_TEST_CT  1
6022 static tTestDesc aRs6000_FchmodTests[] = {
6023   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
6026  *  Fix Command Arguments for Rs6000_Fchmod
6027  */
6028 static const char* apzRs6000_FchmodPatch[] = {
6029     "format",
6030     "fchmod(int",
6031     (char*)NULL };
6033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6035  *  Description of Rs6000_Param fix
6036  */
6037 tSCC zRs6000_ParamName[] =
6038      "rs6000_param";
6041  *  File name selection pattern
6042  */
6043 tSCC zRs6000_ParamList[] =
6044   "stdio.h\0unistd.h\0";
6046  *  Machine/OS name selection pattern
6047  */
6048 #define apzRs6000_ParamMachs (const char**)NULL
6051  *  content selection pattern - do fix if pattern found
6052  */
6053 tSCC zRs6000_ParamSelect0[] =
6054        "rename\\(const char \\*old, const char \\*new\\)";
6056 #define    RS6000_PARAM_TEST_CT  1
6057 static tTestDesc aRs6000_ParamTests[] = {
6058   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
6061  *  Fix Command Arguments for Rs6000_Param
6062  */
6063 static const char* apzRs6000_ParamPatch[] = {
6064     "format",
6065     "rename(const char *_old, const char *_new)",
6066     (char*)NULL };
6068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6070  *  Description of Solaris___Restrict fix
6071  */
6072 tSCC zSolaris___RestrictName[] =
6073      "solaris___restrict";
6076  *  File name selection pattern
6077  */
6078 tSCC zSolaris___RestrictList[] =
6079   "sys/feature_tests.h\0";
6081  *  Machine/OS name selection pattern
6082  */
6083 tSCC* apzSolaris___RestrictMachs[] = {
6084         "*-*-solaris2*",
6085         (const char*)NULL };
6088  *  content selection pattern - do fix if pattern found
6089  */
6090 tSCC zSolaris___RestrictSelect0[] =
6091        "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
6093 #define    SOLARIS___RESTRICT_TEST_CT  1
6094 static tTestDesc aSolaris___RestrictTests[] = {
6095   { TT_EGREP,    zSolaris___RestrictSelect0, (regex_t*)NULL }, };
6098  *  Fix Command Arguments for Solaris___Restrict
6099  */
6100 static const char* apzSolaris___RestrictPatch[] = {
6101     "format",
6102     "#ifdef __cplusplus\n\
6103 #define\t_RESTRICT_KYWD\t__restrict\n\
6104 #else\n\
6105 %0\n\
6106 #endif",
6107     (char*)NULL };
6109 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6111  *  Description of Solaris_Complex fix
6112  */
6113 tSCC zSolaris_ComplexName[] =
6114      "solaris_complex";
6117  *  File name selection pattern
6118  */
6119 tSCC zSolaris_ComplexList[] =
6120   "complex.h\0";
6122  *  Machine/OS name selection pattern
6123  */
6124 tSCC* apzSolaris_ComplexMachs[] = {
6125         "*-*-solaris2.*",
6126         (const char*)NULL };
6129  *  content selection pattern - do fix if pattern found
6130  */
6131 tSCC zSolaris_ComplexSelect0[] =
6132        "#define[ \t]_Complex_I[ \t]_Complex_I";
6134 #define    SOLARIS_COMPLEX_TEST_CT  1
6135 static tTestDesc aSolaris_ComplexTests[] = {
6136   { TT_EGREP,    zSolaris_ComplexSelect0, (regex_t*)NULL }, };
6139  *  Fix Command Arguments for Solaris_Complex
6140  */
6141 static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
6142     "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
6143     "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
6144     "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
6145     "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
6146     (char*)NULL };
6148 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6150  *  Description of Solaris_Complex_Cxx fix
6151  */
6152 tSCC zSolaris_Complex_CxxName[] =
6153      "solaris_complex_cxx";
6156  *  File name selection pattern
6157  */
6158 tSCC zSolaris_Complex_CxxList[] =
6159   "complex.h\0";
6161  *  Machine/OS name selection pattern
6162  */
6163 tSCC* apzSolaris_Complex_CxxMachs[] = {
6164         "*-*-solaris2.*",
6165         (const char*)NULL };
6166 #define SOLARIS_COMPLEX_CXX_TEST_CT  0
6167 #define aSolaris_Complex_CxxTests   (tTestDesc*)NULL
6170  *  Fix Command Arguments for Solaris_Complex_Cxx
6171  */
6172 static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
6173     "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
6174 #ifdef\t__cplusplus\\\n\
6175 extern \"C\" {\\\n\
6176 #endif",
6177     "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
6178 #ifdef\t__cplusplus\\\n\
6179 }\\\n\
6180 #endif",
6181     (char*)NULL };
6183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6185  *  Description of Solaris_Cxx_Linkage fix
6186  */
6187 tSCC zSolaris_Cxx_LinkageName[] =
6188      "solaris_cxx_linkage";
6191  *  File name selection pattern
6192  */
6193 tSCC zSolaris_Cxx_LinkageList[] =
6194   "iso/stdlib_iso.h\0";
6196  *  Machine/OS name selection pattern
6197  */
6198 tSCC* apzSolaris_Cxx_LinkageMachs[] = {
6199         "*-*-solaris2*",
6200         (const char*)NULL };
6203  *  content selection pattern - do fix if pattern found
6204  */
6205 tSCC zSolaris_Cxx_LinkageSelect0[] =
6206        "(#if __cplusplus >= 199711L)\n\
6207 (extern \"C\\+\\+\" \\{\n\
6208 )(.*(bsearch|qsort).*)";
6210 #define    SOLARIS_CXX_LINKAGE_TEST_CT  1
6211 static tTestDesc aSolaris_Cxx_LinkageTests[] = {
6212   { TT_EGREP,    zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
6215  *  Fix Command Arguments for Solaris_Cxx_Linkage
6216  */
6217 static const char* apzSolaris_Cxx_LinkagePatch[] = {
6218     "format",
6219     "%1 && !__GNUG__\n\
6220 %2%3",
6221     (char*)NULL };
6223 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6225  *  Description of Solaris_Getc_Strict_Stdc fix
6226  */
6227 tSCC zSolaris_Getc_Strict_StdcName[] =
6228      "solaris_getc_strict_stdc";
6231  *  File name selection pattern
6232  */
6233 tSCC zSolaris_Getc_Strict_StdcList[] =
6234   "iso/stdio_iso.h\0";
6236  *  Machine/OS name selection pattern
6237  */
6238 tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
6239         "*-*-solaris2*",
6240         (const char*)NULL };
6243  *  content selection pattern - do fix if pattern found
6244  */
6245 tSCC zSolaris_Getc_Strict_StdcSelect0[] =
6246        "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
6248 #define    SOLARIS_GETC_STRICT_STDC_TEST_CT  1
6249 static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
6250   { TT_EGREP,    zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
6253  *  Fix Command Arguments for Solaris_Getc_Strict_Stdc
6254  */
6255 static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
6256     "format",
6257     "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
6258     (char*)NULL };
6260 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6262  *  Description of Solaris_Longjmp_Noreturn fix
6263  */
6264 tSCC zSolaris_Longjmp_NoreturnName[] =
6265      "solaris_longjmp_noreturn";
6268  *  File name selection pattern
6269  */
6270 tSCC zSolaris_Longjmp_NoreturnList[] =
6271   "iso/setjmp_iso.h\0";
6273  *  Machine/OS name selection pattern
6274  */
6275 tSCC* apzSolaris_Longjmp_NoreturnMachs[] = {
6276         "*-*-solaris2*",
6277         (const char*)NULL };
6280  *  content selection pattern - do fix if pattern found
6281  */
6282 tSCC zSolaris_Longjmp_NoreturnSelect0[] =
6283        "(.*longjmp\\(jmp_buf.*[^)]+\\));";
6286  *  content bypass pattern - skip fix if pattern found
6287  */
6288 tSCC zSolaris_Longjmp_NoreturnBypass0[] =
6289        "__NORETURN";
6291 #define    SOLARIS_LONGJMP_NORETURN_TEST_CT  2
6292 static tTestDesc aSolaris_Longjmp_NoreturnTests[] = {
6293   { TT_NEGREP,   zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL },
6294   { TT_EGREP,    zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
6297  *  Fix Command Arguments for Solaris_Longjmp_Noreturn
6298  */
6299 static const char* apzSolaris_Longjmp_NoreturnPatch[] = {
6300     "format",
6301     "%1 __attribute__ ((__noreturn__));",
6302     (char*)NULL };
6304 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6306  *  Description of Solaris_Math_1 fix
6307  */
6308 tSCC zSolaris_Math_1Name[] =
6309      "solaris_math_1";
6312  *  File name selection pattern
6313  */
6314 tSCC zSolaris_Math_1List[] =
6315   "iso/math_c99.h\0";
6317  *  Machine/OS name selection pattern
6318  */
6319 #define apzSolaris_Math_1Machs (const char**)NULL
6322  *  content selection pattern - do fix if pattern found
6323  */
6324 tSCC zSolaris_Math_1Select0[] =
6325        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6328  *  content bypass pattern - skip fix if pattern found
6329  */
6330 tSCC zSolaris_Math_1Bypass0[] =
6331        "__GNUC__";
6333 #define    SOLARIS_MATH_1_TEST_CT  2
6334 static tTestDesc aSolaris_Math_1Tests[] = {
6335   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
6336   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
6339  *  Fix Command Arguments for Solaris_Math_1
6340  */
6341 static const char* apzSolaris_Math_1Patch[] = {
6342     "format",
6343     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
6344     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
6345     (char*)NULL };
6347 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6349  *  Description of Solaris_Math_2 fix
6350  */
6351 tSCC zSolaris_Math_2Name[] =
6352      "solaris_math_2";
6355  *  File name selection pattern
6356  */
6357 tSCC zSolaris_Math_2List[] =
6358   "iso/math_c99.h\0";
6360  *  Machine/OS name selection pattern
6361  */
6362 #define apzSolaris_Math_2Machs (const char**)NULL
6365  *  content selection pattern - do fix if pattern found
6366  */
6367 tSCC zSolaris_Math_2Select0[] =
6368        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6371  *  content bypass pattern - skip fix if pattern found
6372  */
6373 tSCC zSolaris_Math_2Bypass0[] =
6374        "__GNUC__";
6376 #define    SOLARIS_MATH_2_TEST_CT  2
6377 static tTestDesc aSolaris_Math_2Tests[] = {
6378   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
6379   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
6382  *  Fix Command Arguments for Solaris_Math_2
6383  */
6384 static const char* apzSolaris_Math_2Patch[] = {
6385     "format",
6386     "#define\tINFINITY\t(__builtin_inff())",
6387     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
6388     (char*)NULL };
6390 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6392  *  Description of Solaris_Math_3 fix
6393  */
6394 tSCC zSolaris_Math_3Name[] =
6395      "solaris_math_3";
6398  *  File name selection pattern
6399  */
6400 tSCC zSolaris_Math_3List[] =
6401   "iso/math_c99.h\0";
6403  *  Machine/OS name selection pattern
6404  */
6405 #define apzSolaris_Math_3Machs (const char**)NULL
6408  *  content selection pattern - do fix if pattern found
6409  */
6410 tSCC zSolaris_Math_3Select0[] =
6411        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6414  *  content bypass pattern - skip fix if pattern found
6415  */
6416 tSCC zSolaris_Math_3Bypass0[] =
6417        "__GNUC__";
6419 #define    SOLARIS_MATH_3_TEST_CT  2
6420 static tTestDesc aSolaris_Math_3Tests[] = {
6421   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
6422   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
6425  *  Fix Command Arguments for Solaris_Math_3
6426  */
6427 static const char* apzSolaris_Math_3Patch[] = {
6428     "format",
6429     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
6430     "^#define[ \t]+NAN[ \t]+__builtin_nan",
6431     (char*)NULL };
6433 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6435  *  Description of Solaris_Math_4 fix
6436  */
6437 tSCC zSolaris_Math_4Name[] =
6438      "solaris_math_4";
6441  *  File name selection pattern
6442  */
6443 tSCC zSolaris_Math_4List[] =
6444   "iso/math_c99.h\0";
6446  *  Machine/OS name selection pattern
6447  */
6448 #define apzSolaris_Math_4Machs (const char**)NULL
6451  *  content selection pattern - do fix if pattern found
6452  */
6453 tSCC zSolaris_Math_4Select0[] =
6454        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6457  *  content bypass pattern - skip fix if pattern found
6458  */
6459 tSCC zSolaris_Math_4Bypass0[] =
6460        "__GNUC__";
6462 #define    SOLARIS_MATH_4_TEST_CT  2
6463 static tTestDesc aSolaris_Math_4Tests[] = {
6464   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
6465   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
6468  *  Fix Command Arguments for Solaris_Math_4
6469  */
6470 static const char* apzSolaris_Math_4Patch[] = {
6471     "format",
6472     "#define\tfpclassify(x) \\\n\
6473   __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
6474     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
6475     (char*)NULL };
6477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6479  *  Description of Solaris_Math_8 fix
6480  */
6481 tSCC zSolaris_Math_8Name[] =
6482      "solaris_math_8";
6485  *  File name selection pattern
6486  */
6487 tSCC zSolaris_Math_8List[] =
6488   "iso/math_c99.h\0";
6490  *  Machine/OS name selection pattern
6491  */
6492 #define apzSolaris_Math_8Machs (const char**)NULL
6495  *  content selection pattern - do fix if pattern found
6496  */
6497 tSCC zSolaris_Math_8Select0[] =
6498        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
6501  *  content bypass pattern - skip fix if pattern found
6502  */
6503 tSCC zSolaris_Math_8Bypass0[] =
6504        "__GNUC__";
6506 #define    SOLARIS_MATH_8_TEST_CT  2
6507 static tTestDesc aSolaris_Math_8Tests[] = {
6508   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
6509   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
6512  *  Fix Command Arguments for Solaris_Math_8
6513  */
6514 static const char* apzSolaris_Math_8Patch[] = {
6515     "format",
6516     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
6517 \t\t\t   ? __builtin_signbitf(x) \\\n\
6518 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
6519 \t\t\t     ? __builtin_signbitl(x) \\\n\
6520 \t\t\t     : __builtin_signbit(x))",
6521     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
6522     (char*)NULL };
6524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6526  *  Description of Solaris_Math_9 fix
6527  */
6528 tSCC zSolaris_Math_9Name[] =
6529      "solaris_math_9";
6532  *  File name selection pattern
6533  */
6534 tSCC zSolaris_Math_9List[] =
6535   "iso/math_c99.h\0";
6537  *  Machine/OS name selection pattern
6538  */
6539 #define apzSolaris_Math_9Machs (const char**)NULL
6542  *  content selection pattern - do fix if pattern found
6543  */
6544 tSCC zSolaris_Math_9Select0[] =
6545        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6548  *  content bypass pattern - skip fix if pattern found
6549  */
6550 tSCC zSolaris_Math_9Bypass0[] =
6551        "__GNUC__";
6553 #define    SOLARIS_MATH_9_TEST_CT  2
6554 static tTestDesc aSolaris_Math_9Tests[] = {
6555   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
6556   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
6559  *  Fix Command Arguments for Solaris_Math_9
6560  */
6561 static const char* apzSolaris_Math_9Patch[] = {
6562     "format",
6563     "#define\t%1(x, y)%2__builtin_%1(x, y)",
6564     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
6565     (char*)NULL };
6567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6569  *  Description of Solaris_Math_10 fix
6570  */
6571 tSCC zSolaris_Math_10Name[] =
6572      "solaris_math_10";
6575  *  File name selection pattern
6576  */
6577 tSCC zSolaris_Math_10List[] =
6578   "iso/math_c99.h\0";
6580  *  Machine/OS name selection pattern
6581  */
6582 #define apzSolaris_Math_10Machs (const char**)NULL
6585  *  content selection pattern - do fix if pattern found
6586  */
6587 tSCC zSolaris_Math_10Select0[] =
6588        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6590 #define    SOLARIS_MATH_10_TEST_CT  1
6591 static tTestDesc aSolaris_Math_10Tests[] = {
6592   { TT_EGREP,    zSolaris_Math_10Select0, (regex_t*)NULL }, };
6595  *  Fix Command Arguments for Solaris_Math_10
6596  */
6597 static const char* apzSolaris_Math_10Patch[] = {
6598     "format",
6599     "#define\tisinf(x) __builtin_isinf(x)",
6600     "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
6601 [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
6602 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
6603 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
6604     (char*)NULL };
6606 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6608  *  Description of Solaris_Mutex_Init_2 fix
6609  */
6610 tSCC zSolaris_Mutex_Init_2Name[] =
6611      "solaris_mutex_init_2";
6614  *  File name selection pattern
6615  */
6616 tSCC zSolaris_Mutex_Init_2List[] =
6617   "pthread.h\0";
6619  *  Machine/OS name selection pattern
6620  */
6621 tSCC* apzSolaris_Mutex_Init_2Machs[] = {
6622         "*-*-solaris2.[0-9]",
6623         "*-*-solaris2.[0-9][!0-9]*",
6624         (const char*)NULL };
6627  *  content selection pattern - do fix if pattern found
6628  */
6629 tSCC zSolaris_Mutex_Init_2Select0[] =
6630        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6632 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
6633 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
6634   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
6637  *  Fix Command Arguments for Solaris_Mutex_Init_2
6638  */
6639 static const char* apzSolaris_Mutex_Init_2Patch[] = {
6640     "format",
6641     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6642 %0\n\
6643 #else\n\
6644 %1, {0}}%4\n\
6645 #endif",
6646     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
6647 [ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
6648     (char*)NULL };
6650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6652  *  Description of Solaris_Pow_Int_Overload fix
6653  */
6654 tSCC zSolaris_Pow_Int_OverloadName[] =
6655      "solaris_pow_int_overload";
6658  *  File name selection pattern
6659  */
6660 tSCC zSolaris_Pow_Int_OverloadList[] =
6661   "iso/math_iso.h\0";
6663  *  Machine/OS name selection pattern
6664  */
6665 tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
6666         "*-*-solaris2*",
6667         (const char*)NULL };
6670  *  content selection pattern - do fix if pattern found
6671  */
6672 tSCC zSolaris_Pow_Int_OverloadSelect0[] =
6673        "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
6674 [^{}]*\\}";
6676 #define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
6677 static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
6678   { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
6681  *  Fix Command Arguments for Solaris_Pow_Int_Overload
6682  */
6683 static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
6684     "format",
6685     "#if __cplusplus < 201103L\n\
6686 %0\n\
6687 #endif",
6688     (char*)NULL };
6690 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6692  *  Description of Solaris_Rwlock_Init_1 fix
6693  */
6694 tSCC zSolaris_Rwlock_Init_1Name[] =
6695      "solaris_rwlock_init_1";
6698  *  File name selection pattern
6699  */
6700 tSCC zSolaris_Rwlock_Init_1List[] =
6701   "pthread.h\0";
6703  *  Machine/OS name selection pattern
6704  */
6705 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
6706         "*-*-solaris*",
6707         (const char*)NULL };
6710  *  content selection pattern - do fix if pattern found
6711  */
6712 tSCC zSolaris_Rwlock_Init_1Select0[] =
6713        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6715 #define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
6716 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
6717   { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
6720  *  Fix Command Arguments for Solaris_Rwlock_Init_1
6721  */
6722 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
6723     "format",
6724     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6725 %0\n\
6726 #else\n\
6727 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
6728 #endif",
6729     "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
6730     (char*)NULL };
6732 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6734  *  Description of Solaris_Once_Init_1 fix
6735  */
6736 tSCC zSolaris_Once_Init_1Name[] =
6737      "solaris_once_init_1";
6740  *  File name selection pattern
6741  */
6742 tSCC zSolaris_Once_Init_1List[] =
6743   "pthread.h\0";
6745  *  Machine/OS name selection pattern
6746  */
6747 tSCC* apzSolaris_Once_Init_1Machs[] = {
6748         "*-*-solaris*",
6749         (const char*)NULL };
6752  *  content selection pattern - do fix if pattern found
6753  */
6754 tSCC zSolaris_Once_Init_1Select0[] =
6755        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6757 #define    SOLARIS_ONCE_INIT_1_TEST_CT  1
6758 static tTestDesc aSolaris_Once_Init_1Tests[] = {
6759   { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
6762  *  Fix Command Arguments for Solaris_Once_Init_1
6763  */
6764 static const char* apzSolaris_Once_Init_1Patch[] = {
6765     "format",
6766     "%1{%2}%3",
6767     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
6768     (char*)NULL };
6770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6772  *  Description of Solaris_Once_Init_2 fix
6773  */
6774 tSCC zSolaris_Once_Init_2Name[] =
6775      "solaris_once_init_2";
6778  *  File name selection pattern
6779  */
6780 tSCC zSolaris_Once_Init_2List[] =
6781   "pthread.h\0";
6783  *  Machine/OS name selection pattern
6784  */
6785 tSCC* apzSolaris_Once_Init_2Machs[] = {
6786         "*-*-solaris2.[0-9]",
6787         "*-*-solaris2.[0-9][!0-9]*",
6788         (const char*)NULL };
6791  *  content selection pattern - do fix if pattern found
6792  */
6793 tSCC zSolaris_Once_Init_2Select0[] =
6794        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6796 #define    SOLARIS_ONCE_INIT_2_TEST_CT  1
6797 static tTestDesc aSolaris_Once_Init_2Tests[] = {
6798   { TT_EGREP,    zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
6801  *  Fix Command Arguments for Solaris_Once_Init_2
6802  */
6803 static const char* apzSolaris_Once_Init_2Patch[] = {
6804     "format",
6805     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6806 %0\n\
6807 #else\n\
6808 %1{0}, {0}, {0}, {%3}%4\n\
6809 #endif",
6810     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
6811     (char*)NULL };
6813 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6815  *  Description of Solaris_Int_Const fix
6816  */
6817 tSCC zSolaris_Int_ConstName[] =
6818      "solaris_int_const";
6821  *  File name selection pattern
6822  */
6823 tSCC zSolaris_Int_ConstList[] =
6824   "sys/int_const.h\0";
6826  *  Machine/OS name selection pattern
6827  */
6828 tSCC* apzSolaris_Int_ConstMachs[] = {
6829         "*-*-solaris2*",
6830         (const char*)NULL };
6833  *  content selection pattern - do fix if pattern found
6834  */
6835 tSCC zSolaris_Int_ConstSelect0[] =
6836        "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
6837 (/*.**/)\n\
6838 #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
6840 #define    SOLARIS_INT_CONST_TEST_CT  1
6841 static tTestDesc aSolaris_Int_ConstTests[] = {
6842   { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
6845  *  Fix Command Arguments for Solaris_Int_Const
6846  */
6847 static const char* apzSolaris_Int_ConstPatch[] = {
6848     "format",
6849     "#define\tUINT8_C(c)\t(c)\n\
6850 %1\n\
6851 #define\tUINT16_C(c)\t(c)",
6852     (char*)NULL };
6854 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6856  *  Description of Solaris_Int_Limits_1 fix
6857  */
6858 tSCC zSolaris_Int_Limits_1Name[] =
6859      "solaris_int_limits_1";
6862  *  File name selection pattern
6863  */
6864 tSCC zSolaris_Int_Limits_1List[] =
6865   "sys/int_limits.h\0";
6867  *  Machine/OS name selection pattern
6868  */
6869 tSCC* apzSolaris_Int_Limits_1Machs[] = {
6870         "*-*-solaris2*",
6871         (const char*)NULL };
6874  *  content selection pattern - do fix if pattern found
6875  */
6876 tSCC zSolaris_Int_Limits_1Select0[] =
6877        "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
6878 #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
6880 #define    SOLARIS_INT_LIMITS_1_TEST_CT  1
6881 static tTestDesc aSolaris_Int_Limits_1Tests[] = {
6882   { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
6885  *  Fix Command Arguments for Solaris_Int_Limits_1
6886  */
6887 static const char* apzSolaris_Int_Limits_1Patch[] = {
6888     "format",
6889     "#define\tUINT8_MAX\t(255)\n\
6890 #define\tUINT16_MAX\t(65535)",
6891     (char*)NULL };
6893 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6895  *  Description of Solaris_Int_Limits_2 fix
6896  */
6897 tSCC zSolaris_Int_Limits_2Name[] =
6898      "solaris_int_limits_2";
6901  *  File name selection pattern
6902  */
6903 tSCC zSolaris_Int_Limits_2List[] =
6904   "sys/int_limits.h\0";
6906  *  Machine/OS name selection pattern
6907  */
6908 tSCC* apzSolaris_Int_Limits_2Machs[] = {
6909         "*-*-solaris2*",
6910         (const char*)NULL };
6913  *  content selection pattern - do fix if pattern found
6914  */
6915 tSCC zSolaris_Int_Limits_2Select0[] =
6916        "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
6918 #define    SOLARIS_INT_LIMITS_2_TEST_CT  1
6919 static tTestDesc aSolaris_Int_Limits_2Tests[] = {
6920   { TT_EGREP,    zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
6923  *  Fix Command Arguments for Solaris_Int_Limits_2
6924  */
6925 static const char* apzSolaris_Int_Limits_2Patch[] = {
6926     "format",
6927     "#define\t%1_FAST16_%2 %132_%2",
6928     (char*)NULL };
6930 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6932  *  Description of Solaris_Int_Limits_3 fix
6933  */
6934 tSCC zSolaris_Int_Limits_3Name[] =
6935      "solaris_int_limits_3";
6938  *  File name selection pattern
6939  */
6940 tSCC zSolaris_Int_Limits_3List[] =
6941   "sys/int_limits.h\0";
6943  *  Machine/OS name selection pattern
6944  */
6945 tSCC* apzSolaris_Int_Limits_3Machs[] = {
6946         "*-*-solaris2*",
6947         (const char*)NULL };
6950  *  content selection pattern - do fix if pattern found
6951  */
6952 tSCC zSolaris_Int_Limits_3Select0[] =
6953        "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
6955 #define    SOLARIS_INT_LIMITS_3_TEST_CT  1
6956 static tTestDesc aSolaris_Int_Limits_3Tests[] = {
6957   { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
6960  *  Fix Command Arguments for Solaris_Int_Limits_3
6961  */
6962 static const char* apzSolaris_Int_Limits_3Patch[] = {
6963     "format",
6964     "#define\tSIZE_MAX\t4294967295U",
6965     (char*)NULL };
6967 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6969  *  Description of Solaris_Int_Types fix
6970  */
6971 tSCC zSolaris_Int_TypesName[] =
6972      "solaris_int_types";
6975  *  File name selection pattern
6976  */
6977 tSCC zSolaris_Int_TypesList[] =
6978   "sys/int_types.h\0";
6980  *  Machine/OS name selection pattern
6981  */
6982 #define apzSolaris_Int_TypesMachs (const char**)NULL
6985  *  content selection pattern - do fix if pattern found
6986  */
6987 tSCC zSolaris_Int_TypesSelect0[] =
6988        "__STDC__ - 0 == 0";
6991  *  content bypass pattern - skip fix if pattern found
6992  */
6993 tSCC zSolaris_Int_TypesBypass0[] =
6994        "_LONGLONG_TYPE";
6996 #define    SOLARIS_INT_TYPES_TEST_CT  2
6997 static tTestDesc aSolaris_Int_TypesTests[] = {
6998   { TT_NEGREP,   zSolaris_Int_TypesBypass0, (regex_t*)NULL },
6999   { TT_EGREP,    zSolaris_Int_TypesSelect0, (regex_t*)NULL }, };
7002  *  Fix Command Arguments for Solaris_Int_Types
7003  */
7004 static const char* apzSolaris_Int_TypesPatch[] = {
7005     "format",
7006     "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))",
7007     (char*)NULL };
7009 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7011  *  Description of Solaris_Posix_Spawn_Restrict fix
7012  */
7013 tSCC zSolaris_Posix_Spawn_RestrictName[] =
7014      "solaris_posix_spawn_restrict";
7017  *  File name selection pattern
7018  */
7019 tSCC zSolaris_Posix_Spawn_RestrictList[] =
7020   "spawn.h\0";
7022  *  Machine/OS name selection pattern
7023  */
7024 tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
7025         "*-*-solaris2*",
7026         (const char*)NULL };
7029  *  content selection pattern - do fix if pattern found
7030  */
7031 tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
7032        "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
7034 #define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
7035 static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
7036   { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
7039  *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
7040  */
7041 static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
7042     "format",
7043     "%1*_RESTRICT_KYWD %2%3",
7044     (char*)NULL };
7046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7048  *  Description of Solaris_Std___Filbuf fix
7049  */
7050 tSCC zSolaris_Std___FilbufName[] =
7051      "solaris_std___filbuf";
7054  *  File name selection pattern
7055  */
7056 tSCC zSolaris_Std___FilbufList[] =
7057   "stdio.h\0";
7059  *  Machine/OS name selection pattern
7060  */
7061 tSCC* apzSolaris_Std___FilbufMachs[] = {
7062         "*-*-solaris2*",
7063         (const char*)NULL };
7066  *  content selection pattern - do fix if pattern found
7067  */
7068 tSCC zSolaris_Std___FilbufSelect0[] =
7069        "(using std::perror;\n\
7070 )(#endif)";
7073  *  content bypass pattern - skip fix if pattern found
7074  */
7075 tSCC zSolaris_Std___FilbufBypass0[] =
7076        "using std::__filbuf";
7078 #define    SOLARIS_STD___FILBUF_TEST_CT  2
7079 static tTestDesc aSolaris_Std___FilbufTests[] = {
7080   { TT_NEGREP,   zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
7081   { TT_EGREP,    zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
7084  *  Fix Command Arguments for Solaris_Std___Filbuf
7085  */
7086 static const char* apzSolaris_Std___FilbufPatch[] = {
7087     "format",
7088     "%1#ifndef _LP64\n\
7089 using std::__filbuf;\n\
7090 using std::__flsbuf;\n\
7091 #endif\n\
7092 %2",
7093     (char*)NULL };
7095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7097  *  Description of Solaris_Stdio_Tag fix
7098  */
7099 tSCC zSolaris_Stdio_TagName[] =
7100      "solaris_stdio_tag";
7103  *  File name selection pattern
7104  */
7105 tSCC zSolaris_Stdio_TagList[] =
7106   "stdio_tag.h\0";
7108  *  Machine/OS name selection pattern
7109  */
7110 #define apzSolaris_Stdio_TagMachs (const char**)NULL
7113  *  content selection pattern - do fix if pattern found
7114  */
7115 tSCC zSolaris_Stdio_TagSelect0[] =
7116        "__cplusplus < 54321L";
7119  *  content bypass pattern - skip fix if pattern found
7120  */
7121 tSCC zSolaris_Stdio_TagBypass0[] =
7122        "__GNUC__";
7124 #define    SOLARIS_STDIO_TAG_TEST_CT  2
7125 static tTestDesc aSolaris_Stdio_TagTests[] = {
7126   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
7127   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
7130  *  Fix Command Arguments for Solaris_Stdio_Tag
7131  */
7132 static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
7133     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
7134     (char*)NULL };
7136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7138  *  Description of Solaris_Sys_Va_List fix
7139  */
7140 tSCC zSolaris_Sys_Va_ListName[] =
7141      "solaris_sys_va_list";
7144  *  File name selection pattern
7145  */
7146 tSCC zSolaris_Sys_Va_ListList[] =
7147   "sys/va_list.h\0";
7149  *  Machine/OS name selection pattern
7150  */
7151 tSCC* apzSolaris_Sys_Va_ListMachs[] = {
7152         "*-*-solaris2.9",
7153         (const char*)NULL };
7156  *  content selection pattern - do fix if pattern found
7157  */
7158 tSCC zSolaris_Sys_Va_ListSelect0[] =
7159        "#if.*__STDC__.*\n\
7160 typedef void \\*__va_list;\n\
7161 #else\n\
7162 typedef char \\*__va_list;\n\
7163 #endif";
7165 #define    SOLARIS_SYS_VA_LIST_TEST_CT  1
7166 static tTestDesc aSolaris_Sys_Va_ListTests[] = {
7167   { TT_EGREP,    zSolaris_Sys_Va_ListSelect0, (regex_t*)NULL }, };
7170  *  Fix Command Arguments for Solaris_Sys_Va_List
7171  */
7172 static const char* apzSolaris_Sys_Va_ListPatch[] = {
7173     "format",
7174     "#ifdef __GNUC__\n\
7175 typedef __builtin_va_list __va_list;\n\
7176 #else\n\
7177 %0\n\
7178 #endif",
7179     (char*)NULL };
7181 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7183  *  Description of Statsswtch fix
7184  */
7185 tSCC zStatsswtchName[] =
7186      "statsswtch";
7189  *  File name selection pattern
7190  */
7191 tSCC zStatsswtchList[] =
7192   "rpcsvc/rstat.h\0";
7194  *  Machine/OS name selection pattern
7195  */
7196 #define apzStatsswtchMachs (const char**)NULL
7199  *  content selection pattern - do fix if pattern found
7200  */
7201 tSCC zStatsswtchSelect0[] =
7202        "boottime$";
7204 #define    STATSSWTCH_TEST_CT  1
7205 static tTestDesc aStatsswtchTests[] = {
7206   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
7209  *  Fix Command Arguments for Statsswtch
7210  */
7211 static const char* apzStatsswtchPatch[] = {
7212     "format",
7213     "boottime;",
7214     (char*)NULL };
7216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7218  *  Description of Stdio_Stdarg_H fix
7219  */
7220 tSCC zStdio_Stdarg_HName[] =
7221      "stdio_stdarg_h";
7224  *  File name selection pattern
7225  */
7226 tSCC zStdio_Stdarg_HList[] =
7227   "stdio.h\0";
7229  *  Machine/OS name selection pattern
7230  */
7231 tSCC* apzStdio_Stdarg_HMachs[] = {
7232         "*-*-solaris2.1[0-9]*",
7233         (const char*)NULL };
7236  *  content bypass pattern - skip fix if pattern found
7237  */
7238 tSCC zStdio_Stdarg_HBypass0[] =
7239        "include.*(stdarg.h|machine/ansi.h)";
7241 #define    STDIO_STDARG_H_TEST_CT  1
7242 static tTestDesc aStdio_Stdarg_HTests[] = {
7243   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
7246  *  Fix Command Arguments for Stdio_Stdarg_H
7247  */
7248 static const char* apzStdio_Stdarg_HPatch[] = {
7249     "wrap",
7250     "#define __need___va_list\n\
7251 #include <stdarg.h>\n",
7252     (char*)NULL };
7254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7256  *  Description of Stdio_Va_List fix
7257  */
7258 tSCC zStdio_Va_ListName[] =
7259      "stdio_va_list";
7262  *  File name selection pattern
7263  */
7264 tSCC zStdio_Va_ListList[] =
7265   "stdio.h\0";
7267  *  Machine/OS name selection pattern
7268  */
7269 tSCC* apzStdio_Va_ListMachs[] = {
7270         "*-*-solaris2.1[0-9]*",
7271         (const char*)NULL };
7274  *  content bypass pattern - skip fix if pattern found
7275  */
7276 tSCC zStdio_Va_ListBypass0[] =
7277        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
7279 #define    STDIO_VA_LIST_TEST_CT  1
7280 static tTestDesc aStdio_Va_ListTests[] = {
7281   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
7284  *  Fix Command Arguments for Stdio_Va_List
7285  */
7286 static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
7287     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
7288 s@(va_list)&@(__gnuc_va_list)\\&@\n\
7289 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
7290 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7291 s@ va_list@ __not_va_list__@\n\
7292 s@\\*va_list@*__not_va_list__@\n\
7293 s@ __va_list)@ __gnuc_va_list)@\n\
7294 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
7295 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
7296 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
7297 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
7298 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
7299 s@VA_LIST@DUMMY_VA_LIST@\n\
7300 s@_Va_LIST@_VA_LIST@",
7301     (char*)NULL };
7303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7305  *  Description of Stdio_Va_List_Clients fix
7306  */
7307 tSCC zStdio_Va_List_ClientsName[] =
7308      "stdio_va_list_clients";
7311  *  File name selection pattern
7312  */
7313 tSCC zStdio_Va_List_ClientsList[] =
7314   "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
7316  *  Machine/OS name selection pattern
7317  */
7318 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
7321  *  content bypass pattern - skip fix if pattern found
7322  */
7323 tSCC zStdio_Va_List_ClientsBypass0[] =
7324        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
7325 tSCC zStdio_Va_List_ClientsBypass1[] =
7326        "include <stdarg\\.h>|#ifdef va_start";
7328 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
7329 static tTestDesc aStdio_Va_List_ClientsTests[] = {
7330   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
7331   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
7334  *  Fix Command Arguments for Stdio_Va_List_Clients
7335  */
7336 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
7337     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
7338 s@(va_list)&@(__gnuc_va_list)\\&@\n\
7339 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
7340 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7341 s@ va_list@ __not_va_list__@\n\
7342 s@\\*va_list@*__not_va_list__@\n\
7343 s@ __va_list)@ __gnuc_va_list)@\n\
7344 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
7345 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
7346 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
7347 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
7348 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
7349 s@VA_LIST@DUMMY_VA_LIST@\n\
7350 s@_Va_LIST@_VA_LIST@",
7351     (char*)NULL };
7353 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7355  *  Description of Strict_Ansi_Not fix
7356  */
7357 tSCC zStrict_Ansi_NotName[] =
7358      "strict_ansi_not";
7361  *  File name selection pattern
7362  */
7363 #define zStrict_Ansi_NotList (char*)NULL
7365  *  Machine/OS name selection pattern
7366  */
7367 #define apzStrict_Ansi_NotMachs (const char**)NULL
7370  *  content selection pattern - do fix if pattern found
7371  */
7372 tSCC zStrict_Ansi_NotSelect0[] =
7373        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
7376  *  content bypass pattern - skip fix if pattern found
7377  */
7378 tSCC zStrict_Ansi_NotBypass0[] =
7379        "GNU and MIPS C compilers define __STDC__ differently";
7380 tSCC zStrict_Ansi_NotBypass1[] =
7381        "__SCO_VERSION__.*__STDC__ != 1";
7384  *  perform the C function call test
7385  */
7386 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
7388 #define    STRICT_ANSI_NOT_TEST_CT  4
7389 static tTestDesc aStrict_Ansi_NotTests[] = {
7390   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
7391   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
7392   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
7393   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
7396  *  Fix Command Arguments for Strict_Ansi_Not
7397  */
7398 static const char* apzStrict_Ansi_NotPatch[] = {
7399     "format",
7400     "%1 !defined(__STRICT_ANSI__)",
7401     (char*)NULL };
7403 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7405  *  Description of Strict_Ansi_Not_Ctd fix
7406  */
7407 tSCC zStrict_Ansi_Not_CtdName[] =
7408      "strict_ansi_not_ctd";
7411  *  File name selection pattern
7412  */
7413 tSCC zStrict_Ansi_Not_CtdList[] =
7414   "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
7416  *  Machine/OS name selection pattern
7417  */
7418 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
7421  *  content selection pattern - do fix if pattern found
7422  */
7423 tSCC zStrict_Ansi_Not_CtdSelect0[] =
7424        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
7427  *  perform the C function call test
7428  */
7429 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
7431 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
7432 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
7433   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
7434   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
7437  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
7438  */
7439 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
7440     "format",
7441     "%1 !defined(__STRICT_ANSI__)",
7442     (char*)NULL };
7444 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7446  *  Description of Strict_Ansi_Only fix
7447  */
7448 tSCC zStrict_Ansi_OnlyName[] =
7449      "strict_ansi_only";
7452  *  File name selection pattern
7453  */
7454 #define zStrict_Ansi_OnlyList (char*)NULL
7456  *  Machine/OS name selection pattern
7457  */
7458 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
7461  *  content selection pattern - do fix if pattern found
7462  */
7463 tSCC zStrict_Ansi_OnlySelect0[] =
7464        "^([ \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)";
7467  *  perform the C function call test
7468  */
7469 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
7471 #define    STRICT_ANSI_ONLY_TEST_CT  2
7472 static tTestDesc aStrict_Ansi_OnlyTests[] = {
7473   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
7474   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
7477  *  Fix Command Arguments for Strict_Ansi_Only
7478  */
7479 static const char* apzStrict_Ansi_OnlyPatch[] = {
7480     "format",
7481     "%1 defined(__STRICT_ANSI__)",
7482     (char*)NULL };
7484 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7486  *  Description of Struct_File fix
7487  */
7488 tSCC zStruct_FileName[] =
7489      "struct_file";
7492  *  File name selection pattern
7493  */
7494 tSCC zStruct_FileList[] =
7495   "rpc/xdr.h\0";
7497  *  Machine/OS name selection pattern
7498  */
7499 #define apzStruct_FileMachs (const char**)NULL
7502  *  content selection pattern - do fix if pattern found
7503  */
7504 tSCC zStruct_FileSelect0[] =
7505        "^.*xdrstdio_create.*struct __file_s";
7507 #define    STRUCT_FILE_TEST_CT  1
7508 static tTestDesc aStruct_FileTests[] = {
7509   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
7512  *  Fix Command Arguments for Struct_File
7513  */
7514 static const char* apzStruct_FilePatch[] = {
7515     "format",
7516     "struct __file_s;\n\
7517 %0",
7518     (char*)NULL };
7520 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7522  *  Description of Struct_Sockaddr fix
7523  */
7524 tSCC zStruct_SockaddrName[] =
7525      "struct_sockaddr";
7528  *  File name selection pattern
7529  */
7530 tSCC zStruct_SockaddrList[] =
7531   "rpc/auth.h\0";
7533  *  Machine/OS name selection pattern
7534  */
7535 #define apzStruct_SockaddrMachs (const char**)NULL
7538  *  content selection pattern - do fix if pattern found
7539  */
7540 tSCC zStruct_SockaddrSelect0[] =
7541        "^.*authdes_create.*struct sockaddr[^_]";
7544  *  content bypass pattern - skip fix if pattern found
7545  */
7546 tSCC zStruct_SockaddrBypass0[] =
7547        "<sys/socket.h>";
7548 tSCC zStruct_SockaddrBypass1[] =
7549        "struct sockaddr;\n";
7551 #define    STRUCT_SOCKADDR_TEST_CT  3
7552 static tTestDesc aStruct_SockaddrTests[] = {
7553   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
7554   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
7555   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
7558  *  Fix Command Arguments for Struct_Sockaddr
7559  */
7560 static const char* apzStruct_SockaddrPatch[] = {
7561     "format",
7562     "struct sockaddr;\n\
7563 %0",
7564     (char*)NULL };
7566 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7568  *  Description of Sun_Auth_Proto fix
7569  */
7570 tSCC zSun_Auth_ProtoName[] =
7571      "sun_auth_proto";
7574  *  File name selection pattern
7575  */
7576 tSCC zSun_Auth_ProtoList[] =
7577   "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
7579  *  Machine/OS name selection pattern
7580  */
7581 #define apzSun_Auth_ProtoMachs (const char**)NULL
7584  *  content selection pattern - do fix if pattern found
7585  */
7586 tSCC zSun_Auth_ProtoSelect0[] =
7587        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
7590  *  content bypass pattern - skip fix if pattern found
7591  */
7592 tSCC zSun_Auth_ProtoBypass0[] =
7593        "__cplusplus";
7595 #define    SUN_AUTH_PROTO_TEST_CT  2
7596 static tTestDesc aSun_Auth_ProtoTests[] = {
7597   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
7598   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
7601  *  Fix Command Arguments for Sun_Auth_Proto
7602  */
7603 static const char* apzSun_Auth_ProtoPatch[] = {
7604     "format",
7605     "#ifdef __cplusplus\n\
7606 %1(...);%2\n\
7607 #else\n\
7608 %1();%2\n\
7609 #endif",
7610     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
7611     (char*)NULL };
7613 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7615  *  Description of Sun_Bogus_Ifdef fix
7616  */
7617 tSCC zSun_Bogus_IfdefName[] =
7618      "sun_bogus_ifdef";
7621  *  File name selection pattern
7622  */
7623 tSCC zSun_Bogus_IfdefList[] =
7624   "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
7626  *  Machine/OS name selection pattern
7627  */
7628 #define apzSun_Bogus_IfdefMachs (const char**)NULL
7631  *  content selection pattern - do fix if pattern found
7632  */
7633 tSCC zSun_Bogus_IfdefSelect0[] =
7634        "#ifdef(.*\\|\\|.*)";
7636 #define    SUN_BOGUS_IFDEF_TEST_CT  1
7637 static tTestDesc aSun_Bogus_IfdefTests[] = {
7638   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
7641  *  Fix Command Arguments for Sun_Bogus_Ifdef
7642  */
7643 static const char* apzSun_Bogus_IfdefPatch[] = {
7644     "format",
7645     "#if%1",
7646     (char*)NULL };
7648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7650  *  Description of Sun_Catmacro fix
7651  */
7652 tSCC zSun_CatmacroName[] =
7653      "sun_catmacro";
7656  *  File name selection pattern
7657  */
7658 tSCC zSun_CatmacroList[] =
7659   "pixrect/memvar.h\0";
7661  *  Machine/OS name selection pattern
7662  */
7663 #define apzSun_CatmacroMachs (const char**)NULL
7666  *  content selection pattern - do fix if pattern found
7667  */
7668 tSCC zSun_CatmacroSelect0[] =
7669        "^#define[ \t]+CAT\\(a,b\\).*";
7671 #define    SUN_CATMACRO_TEST_CT  1
7672 static tTestDesc aSun_CatmacroTests[] = {
7673   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
7676  *  Fix Command Arguments for Sun_Catmacro
7677  */
7678 static const char* apzSun_CatmacroPatch[] = {
7679     "format",
7680     "#ifdef __STDC__\n\
7681 #  define CAT(a,b) a##b\n\
7682 #else\n\
7683 %0\n\
7684 #endif",
7685     (char*)NULL };
7687 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7689  *  Description of Sun_Malloc fix
7690  */
7691 tSCC zSun_MallocName[] =
7692      "sun_malloc";
7695  *  File name selection pattern
7696  */
7697 tSCC zSun_MallocList[] =
7698   "malloc.h\0";
7700  *  Machine/OS name selection pattern
7701  */
7702 #define apzSun_MallocMachs (const char**)NULL
7705  *  content bypass pattern - skip fix if pattern found
7706  */
7707 tSCC zSun_MallocBypass0[] =
7708        "_CLASSIC_ANSI_TYPES";
7710 #define    SUN_MALLOC_TEST_CT  1
7711 static tTestDesc aSun_MallocTests[] = {
7712   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
7715  *  Fix Command Arguments for Sun_Malloc
7716  */
7717 static const char* apzSun_MallocPatch[] = { sed_cmd_z,
7718     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
7719     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
7720     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
7721     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
7722     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
7723     (char*)NULL };
7725 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7727  *  Description of Sun_Rusers_Semi fix
7728  */
7729 tSCC zSun_Rusers_SemiName[] =
7730      "sun_rusers_semi";
7733  *  File name selection pattern
7734  */
7735 tSCC zSun_Rusers_SemiList[] =
7736   "rpcsvc/rusers.h\0";
7738  *  Machine/OS name selection pattern
7739  */
7740 #define apzSun_Rusers_SemiMachs (const char**)NULL
7743  *  content selection pattern - do fix if pattern found
7744  */
7745 tSCC zSun_Rusers_SemiSelect0[] =
7746        "_cnt$";
7748 #define    SUN_RUSERS_SEMI_TEST_CT  1
7749 static tTestDesc aSun_Rusers_SemiTests[] = {
7750   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
7753  *  Fix Command Arguments for Sun_Rusers_Semi
7754  */
7755 static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
7756     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
7757     (char*)NULL };
7759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7761  *  Description of Sun_Signal fix
7762  */
7763 tSCC zSun_SignalName[] =
7764      "sun_signal";
7767  *  File name selection pattern
7768  */
7769 tSCC zSun_SignalList[] =
7770   "sys/signal.h\0signal.h\0";
7772  *  Machine/OS name selection pattern
7773  */
7774 #define apzSun_SignalMachs (const char**)NULL
7777  *  content selection pattern - do fix if pattern found
7778  */
7779 tSCC zSun_SignalSelect0[] =
7780        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
7782 #define    SUN_SIGNAL_TEST_CT  1
7783 static tTestDesc aSun_SignalTests[] = {
7784   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
7787  *  Fix Command Arguments for Sun_Signal
7788  */
7789 static const char* apzSun_SignalPatch[] = {
7790     "format",
7791     "#ifdef __cplusplus\n\
7792 void\t(*signal(...))(...);\n\
7793 #else\n\
7794 %0\n\
7795 #endif",
7796     (char*)NULL };
7798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7800  *  Description of Sunos_Strlen fix
7801  */
7802 tSCC zSunos_StrlenName[] =
7803      "sunos_strlen";
7806  *  File name selection pattern
7807  */
7808 tSCC zSunos_StrlenList[] =
7809   "strings.h\0";
7811  *  Machine/OS name selection pattern
7812  */
7813 #define apzSunos_StrlenMachs (const char**)NULL
7816  *  content selection pattern - do fix if pattern found
7817  */
7818 tSCC zSunos_StrlenSelect0[] =
7819        "int[ \t]*strlen\\(\\);(.*)";
7821 #define    SUNOS_STRLEN_TEST_CT  1
7822 static tTestDesc aSunos_StrlenTests[] = {
7823   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
7826  *  Fix Command Arguments for Sunos_Strlen
7827  */
7828 static const char* apzSunos_StrlenPatch[] = {
7829     "format",
7830     "__SIZE_TYPE__ strlen();%1",
7831     (char*)NULL };
7833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7835  *  Description of Svr4_Disable_Opt fix
7836  */
7837 tSCC zSvr4_Disable_OptName[] =
7838      "svr4_disable_opt";
7841  *  File name selection pattern
7842  */
7843 tSCC zSvr4_Disable_OptList[] =
7844   "string.h\0";
7846  *  Machine/OS name selection pattern
7847  */
7848 #define apzSvr4_Disable_OptMachs (const char**)NULL
7851  *  content selection pattern - do fix if pattern found
7852  */
7853 tSCC zSvr4_Disable_OptSelect0[] =
7854        "#define.*__std_hdr_";
7856 #define    SVR4_DISABLE_OPT_TEST_CT  1
7857 static tTestDesc aSvr4_Disable_OptTests[] = {
7858   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
7861  *  Fix Command Arguments for Svr4_Disable_Opt
7862  */
7863 static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
7864     "-e", "/#define.*__std_hdr_/d",
7865     (char*)NULL };
7867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7869  *  Description of Svr4_Getcwd fix
7870  */
7871 tSCC zSvr4_GetcwdName[] =
7872      "svr4_getcwd";
7875  *  File name selection pattern
7876  */
7877 tSCC zSvr4_GetcwdList[] =
7878   "stdlib.h\0unistd.h\0prototypes.h\0";
7880  *  Machine/OS name selection pattern
7881  */
7882 #define apzSvr4_GetcwdMachs (const char**)NULL
7885  *  content selection pattern - do fix if pattern found
7886  */
7887 tSCC zSvr4_GetcwdSelect0[] =
7888        "getcwd\\(char \\*, int\\)";
7890 #define    SVR4_GETCWD_TEST_CT  1
7891 static tTestDesc aSvr4_GetcwdTests[] = {
7892   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
7895  *  Fix Command Arguments for Svr4_Getcwd
7896  */
7897 static const char* apzSvr4_GetcwdPatch[] = {
7898     "format",
7899     "getcwd(char *, size_t)",
7900     (char*)NULL };
7902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7904  *  Description of Svr4_Profil fix
7905  */
7906 tSCC zSvr4_ProfilName[] =
7907      "svr4_profil";
7910  *  File name selection pattern
7911  */
7912 tSCC zSvr4_ProfilList[] =
7913   "stdlib.h\0unistd.h\0";
7915  *  Machine/OS name selection pattern
7916  */
7917 #define apzSvr4_ProfilMachs (const char**)NULL
7920  *  content selection pattern - do fix if pattern found
7921  */
7922 tSCC zSvr4_ProfilSelect0[] =
7923        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
7925 #define    SVR4_PROFIL_TEST_CT  1
7926 static tTestDesc aSvr4_ProfilTests[] = {
7927   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
7930  *  Fix Command Arguments for Svr4_Profil
7931  */
7932 static const char* apzSvr4_ProfilPatch[] = {
7933     "format",
7934     "profil(unsigned short *, size_t, int, unsigned int)",
7935     (char*)NULL };
7937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7939  *  Description of Svr4_Sighandler_Type fix
7940  */
7941 tSCC zSvr4_Sighandler_TypeName[] =
7942      "svr4_sighandler_type";
7945  *  File name selection pattern
7946  */
7947 tSCC zSvr4_Sighandler_TypeList[] =
7948   "sys/signal.h\0";
7950  *  Machine/OS name selection pattern
7951  */
7952 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
7955  *  content selection pattern - do fix if pattern found
7956  */
7957 tSCC zSvr4_Sighandler_TypeSelect0[] =
7958        "void *\\(\\*\\)\\(\\)";
7960 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
7961 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
7962   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
7965  *  Fix Command Arguments for Svr4_Sighandler_Type
7966  */
7967 static const char* apzSvr4_Sighandler_TypePatch[] = {
7968     "format",
7969     "void (*)(int)",
7970     (char*)NULL };
7972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7974  *  Description of Svr4_Undeclared_Getrnge fix
7975  */
7976 tSCC zSvr4_Undeclared_GetrngeName[] =
7977      "svr4_undeclared_getrnge";
7980  *  File name selection pattern
7981  */
7982 tSCC zSvr4_Undeclared_GetrngeList[] =
7983   "regexp.h\0";
7985  *  Machine/OS name selection pattern
7986  */
7987 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
7990  *  content selection pattern - do fix if pattern found
7991  */
7992 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
7993        "getrnge";
7996  *  content bypass pattern - skip fix if pattern found
7997  */
7998 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
7999        "static void getrnge";
8001 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
8002 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
8003   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
8004   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
8007  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
8008  */
8009 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
8010     "format",
8011     "%0\n\
8012 static int getrnge ();",
8013     "^static int[ \t]+size;",
8014     (char*)NULL };
8016 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8018  *  Description of Sysv68_String fix
8019  */
8020 tSCC zSysv68_StringName[] =
8021      "sysv68_string";
8024  *  File name selection pattern
8025  */
8026 tSCC zSysv68_StringList[] =
8027   "testing.h\0string.h\0";
8029  *  Machine/OS name selection pattern
8030  */
8031 #define apzSysv68_StringMachs (const char**)NULL
8034  *  content bypass pattern - skip fix if pattern found
8035  */
8036 tSCC zSysv68_StringBypass0[] =
8037        "_CLASSIC_ANSI_TYPES";
8039 #define    SYSV68_STRING_TEST_CT  1
8040 static tTestDesc aSysv68_StringTests[] = {
8041   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
8044  *  Fix Command Arguments for Sysv68_String
8045  */
8046 static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
8047     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
8048     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
8049     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
8050     "-e", "/^extern char$/N",
8051     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
8052     "-e", "/^extern int$/N",
8053     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
8054     "-e", "/^\tstrncmp(),$/N",
8055     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
8056 extern unsigned int\\\n\
8057 \\2/",
8058     (char*)NULL };
8060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8062  *  Description of Sysz_Stdlib_For_Sun fix
8063  */
8064 tSCC zSysz_Stdlib_For_SunName[] =
8065      "sysz_stdlib_for_sun";
8068  *  File name selection pattern
8069  */
8070 tSCC zSysz_Stdlib_For_SunList[] =
8071   "stdlib.h\0";
8073  *  Machine/OS name selection pattern
8074  */
8075 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
8078  *  content selection pattern - do fix if pattern found
8079  */
8080 tSCC zSysz_Stdlib_For_SunSelect0[] =
8081        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
8084  *  content bypass pattern - skip fix if pattern found
8085  */
8086 tSCC zSysz_Stdlib_For_SunBypass0[] =
8087        "_CLASSIC_ANSI_TYPES";
8089 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
8090 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
8091   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
8092   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
8095  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
8096  */
8097 static const char* apzSysz_Stdlib_For_SunPatch[] = {
8098     "format",
8099     "void *\t%1(",
8100     (char*)NULL };
8102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8104  *  Description of Thread_Keyword fix
8105  */
8106 tSCC zThread_KeywordName[] =
8107      "thread_keyword";
8110  *  File name selection pattern
8111  */
8112 tSCC zThread_KeywordList[] =
8113   "pthread.h\0bits/sigthread.h\0";
8115  *  Machine/OS name selection pattern
8116  */
8117 #define apzThread_KeywordMachs (const char**)NULL
8120  *  content selection pattern - do fix if pattern found
8121  */
8122 tSCC zThread_KeywordSelect0[] =
8123        "([* ])__thread([,)])";
8125 #define    THREAD_KEYWORD_TEST_CT  1
8126 static tTestDesc aThread_KeywordTests[] = {
8127   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
8130  *  Fix Command Arguments for Thread_Keyword
8131  */
8132 static const char* apzThread_KeywordPatch[] = {
8133     "format",
8134     "%1__thr%2",
8135     (char*)NULL };
8137 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8139  *  Description of Tinfo_Cplusplus fix
8140  */
8141 tSCC zTinfo_CplusplusName[] =
8142      "tinfo_cplusplus";
8145  *  File name selection pattern
8146  */
8147 tSCC zTinfo_CplusplusList[] =
8148   "tinfo.h\0";
8150  *  Machine/OS name selection pattern
8151  */
8152 #define apzTinfo_CplusplusMachs (const char**)NULL
8155  *  content selection pattern - do fix if pattern found
8156  */
8157 tSCC zTinfo_CplusplusSelect0[] =
8158        "[ \t]_cplusplus";
8160 #define    TINFO_CPLUSPLUS_TEST_CT  1
8161 static tTestDesc aTinfo_CplusplusTests[] = {
8162   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
8165  *  Fix Command Arguments for Tinfo_Cplusplus
8166  */
8167 static const char* apzTinfo_CplusplusPatch[] = {
8168     "format",
8169     " __cplusplus",
8170     (char*)NULL };
8172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8174  *  Description of Ultrix_Const fix
8175  */
8176 tSCC zUltrix_ConstName[] =
8177      "ultrix_const";
8180  *  File name selection pattern
8181  */
8182 tSCC zUltrix_ConstList[] =
8183   "stdio.h\0";
8185  *  Machine/OS name selection pattern
8186  */
8187 #define apzUltrix_ConstMachs (const char**)NULL
8190  *  content selection pattern - do fix if pattern found
8191  */
8192 tSCC zUltrix_ConstSelect0[] =
8193        "perror\\( char \\*";
8195 #define    ULTRIX_CONST_TEST_CT  1
8196 static tTestDesc aUltrix_ConstTests[] = {
8197   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
8200  *  Fix Command Arguments for Ultrix_Const
8201  */
8202 static const char* apzUltrix_ConstPatch[] = {
8203     "format",
8204     "%1 const %3 *__",
8205     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
8206     (char*)NULL };
8208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8210  *  Description of Ultrix_Const2 fix
8211  */
8212 tSCC zUltrix_Const2Name[] =
8213      "ultrix_const2";
8216  *  File name selection pattern
8217  */
8218 tSCC zUltrix_Const2List[] =
8219   "stdio.h\0";
8221  *  Machine/OS name selection pattern
8222  */
8223 #define apzUltrix_Const2Machs (const char**)NULL
8226  *  content selection pattern - do fix if pattern found
8227  */
8228 tSCC zUltrix_Const2Select0[] =
8229        "\\*fopen\\( char \\*";
8231 #define    ULTRIX_CONST2_TEST_CT  1
8232 static tTestDesc aUltrix_Const2Tests[] = {
8233   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
8236  *  Fix Command Arguments for Ultrix_Const2
8237  */
8238 static const char* apzUltrix_Const2Patch[] = {
8239     "format",
8240     "%1( const char *%3, const char *",
8241     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
8242     (char*)NULL };
8244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8246  *  Description of Va_I960_Macro fix
8247  */
8248 tSCC zVa_I960_MacroName[] =
8249      "va_i960_macro";
8252  *  File name selection pattern
8253  */
8254 tSCC zVa_I960_MacroList[] =
8255   "arch/i960/archI960.h\0";
8257  *  Machine/OS name selection pattern
8258  */
8259 #define apzVa_I960_MacroMachs (const char**)NULL
8262  *  content selection pattern - do fix if pattern found
8263  */
8264 tSCC zVa_I960_MacroSelect0[] =
8265        "__(vsiz|vali|vpad|alignof__)";
8267 #define    VA_I960_MACRO_TEST_CT  1
8268 static tTestDesc aVa_I960_MacroTests[] = {
8269   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
8272  *  Fix Command Arguments for Va_I960_Macro
8273  */
8274 static const char* apzVa_I960_MacroPatch[] = {
8275     "format",
8276     "__vx%1",
8277     (char*)NULL };
8279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8281  *  Description of Vms_Define_Can_Use_Extern_Prefix fix
8282  */
8283 tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
8284      "vms_define_can_use_extern_prefix";
8287  *  File name selection pattern
8288  */
8289 tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
8290   "rtldef/decc$types.h\0";
8292  *  Machine/OS name selection pattern
8293  */
8294 tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
8295         "*-*-*vms*",
8296         (const char*)NULL };
8299  *  content selection pattern - do fix if pattern found
8300  */
8301 tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
8302        "#[ \t]*else\n\
8303 #[ \t]*if defined\\(__DECCXX\\)\n\
8304 #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
8306 #define    VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT  1
8307 static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
8308   { TT_EGREP,    zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
8311  *  Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
8312  */
8313 static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
8314     "format",
8315     "%0#    elif defined (__GNUC__)\n\
8316 #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
8317     (char*)NULL };
8319 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8321  *  Description of Vms_Use_Pragma_Extern_Model fix
8322  */
8323 tSCC zVms_Use_Pragma_Extern_ModelName[] =
8324      "vms_use_pragma_extern_model";
8327  *  File name selection pattern
8328  */
8329 #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
8331  *  Machine/OS name selection pattern
8332  */
8333 tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
8334         "*-*-*vms*",
8335         (const char*)NULL };
8338  *  content selection pattern - do fix if pattern found
8339  */
8340 tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
8341        "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
8342 # pragma extern_model __save\n";
8344 #define    VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT  1
8345 static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
8346   { TT_EGREP,    zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
8349  *  Fix Command Arguments for Vms_Use_Pragma_Extern_Model
8350  */
8351 static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
8352     "format",
8353     "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
8354 # pragma extern_model __save\n",
8355     (char*)NULL };
8357 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8359  *  Description of Vms_Disable_Decc_String_Builtins fix
8360  */
8361 tSCC zVms_Disable_Decc_String_BuiltinsName[] =
8362      "vms_disable_decc_string_builtins";
8365  *  File name selection pattern
8366  */
8367 tSCC zVms_Disable_Decc_String_BuiltinsList[] =
8368   "rtldef/string.h\0";
8370  *  Machine/OS name selection pattern
8371  */
8372 tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
8373         "*-*-*vms*",
8374         (const char*)NULL };
8377  *  content selection pattern - do fix if pattern found
8378  */
8379 tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
8380        "#if !defined\\(__VAX\\)\n";
8382 #define    VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT  1
8383 static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
8384   { TT_EGREP,    zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
8387  *  Fix Command Arguments for Vms_Disable_Decc_String_Builtins
8388  */
8389 static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
8390     "format",
8391     "#if !defined(__VAX) && !defined(__GNUC__)\n",
8392     (char*)NULL };
8394 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8396  *  Description of Vms_Use_Quoted_Include fix
8397  */
8398 tSCC zVms_Use_Quoted_IncludeName[] =
8399      "vms_use_quoted_include";
8402  *  File name selection pattern
8403  */
8404 tSCC zVms_Use_Quoted_IncludeList[] =
8405   "rtldef/wait.h\0starlet_c/pthread.h\0";
8407  *  Machine/OS name selection pattern
8408  */
8409 tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
8410         "*-*-*vms*",
8411         (const char*)NULL };
8414  *  content selection pattern - do fix if pattern found
8415  */
8416 tSCC zVms_Use_Quoted_IncludeSelect0[] =
8417        "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
8419 #define    VMS_USE_QUOTED_INCLUDE_TEST_CT  1
8420 static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
8421   { TT_EGREP,    zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
8424  *  Fix Command Arguments for Vms_Use_Quoted_Include
8425  */
8426 static const char* apzVms_Use_Quoted_IncludePatch[] = {
8427     "format",
8428     "%1<sys/%2.h>",
8429     (char*)NULL };
8431 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8433  *  Description of Vms_Add_Missing_Braces fix
8434  */
8435 tSCC zVms_Add_Missing_BracesName[] =
8436      "vms_add_missing_braces";
8439  *  File name selection pattern
8440  */
8441 tSCC zVms_Add_Missing_BracesList[] =
8442   "rtldef/signal.h\0";
8444  *  Machine/OS name selection pattern
8445  */
8446 tSCC* apzVms_Add_Missing_BracesMachs[] = {
8447         "*-*-*vms*",
8448         (const char*)NULL };
8451  *  content selection pattern - do fix if pattern found
8452  */
8453 tSCC zVms_Add_Missing_BracesSelect0[] =
8454        "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
8456 #define    VMS_ADD_MISSING_BRACES_TEST_CT  1
8457 static tTestDesc aVms_Add_Missing_BracesTests[] = {
8458   { TT_EGREP,    zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
8461  *  Fix Command Arguments for Vms_Add_Missing_Braces
8462  */
8463 static const char* apzVms_Add_Missing_BracesPatch[] = {
8464     "format",
8465     "%1 {%2} ",
8466     (char*)NULL };
8468 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8470  *  Description of Vms_Do_Not_Redeclare_Hostalias fix
8471  */
8472 tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
8473      "vms_do_not_redeclare_hostalias";
8476  *  File name selection pattern
8477  */
8478 tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
8479   "rtldef/resolv.h\0";
8481  *  Machine/OS name selection pattern
8482  */
8483 tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
8484         "*-*-*vms*",
8485         (const char*)NULL };
8488  *  content selection pattern - do fix if pattern found
8489  */
8490 tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
8491        "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
8492 (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
8494 #define    VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT  1
8495 static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
8496   { TT_EGREP,    zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
8499  *  Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
8500  */
8501 static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
8502     "format",
8503     "%1\n\
8504 /* %2 */",
8505     (char*)NULL };
8507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8509  *  Description of Vms_Decc_Builtin fix
8510  */
8511 tSCC zVms_Decc_BuiltinName[] =
8512      "vms_decc_builtin";
8515  *  File name selection pattern
8516  */
8517 tSCC zVms_Decc_BuiltinList[] =
8518   "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
8520  *  Machine/OS name selection pattern
8521  */
8522 tSCC* apzVms_Decc_BuiltinMachs[] = {
8523         "*-*-*vms*",
8524         (const char*)NULL };
8527  *  content selection pattern - do fix if pattern found
8528  */
8529 tSCC zVms_Decc_BuiltinSelect0[] =
8530        "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
8532 #define    VMS_DECC_BUILTIN_TEST_CT  1
8533 static tTestDesc aVms_Decc_BuiltinTests[] = {
8534   { TT_EGREP,    zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
8537  *  Fix Command Arguments for Vms_Decc_Builtin
8538  */
8539 static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
8540     "-e", "s@__MEMSET@memset@",
8541     "-e", "s@__MEMMOVE@memmove@",
8542     "-e", "s@__MEMCPY@memcpy@",
8543     "-e", "s@__STRLEN@strlen@",
8544     "-e", "s@__STRCPY@strcpy@",
8545     (char*)NULL };
8547 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8549  *  Description of Vms_No_64bit_Getopt fix
8550  */
8551 tSCC zVms_No_64bit_GetoptName[] =
8552      "vms_no_64bit_getopt";
8555  *  File name selection pattern
8556  */
8557 tSCC zVms_No_64bit_GetoptList[] =
8558   "rtldef/stdio.h\0rtldef/unistd.h\0";
8560  *  Machine/OS name selection pattern
8561  */
8562 tSCC* apzVms_No_64bit_GetoptMachs[] = {
8563         "*-*-*vms*",
8564         (const char*)NULL };
8567  *  content selection pattern - do fix if pattern found
8568  */
8569 tSCC zVms_No_64bit_GetoptSelect0[] =
8570        "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
8572 #define    VMS_NO_64BIT_GETOPT_TEST_CT  1
8573 static tTestDesc aVms_No_64bit_GetoptTests[] = {
8574   { TT_EGREP,    zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
8577  *  Fix Command Arguments for Vms_No_64bit_Getopt
8578  */
8579 static const char* apzVms_No_64bit_GetoptPatch[] = {
8580     "format",
8581     "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only.  */\n\
8582 %0#endif\n",
8583     (char*)NULL };
8585 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8587  *  Description of Vms_Forward_Declare_Struct fix
8588  */
8589 tSCC zVms_Forward_Declare_StructName[] =
8590      "vms_forward_declare_struct";
8593  *  File name selection pattern
8594  */
8595 tSCC zVms_Forward_Declare_StructList[] =
8596   "rtldef/if.h\0";
8598  *  Machine/OS name selection pattern
8599  */
8600 tSCC* apzVms_Forward_Declare_StructMachs[] = {
8601         "*-*-*vms*",
8602         (const char*)NULL };
8605  *  content selection pattern - do fix if pattern found
8606  */
8607 tSCC zVms_Forward_Declare_StructSelect0[] =
8608        "(/\\* forward decls for C\\+\\+ \\*/\n\
8609 )#ifdef __cplusplus\n";
8611 #define    VMS_FORWARD_DECLARE_STRUCT_TEST_CT  1
8612 static tTestDesc aVms_Forward_Declare_StructTests[] = {
8613   { TT_EGREP,    zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
8616  *  Fix Command Arguments for Vms_Forward_Declare_Struct
8617  */
8618 static const char* apzVms_Forward_Declare_StructPatch[] = {
8619     "format",
8620     "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
8621     (char*)NULL };
8623 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8625  *  Description of Vms_Use_Fast_Setjmp fix
8626  */
8627 tSCC zVms_Use_Fast_SetjmpName[] =
8628      "vms_use_fast_setjmp";
8631  *  File name selection pattern
8632  */
8633 tSCC zVms_Use_Fast_SetjmpList[] =
8634   "rtldef/setjmp.h\0";
8636  *  Machine/OS name selection pattern
8637  */
8638 tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
8639         "*-*-*vms*",
8640         (const char*)NULL };
8643  *  content selection pattern - do fix if pattern found
8644  */
8645 tSCC zVms_Use_Fast_SetjmpSelect0[] =
8646        "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
8648 #define    VMS_USE_FAST_SETJMP_TEST_CT  1
8649 static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
8650   { TT_EGREP,    zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
8653  *  Fix Command Arguments for Vms_Use_Fast_Setjmp
8654  */
8655 static const char* apzVms_Use_Fast_SetjmpPatch[] = {
8656     "format",
8657     "%0 defined (__GNUC__) ||",
8658     (char*)NULL };
8660 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8662  *  Description of Void_Null fix
8663  */
8664 tSCC zVoid_NullName[] =
8665      "void_null";
8668  *  File name selection pattern
8669  */
8670 tSCC zVoid_NullList[] =
8671   "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";
8673  *  Machine/OS name selection pattern
8674  */
8675 #define apzVoid_NullMachs (const char**)NULL
8678  *  content selection pattern - do fix if pattern found
8679  */
8680 tSCC zVoid_NullSelect0[] =
8681        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
8684  *  content bypass pattern - skip fix if pattern found
8685  */
8686 tSCC zVoid_NullBypass0[] =
8687        "__cplusplus";
8688 tSCC zVoid_NullBypass1[] =
8689        "__null";
8691 #define    VOID_NULL_TEST_CT  3
8692 static tTestDesc aVoid_NullTests[] = {
8693   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
8694   { TT_NEGREP,   zVoid_NullBypass1, (regex_t*)NULL },
8695   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
8698  *  Fix Command Arguments for Void_Null
8699  */
8700 static const char* apzVoid_NullPatch[] = {
8701     "format",
8702     "#ifndef NULL\n\
8703 #ifdef __cplusplus\n\
8704 #ifdef __GNUG__\n\
8705 #define NULL __null\n\
8706 #else /* ! __GNUG__  */\n\
8707 #define NULL 0L\n\
8708 #endif /* __GNUG__  */\n\
8709 #else /* ! __cplusplus  */\n\
8710 #define NULL ((void *)0)\n\
8711 #endif /* __cplusplus  */\n\
8712 #endif /* !NULL  */",
8713     (char*)NULL };
8715 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8717  *  Description of Vxworks_Gcc_Problem fix
8718  */
8719 tSCC zVxworks_Gcc_ProblemName[] =
8720      "vxworks_gcc_problem";
8723  *  File name selection pattern
8724  */
8725 tSCC zVxworks_Gcc_ProblemList[] =
8726   "types/vxTypesBase.h\0";
8728  *  Machine/OS name selection pattern
8729  */
8730 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
8733  *  content selection pattern - do fix if pattern found
8734  */
8735 tSCC zVxworks_Gcc_ProblemSelect0[] =
8736        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
8738 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
8739 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
8740   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
8743  *  Fix Command Arguments for Vxworks_Gcc_Problem
8744  */
8745 static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
8746     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
8747     "-e", "/[ \t]size_t/i\\\n\
8748 #ifndef _GCC_SIZE_T\\\n\
8749 #define _GCC_SIZE_T\n",
8750     "-e", "/[ \t]size_t/a\\\n\
8751 #endif\n",
8752     "-e", "/[ \t]ptrdiff_t/i\\\n\
8753 #ifndef _GCC_PTRDIFF_T\\\n\
8754 #define _GCC_PTRDIFF_T\n",
8755     "-e", "/[ \t]ptrdiff_t/a\\\n\
8756 #endif\n",
8757     "-e", "/[ \t]wchar_t/i\\\n\
8758 #ifndef _GCC_WCHAR_T\\\n\
8759 #define _GCC_WCHAR_T\n",
8760     "-e", "/[ \t]wchar_t/a\\\n\
8761 #endif\n",
8762     (char*)NULL };
8764 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8766  *  Description of Vxworks_Ioctl_Macro fix
8767  */
8768 tSCC zVxworks_Ioctl_MacroName[] =
8769      "vxworks_ioctl_macro";
8772  *  File name selection pattern
8773  */
8774 tSCC zVxworks_Ioctl_MacroList[] =
8775   "ioLib.h\0";
8777  *  Machine/OS name selection pattern
8778  */
8779 tSCC* apzVxworks_Ioctl_MacroMachs[] = {
8780         "*-*-vxworks*",
8781         (const char*)NULL };
8782 #define VXWORKS_IOCTL_MACRO_TEST_CT  0
8783 #define aVxworks_Ioctl_MacroTests   (tTestDesc*)NULL
8786  *  Fix Command Arguments for Vxworks_Ioctl_Macro
8787  */
8788 static const char* apzVxworks_Ioctl_MacroPatch[] = {
8789     "format",
8790     "%0\n\
8791 #define ioctl(fd, func, arg) (ioctl)(fd, func, (int)(arg))\n",
8792     "extern[\t ]+int[\t ]+ioctl[\t ]*\\([\t ,[:alnum:]]*\\);",
8793     (char*)NULL };
8795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8797  *  Description of Vxworks_Mkdir_Macro fix
8798  */
8799 tSCC zVxworks_Mkdir_MacroName[] =
8800      "vxworks_mkdir_macro";
8803  *  File name selection pattern
8804  */
8805 tSCC zVxworks_Mkdir_MacroList[] =
8806   "sys/stat.h\0";
8808  *  Machine/OS name selection pattern
8809  */
8810 tSCC* apzVxworks_Mkdir_MacroMachs[] = {
8811         "*-*-vxworks*",
8812         (const char*)NULL };
8813 #define VXWORKS_MKDIR_MACRO_TEST_CT  0
8814 #define aVxworks_Mkdir_MacroTests   (tTestDesc*)NULL
8817  *  Fix Command Arguments for Vxworks_Mkdir_Macro
8818  */
8819 static const char* apzVxworks_Mkdir_MacroPatch[] = {
8820     "format",
8821     "%0\n\
8822 #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir))\n",
8823     "extern[\t ]+STATUS[\t ]+mkdir[\t ]*\\([\t ]*const[\t ]+char[\t ]*\\*[\t ]*(|[_[:alpha:]][_[:alnum:]]*)\\)[\t ]*;",
8824     (char*)NULL };
8826 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8828  *  Description of Vxworks_Needs_Vxtypes fix
8829  */
8830 tSCC zVxworks_Needs_VxtypesName[] =
8831      "vxworks_needs_vxtypes";
8834  *  File name selection pattern
8835  */
8836 tSCC zVxworks_Needs_VxtypesList[] =
8837   "time.h\0";
8839  *  Machine/OS name selection pattern
8840  */
8841 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
8844  *  content selection pattern - do fix if pattern found
8845  */
8846 tSCC zVxworks_Needs_VxtypesSelect0[] =
8847        "uint_t([ \t]+_clocks_per_sec)";
8849 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
8850 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
8851   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
8854  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
8855  */
8856 static const char* apzVxworks_Needs_VxtypesPatch[] = {
8857     "format",
8858     "unsigned int%1",
8859     (char*)NULL };
8861 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8863  *  Description of Vxworks_Needs_Vxworks fix
8864  */
8865 tSCC zVxworks_Needs_VxworksName[] =
8866      "vxworks_needs_vxworks";
8869  *  File name selection pattern
8870  */
8871 tSCC zVxworks_Needs_VxworksList[] =
8872   "sys/stat.h\0";
8874  *  Machine/OS name selection pattern
8875  */
8876 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
8879  *  content selection pattern - do fix if pattern found
8880  */
8881 tSCC zVxworks_Needs_VxworksSelect0[] =
8882        "#[ \t]define[ \t]+__INCstath";
8885  *  perform the 'test' shell command - do fix on success
8886  */
8887 tSCC zVxworks_Needs_VxworksTest0[] =
8888        " -r types/vxTypesOld.h";
8889 tSCC zVxworks_Needs_VxworksTest1[] =
8890        " -n \"`egrep '#include' $file`\"";
8891 tSCC zVxworks_Needs_VxworksTest2[] =
8892        " -n \"`egrep ULONG $file`\"";
8894 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
8895 static tTestDesc aVxworks_Needs_VxworksTests[] = {
8896   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
8897   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
8898   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
8899   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
8902  *  Fix Command Arguments for Vxworks_Needs_Vxworks
8903  */
8904 static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
8905     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
8906 #include <types/vxTypesOld.h>\n",
8907     (char*)NULL };
8909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8911  *  Description of Vxworks_Regs fix
8912  */
8913 tSCC zVxworks_RegsName[] =
8914      "vxworks_regs";
8917  *  File name selection pattern
8918  */
8919 #define zVxworks_RegsList (char*)NULL
8921  *  Machine/OS name selection pattern
8922  */
8923 tSCC* apzVxworks_RegsMachs[] = {
8924         "*-*-vxworks*",
8925         (const char*)NULL };
8928  *  content selection pattern - do fix if pattern found
8929  */
8930 tSCC zVxworks_RegsSelect0[] =
8931        "#[\t ]*include[\t ]+[<\"]regs.h[>\"]";
8933 #define    VXWORKS_REGS_TEST_CT  1
8934 static tTestDesc aVxworks_RegsTests[] = {
8935   { TT_EGREP,    zVxworks_RegsSelect0, (regex_t*)NULL }, };
8938  *  Fix Command Arguments for Vxworks_Regs
8939  */
8940 static const char* apzVxworks_RegsPatch[] = {
8941     "format",
8942     "#include <arch/../regs.h>",
8943     (char*)NULL };
8945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8947  *  Description of Vxworks_Time fix
8948  */
8949 tSCC zVxworks_TimeName[] =
8950      "vxworks_time";
8953  *  File name selection pattern
8954  */
8955 tSCC zVxworks_TimeList[] =
8956   "time.h\0";
8958  *  Machine/OS name selection pattern
8959  */
8960 #define apzVxworks_TimeMachs (const char**)NULL
8963  *  content selection pattern - do fix if pattern found
8964  */
8965 tSCC zVxworks_TimeSelect0[] =
8966        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
8969  *  perform the 'test' shell command - do fix on success
8970  */
8971 tSCC zVxworks_TimeTest0[] =
8972        " -r vxWorks.h";
8974 #define    VXWORKS_TIME_TEST_CT  2
8975 static tTestDesc aVxworks_TimeTests[] = {
8976   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
8977   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
8980  *  Fix Command Arguments for Vxworks_Time
8981  */
8982 static const char* apzVxworks_TimePatch[] = {
8983     "format",
8984     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
8985 #ifdef __cplusplus\n\
8986 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
8987 #else\n\
8988 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
8989 #endif\n\
8990 #define __gcc_VOIDFUNCPTR_defined\n\
8991 #endif\n\
8992 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
8993     (char*)NULL };
8995 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8997  *  Description of Vxworks_Write_Const fix
8998  */
8999 tSCC zVxworks_Write_ConstName[] =
9000      "vxworks_write_const";
9003  *  File name selection pattern
9004  */
9005 tSCC zVxworks_Write_ConstList[] =
9006   "ioLib.h\0";
9008  *  Machine/OS name selection pattern
9009  */
9010 tSCC* apzVxworks_Write_ConstMachs[] = {
9011         "*-*-vxworks*",
9012         (const char*)NULL };
9013 #define VXWORKS_WRITE_CONST_TEST_CT  0
9014 #define aVxworks_Write_ConstTests   (tTestDesc*)NULL
9017  *  Fix Command Arguments for Vxworks_Write_Const
9018  */
9019 static const char* apzVxworks_Write_ConstPatch[] = {
9020     "format",
9021     "extern int  write (int, const char*, size_t);",
9022     "extern[\t ]+int[\t ]+write[\t ]*\\([\t ]*int[\t ]*,[\t ]*char[\t ]*\\*[\t ]*,[\t ]*size_t[\t ]*\\)[\t ]*;",
9023     (char*)NULL };
9025 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9027  *  Description of X11_Class fix
9028  */
9029 tSCC zX11_ClassName[] =
9030      "x11_class";
9033  *  File name selection pattern
9034  */
9035 tSCC zX11_ClassList[] =
9036   "X11/ShellP.h\0";
9038  *  Machine/OS name selection pattern
9039  */
9040 #define apzX11_ClassMachs (const char**)NULL
9043  *  content selection pattern - do fix if pattern found
9044  */
9045 tSCC zX11_ClassSelect0[] =
9046        "^([ \t]*char \\*)class;(.*)";
9049  *  content bypass pattern - skip fix if pattern found
9050  */
9051 tSCC zX11_ClassBypass0[] =
9052        "__cplusplus";
9054 #define    X11_CLASS_TEST_CT  2
9055 static tTestDesc aX11_ClassTests[] = {
9056   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
9057   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
9060  *  Fix Command Arguments for X11_Class
9061  */
9062 static const char* apzX11_ClassPatch[] = {
9063     "format",
9064     "#ifdef __cplusplus\n\
9065 %1c_class;%2\n\
9066 #else\n\
9067 %1class;%2\n\
9068 #endif",
9069     (char*)NULL };
9071 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9073  *  Description of X11_Class_Usage fix
9074  */
9075 tSCC zX11_Class_UsageName[] =
9076      "x11_class_usage";
9079  *  File name selection pattern
9080  */
9081 tSCC zX11_Class_UsageList[] =
9082   "Xm/BaseClassI.h\0";
9084  *  Machine/OS name selection pattern
9085  */
9086 #define apzX11_Class_UsageMachs (const char**)NULL
9089  *  content selection pattern - do fix if pattern found
9090  */
9091 tSCC zX11_Class_UsageSelect0[] =
9092        " class\\)";
9095  *  content bypass pattern - skip fix if pattern found
9096  */
9097 tSCC zX11_Class_UsageBypass0[] =
9098        "__cplusplus";
9100 #define    X11_CLASS_USAGE_TEST_CT  2
9101 static tTestDesc aX11_Class_UsageTests[] = {
9102   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
9103   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
9106  *  Fix Command Arguments for X11_Class_Usage
9107  */
9108 static const char* apzX11_Class_UsagePatch[] = {
9109     "format",
9110     " c_class)",
9111     (char*)NULL };
9113 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9115  *  Description of X11_New fix
9116  */
9117 tSCC zX11_NewName[] =
9118      "x11_new";
9121  *  File name selection pattern
9122  */
9123 tSCC zX11_NewList[] =
9124   "Xm/Traversal.h\0";
9126  *  Machine/OS name selection pattern
9127  */
9128 #define apzX11_NewMachs (const char**)NULL
9131  *  content bypass pattern - skip fix if pattern found
9132  */
9133 tSCC zX11_NewBypass0[] =
9134        "__cplusplus";
9136 #define    X11_NEW_TEST_CT  1
9137 static tTestDesc aX11_NewTests[] = {
9138   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
9141  *  Fix Command Arguments for X11_New
9142  */
9143 static const char* apzX11_NewPatch[] = { sed_cmd_z,
9144     "-e", "/Widget\told, new;/i\\\n\
9145 #ifdef __cplusplus\\\n\
9146 \\\tWidget\told, c_new;\\\n\
9147 #else\n",
9148     "-e", "/Widget\told, new;/a\\\n\
9149 #endif\n",
9150     "-e", "s/Widget new,/Widget c_new,/g",
9151     (char*)NULL };
9153 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9155  *  Description of X11_Sprintf fix
9156  */
9157 tSCC zX11_SprintfName[] =
9158      "x11_sprintf";
9161  *  File name selection pattern
9162  */
9163 tSCC zX11_SprintfList[] =
9164   "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
9166  *  Machine/OS name selection pattern
9167  */
9168 #define apzX11_SprintfMachs (const char**)NULL
9171  *  content selection pattern - do fix if pattern found
9172  */
9173 tSCC zX11_SprintfSelect0[] =
9174        "^extern char \\*\tsprintf\\(\\);$";
9176 #define    X11_SPRINTF_TEST_CT  1
9177 static tTestDesc aX11_SprintfTests[] = {
9178   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
9181  *  Fix Command Arguments for X11_Sprintf
9182  */
9183 static const char* apzX11_SprintfPatch[] = {
9184     "format",
9185     "#ifndef __STDC__\n\
9186 %0\n\
9187 #endif /* !defined __STDC__ */",
9188     (char*)NULL };
9190 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9192  *  Description of Feraiseexcept_Nosse_Invalid fix
9193  */
9194 tSCC zFeraiseexcept_Nosse_InvalidName[] =
9195      "feraiseexcept_nosse_invalid";
9198  *  File name selection pattern
9199  */
9200 tSCC zFeraiseexcept_Nosse_InvalidList[] =
9201   "bits/fenv.h\0";
9203  *  Machine/OS name selection pattern
9204  */
9205 tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = {
9206         "i[34567]86-*-linux*",
9207         "x86*-linux*",
9208         "amd64-*-linux*",
9209         (const char*)NULL };
9212  *  content selection pattern - do fix if pattern found
9213  */
9214 tSCC zFeraiseexcept_Nosse_InvalidSelect0[] =
9215        "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$";
9218  *  content bypass pattern - skip fix if pattern found
9219  */
9220 tSCC zFeraiseexcept_Nosse_InvalidBypass0[] =
9221        "\"fdiv .*; fwait\"";
9223 #define    FERAISEEXCEPT_NOSSE_INVALID_TEST_CT  2
9224 static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = {
9225   { TT_NEGREP,   zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL },
9226   { TT_EGREP,    zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, };
9229  *  Fix Command Arguments for Feraiseexcept_Nosse_Invalid
9230  */
9231 static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = {
9232     "format",
9233     "# ifdef __SSE_MATH__\n\
9234 %0\n\
9235 # else\n\
9236 %1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\
9237 %1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\
9238 # endif",
9239     (char*)NULL };
9241 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9243  *  Description of Feraiseexcept_Nosse_Divbyzero fix
9244  */
9245 tSCC zFeraiseexcept_Nosse_DivbyzeroName[] =
9246      "feraiseexcept_nosse_divbyzero";
9249  *  File name selection pattern
9250  */
9251 tSCC zFeraiseexcept_Nosse_DivbyzeroList[] =
9252   "bits/fenv.h\0";
9254  *  Machine/OS name selection pattern
9255  */
9256 tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = {
9257         "i[34567]86-*-linux*",
9258         "x86*-linux*",
9259         "amd64-*-linux*",
9260         (const char*)NULL };
9263  *  content selection pattern - do fix if pattern found
9264  */
9265 tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] =
9266        "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$";
9269  *  content bypass pattern - skip fix if pattern found
9270  */
9271 tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] =
9272        "\"fdivp .*; fwait\"";
9274 #define    FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT  2
9275 static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = {
9276   { TT_NEGREP,   zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL },
9277   { TT_EGREP,    zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, };
9280  *  Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero
9281  */
9282 static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
9283     "format",
9284     "# ifdef __SSE_MATH__\n\
9285 %0\n\
9286 # else\n\
9287 %1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\
9288 %1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\
9289 # endif",
9290     (char*)NULL };
9292 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9294  *  Description of Complier_H_Tradcpp fix
9295  */
9296 tSCC zComplier_H_TradcppName[] =
9297      "complier_h_tradcpp";
9300  *  File name selection pattern
9301  */
9302 tSCC zComplier_H_TradcppList[] =
9303   "linux/compiler.h\0";
9305  *  Machine/OS name selection pattern
9306  */
9307 #define apzComplier_H_TradcppMachs (const char**)NULL
9310  *  content selection pattern - do fix if pattern found
9311  */
9312 tSCC zComplier_H_TradcppSelect0[] =
9313        "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)";
9315 #define    COMPLIER_H_TRADCPP_TEST_CT  1
9316 static tTestDesc aComplier_H_TradcppTests[] = {
9317   { TT_EGREP,    zComplier_H_TradcppSelect0, (regex_t*)NULL }, };
9320  *  Fix Command Arguments for Complier_H_Tradcpp
9321  */
9322 static const char* apzComplier_H_TradcppPatch[] = {
9323     "format",
9324     "/* __builtin_warning(x, y...) is obsolete */",
9325     (char*)NULL };
9328 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9330  *  List of all fixes
9331  */
9332 #define REGEX_COUNT          266
9333 #define MACH_LIST_SIZE_LIMIT 187
9334 #define FIX_COUNT            227
9337  *  Enumerate the fixes
9338  */
9339 typedef enum {
9340     AAB_AIX_STDIO_FIXIDX,
9341     AAB_AIX_FCNTL_FIXIDX,
9342     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
9343     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
9344     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
9345     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
9346     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
9347     AAB_SUN_MEMCPY_FIXIDX,
9348     AAB_VXWORKS_ASSERT_FIXIDX,
9349     AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
9350     AAB_VXWORKS_STDINT_FIXIDX,
9351     AAB_VXWORKS_UNISTD_FIXIDX,
9352     AIX_COMPLEX_FIXIDX,
9353     AIX_MALLOC_FIXIDX,
9354     AIX_NET_IF_ARP_FIXIDX,
9355     AIX_NULL_FIXIDX,
9356     AIX_ONCE_INIT_1_FIXIDX,
9357     AIX_ONCE_INIT_2_FIXIDX,
9358     AIX_MUTEX_INITIALIZER_1_FIXIDX,
9359     AIX_COND_INITIALIZER_1_FIXIDX,
9360     AIX_RWLOCK_INITIALIZER_1_FIXIDX,
9361     AIX_PTHREAD_FIXIDX,
9362     AIX_STDINT_1_FIXIDX,
9363     AIX_STDINT_2_FIXIDX,
9364     AIX_STDINT_3_FIXIDX,
9365     AIX_STDINT_4_FIXIDX,
9366     AIX_STDINT_5_FIXIDX,
9367     AIX_SYSMACHINE_FIXIDX,
9368     AIX_SYSWAIT_2_FIXIDX,
9369     AIX_VOLATILE_FIXIDX,
9370     ALPHA___ASSERT_FIXIDX,
9371     ALPHA_ASSERT_FIXIDX,
9372     ALPHA_GETOPT_FIXIDX,
9373     ALPHA_IF_SEMICOLON_FIXIDX,
9374     ALPHA_PARENS_FIXIDX,
9375     ALPHA_SBRK_FIXIDX,
9376     AVOID_BOOL_DEFINE_FIXIDX,
9377     AVOID_BOOL_TYPE_FIXIDX,
9378     AVOID_WCHAR_T_TYPE_FIXIDX,
9379     BAD_STRUCT_TERM_FIXIDX,
9380     BADQUOTE_FIXIDX,
9381     BROKEN_ASSERT_STDIO_FIXIDX,
9382     BROKEN_ASSERT_STDLIB_FIXIDX,
9383     BROKEN_CABS_FIXIDX,
9384     BROKEN_NAN_FIXIDX,
9385     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
9386     CTRL_QUOTES_DEF_FIXIDX,
9387     CTRL_QUOTES_USE_FIXIDX,
9388     CXX_UNREADY_FIXIDX,
9389     DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
9390     DARWIN_EXTERNC_FIXIDX,
9391     DARWIN_GCC4_BREAKAGE_FIXIDX,
9392     DARWIN_PRIVATE_EXTERN_FIXIDX,
9393     DARWIN_STDINT_1_FIXIDX,
9394     DARWIN_STDINT_2_FIXIDX,
9395     DARWIN_STDINT_3_FIXIDX,
9396     DARWIN_STDINT_4_FIXIDX,
9397     DARWIN_STDINT_5_FIXIDX,
9398     DARWIN_STDINT_6_FIXIDX,
9399     DARWIN_STDINT_7_FIXIDX,
9400     DEC_INTERN_ASM_FIXIDX,
9401     DJGPP_WCHAR_H_FIXIDX,
9402     ECD_CURSOR_FIXIDX,
9403     FREEBSD_GCC3_BREAKAGE_FIXIDX,
9404     FREEBSD_GCC4_BREAKAGE_FIXIDX,
9405     GLIBC_C99_INLINE_1_FIXIDX,
9406     GLIBC_C99_INLINE_1A_FIXIDX,
9407     GLIBC_C99_INLINE_2_FIXIDX,
9408     GLIBC_C99_INLINE_3_FIXIDX,
9409     GLIBC_C99_INLINE_4_FIXIDX,
9410     GLIBC_MUTEX_INIT_FIXIDX,
9411     GLIBC_STDINT_FIXIDX,
9412     GLIBC_STRNCPY_FIXIDX,
9413     GLIBC_TGMATH_FIXIDX,
9414     GNU_TYPES_FIXIDX,
9415     HP_INLINE_FIXIDX,
9416     HP_SYSFILE_FIXIDX,
9417     HPPA_HPUX_FP_MACROS_FIXIDX,
9418     HPUX10_CPP_POW_INLINE_FIXIDX,
9419     HPUX11_CPP_POW_INLINE_FIXIDX,
9420     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
9421     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
9422     HPUX10_STDIO_DECLARATIONS_FIXIDX,
9423     HPUX11_ABS_FIXIDX,
9424     HPUX11_FABSF_FIXIDX,
9425     HPUX11_PTHREAD_CONST_FIXIDX,
9426     HPUX11_SIZE_T_FIXIDX,
9427     HPUX11_SNPRINTF_FIXIDX,
9428     HPUX11_VSNPRINTF_FIXIDX,
9429     HPUX8_BOGUS_INLINES_FIXIDX,
9430     HPUX_CTYPE_MACROS_FIXIDX,
9431     HPUX_HTONL_FIXIDX,
9432     HPUX_LONG_DOUBLE_FIXIDX,
9433     HPUX_LONG_DOUBLE_2_FIXIDX,
9434     HPUX_SYSTIME_FIXIDX,
9435     HPUX_SPU_INFO_FIXIDX,
9436     HPUX11_EXTERN_SENDFILE_FIXIDX,
9437     HPUX11_EXTERN_SENDPATH_FIXIDX,
9438     HPUX_EXTERN_ERRNO_FIXIDX,
9439     HPUX_PTHREAD_INITIALIZERS_FIXIDX,
9440     HPUX_C99_INTPTR_FIXIDX,
9441     HPUX_C99_INTTYPES_FIXIDX,
9442     HPUX_C99_INTTYPES2_FIXIDX,
9443     HPUX_STDINT_LEAST_FAST_FIXIDX,
9444     HPUX_INTTYPE_INT8_T_FIXIDX,
9445     HPUX_IMAGINARY_I_FIXIDX,
9446     HUGE_VAL_HEX_FIXIDX,
9447     HUGE_VALF_HEX_FIXIDX,
9448     HUGE_VALL_HEX_FIXIDX,
9449     INT_ABORT_FREE_AND_EXIT_FIXIDX,
9450     IO_QUOTES_DEF_FIXIDX,
9451     IO_QUOTES_USE_FIXIDX,
9452     IP_MISSING_SEMI_FIXIDX,
9453     IRIX_LIMITS_CONST_FIXIDX,
9454     IRIX_STDIO_VA_LIST_FIXIDX,
9455     KANDR_CONCAT_FIXIDX,
9456     LINUX_IA64_UCONTEXT_FIXIDX,
9457     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
9458     LYNXOS_MISSING_PUTENV_FIXIDX,
9459     MACHINE_ANSI_H_VA_LIST_FIXIDX,
9460     MACHINE_NAME_FIXIDX,
9461     MATH_EXCEPTION_FIXIDX,
9462     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
9463     NESTED_AUTH_DES_FIXIDX,
9464     NETBSD_C99_INLINE_1_FIXIDX,
9465     NETBSD_C99_INLINE_2_FIXIDX,
9466     NETBSD_EXTRA_SEMICOLON_FIXIDX,
9467     NEWLIB_STDINT_1_FIXIDX,
9468     NEWLIB_STDINT_2_FIXIDX,
9469     NEXT_MATH_PREFIX_FIXIDX,
9470     NEXT_TEMPLATE_FIXIDX,
9471     NEXT_VOLITILE_FIXIDX,
9472     NEXT_WAIT_UNION_FIXIDX,
9473     NODEENT_SYNTAX_FIXIDX,
9474     OPENBSD_NULL_DEFINITION_FIXIDX,
9475     OBSTACK_LVALUE_CAST_FIXIDX,
9476     OPENBSD_VA_START_FIXIDX,
9477     OSF_NAMESPACE_A_FIXIDX,
9478     OSF_NAMESPACE_C_FIXIDX,
9479     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
9480     READ_RET_TYPE_FIXIDX,
9481     RPC_XDR_LVALUE_CAST_A_FIXIDX,
9482     RPC_XDR_LVALUE_CAST_B_FIXIDX,
9483     RS6000_DOUBLE_FIXIDX,
9484     RS6000_FCHMOD_FIXIDX,
9485     RS6000_PARAM_FIXIDX,
9486     SOLARIS___RESTRICT_FIXIDX,
9487     SOLARIS_COMPLEX_FIXIDX,
9488     SOLARIS_COMPLEX_CXX_FIXIDX,
9489     SOLARIS_CXX_LINKAGE_FIXIDX,
9490     SOLARIS_GETC_STRICT_STDC_FIXIDX,
9491     SOLARIS_LONGJMP_NORETURN_FIXIDX,
9492     SOLARIS_MATH_1_FIXIDX,
9493     SOLARIS_MATH_2_FIXIDX,
9494     SOLARIS_MATH_3_FIXIDX,
9495     SOLARIS_MATH_4_FIXIDX,
9496     SOLARIS_MATH_8_FIXIDX,
9497     SOLARIS_MATH_9_FIXIDX,
9498     SOLARIS_MATH_10_FIXIDX,
9499     SOLARIS_MUTEX_INIT_2_FIXIDX,
9500     SOLARIS_POW_INT_OVERLOAD_FIXIDX,
9501     SOLARIS_RWLOCK_INIT_1_FIXIDX,
9502     SOLARIS_ONCE_INIT_1_FIXIDX,
9503     SOLARIS_ONCE_INIT_2_FIXIDX,
9504     SOLARIS_INT_CONST_FIXIDX,
9505     SOLARIS_INT_LIMITS_1_FIXIDX,
9506     SOLARIS_INT_LIMITS_2_FIXIDX,
9507     SOLARIS_INT_LIMITS_3_FIXIDX,
9508     SOLARIS_INT_TYPES_FIXIDX,
9509     SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
9510     SOLARIS_STD___FILBUF_FIXIDX,
9511     SOLARIS_STDIO_TAG_FIXIDX,
9512     SOLARIS_SYS_VA_LIST_FIXIDX,
9513     STATSSWTCH_FIXIDX,
9514     STDIO_STDARG_H_FIXIDX,
9515     STDIO_VA_LIST_FIXIDX,
9516     STDIO_VA_LIST_CLIENTS_FIXIDX,
9517     STRICT_ANSI_NOT_FIXIDX,
9518     STRICT_ANSI_NOT_CTD_FIXIDX,
9519     STRICT_ANSI_ONLY_FIXIDX,
9520     STRUCT_FILE_FIXIDX,
9521     STRUCT_SOCKADDR_FIXIDX,
9522     SUN_AUTH_PROTO_FIXIDX,
9523     SUN_BOGUS_IFDEF_FIXIDX,
9524     SUN_CATMACRO_FIXIDX,
9525     SUN_MALLOC_FIXIDX,
9526     SUN_RUSERS_SEMI_FIXIDX,
9527     SUN_SIGNAL_FIXIDX,
9528     SUNOS_STRLEN_FIXIDX,
9529     SVR4_DISABLE_OPT_FIXIDX,
9530     SVR4_GETCWD_FIXIDX,
9531     SVR4_PROFIL_FIXIDX,
9532     SVR4_SIGHANDLER_TYPE_FIXIDX,
9533     SVR4_UNDECLARED_GETRNGE_FIXIDX,
9534     SYSV68_STRING_FIXIDX,
9535     SYSZ_STDLIB_FOR_SUN_FIXIDX,
9536     THREAD_KEYWORD_FIXIDX,
9537     TINFO_CPLUSPLUS_FIXIDX,
9538     ULTRIX_CONST_FIXIDX,
9539     ULTRIX_CONST2_FIXIDX,
9540     VA_I960_MACRO_FIXIDX,
9541     VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
9542     VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
9543     VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
9544     VMS_USE_QUOTED_INCLUDE_FIXIDX,
9545     VMS_ADD_MISSING_BRACES_FIXIDX,
9546     VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
9547     VMS_DECC_BUILTIN_FIXIDX,
9548     VMS_NO_64BIT_GETOPT_FIXIDX,
9549     VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
9550     VMS_USE_FAST_SETJMP_FIXIDX,
9551     VOID_NULL_FIXIDX,
9552     VXWORKS_GCC_PROBLEM_FIXIDX,
9553     VXWORKS_IOCTL_MACRO_FIXIDX,
9554     VXWORKS_MKDIR_MACRO_FIXIDX,
9555     VXWORKS_NEEDS_VXTYPES_FIXIDX,
9556     VXWORKS_NEEDS_VXWORKS_FIXIDX,
9557     VXWORKS_REGS_FIXIDX,
9558     VXWORKS_TIME_FIXIDX,
9559     VXWORKS_WRITE_CONST_FIXIDX,
9560     X11_CLASS_FIXIDX,
9561     X11_CLASS_USAGE_FIXIDX,
9562     X11_NEW_FIXIDX,
9563     X11_SPRINTF_FIXIDX,
9564     FERAISEEXCEPT_NOSSE_INVALID_FIXIDX,
9565     FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX,
9566     COMPLIER_H_TRADCPP_FIXIDX
9567 } t_fixinc_idx;
9569 tFixDesc fixDescList[ FIX_COUNT ] = {
9570   {  zAab_Aix_StdioName,    zAab_Aix_StdioList,
9571      apzAab_Aix_StdioMachs,
9572      AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9573      aAab_Aix_StdioTests,   apzAab_Aix_StdioPatch, 0 },
9575   {  zAab_Aix_FcntlName,    zAab_Aix_FcntlList,
9576      apzAab_Aix_FcntlMachs,
9577      AAB_AIX_FCNTL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9578      aAab_Aix_FcntlTests,   apzAab_Aix_FcntlPatch, 0 },
9580   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
9581      apzAab_Darwin7_9_Long_Double_FuncsMachs,
9582      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9583      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
9585   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
9586      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
9587      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9588      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
9590   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
9591      apzAab_Fd_Zero_Gnu_Types_HMachs,
9592      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9593      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
9595   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
9596      apzAab_Fd_Zero_Selectbits_HMachs,
9597      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9598      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
9600   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
9601      apzAab_Solaris_Sys_Varargs_HMachs,
9602      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9603      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
9605   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
9606      apzAab_Sun_MemcpyMachs,
9607      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9608      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
9610   {  zAab_Vxworks_AssertName,    zAab_Vxworks_AssertList,
9611      apzAab_Vxworks_AssertMachs,
9612      AAB_VXWORKS_ASSERT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9613      aAab_Vxworks_AssertTests,   apzAab_Vxworks_AssertPatch, 0 },
9615   {  zAab_Vxworks_Regs_VxtypesName,    zAab_Vxworks_Regs_VxtypesList,
9616      apzAab_Vxworks_Regs_VxtypesMachs,
9617      AAB_VXWORKS_REGS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9618      aAab_Vxworks_Regs_VxtypesTests,   apzAab_Vxworks_Regs_VxtypesPatch, 0 },
9620   {  zAab_Vxworks_StdintName,    zAab_Vxworks_StdintList,
9621      apzAab_Vxworks_StdintMachs,
9622      AAB_VXWORKS_STDINT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9623      aAab_Vxworks_StdintTests,   apzAab_Vxworks_StdintPatch, 0 },
9625   {  zAab_Vxworks_UnistdName,    zAab_Vxworks_UnistdList,
9626      apzAab_Vxworks_UnistdMachs,
9627      AAB_VXWORKS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9628      aAab_Vxworks_UnistdTests,   apzAab_Vxworks_UnistdPatch, 0 },
9630   {  zAix_ComplexName,    zAix_ComplexList,
9631      apzAix_ComplexMachs,
9632      AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9633      aAix_ComplexTests,   apzAix_ComplexPatch, 0 },
9635   {  zAix_MallocName,    zAix_MallocList,
9636      apzAix_MallocMachs,
9637      AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9638      aAix_MallocTests,   apzAix_MallocPatch, 0 },
9640   {  zAix_Net_If_ArpName,    zAix_Net_If_ArpList,
9641      apzAix_Net_If_ArpMachs,
9642      AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9643      aAix_Net_If_ArpTests,   apzAix_Net_If_ArpPatch, 0 },
9645   {  zAix_NullName,    zAix_NullList,
9646      apzAix_NullMachs,
9647      AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9648      aAix_NullTests,   apzAix_NullPatch, 0 },
9650   {  zAix_Once_Init_1Name,    zAix_Once_Init_1List,
9651      apzAix_Once_Init_1Machs,
9652      AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9653      aAix_Once_Init_1Tests,   apzAix_Once_Init_1Patch, 0 },
9655   {  zAix_Once_Init_2Name,    zAix_Once_Init_2List,
9656      apzAix_Once_Init_2Machs,
9657      AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9658      aAix_Once_Init_2Tests,   apzAix_Once_Init_2Patch, 0 },
9660   {  zAix_Mutex_Initializer_1Name,    zAix_Mutex_Initializer_1List,
9661      apzAix_Mutex_Initializer_1Machs,
9662      AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9663      aAix_Mutex_Initializer_1Tests,   apzAix_Mutex_Initializer_1Patch, 0 },
9665   {  zAix_Cond_Initializer_1Name,    zAix_Cond_Initializer_1List,
9666      apzAix_Cond_Initializer_1Machs,
9667      AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9668      aAix_Cond_Initializer_1Tests,   apzAix_Cond_Initializer_1Patch, 0 },
9670   {  zAix_Rwlock_Initializer_1Name,    zAix_Rwlock_Initializer_1List,
9671      apzAix_Rwlock_Initializer_1Machs,
9672      AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9673      aAix_Rwlock_Initializer_1Tests,   apzAix_Rwlock_Initializer_1Patch, 0 },
9675   {  zAix_PthreadName,    zAix_PthreadList,
9676      apzAix_PthreadMachs,
9677      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9678      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
9680   {  zAix_Stdint_1Name,    zAix_Stdint_1List,
9681      apzAix_Stdint_1Machs,
9682      AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9683      aAix_Stdint_1Tests,   apzAix_Stdint_1Patch, 0 },
9685   {  zAix_Stdint_2Name,    zAix_Stdint_2List,
9686      apzAix_Stdint_2Machs,
9687      AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9688      aAix_Stdint_2Tests,   apzAix_Stdint_2Patch, 0 },
9690   {  zAix_Stdint_3Name,    zAix_Stdint_3List,
9691      apzAix_Stdint_3Machs,
9692      AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9693      aAix_Stdint_3Tests,   apzAix_Stdint_3Patch, 0 },
9695   {  zAix_Stdint_4Name,    zAix_Stdint_4List,
9696      apzAix_Stdint_4Machs,
9697      AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9698      aAix_Stdint_4Tests,   apzAix_Stdint_4Patch, 0 },
9700   {  zAix_Stdint_5Name,    zAix_Stdint_5List,
9701      apzAix_Stdint_5Machs,
9702      AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9703      aAix_Stdint_5Tests,   apzAix_Stdint_5Patch, 0 },
9705   {  zAix_SysmachineName,    zAix_SysmachineList,
9706      apzAix_SysmachineMachs,
9707      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9708      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
9710   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
9711      apzAix_Syswait_2Machs,
9712      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9713      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
9715   {  zAix_VolatileName,    zAix_VolatileList,
9716      apzAix_VolatileMachs,
9717      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9718      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
9720   {  zAlpha___AssertName,    zAlpha___AssertList,
9721      apzAlpha___AssertMachs,
9722      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9723      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
9725   {  zAlpha_AssertName,    zAlpha_AssertList,
9726      apzAlpha_AssertMachs,
9727      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9728      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
9730   {  zAlpha_GetoptName,    zAlpha_GetoptList,
9731      apzAlpha_GetoptMachs,
9732      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9733      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
9735   {  zAlpha_If_SemicolonName,    zAlpha_If_SemicolonList,
9736      apzAlpha_If_SemicolonMachs,
9737      ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9738      aAlpha_If_SemicolonTests,   apzAlpha_If_SemicolonPatch, 0 },
9740   {  zAlpha_ParensName,    zAlpha_ParensList,
9741      apzAlpha_ParensMachs,
9742      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9743      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
9745   {  zAlpha_SbrkName,    zAlpha_SbrkList,
9746      apzAlpha_SbrkMachs,
9747      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9748      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
9750   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
9751      apzAvoid_Bool_DefineMachs,
9752      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9753      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
9755   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
9756      apzAvoid_Bool_TypeMachs,
9757      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9758      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
9760   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
9761      apzAvoid_Wchar_T_TypeMachs,
9762      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9763      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
9765   {  zBad_Struct_TermName,    zBad_Struct_TermList,
9766      apzBad_Struct_TermMachs,
9767      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9768      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
9770   {  zBadquoteName,    zBadquoteList,
9771      apzBadquoteMachs,
9772      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9773      aBadquoteTests,   apzBadquotePatch, 0 },
9775   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
9776      apzBroken_Assert_StdioMachs,
9777      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9778      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
9780   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
9781      apzBroken_Assert_StdlibMachs,
9782      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9783      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
9785   {  zBroken_CabsName,    zBroken_CabsList,
9786      apzBroken_CabsMachs,
9787      BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
9788      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
9790   {  zBroken_NanName,    zBroken_NanList,
9791      apzBroken_NanMachs,
9792      BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9793      aBroken_NanTests,   apzBroken_NanPatch, 0 },
9795   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
9796      apzBsd_Stdio_Attrs_ConflictMachs,
9797      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9798      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
9800   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
9801      apzCtrl_Quotes_DefMachs,
9802      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9803      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
9805   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
9806      apzCtrl_Quotes_UseMachs,
9807      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9808      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
9810   {  zCxx_UnreadyName,    zCxx_UnreadyList,
9811      apzCxx_UnreadyMachs,
9812      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9813      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
9815   {  zDarwin_9_Long_Double_Funcs_2Name,    zDarwin_9_Long_Double_Funcs_2List,
9816      apzDarwin_9_Long_Double_Funcs_2Machs,
9817      DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9818      aDarwin_9_Long_Double_Funcs_2Tests,   apzDarwin_9_Long_Double_Funcs_2Patch, 0 },
9820   {  zDarwin_ExterncName,    zDarwin_ExterncList,
9821      apzDarwin_ExterncMachs,
9822      DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9823      aDarwin_ExterncTests,   apzDarwin_ExterncPatch, 0 },
9825   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
9826      apzDarwin_Gcc4_BreakageMachs,
9827      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9828      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
9830   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
9831      apzDarwin_Private_ExternMachs,
9832      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9833      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
9835   {  zDarwin_Stdint_1Name,    zDarwin_Stdint_1List,
9836      apzDarwin_Stdint_1Machs,
9837      DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9838      aDarwin_Stdint_1Tests,   apzDarwin_Stdint_1Patch, 0 },
9840   {  zDarwin_Stdint_2Name,    zDarwin_Stdint_2List,
9841      apzDarwin_Stdint_2Machs,
9842      DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9843      aDarwin_Stdint_2Tests,   apzDarwin_Stdint_2Patch, 0 },
9845   {  zDarwin_Stdint_3Name,    zDarwin_Stdint_3List,
9846      apzDarwin_Stdint_3Machs,
9847      DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9848      aDarwin_Stdint_3Tests,   apzDarwin_Stdint_3Patch, 0 },
9850   {  zDarwin_Stdint_4Name,    zDarwin_Stdint_4List,
9851      apzDarwin_Stdint_4Machs,
9852      DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9853      aDarwin_Stdint_4Tests,   apzDarwin_Stdint_4Patch, 0 },
9855   {  zDarwin_Stdint_5Name,    zDarwin_Stdint_5List,
9856      apzDarwin_Stdint_5Machs,
9857      DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9858      aDarwin_Stdint_5Tests,   apzDarwin_Stdint_5Patch, 0 },
9860   {  zDarwin_Stdint_6Name,    zDarwin_Stdint_6List,
9861      apzDarwin_Stdint_6Machs,
9862      DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9863      aDarwin_Stdint_6Tests,   apzDarwin_Stdint_6Patch, 0 },
9865   {  zDarwin_Stdint_7Name,    zDarwin_Stdint_7List,
9866      apzDarwin_Stdint_7Machs,
9867      DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9868      aDarwin_Stdint_7Tests,   apzDarwin_Stdint_7Patch, 0 },
9870   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
9871      apzDec_Intern_AsmMachs,
9872      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
9873      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
9875   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
9876      apzDjgpp_Wchar_HMachs,
9877      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9878      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
9880   {  zEcd_CursorName,    zEcd_CursorList,
9881      apzEcd_CursorMachs,
9882      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9883      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
9885   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
9886      apzFreebsd_Gcc3_BreakageMachs,
9887      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9888      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
9890   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
9891      apzFreebsd_Gcc4_BreakageMachs,
9892      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9893      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
9895   {  zGlibc_C99_Inline_1Name,    zGlibc_C99_Inline_1List,
9896      apzGlibc_C99_Inline_1Machs,
9897      GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9898      aGlibc_C99_Inline_1Tests,   apzGlibc_C99_Inline_1Patch, 0 },
9900   {  zGlibc_C99_Inline_1aName,    zGlibc_C99_Inline_1aList,
9901      apzGlibc_C99_Inline_1aMachs,
9902      GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9903      aGlibc_C99_Inline_1aTests,   apzGlibc_C99_Inline_1aPatch, 0 },
9905   {  zGlibc_C99_Inline_2Name,    zGlibc_C99_Inline_2List,
9906      apzGlibc_C99_Inline_2Machs,
9907      GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
9908      aGlibc_C99_Inline_2Tests,   apzGlibc_C99_Inline_2Patch, 0 },
9910   {  zGlibc_C99_Inline_3Name,    zGlibc_C99_Inline_3List,
9911      apzGlibc_C99_Inline_3Machs,
9912      GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9913      aGlibc_C99_Inline_3Tests,   apzGlibc_C99_Inline_3Patch, 0 },
9915   {  zGlibc_C99_Inline_4Name,    zGlibc_C99_Inline_4List,
9916      apzGlibc_C99_Inline_4Machs,
9917      GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9918      aGlibc_C99_Inline_4Tests,   apzGlibc_C99_Inline_4Patch, 0 },
9920   {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
9921      apzGlibc_Mutex_InitMachs,
9922      GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
9923      aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
9925   {  zGlibc_StdintName,    zGlibc_StdintList,
9926      apzGlibc_StdintMachs,
9927      GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9928      aGlibc_StdintTests,   apzGlibc_StdintPatch, 0 },
9930   {  zGlibc_StrncpyName,    zGlibc_StrncpyList,
9931      apzGlibc_StrncpyMachs,
9932      GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9933      aGlibc_StrncpyTests,   apzGlibc_StrncpyPatch, 0 },
9935   {  zGlibc_TgmathName,    zGlibc_TgmathList,
9936      apzGlibc_TgmathMachs,
9937      GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9938      aGlibc_TgmathTests,   apzGlibc_TgmathPatch, 0 },
9940   {  zGnu_TypesName,    zGnu_TypesList,
9941      apzGnu_TypesMachs,
9942      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
9943      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
9945   {  zHp_InlineName,    zHp_InlineList,
9946      apzHp_InlineMachs,
9947      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9948      aHp_InlineTests,   apzHp_InlinePatch, 0 },
9950   {  zHp_SysfileName,    zHp_SysfileList,
9951      apzHp_SysfileMachs,
9952      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9953      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
9955   {  zHppa_Hpux_Fp_MacrosName,    zHppa_Hpux_Fp_MacrosList,
9956      apzHppa_Hpux_Fp_MacrosMachs,
9957      HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9958      aHppa_Hpux_Fp_MacrosTests,   apzHppa_Hpux_Fp_MacrosPatch, 0 },
9960   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
9961      apzHpux10_Cpp_Pow_InlineMachs,
9962      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9963      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
9965   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
9966      apzHpux11_Cpp_Pow_InlineMachs,
9967      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9968      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
9970   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
9971      apzHpux10_Ctype_Declarations1Machs,
9972      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9973      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
9975   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
9976      apzHpux10_Ctype_Declarations2Machs,
9977      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9978      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
9980   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
9981      apzHpux10_Stdio_DeclarationsMachs,
9982      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9983      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
9985   {  zHpux11_AbsName,    zHpux11_AbsList,
9986      apzHpux11_AbsMachs,
9987      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9988      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
9990   {  zHpux11_FabsfName,    zHpux11_FabsfList,
9991      apzHpux11_FabsfMachs,
9992      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9993      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
9995   {  zHpux11_Pthread_ConstName,    zHpux11_Pthread_ConstList,
9996      apzHpux11_Pthread_ConstMachs,
9997      HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9998      aHpux11_Pthread_ConstTests,   apzHpux11_Pthread_ConstPatch, 0 },
10000   {  zHpux11_Size_TName,    zHpux11_Size_TList,
10001      apzHpux11_Size_TMachs,
10002      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10003      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
10005   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
10006      apzHpux11_SnprintfMachs,
10007      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10008      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
10010   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
10011      apzHpux11_VsnprintfMachs,
10012      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10013      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
10015   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
10016      apzHpux8_Bogus_InlinesMachs,
10017      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
10018      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
10020   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
10021      apzHpux_Ctype_MacrosMachs,
10022      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10023      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
10025   {  zHpux_HtonlName,    zHpux_HtonlList,
10026      apzHpux_HtonlMachs,
10027      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10028      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
10030   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
10031      apzHpux_Long_DoubleMachs,
10032      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
10033      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
10035   {  zHpux_Long_Double_2Name,    zHpux_Long_Double_2List,
10036      apzHpux_Long_Double_2Machs,
10037      HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10038      aHpux_Long_Double_2Tests,   apzHpux_Long_Double_2Patch, 0 },
10040   {  zHpux_SystimeName,    zHpux_SystimeList,
10041      apzHpux_SystimeMachs,
10042      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10043      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
10045   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
10046      apzHpux_Spu_InfoMachs,
10047      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10048      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
10050   {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
10051      apzHpux11_Extern_SendfileMachs,
10052      HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10053      aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
10055   {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
10056      apzHpux11_Extern_SendpathMachs,
10057      HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10058      aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
10060   {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
10061      apzHpux_Extern_ErrnoMachs,
10062      HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10063      aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
10065   {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
10066      apzHpux_Pthread_InitializersMachs,
10067      HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
10068      aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
10070   {  zHpux_C99_IntptrName,    zHpux_C99_IntptrList,
10071      apzHpux_C99_IntptrMachs,
10072      HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
10073      aHpux_C99_IntptrTests,   apzHpux_C99_IntptrPatch, 0 },
10075   {  zHpux_C99_InttypesName,    zHpux_C99_InttypesList,
10076      apzHpux_C99_InttypesMachs,
10077      HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
10078      aHpux_C99_InttypesTests,   apzHpux_C99_InttypesPatch, 0 },
10080   {  zHpux_C99_Inttypes2Name,    zHpux_C99_Inttypes2List,
10081      apzHpux_C99_Inttypes2Machs,
10082      HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
10083      aHpux_C99_Inttypes2Tests,   apzHpux_C99_Inttypes2Patch, 0 },
10085   {  zHpux_Stdint_Least_FastName,    zHpux_Stdint_Least_FastList,
10086      apzHpux_Stdint_Least_FastMachs,
10087      HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10088      aHpux_Stdint_Least_FastTests,   apzHpux_Stdint_Least_FastPatch, 0 },
10090   {  zHpux_Inttype_Int8_TName,    zHpux_Inttype_Int8_TList,
10091      apzHpux_Inttype_Int8_TMachs,
10092      HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10093      aHpux_Inttype_Int8_TTests,   apzHpux_Inttype_Int8_TPatch, 0 },
10095   {  zHpux_Imaginary_IName,    zHpux_Imaginary_IList,
10096      apzHpux_Imaginary_IMachs,
10097      HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10098      aHpux_Imaginary_ITests,   apzHpux_Imaginary_IPatch, 0 },
10100   {  zHuge_Val_HexName,    zHuge_Val_HexList,
10101      apzHuge_Val_HexMachs,
10102      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10103      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
10105   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
10106      apzHuge_Valf_HexMachs,
10107      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10108      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
10110   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
10111      apzHuge_Vall_HexMachs,
10112      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10113      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
10115   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
10116      apzInt_Abort_Free_And_ExitMachs,
10117      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10118      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
10120   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
10121      apzIo_Quotes_DefMachs,
10122      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10123      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
10125   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
10126      apzIo_Quotes_UseMachs,
10127      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10128      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
10130   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
10131      apzIp_Missing_SemiMachs,
10132      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
10133      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
10135   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
10136      apzIrix_Limits_ConstMachs,
10137      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10138      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
10140   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
10141      apzIrix_Stdio_Va_ListMachs,
10142      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10143      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
10145   {  zKandr_ConcatName,    zKandr_ConcatList,
10146      apzKandr_ConcatMachs,
10147      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10148      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
10150   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
10151      apzLinux_Ia64_UcontextMachs,
10152      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10153      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
10155   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
10156      apzLynxos_No_Warning_In_Sys_Time_HMachs,
10157      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10158      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
10160   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
10161      apzLynxos_Missing_PutenvMachs,
10162      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10163      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
10165   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
10166      apzMachine_Ansi_H_Va_ListMachs,
10167      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10168      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
10170   {  zMachine_NameName,    zMachine_NameList,
10171      apzMachine_NameMachs,
10172      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10173      aMachine_NameTests,   apzMachine_NamePatch, 0 },
10175   {  zMath_ExceptionName,    zMath_ExceptionList,
10176      apzMath_ExceptionMachs,
10177      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10178      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
10180   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
10181      apzMath_Huge_Val_From_Dbl_MaxMachs,
10182      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
10183      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
10185   {  zNested_Auth_DesName,    zNested_Auth_DesList,
10186      apzNested_Auth_DesMachs,
10187      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10188      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
10190   {  zNetbsd_C99_Inline_1Name,    zNetbsd_C99_Inline_1List,
10191      apzNetbsd_C99_Inline_1Machs,
10192      NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10193      aNetbsd_C99_Inline_1Tests,   apzNetbsd_C99_Inline_1Patch, 0 },
10195   {  zNetbsd_C99_Inline_2Name,    zNetbsd_C99_Inline_2List,
10196      apzNetbsd_C99_Inline_2Machs,
10197      NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10198      aNetbsd_C99_Inline_2Tests,   apzNetbsd_C99_Inline_2Patch, 0 },
10200   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
10201      apzNetbsd_Extra_SemicolonMachs,
10202      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10203      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
10205   {  zNewlib_Stdint_1Name,    zNewlib_Stdint_1List,
10206      apzNewlib_Stdint_1Machs,
10207      NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
10208      aNewlib_Stdint_1Tests,   apzNewlib_Stdint_1Patch, 0 },
10210   {  zNewlib_Stdint_2Name,    zNewlib_Stdint_2List,
10211      apzNewlib_Stdint_2Machs,
10212      NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10213      aNewlib_Stdint_2Tests,   apzNewlib_Stdint_2Patch, 0 },
10215   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
10216      apzNext_Math_PrefixMachs,
10217      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10218      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
10220   {  zNext_TemplateName,    zNext_TemplateList,
10221      apzNext_TemplateMachs,
10222      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10223      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
10225   {  zNext_VolitileName,    zNext_VolitileList,
10226      apzNext_VolitileMachs,
10227      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10228      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
10230   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
10231      apzNext_Wait_UnionMachs,
10232      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10233      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
10235   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
10236      apzNodeent_SyntaxMachs,
10237      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10238      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
10240   {  zOpenbsd_Null_DefinitionName,    zOpenbsd_Null_DefinitionList,
10241      apzOpenbsd_Null_DefinitionMachs,
10242      OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10243      aOpenbsd_Null_DefinitionTests,   apzOpenbsd_Null_DefinitionPatch, 0 },
10245   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
10246      apzObstack_Lvalue_CastMachs,
10247      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10248      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
10250   {  zOpenbsd_Va_StartName,    zOpenbsd_Va_StartList,
10251      apzOpenbsd_Va_StartMachs,
10252      OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10253      aOpenbsd_Va_StartTests,   apzOpenbsd_Va_StartPatch, 0 },
10255   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
10256      apzOsf_Namespace_AMachs,
10257      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10258      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
10260   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
10261      apzOsf_Namespace_CMachs,
10262      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10263      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
10265   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
10266      apzPthread_Incomplete_Struct_ArgumentMachs,
10267      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10268      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
10270   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
10271      apzRead_Ret_TypeMachs,
10272      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10273      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
10275   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
10276      apzRpc_Xdr_Lvalue_Cast_AMachs,
10277      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10278      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
10280   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
10281      apzRpc_Xdr_Lvalue_Cast_BMachs,
10282      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10283      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
10285   {  zRs6000_DoubleName,    zRs6000_DoubleList,
10286      apzRs6000_DoubleMachs,
10287      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10288      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
10290   {  zRs6000_FchmodName,    zRs6000_FchmodList,
10291      apzRs6000_FchmodMachs,
10292      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10293      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
10295   {  zRs6000_ParamName,    zRs6000_ParamList,
10296      apzRs6000_ParamMachs,
10297      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10298      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
10300   {  zSolaris___RestrictName,    zSolaris___RestrictList,
10301      apzSolaris___RestrictMachs,
10302      SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10303      aSolaris___RestrictTests,   apzSolaris___RestrictPatch, 0 },
10305   {  zSolaris_ComplexName,    zSolaris_ComplexList,
10306      apzSolaris_ComplexMachs,
10307      SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
10308      aSolaris_ComplexTests,   apzSolaris_ComplexPatch, 0 },
10310   {  zSolaris_Complex_CxxName,    zSolaris_Complex_CxxList,
10311      apzSolaris_Complex_CxxMachs,
10312      SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
10313      aSolaris_Complex_CxxTests,   apzSolaris_Complex_CxxPatch, 0 },
10315   {  zSolaris_Cxx_LinkageName,    zSolaris_Cxx_LinkageList,
10316      apzSolaris_Cxx_LinkageMachs,
10317      SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10318      aSolaris_Cxx_LinkageTests,   apzSolaris_Cxx_LinkagePatch, 0 },
10320   {  zSolaris_Getc_Strict_StdcName,    zSolaris_Getc_Strict_StdcList,
10321      apzSolaris_Getc_Strict_StdcMachs,
10322      SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10323      aSolaris_Getc_Strict_StdcTests,   apzSolaris_Getc_Strict_StdcPatch, 0 },
10325   {  zSolaris_Longjmp_NoreturnName,    zSolaris_Longjmp_NoreturnList,
10326      apzSolaris_Longjmp_NoreturnMachs,
10327      SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10328      aSolaris_Longjmp_NoreturnTests,   apzSolaris_Longjmp_NoreturnPatch, 0 },
10330   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
10331      apzSolaris_Math_1Machs,
10332      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10333      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
10335   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
10336      apzSolaris_Math_2Machs,
10337      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10338      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
10340   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
10341      apzSolaris_Math_3Machs,
10342      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10343      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
10345   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
10346      apzSolaris_Math_4Machs,
10347      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10348      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
10350   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
10351      apzSolaris_Math_8Machs,
10352      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10353      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
10355   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
10356      apzSolaris_Math_9Machs,
10357      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10358      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
10360   {  zSolaris_Math_10Name,    zSolaris_Math_10List,
10361      apzSolaris_Math_10Machs,
10362      SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10363      aSolaris_Math_10Tests,   apzSolaris_Math_10Patch, 0 },
10365   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
10366      apzSolaris_Mutex_Init_2Machs,
10367      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10368      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
10370   {  zSolaris_Pow_Int_OverloadName,    zSolaris_Pow_Int_OverloadList,
10371      apzSolaris_Pow_Int_OverloadMachs,
10372      SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10373      aSolaris_Pow_Int_OverloadTests,   apzSolaris_Pow_Int_OverloadPatch, 0 },
10375   {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
10376      apzSolaris_Rwlock_Init_1Machs,
10377      SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10378      aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
10380   {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
10381      apzSolaris_Once_Init_1Machs,
10382      SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10383      aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
10385   {  zSolaris_Once_Init_2Name,    zSolaris_Once_Init_2List,
10386      apzSolaris_Once_Init_2Machs,
10387      SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10388      aSolaris_Once_Init_2Tests,   apzSolaris_Once_Init_2Patch, 0 },
10390   {  zSolaris_Int_ConstName,    zSolaris_Int_ConstList,
10391      apzSolaris_Int_ConstMachs,
10392      SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10393      aSolaris_Int_ConstTests,   apzSolaris_Int_ConstPatch, 0 },
10395   {  zSolaris_Int_Limits_1Name,    zSolaris_Int_Limits_1List,
10396      apzSolaris_Int_Limits_1Machs,
10397      SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10398      aSolaris_Int_Limits_1Tests,   apzSolaris_Int_Limits_1Patch, 0 },
10400   {  zSolaris_Int_Limits_2Name,    zSolaris_Int_Limits_2List,
10401      apzSolaris_Int_Limits_2Machs,
10402      SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10403      aSolaris_Int_Limits_2Tests,   apzSolaris_Int_Limits_2Patch, 0 },
10405   {  zSolaris_Int_Limits_3Name,    zSolaris_Int_Limits_3List,
10406      apzSolaris_Int_Limits_3Machs,
10407      SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10408      aSolaris_Int_Limits_3Tests,   apzSolaris_Int_Limits_3Patch, 0 },
10410   {  zSolaris_Int_TypesName,    zSolaris_Int_TypesList,
10411      apzSolaris_Int_TypesMachs,
10412      SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10413      aSolaris_Int_TypesTests,   apzSolaris_Int_TypesPatch, 0 },
10415   {  zSolaris_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
10416      apzSolaris_Posix_Spawn_RestrictMachs,
10417      SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10418      aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
10420   {  zSolaris_Std___FilbufName,    zSolaris_Std___FilbufList,
10421      apzSolaris_Std___FilbufMachs,
10422      SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10423      aSolaris_Std___FilbufTests,   apzSolaris_Std___FilbufPatch, 0 },
10425   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
10426      apzSolaris_Stdio_TagMachs,
10427      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
10428      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
10430   {  zSolaris_Sys_Va_ListName,    zSolaris_Sys_Va_ListList,
10431      apzSolaris_Sys_Va_ListMachs,
10432      SOLARIS_SYS_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10433      aSolaris_Sys_Va_ListTests,   apzSolaris_Sys_Va_ListPatch, 0 },
10435   {  zStatsswtchName,    zStatsswtchList,
10436      apzStatsswtchMachs,
10437      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10438      aStatsswtchTests,   apzStatsswtchPatch, 0 },
10440   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
10441      apzStdio_Stdarg_HMachs,
10442      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
10443      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
10445   {  zStdio_Va_ListName,    zStdio_Va_ListList,
10446      apzStdio_Va_ListMachs,
10447      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
10448      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
10450   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
10451      apzStdio_Va_List_ClientsMachs,
10452      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
10453      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
10455   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
10456      apzStrict_Ansi_NotMachs,
10457      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10458      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
10460   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
10461      apzStrict_Ansi_Not_CtdMachs,
10462      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10463      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
10465   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
10466      apzStrict_Ansi_OnlyMachs,
10467      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10468      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
10470   {  zStruct_FileName,    zStruct_FileList,
10471      apzStruct_FileMachs,
10472      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10473      aStruct_FileTests,   apzStruct_FilePatch, 0 },
10475   {  zStruct_SockaddrName,    zStruct_SockaddrList,
10476      apzStruct_SockaddrMachs,
10477      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10478      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
10480   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
10481      apzSun_Auth_ProtoMachs,
10482      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10483      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
10485   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
10486      apzSun_Bogus_IfdefMachs,
10487      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10488      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
10490   {  zSun_CatmacroName,    zSun_CatmacroList,
10491      apzSun_CatmacroMachs,
10492      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10493      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
10495   {  zSun_MallocName,    zSun_MallocList,
10496      apzSun_MallocMachs,
10497      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
10498      aSun_MallocTests,   apzSun_MallocPatch, 0 },
10500   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
10501      apzSun_Rusers_SemiMachs,
10502      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
10503      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
10505   {  zSun_SignalName,    zSun_SignalList,
10506      apzSun_SignalMachs,
10507      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10508      aSun_SignalTests,   apzSun_SignalPatch, 0 },
10510   {  zSunos_StrlenName,    zSunos_StrlenList,
10511      apzSunos_StrlenMachs,
10512      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10513      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
10515   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
10516      apzSvr4_Disable_OptMachs,
10517      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
10518      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
10520   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
10521      apzSvr4_GetcwdMachs,
10522      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10523      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
10525   {  zSvr4_ProfilName,    zSvr4_ProfilList,
10526      apzSvr4_ProfilMachs,
10527      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10528      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
10530   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
10531      apzSvr4_Sighandler_TypeMachs,
10532      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10533      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
10535   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
10536      apzSvr4_Undeclared_GetrngeMachs,
10537      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10538      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
10540   {  zSysv68_StringName,    zSysv68_StringList,
10541      apzSysv68_StringMachs,
10542      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
10543      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
10545   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
10546      apzSysz_Stdlib_For_SunMachs,
10547      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10548      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
10550   {  zThread_KeywordName,    zThread_KeywordList,
10551      apzThread_KeywordMachs,
10552      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10553      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
10555   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
10556      apzTinfo_CplusplusMachs,
10557      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10558      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
10560   {  zUltrix_ConstName,    zUltrix_ConstList,
10561      apzUltrix_ConstMachs,
10562      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10563      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
10565   {  zUltrix_Const2Name,    zUltrix_Const2List,
10566      apzUltrix_Const2Machs,
10567      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10568      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
10570   {  zVa_I960_MacroName,    zVa_I960_MacroList,
10571      apzVa_I960_MacroMachs,
10572      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10573      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
10575   {  zVms_Define_Can_Use_Extern_PrefixName,    zVms_Define_Can_Use_Extern_PrefixList,
10576      apzVms_Define_Can_Use_Extern_PrefixMachs,
10577      VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10578      aVms_Define_Can_Use_Extern_PrefixTests,   apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
10580   {  zVms_Use_Pragma_Extern_ModelName,    zVms_Use_Pragma_Extern_ModelList,
10581      apzVms_Use_Pragma_Extern_ModelMachs,
10582      VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10583      aVms_Use_Pragma_Extern_ModelTests,   apzVms_Use_Pragma_Extern_ModelPatch, 0 },
10585   {  zVms_Disable_Decc_String_BuiltinsName,    zVms_Disable_Decc_String_BuiltinsList,
10586      apzVms_Disable_Decc_String_BuiltinsMachs,
10587      VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10588      aVms_Disable_Decc_String_BuiltinsTests,   apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
10590   {  zVms_Use_Quoted_IncludeName,    zVms_Use_Quoted_IncludeList,
10591      apzVms_Use_Quoted_IncludeMachs,
10592      VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10593      aVms_Use_Quoted_IncludeTests,   apzVms_Use_Quoted_IncludePatch, 0 },
10595   {  zVms_Add_Missing_BracesName,    zVms_Add_Missing_BracesList,
10596      apzVms_Add_Missing_BracesMachs,
10597      VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10598      aVms_Add_Missing_BracesTests,   apzVms_Add_Missing_BracesPatch, 0 },
10600   {  zVms_Do_Not_Redeclare_HostaliasName,    zVms_Do_Not_Redeclare_HostaliasList,
10601      apzVms_Do_Not_Redeclare_HostaliasMachs,
10602      VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10603      aVms_Do_Not_Redeclare_HostaliasTests,   apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
10605   {  zVms_Decc_BuiltinName,    zVms_Decc_BuiltinList,
10606      apzVms_Decc_BuiltinMachs,
10607      VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
10608      aVms_Decc_BuiltinTests,   apzVms_Decc_BuiltinPatch, 0 },
10610   {  zVms_No_64bit_GetoptName,    zVms_No_64bit_GetoptList,
10611      apzVms_No_64bit_GetoptMachs,
10612      VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10613      aVms_No_64bit_GetoptTests,   apzVms_No_64bit_GetoptPatch, 0 },
10615   {  zVms_Forward_Declare_StructName,    zVms_Forward_Declare_StructList,
10616      apzVms_Forward_Declare_StructMachs,
10617      VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10618      aVms_Forward_Declare_StructTests,   apzVms_Forward_Declare_StructPatch, 0 },
10620   {  zVms_Use_Fast_SetjmpName,    zVms_Use_Fast_SetjmpList,
10621      apzVms_Use_Fast_SetjmpMachs,
10622      VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10623      aVms_Use_Fast_SetjmpTests,   apzVms_Use_Fast_SetjmpPatch, 0 },
10625   {  zVoid_NullName,    zVoid_NullList,
10626      apzVoid_NullMachs,
10627      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10628      aVoid_NullTests,   apzVoid_NullPatch, 0 },
10630   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
10631      apzVxworks_Gcc_ProblemMachs,
10632      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
10633      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
10635   {  zVxworks_Ioctl_MacroName,    zVxworks_Ioctl_MacroList,
10636      apzVxworks_Ioctl_MacroMachs,
10637      VXWORKS_IOCTL_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10638      aVxworks_Ioctl_MacroTests,   apzVxworks_Ioctl_MacroPatch, 0 },
10640   {  zVxworks_Mkdir_MacroName,    zVxworks_Mkdir_MacroList,
10641      apzVxworks_Mkdir_MacroMachs,
10642      VXWORKS_MKDIR_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10643      aVxworks_Mkdir_MacroTests,   apzVxworks_Mkdir_MacroPatch, 0 },
10645   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
10646      apzVxworks_Needs_VxtypesMachs,
10647      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10648      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
10650   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
10651      apzVxworks_Needs_VxworksMachs,
10652      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
10653      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
10655   {  zVxworks_RegsName,    zVxworks_RegsList,
10656      apzVxworks_RegsMachs,
10657      VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10658      aVxworks_RegsTests,   apzVxworks_RegsPatch, 0 },
10660   {  zVxworks_TimeName,    zVxworks_TimeList,
10661      apzVxworks_TimeMachs,
10662      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10663      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
10665   {  zVxworks_Write_ConstName,    zVxworks_Write_ConstList,
10666      apzVxworks_Write_ConstMachs,
10667      VXWORKS_WRITE_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10668      aVxworks_Write_ConstTests,   apzVxworks_Write_ConstPatch, 0 },
10670   {  zX11_ClassName,    zX11_ClassList,
10671      apzX11_ClassMachs,
10672      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10673      aX11_ClassTests,   apzX11_ClassPatch, 0 },
10675   {  zX11_Class_UsageName,    zX11_Class_UsageList,
10676      apzX11_Class_UsageMachs,
10677      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10678      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
10680   {  zX11_NewName,    zX11_NewList,
10681      apzX11_NewMachs,
10682      X11_NEW_TEST_CT, FD_MACH_ONLY,
10683      aX11_NewTests,   apzX11_NewPatch, 0 },
10685   {  zX11_SprintfName,    zX11_SprintfList,
10686      apzX11_SprintfMachs,
10687      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10688      aX11_SprintfTests,   apzX11_SprintfPatch, 0 },
10690   {  zFeraiseexcept_Nosse_InvalidName,    zFeraiseexcept_Nosse_InvalidList,
10691      apzFeraiseexcept_Nosse_InvalidMachs,
10692      FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10693      aFeraiseexcept_Nosse_InvalidTests,   apzFeraiseexcept_Nosse_InvalidPatch, 0 },
10695   {  zFeraiseexcept_Nosse_DivbyzeroName,    zFeraiseexcept_Nosse_DivbyzeroList,
10696      apzFeraiseexcept_Nosse_DivbyzeroMachs,
10697      FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10698      aFeraiseexcept_Nosse_DivbyzeroTests,   apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 },
10700   {  zComplier_H_TradcppName,    zComplier_H_TradcppList,
10701      apzComplier_H_TradcppMachs,
10702      COMPLIER_H_TRADCPP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10703      aComplier_H_TradcppTests,   apzComplier_H_TradcppPatch, 0 }