LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / fixincludes / fixincl.x
blob2f7e6fc2443dc0f838cba72acc4cfff6f97a8cb3
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  *
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  *
5  * It has been AutoGen-ed  June 12, 2018 at 08:56:43 AM by AutoGen 5.18.12
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT SVN-MERGE THIS FILE, EITHER Tue Jun 12 08:56:43 MDT 2018
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 250 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 "#ifdef _ASSERT_H\n\
528 #undef _ASSERT_H\n\
529 #undef assert\n\
530 #endif\n\n\
531 #define _ASSERT_H\n\n\
532 #ifdef __cplusplus\n\
533 extern \"C\" {\n\
534 #endif\n\n\
535 #if defined(__STDC__) || defined(__cplusplus)\n\
536 extern void __assert (const char*);\n\
537 #else\n\
538 extern void __assert ();\n\
539 #endif\n\n\
540 #ifdef NDEBUG\n\
541 #define assert(ign) ((void)0)\n\
542 #else\n\n\
543 #define ASSERT_STRINGIFY(str) ASSERT_STRINGIFY_HELPER(str)\n\
544 #define ASSERT_STRINGIFY_HELPER(str) #str\n\n\
545 #define assert(test) ((void) \\\n\
546         ((test) ? ((void)0) : \\\n\
547         __assert(\"Assertion failed: \" #test \", file \" \\\n\
548         __FILE__ \", line \" ASSERT_STRINGIFY(__LINE__) \"\\n\")))\n\n\
549 #endif\n\n\
550 #ifdef __cplusplus\n\
551 }\n\
552 #endif",
553     (char*)NULL };
555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
557  *  Description of Aab_Vxworks_Regs_Vxtypes fix
558  */
559 tSCC zAab_Vxworks_Regs_VxtypesName[] =
560      "AAB_vxworks_regs_vxtypes";
563  *  File name selection pattern
564  */
565 tSCC zAab_Vxworks_Regs_VxtypesList[] =
566   "regs.h\0";
568  *  Machine/OS name selection pattern
569  */
570 tSCC* apzAab_Vxworks_Regs_VxtypesMachs[] = {
571         "*-*-vxworks*",
572         (const char*)NULL };
573 #define AAB_VXWORKS_REGS_VXTYPES_TEST_CT  0
574 #define aAab_Vxworks_Regs_VxtypesTests   (tTestDesc*)NULL
577  *  Fix Command Arguments for Aab_Vxworks_Regs_Vxtypes
578  */
579 static const char* apzAab_Vxworks_Regs_VxtypesPatch[] = {
580 "#ifndef _REGS_H\n\
581 #define _REGS_H\n\
582 #include <types/vxTypesOld.h>\n\
583 #include_next <arch/../regs.h>\n\
584 #endif",
585     (char*)NULL };
587 /* * * * * * * * * * * * * * * * * * * * * * * * * *
589  *  Description of Aab_Vxworks_Unistd fix
590  */
591 tSCC zAab_Vxworks_UnistdName[] =
592      "AAB_vxworks_unistd";
595  *  File name selection pattern
596  */
597 tSCC zAab_Vxworks_UnistdList[] =
598   "unistd.h\0";
600  *  Machine/OS name selection pattern
601  */
602 tSCC* apzAab_Vxworks_UnistdMachs[] = {
603         "*-*-vxworks*",
604         (const char*)NULL };
605 #define AAB_VXWORKS_UNISTD_TEST_CT  0
606 #define aAab_Vxworks_UnistdTests   (tTestDesc*)NULL
609  *  Fix Command Arguments for Aab_Vxworks_Unistd
610  */
611 static const char* apzAab_Vxworks_UnistdPatch[] = {
612 "#ifndef _UNISTD_H\n\
613 #define _UNISTD_H\n\
614 #include_next <unistd.h>\n\
615 #include <ioLib.h>\n\
616 #ifndef STDIN_FILENO\n\
617 #define STDIN_FILENO 0\n\
618 #endif\n\
619 #ifndef STDOUT_FILENO\n\
620 #define STDOUT_FILENO 1\n\
621 #endif\n\
622 #ifndef STDERR_FILENO\n\
623 #define STDERR_FILENO 2\n\
624 #endif\n\
625 #endif /* _UNISTD_H */",
626     (char*)NULL };
628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
630  *  Description of Aix_Assert fix
631  */
632 tSCC zAix_AssertName[] =
633      "aix_assert";
636  *  File name selection pattern
637  */
638 tSCC zAix_AssertList[] =
639   "assert.h\0";
641  *  Machine/OS name selection pattern
642  */
643 tSCC* apzAix_AssertMachs[] = {
644         "*-*-aix*",
645         (const char*)NULL };
648  *  content selection pattern - do fix if pattern found
649  */
650 tSCC zAix_AssertSelect0[] =
651        "#define[ \t]static_assert[ \t]_Static_assert";
653 #define    AIX_ASSERT_TEST_CT  1
654 static tTestDesc aAix_AssertTests[] = {
655   { TT_EGREP,    zAix_AssertSelect0, (regex_t*)NULL }, };
658  *  Fix Command Arguments for Aix_Assert
659  */
660 static const char* apzAix_AssertPatch[] = {
661     "format",
662     "#ifndef __cplusplus\n\
663 %0\n\
664 #endif",
665     (char*)NULL };
667 /* * * * * * * * * * * * * * * * * * * * * * * * * *
669  *  Description of Aix_Complex fix
670  */
671 tSCC zAix_ComplexName[] =
672      "aix_complex";
675  *  File name selection pattern
676  */
677 tSCC zAix_ComplexList[] =
678   "complex.h\0";
680  *  Machine/OS name selection pattern
681  */
682 tSCC* apzAix_ComplexMachs[] = {
683         "*-*-aix*",
684         (const char*)NULL };
687  *  content selection pattern - do fix if pattern found
688  */
689 tSCC zAix_ComplexSelect0[] =
690        "#define[ \t]_Complex_I[ \t]__I";
692 #define    AIX_COMPLEX_TEST_CT  1
693 static tTestDesc aAix_ComplexTests[] = {
694   { TT_EGREP,    zAix_ComplexSelect0, (regex_t*)NULL }, };
697  *  Fix Command Arguments for Aix_Complex
698  */
699 static const char* apzAix_ComplexPatch[] = {
700     "format",
701     "#define _Complex_I (__extension__ 1.0iF)",
702     (char*)NULL };
704 /* * * * * * * * * * * * * * * * * * * * * * * * * *
706  *  Description of Aix_Externc fix
707  */
708 tSCC zAix_ExterncName[] =
709      "aix_externc";
712  *  File name selection pattern
713  */
714 tSCC zAix_ExterncList[] =
715   "ctype.h\0fcntl.h\0langinfo.h\0ldfcn.h\0sys/localedef.h\0sys/times.h\0";
717  *  Machine/OS name selection pattern
718  */
719 tSCC* apzAix_ExterncMachs[] = {
720         "*-*-aix*",
721         (const char*)NULL };
724  *  content bypass pattern - skip fix if pattern found
725  */
726 tSCC zAix_ExterncBypass0[] =
727        "extern \"C\"";
729 #define    AIX_EXTERNC_TEST_CT  1
730 static tTestDesc aAix_ExterncTests[] = {
731   { TT_NEGREP,   zAix_ExterncBypass0, (regex_t*)NULL }, };
734  *  Fix Command Arguments for Aix_Externc
735  */
736 static const char* apzAix_ExterncPatch[] = {
737     "wrap",
738     "#ifdef __cplusplus\n\
739 extern \"C\" {\n\
740 #endif\n",
741     "#ifdef __cplusplus\n\
742 }\n\
743 #endif\n",
744     (char*)NULL };
746 /* * * * * * * * * * * * * * * * * * * * * * * * * *
748  *  Description of Aix_Externcpp1 fix
749  */
750 tSCC zAix_Externcpp1Name[] =
751      "aix_externcpp1";
754  *  File name selection pattern
755  */
756 tSCC zAix_Externcpp1List[] =
757   "sys/socket.h\0";
759  *  Machine/OS name selection pattern
760  */
761 tSCC* apzAix_Externcpp1Machs[] = {
762         "*-*-aix*",
763         (const char*)NULL };
766  *  content selection pattern - do fix if pattern found
767  */
768 tSCC zAix_Externcpp1Select0[] =
769        "#ifdef __cplusplus";
771 #define    AIX_EXTERNCPP1_TEST_CT  1
772 static tTestDesc aAix_Externcpp1Tests[] = {
773   { TT_EGREP,    zAix_Externcpp1Select0, (regex_t*)NULL }, };
776  *  Fix Command Arguments for Aix_Externcpp1
777  */
778 static const char* apzAix_Externcpp1Patch[] = {
779     "format",
780     "#ifdef __cplusplus\n\
781 extern \"C++\" {",
782     (char*)NULL };
784 /* * * * * * * * * * * * * * * * * * * * * * * * * *
786  *  Description of Aix_Externcpp2 fix
787  */
788 tSCC zAix_Externcpp2Name[] =
789      "aix_externcpp2";
792  *  File name selection pattern
793  */
794 tSCC zAix_Externcpp2List[] =
795   "sys/socket.h\0";
797  *  Machine/OS name selection pattern
798  */
799 tSCC* apzAix_Externcpp2Machs[] = {
800         "*-*-aix*",
801         (const char*)NULL };
804  *  content selection pattern - do fix if pattern found
805  */
806 tSCC zAix_Externcpp2Select0[] =
807        "#else  /\\* __cplusplus \\*/";
809 #define    AIX_EXTERNCPP2_TEST_CT  1
810 static tTestDesc aAix_Externcpp2Tests[] = {
811   { TT_EGREP,    zAix_Externcpp2Select0, (regex_t*)NULL }, };
814  *  Fix Command Arguments for Aix_Externcpp2
815  */
816 static const char* apzAix_Externcpp2Patch[] = {
817     "format",
818     "} /* extern \"C++\" */\n\
819 #else  /* __cplusplus */",
820     (char*)NULL };
822 /* * * * * * * * * * * * * * * * * * * * * * * * * *
824  *  Description of Aix_Malloc fix
825  */
826 tSCC zAix_MallocName[] =
827      "aix_malloc";
830  *  File name selection pattern
831  */
832 tSCC zAix_MallocList[] =
833   "malloc.h\0";
835  *  Machine/OS name selection pattern
836  */
837 tSCC* apzAix_MallocMachs[] = {
838         "*-*-aix*",
839         (const char*)NULL };
842  *  content selection pattern - do fix if pattern found
843  */
844 tSCC zAix_MallocSelect0[] =
845        "#ifdef __cplusplus";
847 #define    AIX_MALLOC_TEST_CT  1
848 static tTestDesc aAix_MallocTests[] = {
849   { TT_EGREP,    zAix_MallocSelect0, (regex_t*)NULL }, };
852  *  Fix Command Arguments for Aix_Malloc
853  */
854 static const char* apzAix_MallocPatch[] = {
855     "format",
856     "#if (defined(__cplusplus) && defined(__IBMCPP__))",
857     (char*)NULL };
859 /* * * * * * * * * * * * * * * * * * * * * * * * * *
861  *  Description of Aix_Net_If_Arp fix
862  */
863 tSCC zAix_Net_If_ArpName[] =
864      "aix_net_if_arp";
867  *  File name selection pattern
868  */
869 tSCC zAix_Net_If_ArpList[] =
870   "net/if_arp.h\0";
872  *  Machine/OS name selection pattern
873  */
874 tSCC* apzAix_Net_If_ArpMachs[] = {
875         "*-*-aix*",
876         (const char*)NULL };
879  *  content selection pattern - do fix if pattern found
880  */
881 tSCC zAix_Net_If_ArpSelect0[] =
882        "^struct  fc_softc \\{";
884 #define    AIX_NET_IF_ARP_TEST_CT  1
885 static tTestDesc aAix_Net_If_ArpTests[] = {
886   { TT_EGREP,    zAix_Net_If_ArpSelect0, (regex_t*)NULL }, };
889  *  Fix Command Arguments for Aix_Net_If_Arp
890  */
891 static const char* apzAix_Net_If_ArpPatch[] = {
892     "format",
893     "typedef struct _fc_softc {",
894     (char*)NULL };
896 /* * * * * * * * * * * * * * * * * * * * * * * * * *
898  *  Description of Aix_Null fix
899  */
900 tSCC zAix_NullName[] =
901      "aix_null";
904  *  File name selection pattern
905  */
906 tSCC zAix_NullList[] =
907   "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";
909  *  Machine/OS name selection pattern
910  */
911 tSCC* apzAix_NullMachs[] = {
912         "*-*-aix*",
913         (const char*)NULL };
916  *  content selection pattern - do fix if pattern found
917  */
918 tSCC zAix_NullSelect0[] =
919        "#define[ \t]+NULL[ \t]+\\(*0L*\\)*";
922  *  content bypass pattern - skip fix if pattern found
923  */
924 tSCC zAix_NullBypass0[] =
925        "__null";
927 #define    AIX_NULL_TEST_CT  2
928 static tTestDesc aAix_NullTests[] = {
929   { TT_NEGREP,   zAix_NullBypass0, (regex_t*)NULL },
930   { TT_EGREP,    zAix_NullSelect0, (regex_t*)NULL }, };
933  *  Fix Command Arguments for Aix_Null
934  */
935 static const char* apzAix_NullPatch[] = {
936     "format",
937     "#ifndef NULL\n\
938 #ifdef __cplusplus\n\
939 #ifdef __GNUG__\n\
940 #define NULL __null\n\
941 #else /* ! __GNUG__  */\n\
942 #define NULL 0L\n\
943 #endif /* __GNUG__  */\n\
944 #else /* ! __cplusplus  */\n\
945 #define NULL ((void *)0)\n\
946 #endif /* __cplusplus  */\n\
947 #endif /* !NULL  */",
948     (char*)NULL };
950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
952  *  Description of Aix_Once_Init_1 fix
953  */
954 tSCC zAix_Once_Init_1Name[] =
955      "aix_once_init_1";
958  *  File name selection pattern
959  */
960 tSCC zAix_Once_Init_1List[] =
961   "pthread.h\0";
963  *  Machine/OS name selection pattern
964  */
965 tSCC* apzAix_Once_Init_1Machs[] = {
966         "*-*-aix*",
967         (const char*)NULL };
970  *  content selection pattern - do fix if pattern found
971  */
972 tSCC zAix_Once_Init_1Select0[] =
973        "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\
974 \\{ \\\\\n";
976 #define    AIX_ONCE_INIT_1_TEST_CT  1
977 static tTestDesc aAix_Once_Init_1Tests[] = {
978   { TT_EGREP,    zAix_Once_Init_1Select0, (regex_t*)NULL }, };
981  *  Fix Command Arguments for Aix_Once_Init_1
982  */
983 static const char* apzAix_Once_Init_1Patch[] = {
984     "format",
985     "#define PTHREAD_ONCE_INIT \\\n\
986 {{ \\\n",
987     (char*)NULL };
989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
991  *  Description of Aix_Once_Init_2 fix
992  */
993 tSCC zAix_Once_Init_2Name[] =
994      "aix_once_init_2";
997  *  File name selection pattern
998  */
999 tSCC zAix_Once_Init_2List[] =
1000   "pthread.h\0";
1002  *  Machine/OS name selection pattern
1003  */
1004 tSCC* apzAix_Once_Init_2Machs[] = {
1005         "*-*-aix*",
1006         (const char*)NULL };
1009  *  content selection pattern - do fix if pattern found
1010  */
1011 tSCC zAix_Once_Init_2Select0[] =
1012        "[ \t]0 \\\\\n\
1013 \\}\n";
1015 #define    AIX_ONCE_INIT_2_TEST_CT  1
1016 static tTestDesc aAix_Once_Init_2Tests[] = {
1017   { TT_EGREP,    zAix_Once_Init_2Select0, (regex_t*)NULL }, };
1020  *  Fix Command Arguments for Aix_Once_Init_2
1021  */
1022 static const char* apzAix_Once_Init_2Patch[] = {
1023     "format",
1024     "\t0 \\\n\
1025 }}\n",
1026     (char*)NULL };
1028 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1030  *  Description of Aix_Mutex_Initializer_1 fix
1031  */
1032 tSCC zAix_Mutex_Initializer_1Name[] =
1033      "aix_mutex_initializer_1";
1036  *  File name selection pattern
1037  */
1038 tSCC zAix_Mutex_Initializer_1List[] =
1039   "pthread.h\0";
1041  *  Machine/OS name selection pattern
1042  */
1043 tSCC* apzAix_Mutex_Initializer_1Machs[] = {
1044         "*-*-aix*",
1045         (const char*)NULL };
1048  *  content selection pattern - do fix if pattern found
1049  */
1050 tSCC zAix_Mutex_Initializer_1Select0[] =
1051        "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
1052 \\{ \\\\\n";
1054 #define    AIX_MUTEX_INITIALIZER_1_TEST_CT  1
1055 static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
1056   { TT_EGREP,    zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
1059  *  Fix Command Arguments for Aix_Mutex_Initializer_1
1060  */
1061 static const char* apzAix_Mutex_Initializer_1Patch[] = {
1062     "format",
1063     "#define PTHREAD_MUTEX_INITIALIZER \\\n\
1064 {{ \\\n",
1065     (char*)NULL };
1067 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1069  *  Description of Aix_Cond_Initializer_1 fix
1070  */
1071 tSCC zAix_Cond_Initializer_1Name[] =
1072      "aix_cond_initializer_1";
1075  *  File name selection pattern
1076  */
1077 tSCC zAix_Cond_Initializer_1List[] =
1078   "pthread.h\0";
1080  *  Machine/OS name selection pattern
1081  */
1082 tSCC* apzAix_Cond_Initializer_1Machs[] = {
1083         "*-*-aix*",
1084         (const char*)NULL };
1087  *  content selection pattern - do fix if pattern found
1088  */
1089 tSCC zAix_Cond_Initializer_1Select0[] =
1090        "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
1091 \\{ \\\\\n";
1093 #define    AIX_COND_INITIALIZER_1_TEST_CT  1
1094 static tTestDesc aAix_Cond_Initializer_1Tests[] = {
1095   { TT_EGREP,    zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
1098  *  Fix Command Arguments for Aix_Cond_Initializer_1
1099  */
1100 static const char* apzAix_Cond_Initializer_1Patch[] = {
1101     "format",
1102     "#define PTHREAD_COND_INITIALIZER \\\n\
1103 {{ \\\n",
1104     (char*)NULL };
1106 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1108  *  Description of Aix_Rwlock_Initializer_1 fix
1109  */
1110 tSCC zAix_Rwlock_Initializer_1Name[] =
1111      "aix_rwlock_initializer_1";
1114  *  File name selection pattern
1115  */
1116 tSCC zAix_Rwlock_Initializer_1List[] =
1117   "pthread.h\0";
1119  *  Machine/OS name selection pattern
1120  */
1121 tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
1122         "*-*-aix*",
1123         (const char*)NULL };
1126  *  content selection pattern - do fix if pattern found
1127  */
1128 tSCC zAix_Rwlock_Initializer_1Select0[] =
1129        "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
1130 \\{ \\\\\n";
1132 #define    AIX_RWLOCK_INITIALIZER_1_TEST_CT  1
1133 static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
1134   { TT_EGREP,    zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
1137  *  Fix Command Arguments for Aix_Rwlock_Initializer_1
1138  */
1139 static const char* apzAix_Rwlock_Initializer_1Patch[] = {
1140     "format",
1141     "#define PTHREAD_RWLOCK_INITIALIZER \\\n\
1142 {{ \\\n",
1143     (char*)NULL };
1145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1147  *  Description of Aix_Pthread fix
1148  */
1149 tSCC zAix_PthreadName[] =
1150      "aix_pthread";
1153  *  File name selection pattern
1154  */
1155 tSCC zAix_PthreadList[] =
1156   "pthread.h\0";
1158  *  Machine/OS name selection pattern
1159  */
1160 #define apzAix_PthreadMachs (const char**)NULL
1163  *  content selection pattern - do fix if pattern found
1164  */
1165 tSCC zAix_PthreadSelect0[] =
1166        "(#define[\t ][A-Za-z_0-9]+)(\\\\\n\
1167 [^A-Za-z_0-9 \t\n\
1168 (])";
1170 #define    AIX_PTHREAD_TEST_CT  1
1171 static tTestDesc aAix_PthreadTests[] = {
1172   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
1175  *  Fix Command Arguments for Aix_Pthread
1176  */
1177 static const char* apzAix_PthreadPatch[] = {
1178     "format",
1179     "%1 %2",
1180     (char*)NULL };
1182 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1184  *  Description of Aix_Stdint_1 fix
1185  */
1186 tSCC zAix_Stdint_1Name[] =
1187      "aix_stdint_1";
1190  *  File name selection pattern
1191  */
1192 tSCC zAix_Stdint_1List[] =
1193   "stdint-aix.h\0stdint.h\0";
1195  *  Machine/OS name selection pattern
1196  */
1197 tSCC* apzAix_Stdint_1Machs[] = {
1198         "*-*-aix*",
1199         (const char*)NULL };
1202  *  content selection pattern - do fix if pattern found
1203  */
1204 tSCC zAix_Stdint_1Select0[] =
1205        "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
1206 #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
1208 #define    AIX_STDINT_1_TEST_CT  1
1209 static tTestDesc aAix_Stdint_1Tests[] = {
1210   { TT_EGREP,    zAix_Stdint_1Select0, (regex_t*)NULL }, };
1213  *  Fix Command Arguments for Aix_Stdint_1
1214  */
1215 static const char* apzAix_Stdint_1Patch[] = {
1216     "format",
1217     "#define UINT8_MAX\t(255)\n\
1218 #define UINT16_MAX\t(65535)",
1219     (char*)NULL };
1221 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1223  *  Description of Aix_Stdint_2 fix
1224  */
1225 tSCC zAix_Stdint_2Name[] =
1226      "aix_stdint_2";
1229  *  File name selection pattern
1230  */
1231 tSCC zAix_Stdint_2List[] =
1232   "stdint-aix.h\0stdint.h\0";
1234  *  Machine/OS name selection pattern
1235  */
1236 tSCC* apzAix_Stdint_2Machs[] = {
1237         "*-*-aix*",
1238         (const char*)NULL };
1241  *  content selection pattern - do fix if pattern found
1242  */
1243 tSCC zAix_Stdint_2Select0[] =
1244        "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
1245 #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
1246 #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
1247 #else\n\
1248 #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
1249 #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
1250 #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
1252 #define    AIX_STDINT_2_TEST_CT  1
1253 static tTestDesc aAix_Stdint_2Tests[] = {
1254   { TT_EGREP,    zAix_Stdint_2Select0, (regex_t*)NULL }, };
1257  *  Fix Command Arguments for Aix_Stdint_2
1258  */
1259 static const char* apzAix_Stdint_2Patch[] = {
1260     "format",
1261     "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1262 #define INTPTR_MAX\t9223372036854775807L\n\
1263 #define UINTPTR_MAX\t18446744073709551615UL\n\
1264 #else\n\
1265 #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
1266 #define INTPTR_MAX\t2147483647L\n\
1267 #define UINTPTR_MAX\t4294967295UL",
1268     (char*)NULL };
1270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1272  *  Description of Aix_Stdint_3 fix
1273  */
1274 tSCC zAix_Stdint_3Name[] =
1275      "aix_stdint_3";
1278  *  File name selection pattern
1279  */
1280 tSCC zAix_Stdint_3List[] =
1281   "stdint-aix.h\0stdint.h\0";
1283  *  Machine/OS name selection pattern
1284  */
1285 tSCC* apzAix_Stdint_3Machs[] = {
1286         "*-*-aix*",
1287         (const char*)NULL };
1290  *  content selection pattern - do fix if pattern found
1291  */
1292 tSCC zAix_Stdint_3Select0[] =
1293        "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
1294 #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
1295 #else\n\
1296 #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
1297 #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
1299 #define    AIX_STDINT_3_TEST_CT  1
1300 static tTestDesc aAix_Stdint_3Tests[] = {
1301   { TT_EGREP,    zAix_Stdint_3Select0, (regex_t*)NULL }, };
1304  *  Fix Command Arguments for Aix_Stdint_3
1305  */
1306 static const char* apzAix_Stdint_3Patch[] = {
1307     "format",
1308     "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
1309 #define PTRDIFF_MAX\t9223372036854775807L\n\
1310 #else\n\
1311 #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
1312 #define PTRDIFF_MAX\t2147483647L",
1313     (char*)NULL };
1315 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1317  *  Description of Aix_Stdint_4 fix
1318  */
1319 tSCC zAix_Stdint_4Name[] =
1320      "aix_stdint_4";
1323  *  File name selection pattern
1324  */
1325 tSCC zAix_Stdint_4List[] =
1326   "stdint-aix.h\0stdint.h\0";
1328  *  Machine/OS name selection pattern
1329  */
1330 tSCC* apzAix_Stdint_4Machs[] = {
1331         "*-*-aix*",
1332         (const char*)NULL };
1335  *  content selection pattern - do fix if pattern found
1336  */
1337 tSCC zAix_Stdint_4Select0[] =
1338        "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
1339 #else\n\
1340 #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
1342 #define    AIX_STDINT_4_TEST_CT  1
1343 static tTestDesc aAix_Stdint_4Tests[] = {
1344   { TT_EGREP,    zAix_Stdint_4Select0, (regex_t*)NULL }, };
1347  *  Fix Command Arguments for Aix_Stdint_4
1348  */
1349 static const char* apzAix_Stdint_4Patch[] = {
1350     "format",
1351     "#define SIZE_MAX\t18446744073709551615UL\n\
1352 #else\n\
1353 #define SIZE_MAX\t4294967295UL",
1354     (char*)NULL };
1356 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1358  *  Description of Aix_Stdint_5 fix
1359  */
1360 tSCC zAix_Stdint_5Name[] =
1361      "aix_stdint_5";
1364  *  File name selection pattern
1365  */
1366 tSCC zAix_Stdint_5List[] =
1367   "stdint-aix.h\0stdint.h\0";
1369  *  Machine/OS name selection pattern
1370  */
1371 tSCC* apzAix_Stdint_5Machs[] = {
1372         "*-*-aix*",
1373         (const char*)NULL };
1376  *  content selection pattern - do fix if pattern found
1377  */
1378 tSCC zAix_Stdint_5Select0[] =
1379        "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
1380 #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
1382 #define    AIX_STDINT_5_TEST_CT  1
1383 static tTestDesc aAix_Stdint_5Tests[] = {
1384   { TT_EGREP,    zAix_Stdint_5Select0, (regex_t*)NULL }, };
1387  *  Fix Command Arguments for Aix_Stdint_5
1388  */
1389 static const char* apzAix_Stdint_5Patch[] = {
1390     "format",
1391     "#define UINT8_C(c)\tc\n\
1392 #define UINT16_C(c)\tc",
1393     (char*)NULL };
1395 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1397  *  Description of Aix_Stdio_Inline fix
1398  */
1399 tSCC zAix_Stdio_InlineName[] =
1400      "aix_stdio_inline";
1403  *  File name selection pattern
1404  */
1405 tSCC zAix_Stdio_InlineList[] =
1406   "stdio.h\0";
1408  *  Machine/OS name selection pattern
1409  */
1410 tSCC* apzAix_Stdio_InlineMachs[] = {
1411         "*-*-aix*",
1412         (const char*)NULL };
1415  *  content selection pattern - do fix if pattern found
1416  */
1417 tSCC zAix_Stdio_InlineSelect0[] =
1418        "#ifdef __cplusplus\\\n\
1419 }\\\n\
1420 \\\n\
1421 #ifdef ferror\\\n";
1423 #define    AIX_STDIO_INLINE_TEST_CT  1
1424 static tTestDesc aAix_Stdio_InlineTests[] = {
1425   { TT_EGREP,    zAix_Stdio_InlineSelect0, (regex_t*)NULL }, };
1428  *  Fix Command Arguments for Aix_Stdio_Inline
1429  */
1430 static const char* apzAix_Stdio_InlinePatch[] = {
1431     "format",
1432     "#ifdef __cplusplus\n\
1433 }\n\
1434 #endif\n\n\
1435 #if (defined(__cplusplus) && defined(__IBMCPP__))\n\
1436 #ifdef ferror\n",
1437     (char*)NULL };
1439 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1441  *  Description of Aix_Stdlib_Malloc fix
1442  */
1443 tSCC zAix_Stdlib_MallocName[] =
1444      "aix_stdlib_malloc";
1447  *  File name selection pattern
1448  */
1449 tSCC zAix_Stdlib_MallocList[] =
1450   "stdlib.h\0";
1452  *  Machine/OS name selection pattern
1453  */
1454 tSCC* apzAix_Stdlib_MallocMachs[] = {
1455         "*-*-aix*",
1456         (const char*)NULL };
1459  *  content selection pattern - do fix if pattern found
1460  */
1461 tSCC zAix_Stdlib_MallocSelect0[] =
1462        "#define[ \t]+malloc[ \t]+__linux_malloc";
1464 #define    AIX_STDLIB_MALLOC_TEST_CT  1
1465 static tTestDesc aAix_Stdlib_MallocTests[] = {
1466   { TT_EGREP,    zAix_Stdlib_MallocSelect0, (regex_t*)NULL }, };
1469  *  Fix Command Arguments for Aix_Stdlib_Malloc
1470  */
1471 static const char* apzAix_Stdlib_MallocPatch[] = {
1472     "format",
1473     "extern void *malloc(size_t) __asm__(\"__linux_malloc\");",
1474     (char*)NULL };
1476 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1478  *  Description of Aix_Stdlib_Realloc fix
1479  */
1480 tSCC zAix_Stdlib_ReallocName[] =
1481      "aix_stdlib_realloc";
1484  *  File name selection pattern
1485  */
1486 tSCC zAix_Stdlib_ReallocList[] =
1487   "stdlib.h\0";
1489  *  Machine/OS name selection pattern
1490  */
1491 tSCC* apzAix_Stdlib_ReallocMachs[] = {
1492         "*-*-aix*",
1493         (const char*)NULL };
1496  *  content selection pattern - do fix if pattern found
1497  */
1498 tSCC zAix_Stdlib_ReallocSelect0[] =
1499        "#define[ \t]+realloc[ \t]+__linux_realloc";
1501 #define    AIX_STDLIB_REALLOC_TEST_CT  1
1502 static tTestDesc aAix_Stdlib_ReallocTests[] = {
1503   { TT_EGREP,    zAix_Stdlib_ReallocSelect0, (regex_t*)NULL }, };
1506  *  Fix Command Arguments for Aix_Stdlib_Realloc
1507  */
1508 static const char* apzAix_Stdlib_ReallocPatch[] = {
1509     "format",
1510     "extern void *realloc(void *, size_t) __asm__(\"__linux_realloc\");",
1511     (char*)NULL };
1513 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1515  *  Description of Aix_Stdlib_Calloc fix
1516  */
1517 tSCC zAix_Stdlib_CallocName[] =
1518      "aix_stdlib_calloc";
1521  *  File name selection pattern
1522  */
1523 tSCC zAix_Stdlib_CallocList[] =
1524   "stdlib.h\0";
1526  *  Machine/OS name selection pattern
1527  */
1528 tSCC* apzAix_Stdlib_CallocMachs[] = {
1529         "*-*-aix*",
1530         (const char*)NULL };
1533  *  content selection pattern - do fix if pattern found
1534  */
1535 tSCC zAix_Stdlib_CallocSelect0[] =
1536        "#define[ \t]+calloc[ \t]+__linux_calloc";
1538 #define    AIX_STDLIB_CALLOC_TEST_CT  1
1539 static tTestDesc aAix_Stdlib_CallocTests[] = {
1540   { TT_EGREP,    zAix_Stdlib_CallocSelect0, (regex_t*)NULL }, };
1543  *  Fix Command Arguments for Aix_Stdlib_Calloc
1544  */
1545 static const char* apzAix_Stdlib_CallocPatch[] = {
1546     "format",
1547     "extern void *calloc(size_t, size_t) __asm__(\"__linux_calloc\");",
1548     (char*)NULL };
1550 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1552  *  Description of Aix_Stdlib_Valloc fix
1553  */
1554 tSCC zAix_Stdlib_VallocName[] =
1555      "aix_stdlib_valloc";
1558  *  File name selection pattern
1559  */
1560 tSCC zAix_Stdlib_VallocList[] =
1561   "stdlib.h\0";
1563  *  Machine/OS name selection pattern
1564  */
1565 tSCC* apzAix_Stdlib_VallocMachs[] = {
1566         "*-*-aix*",
1567         (const char*)NULL };
1570  *  content selection pattern - do fix if pattern found
1571  */
1572 tSCC zAix_Stdlib_VallocSelect0[] =
1573        "#define[ \t]+valloc[ \t]+__linux_valloc";
1575 #define    AIX_STDLIB_VALLOC_TEST_CT  1
1576 static tTestDesc aAix_Stdlib_VallocTests[] = {
1577   { TT_EGREP,    zAix_Stdlib_VallocSelect0, (regex_t*)NULL }, };
1580  *  Fix Command Arguments for Aix_Stdlib_Valloc
1581  */
1582 static const char* apzAix_Stdlib_VallocPatch[] = {
1583     "format",
1584     "extern void *valloc(size_t) __asm__(\"__linux_valloc\");",
1585     (char*)NULL };
1587 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1589  *  Description of Aix_Stdlib_Vec_Malloc fix
1590  */
1591 tSCC zAix_Stdlib_Vec_MallocName[] =
1592      "aix_stdlib_vec_malloc";
1595  *  File name selection pattern
1596  */
1597 tSCC zAix_Stdlib_Vec_MallocList[] =
1598   "stdlib.h\0";
1600  *  Machine/OS name selection pattern
1601  */
1602 tSCC* apzAix_Stdlib_Vec_MallocMachs[] = {
1603         "*-*-aix*",
1604         (const char*)NULL };
1607  *  content selection pattern - do fix if pattern found
1608  */
1609 tSCC zAix_Stdlib_Vec_MallocSelect0[] =
1610        "#define[ \t]+malloc[ \t]+vec_malloc";
1612 #define    AIX_STDLIB_VEC_MALLOC_TEST_CT  1
1613 static tTestDesc aAix_Stdlib_Vec_MallocTests[] = {
1614   { TT_EGREP,    zAix_Stdlib_Vec_MallocSelect0, (regex_t*)NULL }, };
1617  *  Fix Command Arguments for Aix_Stdlib_Vec_Malloc
1618  */
1619 static const char* apzAix_Stdlib_Vec_MallocPatch[] = {
1620     "format",
1621     "extern void *malloc(size_t) __asm__(\"vec_malloc\");",
1622     (char*)NULL };
1624 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1626  *  Description of Aix_Stdlib_Vec_Calloc fix
1627  */
1628 tSCC zAix_Stdlib_Vec_CallocName[] =
1629      "aix_stdlib_vec_calloc";
1632  *  File name selection pattern
1633  */
1634 tSCC zAix_Stdlib_Vec_CallocList[] =
1635   "stdlib.h\0";
1637  *  Machine/OS name selection pattern
1638  */
1639 tSCC* apzAix_Stdlib_Vec_CallocMachs[] = {
1640         "*-*-aix*",
1641         (const char*)NULL };
1644  *  content selection pattern - do fix if pattern found
1645  */
1646 tSCC zAix_Stdlib_Vec_CallocSelect0[] =
1647        "#define[ \t]+calloc[ \t]+vec_calloc";
1649 #define    AIX_STDLIB_VEC_CALLOC_TEST_CT  1
1650 static tTestDesc aAix_Stdlib_Vec_CallocTests[] = {
1651   { TT_EGREP,    zAix_Stdlib_Vec_CallocSelect0, (regex_t*)NULL }, };
1654  *  Fix Command Arguments for Aix_Stdlib_Vec_Calloc
1655  */
1656 static const char* apzAix_Stdlib_Vec_CallocPatch[] = {
1657     "format",
1658     "extern void *calloc(size_t, size_t) __asm__(\"vec_calloc\");",
1659     (char*)NULL };
1661 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1663  *  Description of Aix_Strtof_Const fix
1664  */
1665 tSCC zAix_Strtof_ConstName[] =
1666      "aix_strtof_const";
1669  *  File name selection pattern
1670  */
1671 tSCC zAix_Strtof_ConstList[] =
1672   "stdlib.h\0";
1674  *  Machine/OS name selection pattern
1675  */
1676 tSCC* apzAix_Strtof_ConstMachs[] = {
1677         "*-*-aix*",
1678         (const char*)NULL };
1681  *  content selection pattern - do fix if pattern found
1682  */
1683 tSCC zAix_Strtof_ConstSelect0[] =
1684        "((extern[ \t]+)?float[ \t]+strtof)\\(char \\*, char \\*\\*\\);";
1686 #define    AIX_STRTOF_CONST_TEST_CT  1
1687 static tTestDesc aAix_Strtof_ConstTests[] = {
1688   { TT_EGREP,    zAix_Strtof_ConstSelect0, (regex_t*)NULL }, };
1691  *  Fix Command Arguments for Aix_Strtof_Const
1692  */
1693 static const char* apzAix_Strtof_ConstPatch[] = {
1694     "format",
1695     "%1(const char *, char **);",
1696     (char*)NULL };
1698 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1700  *  Description of Aix_Sysmachine fix
1701  */
1702 tSCC zAix_SysmachineName[] =
1703      "aix_sysmachine";
1706  *  File name selection pattern
1707  */
1708 tSCC zAix_SysmachineList[] =
1709   "sys/machine.h\0";
1711  *  Machine/OS name selection pattern
1712  */
1713 tSCC* apzAix_SysmachineMachs[] = {
1714         "*-*-aix*",
1715         (const char*)NULL };
1718  *  content selection pattern - do fix if pattern found
1719  */
1720 tSCC zAix_SysmachineSelect0[] =
1721        "\\\\ +\n";
1723 #define    AIX_SYSMACHINE_TEST_CT  1
1724 static tTestDesc aAix_SysmachineTests[] = {
1725   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
1728  *  Fix Command Arguments for Aix_Sysmachine
1729  */
1730 static const char* apzAix_SysmachinePatch[] = {
1731     "format",
1732     "\\\n",
1733     (char*)NULL };
1735 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1737  *  Description of Aix_Syswait_2 fix
1738  */
1739 tSCC zAix_Syswait_2Name[] =
1740      "aix_syswait_2";
1743  *  File name selection pattern
1744  */
1745 tSCC zAix_Syswait_2List[] =
1746   "sys/wait.h\0";
1748  *  Machine/OS name selection pattern
1749  */
1750 tSCC* apzAix_Syswait_2Machs[] = {
1751         "*-*-aix*",
1752         (const char*)NULL };
1755  *  content selection pattern - do fix if pattern found
1756  */
1757 tSCC zAix_Syswait_2Select0[] =
1758        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
1760 #define    AIX_SYSWAIT_2_TEST_CT  1
1761 static tTestDesc aAix_Syswait_2Tests[] = {
1762   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
1765  *  Fix Command Arguments for Aix_Syswait_2
1766  */
1767 static const char* apzAix_Syswait_2Patch[] = {
1768     "format",
1769     "? (int)%1",
1770     (char*)NULL };
1772 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1774  *  Description of Aix_Volatile fix
1775  */
1776 tSCC zAix_VolatileName[] =
1777      "aix_volatile";
1780  *  File name selection pattern
1781  */
1782 tSCC zAix_VolatileList[] =
1783   "sys/signal.h\0";
1785  *  Machine/OS name selection pattern
1786  */
1787 tSCC* apzAix_VolatileMachs[] = {
1788         "*-*-aix*",
1789         (const char*)NULL };
1792  *  content selection pattern - do fix if pattern found
1793  */
1794 tSCC zAix_VolatileSelect0[] =
1795        "typedef volatile int sig_atomic_t";
1797 #define    AIX_VOLATILE_TEST_CT  1
1798 static tTestDesc aAix_VolatileTests[] = {
1799   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
1802  *  Fix Command Arguments for Aix_Volatile
1803  */
1804 static const char* apzAix_VolatilePatch[] = {
1805     "format",
1806     "typedef int sig_atomic_t",
1807     (char*)NULL };
1809 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1811  *  Description of Alpha___Assert fix
1812  */
1813 tSCC zAlpha___AssertName[] =
1814      "alpha___assert";
1817  *  File name selection pattern
1818  */
1819 tSCC zAlpha___AssertList[] =
1820   "assert.h\0";
1822  *  Machine/OS name selection pattern
1823  */
1824 #define apzAlpha___AssertMachs (const char**)NULL
1827  *  content selection pattern - do fix if pattern found
1828  */
1829 tSCC zAlpha___AssertSelect0[] =
1830        "__assert\\(char \\*, char \\*, int\\)";
1832 #define    ALPHA___ASSERT_TEST_CT  1
1833 static tTestDesc aAlpha___AssertTests[] = {
1834   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
1837  *  Fix Command Arguments for Alpha___Assert
1838  */
1839 static const char* apzAlpha___AssertPatch[] = {
1840     "format",
1841     "__assert(const char *, const char *, int)",
1842     (char*)NULL };
1844 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1846  *  Description of Alpha_Assert fix
1847  */
1848 tSCC zAlpha_AssertName[] =
1849      "alpha_assert";
1852  *  File name selection pattern
1853  */
1854 tSCC zAlpha_AssertList[] =
1855   "assert.h\0";
1857  *  Machine/OS name selection pattern
1858  */
1859 #define apzAlpha_AssertMachs (const char**)NULL
1862  *  content selection pattern - do fix if pattern found
1863  */
1864 tSCC zAlpha_AssertSelect0[] =
1865        "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1867 #define    ALPHA_ASSERT_TEST_CT  1
1868 static tTestDesc aAlpha_AssertTests[] = {
1869   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1872  *  Fix Command Arguments for Alpha_Assert
1873  */
1874 static const char* apzAlpha_AssertPatch[] = {
1875     "format",
1876     "%1(EX)",
1877     (char*)NULL };
1879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1881  *  Description of Alpha_Getopt fix
1882  */
1883 tSCC zAlpha_GetoptName[] =
1884      "alpha_getopt";
1887  *  File name selection pattern
1888  */
1889 tSCC zAlpha_GetoptList[] =
1890   "stdio.h\0stdlib.h\0";
1892  *  Machine/OS name selection pattern
1893  */
1894 #define apzAlpha_GetoptMachs (const char**)NULL
1897  *  content selection pattern - do fix if pattern found
1898  */
1899 tSCC zAlpha_GetoptSelect0[] =
1900        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1902 #define    ALPHA_GETOPT_TEST_CT  1
1903 static tTestDesc aAlpha_GetoptTests[] = {
1904   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1907  *  Fix Command Arguments for Alpha_Getopt
1908  */
1909 static const char* apzAlpha_GetoptPatch[] = {
1910     "format",
1911     "getopt(int, char *const[], const char *)",
1912     (char*)NULL };
1914 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1916  *  Description of Alpha_If_Semicolon fix
1917  */
1918 tSCC zAlpha_If_SemicolonName[] =
1919      "alpha_if_semicolon";
1922  *  File name selection pattern
1923  */
1924 tSCC zAlpha_If_SemicolonList[] =
1925   "net/if.h\0";
1927  *  Machine/OS name selection pattern
1928  */
1929 #define apzAlpha_If_SemicolonMachs (const char**)NULL
1932  *  content selection pattern - do fix if pattern found
1933  */
1934 tSCC zAlpha_If_SemicolonSelect0[] =
1935        "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
1937 #define    ALPHA_IF_SEMICOLON_TEST_CT  1
1938 static tTestDesc aAlpha_If_SemicolonTests[] = {
1939   { TT_EGREP,    zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
1942  *  Fix Command Arguments for Alpha_If_Semicolon
1943  */
1944 static const char* apzAlpha_If_SemicolonPatch[] = {
1945     "format",
1946     "struct sockaddr vmif_paddr;\t/*",
1947     (char*)NULL };
1949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1951  *  Description of Alpha_Parens fix
1952  */
1953 tSCC zAlpha_ParensName[] =
1954      "alpha_parens";
1957  *  File name selection pattern
1958  */
1959 tSCC zAlpha_ParensList[] =
1960   "sym.h\0";
1962  *  Machine/OS name selection pattern
1963  */
1964 #define apzAlpha_ParensMachs (const char**)NULL
1967  *  content selection pattern - do fix if pattern found
1968  */
1969 tSCC zAlpha_ParensSelect0[] =
1970        "#ifndef\\(__mips64\\)";
1972 #define    ALPHA_PARENS_TEST_CT  1
1973 static tTestDesc aAlpha_ParensTests[] = {
1974   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1977  *  Fix Command Arguments for Alpha_Parens
1978  */
1979 static const char* apzAlpha_ParensPatch[] = {
1980     "format",
1981     "#ifndef __mips64",
1982     (char*)NULL };
1984 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1986  *  Description of Alpha_Sbrk fix
1987  */
1988 tSCC zAlpha_SbrkName[] =
1989      "alpha_sbrk";
1992  *  File name selection pattern
1993  */
1994 tSCC zAlpha_SbrkList[] =
1995   "unistd.h\0";
1997  *  Machine/OS name selection pattern
1998  */
1999 #define apzAlpha_SbrkMachs (const char**)NULL
2002  *  content selection pattern - do fix if pattern found
2003  */
2004 tSCC zAlpha_SbrkSelect0[] =
2005        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
2007 #define    ALPHA_SBRK_TEST_CT  1
2008 static tTestDesc aAlpha_SbrkTests[] = {
2009   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
2012  *  Fix Command Arguments for Alpha_Sbrk
2013  */
2014 static const char* apzAlpha_SbrkPatch[] = {
2015     "format",
2016     "void *sbrk(",
2017     (char*)NULL };
2019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2021  *  Description of Avoid_Bool_Define fix
2022  */
2023 tSCC zAvoid_Bool_DefineName[] =
2024      "avoid_bool_define";
2027  *  File name selection pattern
2028  */
2029 tSCC zAvoid_Bool_DefineList[] =
2030   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
2032  *  Machine/OS name selection pattern
2033  */
2034 #define apzAvoid_Bool_DefineMachs (const char**)NULL
2037  *  content selection pattern - do fix if pattern found
2038  */
2039 tSCC zAvoid_Bool_DefineSelect0[] =
2040        "#[ \t]*define[ \t]+bool[ \t]";
2043  *  content bypass pattern - skip fix if pattern found
2044  */
2045 tSCC zAvoid_Bool_DefineBypass0[] =
2046        "__cplusplus";
2048 #define    AVOID_BOOL_DEFINE_TEST_CT  2
2049 static tTestDesc aAvoid_Bool_DefineTests[] = {
2050   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
2051   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
2054  *  Fix Command Arguments for Avoid_Bool_Define
2055  */
2056 static const char* apzAvoid_Bool_DefinePatch[] = {
2057     "format",
2058     "#ifndef __cplusplus\n\
2059 %0\n\
2060 #endif",
2061     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
2062     (char*)NULL };
2064 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2066  *  Description of Avoid_Bool_Type fix
2067  */
2068 tSCC zAvoid_Bool_TypeName[] =
2069      "avoid_bool_type";
2072  *  File name selection pattern
2073  */
2074 tSCC zAvoid_Bool_TypeList[] =
2075   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
2077  *  Machine/OS name selection pattern
2078  */
2079 #define apzAvoid_Bool_TypeMachs (const char**)NULL
2082  *  content selection pattern - do fix if pattern found
2083  */
2084 tSCC zAvoid_Bool_TypeSelect0[] =
2085        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
2088  *  content bypass pattern - skip fix if pattern found
2089  */
2090 tSCC zAvoid_Bool_TypeBypass0[] =
2091        "__cplusplus";
2093 #define    AVOID_BOOL_TYPE_TEST_CT  2
2094 static tTestDesc aAvoid_Bool_TypeTests[] = {
2095   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
2096   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
2099  *  Fix Command Arguments for Avoid_Bool_Type
2100  */
2101 static const char* apzAvoid_Bool_TypePatch[] = {
2102     "format",
2103     "#ifndef __cplusplus\n\
2104 %0\n\
2105 #endif",
2106     (char*)NULL };
2108 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2110  *  Description of Avoid_Wchar_T_Type fix
2111  */
2112 tSCC zAvoid_Wchar_T_TypeName[] =
2113      "avoid_wchar_t_type";
2116  *  File name selection pattern
2117  */
2118 #define zAvoid_Wchar_T_TypeList (char*)NULL
2120  *  Machine/OS name selection pattern
2121  */
2122 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
2125  *  content selection pattern - do fix if pattern found
2126  */
2127 tSCC zAvoid_Wchar_T_TypeSelect0[] =
2128        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
2131  *  content bypass pattern - skip fix if pattern found
2132  */
2133 tSCC zAvoid_Wchar_T_TypeBypass0[] =
2134        "__cplusplus";
2135 tSCC zAvoid_Wchar_T_TypeBypass1[] =
2136        "_LINUX_NLS_H";
2137 tSCC zAvoid_Wchar_T_TypeBypass2[] =
2138        "XFree86: xc/lib/X11/Xlib\\.h";
2140 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
2141 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
2142   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
2143   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
2144   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
2145   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
2148  *  Fix Command Arguments for Avoid_Wchar_T_Type
2149  */
2150 static const char* apzAvoid_Wchar_T_TypePatch[] = {
2151     "format",
2152     "#ifndef __cplusplus\n\
2153 %0\n\
2154 #endif",
2155     (char*)NULL };
2157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2159  *  Description of Bad_Struct_Term fix
2160  */
2161 tSCC zBad_Struct_TermName[] =
2162      "bad_struct_term";
2165  *  File name selection pattern
2166  */
2167 tSCC zBad_Struct_TermList[] =
2168   "curses.h\0";
2170  *  Machine/OS name selection pattern
2171  */
2172 #define apzBad_Struct_TermMachs (const char**)NULL
2175  *  content selection pattern - do fix if pattern found
2176  */
2177 tSCC zBad_Struct_TermSelect0[] =
2178        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
2180 #define    BAD_STRUCT_TERM_TEST_CT  1
2181 static tTestDesc aBad_Struct_TermTests[] = {
2182   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
2185  *  Fix Command Arguments for Bad_Struct_Term
2186  */
2187 static const char* apzBad_Struct_TermPatch[] = {
2188     "format",
2189     "struct term;",
2190     (char*)NULL };
2192 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2194  *  Description of Badquote fix
2195  */
2196 tSCC zBadquoteName[] =
2197      "badquote";
2200  *  File name selection pattern
2201  */
2202 tSCC zBadquoteList[] =
2203   "sundev/vuid_event.h\0";
2205  *  Machine/OS name selection pattern
2206  */
2207 #define apzBadquoteMachs (const char**)NULL
2210  *  content selection pattern - do fix if pattern found
2211  */
2212 tSCC zBadquoteSelect0[] =
2213        "doesn't";
2215 #define    BADQUOTE_TEST_CT  1
2216 static tTestDesc aBadquoteTests[] = {
2217   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
2220  *  Fix Command Arguments for Badquote
2221  */
2222 static const char* apzBadquotePatch[] = {
2223     "format",
2224     "does not",
2225     (char*)NULL };
2227 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2229  *  Description of Broken_Assert_Stdio fix
2230  */
2231 tSCC zBroken_Assert_StdioName[] =
2232      "broken_assert_stdio";
2235  *  File name selection pattern
2236  */
2237 tSCC zBroken_Assert_StdioList[] =
2238   "assert.h\0";
2240  *  Machine/OS name selection pattern
2241  */
2242 #define apzBroken_Assert_StdioMachs (const char**)NULL
2245  *  content selection pattern - do fix if pattern found
2246  */
2247 tSCC zBroken_Assert_StdioSelect0[] =
2248        "stderr";
2251  *  content bypass pattern - skip fix if pattern found
2252  */
2253 tSCC zBroken_Assert_StdioBypass0[] =
2254        "include.*stdio\\.h";
2256 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
2257 static tTestDesc aBroken_Assert_StdioTests[] = {
2258   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
2259   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
2262  *  Fix Command Arguments for Broken_Assert_Stdio
2263  */
2264 static const char* apzBroken_Assert_StdioPatch[] = {
2265     "wrap",
2266     "#include <stdio.h>\n",
2267     (char*)NULL };
2269 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2271  *  Description of Broken_Assert_Stdlib fix
2272  */
2273 tSCC zBroken_Assert_StdlibName[] =
2274      "broken_assert_stdlib";
2277  *  File name selection pattern
2278  */
2279 tSCC zBroken_Assert_StdlibList[] =
2280   "assert.h\0";
2282  *  Machine/OS name selection pattern
2283  */
2284 #define apzBroken_Assert_StdlibMachs (const char**)NULL
2287  *  content selection pattern - do fix if pattern found
2288  */
2289 tSCC zBroken_Assert_StdlibSelect0[] =
2290        "exit *\\(|abort *\\(";
2293  *  content bypass pattern - skip fix if pattern found
2294  */
2295 tSCC zBroken_Assert_StdlibBypass0[] =
2296        "include.*stdlib\\.h";
2298 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
2299 static tTestDesc aBroken_Assert_StdlibTests[] = {
2300   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
2301   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
2304  *  Fix Command Arguments for Broken_Assert_Stdlib
2305  */
2306 static const char* apzBroken_Assert_StdlibPatch[] = {
2307     "wrap",
2308     "#ifdef __cplusplus\n\
2309 #include <stdlib.h>\n\
2310 #endif\n",
2311     (char*)NULL };
2313 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2315  *  Description of Broken_Cabs fix
2316  */
2317 tSCC zBroken_CabsName[] =
2318      "broken_cabs";
2321  *  File name selection pattern
2322  */
2323 tSCC zBroken_CabsList[] =
2324   "math.h\0architecture/*/math.h\0";
2326  *  Machine/OS name selection pattern
2327  */
2328 #define apzBroken_CabsMachs (const char**)NULL
2331  *  content selection pattern - do fix if pattern found
2332  */
2333 tSCC zBroken_CabsSelect0[] =
2334        "^extern[ \t]+double[ \t]+cabs";
2336 #define    BROKEN_CABS_TEST_CT  1
2337 static tTestDesc aBroken_CabsTests[] = {
2338   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
2341  *  Fix Command Arguments for Broken_Cabs
2342  */
2343 static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
2344     "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
2345     "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
2346     (char*)NULL };
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2350  *  Description of Broken_Nan fix
2351  */
2352 tSCC zBroken_NanName[] =
2353      "broken_nan";
2356  *  File name selection pattern
2357  */
2358 tSCC zBroken_NanList[] =
2359   "architecture/ppc/math.h\0architecture/*/math.h\0";
2361  *  Machine/OS name selection pattern
2362  */
2363 #define apzBroken_NanMachs (const char**)NULL
2366  *  content selection pattern - do fix if pattern found
2367  */
2368 tSCC zBroken_NanSelect0[] =
2369        "#if defined\\(__APPLE_CC__\\) && \\(__APPLE_CC__ >= 1345\\)";
2372  *  content bypass pattern - skip fix if pattern found
2373  */
2374 tSCC zBroken_NanBypass0[] =
2375        "powl";
2377 #define    BROKEN_NAN_TEST_CT  2
2378 static tTestDesc aBroken_NanTests[] = {
2379   { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
2380   { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
2383  *  Fix Command Arguments for Broken_Nan
2384  */
2385 static const char* apzBroken_NanPatch[] = {
2386     "format",
2387     "#if 1",
2388     (char*)NULL };
2390 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2392  *  Description of Bsd_Stdio_Attrs_Conflict fix
2393  */
2394 tSCC zBsd_Stdio_Attrs_ConflictName[] =
2395      "bsd_stdio_attrs_conflict";
2398  *  File name selection pattern
2399  */
2400 tSCC zBsd_Stdio_Attrs_ConflictList[] =
2401   "stdio.h\0";
2403  *  Machine/OS name selection pattern
2404  */
2405 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
2406         "*-*-*bsd*",
2407         "*-*-*darwin*",
2408         (const char*)NULL };
2411  *  content selection pattern - do fix if pattern found
2412  */
2413 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
2414        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
2416 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
2417 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
2418   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
2421  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
2422  */
2423 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
2424     "format",
2425     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
2426 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
2427 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
2428     (char*)NULL };
2430 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2432  *  Description of Ctrl_Quotes_Def fix
2433  */
2434 tSCC zCtrl_Quotes_DefName[] =
2435      "ctrl_quotes_def";
2438  *  File name selection pattern
2439  */
2440 #define zCtrl_Quotes_DefList (char*)NULL
2442  *  Machine/OS name selection pattern
2443  */
2444 #define apzCtrl_Quotes_DefMachs (const char**)NULL
2447  *  content selection pattern - do fix if pattern found
2448  */
2449 tSCC zCtrl_Quotes_DefSelect0[] =
2450        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
2452 #define    CTRL_QUOTES_DEF_TEST_CT  1
2453 static tTestDesc aCtrl_Quotes_DefTests[] = {
2454   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
2457  *  Fix Command Arguments for Ctrl_Quotes_Def
2458  */
2459 static const char* apzCtrl_Quotes_DefPatch[] = {
2460     "char_macro_def",
2461     "CTRL",
2462     (char*)NULL };
2464 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2466  *  Description of Ctrl_Quotes_Use fix
2467  */
2468 tSCC zCtrl_Quotes_UseName[] =
2469      "ctrl_quotes_use";
2472  *  File name selection pattern
2473  */
2474 #define zCtrl_Quotes_UseList (char*)NULL
2476  *  Machine/OS name selection pattern
2477  */
2478 #define apzCtrl_Quotes_UseMachs (const char**)NULL
2481  *  content selection pattern - do fix if pattern found
2482  */
2483 tSCC zCtrl_Quotes_UseSelect0[] =
2484        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
2486 #define    CTRL_QUOTES_USE_TEST_CT  1
2487 static tTestDesc aCtrl_Quotes_UseTests[] = {
2488   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
2491  *  Fix Command Arguments for Ctrl_Quotes_Use
2492  */
2493 static const char* apzCtrl_Quotes_UsePatch[] = {
2494     "char_macro_use",
2495     "CTRL",
2496     (char*)NULL };
2498 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2500  *  Description of Cxx_Unready fix
2501  */
2502 tSCC zCxx_UnreadyName[] =
2503      "cxx_unready";
2506  *  File name selection pattern
2507  */
2508 tSCC zCxx_UnreadyList[] =
2509   "sys/mman.h\0rpc/types.h\0";
2511  *  Machine/OS name selection pattern
2512  */
2513 #define apzCxx_UnreadyMachs (const char**)NULL
2516  *  content selection pattern - do fix if pattern found
2517  */
2518 tSCC zCxx_UnreadySelect0[] =
2519        "[^#]+malloc.*;";
2522  *  content bypass pattern - skip fix if pattern found
2523  */
2524 tSCC zCxx_UnreadyBypass0[] =
2525        "\"C\"|__BEGIN_DECLS";
2527 #define    CXX_UNREADY_TEST_CT  2
2528 static tTestDesc aCxx_UnreadyTests[] = {
2529   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
2530   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
2533  *  Fix Command Arguments for Cxx_Unready
2534  */
2535 static const char* apzCxx_UnreadyPatch[] = {
2536     "wrap",
2537     "#ifdef __cplusplus\n\
2538 extern \"C\" {\n\
2539 #endif\n",
2540     "#ifdef __cplusplus\n\
2541 }\n\
2542 #endif\n",
2543     (char*)NULL };
2545 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2547  *  Description of Darwin_Availabilityinternal fix
2548  */
2549 tSCC zDarwin_AvailabilityinternalName[] =
2550      "darwin_availabilityinternal";
2553  *  File name selection pattern
2554  */
2555 tSCC zDarwin_AvailabilityinternalList[] =
2556   "AvailabilityInternal.h\0";
2558  *  Machine/OS name selection pattern
2559  */
2560 tSCC* apzDarwin_AvailabilityinternalMachs[] = {
2561         "*-*-darwin*",
2562         (const char*)NULL };
2565  *  content selection pattern - do fix if pattern found
2566  */
2567 tSCC zDarwin_AvailabilityinternalSelect0[] =
2568        "#define[ \t]+(__API_[ADU]\\([^)]*\\)).*";
2570 #define    DARWIN_AVAILABILITYINTERNAL_TEST_CT  1
2571 static tTestDesc aDarwin_AvailabilityinternalTests[] = {
2572   { TT_EGREP,    zDarwin_AvailabilityinternalSelect0, (regex_t*)NULL }, };
2575  *  Fix Command Arguments for Darwin_Availabilityinternal
2576  */
2577 static const char* apzDarwin_AvailabilityinternalPatch[] = {
2578     "format",
2579     "#if defined(__has_attribute)\n\
2580   #if __has_attribute(availability)\n\
2581 %0\n\
2582   #else\n\
2583     #define %1\n\
2584   #endif\n\
2585 #else\n\
2586     #define %1\n\
2587 #endif",
2588     (char*)NULL };
2590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2592  *  Description of Darwin_9_Long_Double_Funcs_2 fix
2593  */
2594 tSCC zDarwin_9_Long_Double_Funcs_2Name[] =
2595      "darwin_9_long_double_funcs_2";
2598  *  File name selection pattern
2599  */
2600 tSCC zDarwin_9_Long_Double_Funcs_2List[] =
2601   "math.h\0";
2603  *  Machine/OS name selection pattern
2604  */
2605 tSCC* apzDarwin_9_Long_Double_Funcs_2Machs[] = {
2606         "*-*-darwin7.9*",
2607         (const char*)NULL };
2610  *  content selection pattern - do fix if pattern found
2611  */
2612 tSCC zDarwin_9_Long_Double_Funcs_2Select0[] =
2613        "#include[ \\t]+\\\"";
2615 #define    DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
2616 static tTestDesc aDarwin_9_Long_Double_Funcs_2Tests[] = {
2617   { TT_EGREP,    zDarwin_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
2620  *  Fix Command Arguments for Darwin_9_Long_Double_Funcs_2
2621  */
2622 static const char* apzDarwin_9_Long_Double_Funcs_2Patch[] = {
2623     "format",
2624     "%1<%2.h>",
2625     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
2626     (char*)NULL };
2628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2630  *  Description of Darwin_Externc fix
2631  */
2632 tSCC zDarwin_ExterncName[] =
2633      "darwin_externc";
2636  *  File name selection pattern
2637  */
2638 tSCC zDarwin_ExterncList[] =
2639   "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
2641  *  Machine/OS name selection pattern
2642  */
2643 tSCC* apzDarwin_ExterncMachs[] = {
2644         "*-*-darwin*",
2645         (const char*)NULL };
2648  *  content bypass pattern - skip fix if pattern found
2649  */
2650 tSCC zDarwin_ExterncBypass0[] =
2651        "extern \"C\"";
2652 tSCC zDarwin_ExterncBypass1[] =
2653        "__BEGIN_DECLS";
2655 #define    DARWIN_EXTERNC_TEST_CT  2
2656 static tTestDesc aDarwin_ExterncTests[] = {
2657   { TT_NEGREP,   zDarwin_ExterncBypass0, (regex_t*)NULL },
2658   { TT_NEGREP,   zDarwin_ExterncBypass1, (regex_t*)NULL }, };
2661  *  Fix Command Arguments for Darwin_Externc
2662  */
2663 static const char* apzDarwin_ExterncPatch[] = {
2664     "wrap",
2665     "#ifdef __cplusplus\n\
2666 extern \"C\" {\n\
2667 #endif\n",
2668     "#ifdef __cplusplus\n\
2669 }\n\
2670 #endif\n",
2671     (char*)NULL };
2673 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2675  *  Description of Darwin_Gcc4_Breakage fix
2676  */
2677 tSCC zDarwin_Gcc4_BreakageName[] =
2678      "darwin_gcc4_breakage";
2681  *  File name selection pattern
2682  */
2683 tSCC zDarwin_Gcc4_BreakageList[] =
2684   "AvailabilityMacros.h\0";
2686  *  Machine/OS name selection pattern
2687  */
2688 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
2689         "*-*-darwin*",
2690         (const char*)NULL };
2693  *  content selection pattern - do fix if pattern found
2694  */
2695 tSCC zDarwin_Gcc4_BreakageSelect0[] =
2696        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
2698 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
2699 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
2700   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2703  *  Fix Command Arguments for Darwin_Gcc4_Breakage
2704  */
2705 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
2706     "format",
2707     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
2708     (char*)NULL };
2710 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2712  *  Description of Darwin_Longjmp_Noreturn fix
2713  */
2714 tSCC zDarwin_Longjmp_NoreturnName[] =
2715      "darwin_longjmp_noreturn";
2718  *  File name selection pattern
2719  */
2720 tSCC zDarwin_Longjmp_NoreturnList[] =
2721   "i386/setjmp.h\0";
2723  *  Machine/OS name selection pattern
2724  */
2725 tSCC* apzDarwin_Longjmp_NoreturnMachs[] = {
2726         "*-*-darwin*",
2727         (const char*)NULL };
2730  *  content selection pattern - do fix if pattern found
2731  */
2732 tSCC zDarwin_Longjmp_NoreturnSelect0[] =
2733        "(.*longjmp\\(.*jmp_buf.*[^)]+\\));";
2736  *  content bypass pattern - skip fix if pattern found
2737  */
2738 tSCC zDarwin_Longjmp_NoreturnBypass0[] =
2739        "__dead2";
2741 #define    DARWIN_LONGJMP_NORETURN_TEST_CT  2
2742 static tTestDesc aDarwin_Longjmp_NoreturnTests[] = {
2743   { TT_NEGREP,   zDarwin_Longjmp_NoreturnBypass0, (regex_t*)NULL },
2744   { TT_EGREP,    zDarwin_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
2747  *  Fix Command Arguments for Darwin_Longjmp_Noreturn
2748  */
2749 static const char* apzDarwin_Longjmp_NoreturnPatch[] = {
2750     "format",
2751     "%1 __attribute__ ((__noreturn__));",
2752     (char*)NULL };
2754 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2756  *  Description of Darwin_Os_Trace_1 fix
2757  */
2758 tSCC zDarwin_Os_Trace_1Name[] =
2759      "darwin_os_trace_1";
2762  *  File name selection pattern
2763  */
2764 tSCC zDarwin_Os_Trace_1List[] =
2765   "os/trace.h\0";
2767  *  Machine/OS name selection pattern
2768  */
2769 tSCC* apzDarwin_Os_Trace_1Machs[] = {
2770         "*-*-darwin*",
2771         (const char*)NULL };
2774  *  content selection pattern - do fix if pattern found
2775  */
2776 tSCC zDarwin_Os_Trace_1Select0[] =
2777        "^(_os_trace_verify_printf.*) (__attribute__.*)";
2779 #define    DARWIN_OS_TRACE_1_TEST_CT  1
2780 static tTestDesc aDarwin_Os_Trace_1Tests[] = {
2781   { TT_EGREP,    zDarwin_Os_Trace_1Select0, (regex_t*)NULL }, };
2784  *  Fix Command Arguments for Darwin_Os_Trace_1
2785  */
2786 static const char* apzDarwin_Os_Trace_1Patch[] = {
2787     "format",
2788     "%1",
2789     (char*)NULL };
2791 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2793  *  Description of Darwin_Os_Trace_2 fix
2794  */
2795 tSCC zDarwin_Os_Trace_2Name[] =
2796      "darwin_os_trace_2";
2799  *  File name selection pattern
2800  */
2801 tSCC zDarwin_Os_Trace_2List[] =
2802   "os/trace.h\0";
2804  *  Machine/OS name selection pattern
2805  */
2806 tSCC* apzDarwin_Os_Trace_2Machs[] = {
2807         "*-*-darwin*",
2808         (const char*)NULL };
2811  *  content selection pattern - do fix if pattern found
2812  */
2813 tSCC zDarwin_Os_Trace_2Select0[] =
2814        "typedef.*\\^os_trace_payload_t.*";
2816 #define    DARWIN_OS_TRACE_2_TEST_CT  1
2817 static tTestDesc aDarwin_Os_Trace_2Tests[] = {
2818   { TT_EGREP,    zDarwin_Os_Trace_2Select0, (regex_t*)NULL }, };
2821  *  Fix Command Arguments for Darwin_Os_Trace_2
2822  */
2823 static const char* apzDarwin_Os_Trace_2Patch[] = {
2824     "format",
2825     "#if __BLOCKS__\n\
2826 %0\n\
2827 #endif",
2828     (char*)NULL };
2830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2832  *  Description of Darwin_Os_Trace_3 fix
2833  */
2834 tSCC zDarwin_Os_Trace_3Name[] =
2835      "darwin_os_trace_3";
2838  *  File name selection pattern
2839  */
2840 tSCC zDarwin_Os_Trace_3List[] =
2841   "os/trace.h\0";
2843  *  Machine/OS name selection pattern
2844  */
2845 tSCC* apzDarwin_Os_Trace_3Machs[] = {
2846         "*-*-darwin*",
2847         (const char*)NULL };
2850  *  content selection pattern - do fix if pattern found
2851  */
2852 tSCC zDarwin_Os_Trace_3Select0[] =
2853        "__(API|OSX)_.*\n\
2854 OS_EXPORT.*\n\
2855 .*\n\
2856 _os_trace.*os_trace_payload_t payload);";
2858 #define    DARWIN_OS_TRACE_3_TEST_CT  1
2859 static tTestDesc aDarwin_Os_Trace_3Tests[] = {
2860   { TT_EGREP,    zDarwin_Os_Trace_3Select0, (regex_t*)NULL }, };
2863  *  Fix Command Arguments for Darwin_Os_Trace_3
2864  */
2865 static const char* apzDarwin_Os_Trace_3Patch[] = {
2866     "format",
2867     "#if __BLOCKS__\n\
2868 %0\n\
2869 #endif",
2870     (char*)NULL };
2872 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2874  *  Description of Darwin_Private_Extern fix
2875  */
2876 tSCC zDarwin_Private_ExternName[] =
2877      "darwin_private_extern";
2880  *  File name selection pattern
2881  */
2882 tSCC zDarwin_Private_ExternList[] =
2883   "mach-o/dyld.h\0";
2885  *  Machine/OS name selection pattern
2886  */
2887 tSCC* apzDarwin_Private_ExternMachs[] = {
2888         "*-*-darwin*",
2889         (const char*)NULL };
2892  *  content selection pattern - do fix if pattern found
2893  */
2894 tSCC zDarwin_Private_ExternSelect0[] =
2895        "__private_extern__ [a-z_]+ _dyld_";
2897 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
2898 static tTestDesc aDarwin_Private_ExternTests[] = {
2899   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2902  *  Fix Command Arguments for Darwin_Private_Extern
2903  */
2904 static const char* apzDarwin_Private_ExternPatch[] = {
2905     "format",
2906     "extern",
2907     "__private_extern__",
2908     (char*)NULL };
2910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2912  *  Description of Darwin_Stdint_1 fix
2913  */
2914 tSCC zDarwin_Stdint_1Name[] =
2915      "darwin_stdint_1";
2918  *  File name selection pattern
2919  */
2920 tSCC zDarwin_Stdint_1List[] =
2921   "stdint-darwin.h\0stdint.h\0";
2923  *  Machine/OS name selection pattern
2924  */
2925 tSCC* apzDarwin_Stdint_1Machs[] = {
2926         "*-*-darwin*",
2927         (const char*)NULL };
2930  *  content selection pattern - do fix if pattern found
2931  */
2932 tSCC zDarwin_Stdint_1Select0[] =
2933        "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2934 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2936 #define    DARWIN_STDINT_1_TEST_CT  1
2937 static tTestDesc aDarwin_Stdint_1Tests[] = {
2938   { TT_EGREP,    zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2941  *  Fix Command Arguments for Darwin_Stdint_1
2942  */
2943 static const char* apzDarwin_Stdint_1Patch[] = {
2944     "format",
2945     "#define UINT8_C(v)\tv\n\
2946 #define UINT16_C(v)\tv",
2947     (char*)NULL };
2949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2951  *  Description of Darwin_Stdint_2 fix
2952  */
2953 tSCC zDarwin_Stdint_2Name[] =
2954      "darwin_stdint_2";
2957  *  File name selection pattern
2958  */
2959 tSCC zDarwin_Stdint_2List[] =
2960   "stdint-darwin.h\0stdint.h\0";
2962  *  Machine/OS name selection pattern
2963  */
2964 tSCC* apzDarwin_Stdint_2Machs[] = {
2965         "*-*-darwin*",
2966         (const char*)NULL };
2969  *  content selection pattern - do fix if pattern found
2970  */
2971 tSCC zDarwin_Stdint_2Select0[] =
2972        "#if __WORDSIZE == 64\n\
2973 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2974 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2975 #else\n\
2976 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2977 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2978 #endif";
2980 #define    DARWIN_STDINT_2_TEST_CT  1
2981 static tTestDesc aDarwin_Stdint_2Tests[] = {
2982   { TT_EGREP,    zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2985  *  Fix Command Arguments for Darwin_Stdint_2
2986  */
2987 static const char* apzDarwin_Stdint_2Patch[] = {
2988     "format",
2989     "#if __WORDSIZE == 64\n\
2990 #define INTPTR_MAX 9223372036854775807L\n\
2991 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2992 #else\n\
2993 #define INTPTR_MAX 2147483647L\n\
2994 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2995 #endif",
2996     (char*)NULL };
2998 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3000  *  Description of Darwin_Stdint_3 fix
3001  */
3002 tSCC zDarwin_Stdint_3Name[] =
3003      "darwin_stdint_3";
3006  *  File name selection pattern
3007  */
3008 tSCC zDarwin_Stdint_3List[] =
3009   "stdint-darwin.h\0stdint.h\0";
3011  *  Machine/OS name selection pattern
3012  */
3013 tSCC* apzDarwin_Stdint_3Machs[] = {
3014         "*-*-darwin*",
3015         (const char*)NULL };
3018  *  content selection pattern - do fix if pattern found
3019  */
3020 tSCC zDarwin_Stdint_3Select0[] =
3021        "#if __WORDSIZE == 64\n\
3022 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
3023 #else\n\
3024 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
3025 #endif";
3027 #define    DARWIN_STDINT_3_TEST_CT  1
3028 static tTestDesc aDarwin_Stdint_3Tests[] = {
3029   { TT_EGREP,    zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
3032  *  Fix Command Arguments for Darwin_Stdint_3
3033  */
3034 static const char* apzDarwin_Stdint_3Patch[] = {
3035     "format",
3036     "#if __WORDSIZE == 64\n\
3037 #define UINTPTR_MAX 18446744073709551615UL\n\
3038 #else\n\
3039 #define UINTPTR_MAX 4294967295UL\n\
3040 #endif",
3041     (char*)NULL };
3043 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3045  *  Description of Darwin_Stdint_4 fix
3046  */
3047 tSCC zDarwin_Stdint_4Name[] =
3048      "darwin_stdint_4";
3051  *  File name selection pattern
3052  */
3053 tSCC zDarwin_Stdint_4List[] =
3054   "stdint-darwin.h\0stdint.h\0";
3056  *  Machine/OS name selection pattern
3057  */
3058 tSCC* apzDarwin_Stdint_4Machs[] = {
3059         "*-*-darwin*",
3060         (const char*)NULL };
3063  *  content selection pattern - do fix if pattern found
3064  */
3065 tSCC zDarwin_Stdint_4Select0[] =
3066        "#if __WORDSIZE == 64\n\
3067 #define SIZE_MAX[ \t]+UINT64_MAX\n\
3068 #else\n\
3069 #define SIZE_MAX[ \t]+UINT32_MAX\n\
3070 #endif";
3072 #define    DARWIN_STDINT_4_TEST_CT  1
3073 static tTestDesc aDarwin_Stdint_4Tests[] = {
3074   { TT_EGREP,    zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
3077  *  Fix Command Arguments for Darwin_Stdint_4
3078  */
3079 static const char* apzDarwin_Stdint_4Patch[] = {
3080     "format",
3081     "#if __WORDSIZE == 64\n\
3082 #define SIZE_MAX 18446744073709551615UL\n\
3083 #else\n\
3084 #define SIZE_MAX 4294967295UL\n\
3085 #endif",
3086     (char*)NULL };
3088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3090  *  Description of Darwin_Stdint_5 fix
3091  */
3092 tSCC zDarwin_Stdint_5Name[] =
3093      "darwin_stdint_5";
3096  *  File name selection pattern
3097  */
3098 tSCC zDarwin_Stdint_5List[] =
3099   "stdint-darwin.h\0stdint.h\0";
3101  *  Machine/OS name selection pattern
3102  */
3103 tSCC* apzDarwin_Stdint_5Machs[] = {
3104         "*-*-darwin*",
3105         (const char*)NULL };
3108  *  content selection pattern - do fix if pattern found
3109  */
3110 tSCC zDarwin_Stdint_5Select0[] =
3111        "#define INTMAX_MIN[ \t]+INT64_MIN\n\
3112 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
3113 #define UINTMAX_MAX[ \t]+UINT64_MAX";
3115 #define    DARWIN_STDINT_5_TEST_CT  1
3116 static tTestDesc aDarwin_Stdint_5Tests[] = {
3117   { TT_EGREP,    zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
3120  *  Fix Command Arguments for Darwin_Stdint_5
3121  */
3122 static const char* apzDarwin_Stdint_5Patch[] = {
3123     "format",
3124     "#if __WORDSIZE == 64\n\
3125 #define INTMAX_MIN   (-9223372036854775807L - 1)\n\
3126 #define INTMAX_MAX   9223372036854775807L\n\
3127 #define UINTMAX_MAX  18446744073709551615UL\n\
3128 #else\n\
3129 #define INTMAX_MIN   (-9223372036854775807LL - 1)\n\
3130 #define INTMAX_MAX   9223372036854775807LL\n\
3131 #define UINTMAX_MAX  18446744073709551615ULL\n\
3132 #endif",
3133     (char*)NULL };
3135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3137  *  Description of Darwin_Stdint_6 fix
3138  */
3139 tSCC zDarwin_Stdint_6Name[] =
3140      "darwin_stdint_6";
3143  *  File name selection pattern
3144  */
3145 tSCC zDarwin_Stdint_6List[] =
3146   "stdint-darwin.h\0stdint.h\0";
3148  *  Machine/OS name selection pattern
3149  */
3150 tSCC* apzDarwin_Stdint_6Machs[] = {
3151         "*-*-darwin*",
3152         (const char*)NULL };
3155  *  content selection pattern - do fix if pattern found
3156  */
3157 tSCC zDarwin_Stdint_6Select0[] =
3158        "#if __WORDSIZE == 64\n\
3159 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
3160 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
3161 #else\n\
3162 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
3163 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
3164 #endif";
3166 #define    DARWIN_STDINT_6_TEST_CT  1
3167 static tTestDesc aDarwin_Stdint_6Tests[] = {
3168   { TT_EGREP,    zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
3171  *  Fix Command Arguments for Darwin_Stdint_6
3172  */
3173 static const char* apzDarwin_Stdint_6Patch[] = {
3174     "format",
3175     "#if __WORDSIZE == 64\n\
3176 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
3177 #define PTRDIFF_MAX 9223372036854775807L\n\
3178 #else\n\
3179 #define PTRDIFF_MIN (-2147483647 - 1)\n\
3180 #define PTRDIFF_MAX 2147483647\n\
3181 #endif",
3182     (char*)NULL };
3184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3186  *  Description of Darwin_Stdint_7 fix
3187  */
3188 tSCC zDarwin_Stdint_7Name[] =
3189      "darwin_stdint_7";
3192  *  File name selection pattern
3193  */
3194 tSCC zDarwin_Stdint_7List[] =
3195   "stdint-darwin.h\0stdint.h\0";
3197  *  Machine/OS name selection pattern
3198  */
3199 tSCC* apzDarwin_Stdint_7Machs[] = {
3200         "*-*-darwin*",
3201         (const char*)NULL };
3204  *  content selection pattern - do fix if pattern found
3205  */
3206 tSCC zDarwin_Stdint_7Select0[] =
3207        "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
3208 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
3210 #define    DARWIN_STDINT_7_TEST_CT  1
3211 static tTestDesc aDarwin_Stdint_7Tests[] = {
3212   { TT_EGREP,    zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
3215  *  Fix Command Arguments for Darwin_Stdint_7
3216  */
3217 static const char* apzDarwin_Stdint_7Patch[] = {
3218     "format",
3219     "#if __WORDSIZE == 64\n\
3220 #define INTMAX_C(v)  (v ## L)\n\
3221 #define UINTMAX_C(v) (v ## UL)\n\
3222 #else\n\
3223 #define INTMAX_C(v)  (v ## LL)\n\
3224 #define UINTMAX_C(v) (v ## ULL)\n\
3225 #endif",
3226     (char*)NULL };
3228 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3230  *  Description of Dec_Intern_Asm fix
3231  */
3232 tSCC zDec_Intern_AsmName[] =
3233      "dec_intern_asm";
3236  *  File name selection pattern
3237  */
3238 tSCC zDec_Intern_AsmList[] =
3239   "c_asm.h\0";
3241  *  Machine/OS name selection pattern
3242  */
3243 #define apzDec_Intern_AsmMachs (const char**)NULL
3244 #define DEC_INTERN_ASM_TEST_CT  0
3245 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
3248  *  Fix Command Arguments for Dec_Intern_Asm
3249  */
3250 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
3251     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
3252 #ifdef __DECC\n",
3253     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
3254 #endif\n",
3255     (char*)NULL };
3257 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3259  *  Description of Djgpp_Wchar_H fix
3260  */
3261 tSCC zDjgpp_Wchar_HName[] =
3262      "djgpp_wchar_h";
3265  *  File name selection pattern
3266  */
3267 #define zDjgpp_Wchar_HList (char*)NULL
3269  *  Machine/OS name selection pattern
3270  */
3271 #define apzDjgpp_Wchar_HMachs (const char**)NULL
3274  *  content selection pattern - do fix if pattern found
3275  */
3276 tSCC zDjgpp_Wchar_HSelect0[] =
3277        "__DJ_wint_t";
3280  *  content bypass pattern - skip fix if pattern found
3281  */
3282 tSCC zDjgpp_Wchar_HBypass0[] =
3283        "sys/djtypes.h";
3285 #define    DJGPP_WCHAR_H_TEST_CT  2
3286 static tTestDesc aDjgpp_Wchar_HTests[] = {
3287   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
3288   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
3291  *  Fix Command Arguments for Djgpp_Wchar_H
3292  */
3293 static const char* apzDjgpp_Wchar_HPatch[] = {
3294     "format",
3295     "%0\n\
3296 #include <sys/djtypes.h>",
3297     "#include <stddef.h>",
3298     (char*)NULL };
3300 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3302  *  Description of Ecd_Cursor fix
3303  */
3304 tSCC zEcd_CursorName[] =
3305      "ecd_cursor";
3308  *  File name selection pattern
3309  */
3310 tSCC zEcd_CursorList[] =
3311   "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
3313  *  Machine/OS name selection pattern
3314  */
3315 #define apzEcd_CursorMachs (const char**)NULL
3318  *  content selection pattern - do fix if pattern found
3319  */
3320 tSCC zEcd_CursorSelect0[] =
3321        "ecd\\.cursor";
3323 #define    ECD_CURSOR_TEST_CT  1
3324 static tTestDesc aEcd_CursorTests[] = {
3325   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
3328  *  Fix Command Arguments for Ecd_Cursor
3329  */
3330 static const char* apzEcd_CursorPatch[] = {
3331     "format",
3332     "ecd_cursor",
3333     (char*)NULL };
3335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3337  *  Description of Feraiseexcept_Nosse_Divbyzero fix
3338  */
3339 tSCC zFeraiseexcept_Nosse_DivbyzeroName[] =
3340      "feraiseexcept_nosse_divbyzero";
3343  *  File name selection pattern
3344  */
3345 tSCC zFeraiseexcept_Nosse_DivbyzeroList[] =
3346   "bits/fenv.h\0*/bits/fenv.h\0";
3348  *  Machine/OS name selection pattern
3349  */
3350 tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = {
3351         "i[34567]86-*-linux*",
3352         "x86*-linux*",
3353         "amd64-*-linux*",
3354         (const char*)NULL };
3357  *  content selection pattern - do fix if pattern found
3358  */
3359 tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] =
3360        "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$";
3363  *  content bypass pattern - skip fix if pattern found
3364  */
3365 tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] =
3366        "\"fdivp .*; fwait\"";
3368 #define    FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT  2
3369 static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = {
3370   { TT_NEGREP,   zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL },
3371   { TT_EGREP,    zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, };
3374  *  Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero
3375  */
3376 static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = {
3377     "format",
3378     "# ifdef __SSE_MATH__\n\
3379 %0\n\
3380 # else\n\
3381 %1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\
3382 %1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\
3383 # endif",
3384     (char*)NULL };
3386 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3388  *  Description of Feraiseexcept_Nosse_Invalid fix
3389  */
3390 tSCC zFeraiseexcept_Nosse_InvalidName[] =
3391      "feraiseexcept_nosse_invalid";
3394  *  File name selection pattern
3395  */
3396 tSCC zFeraiseexcept_Nosse_InvalidList[] =
3397   "bits/fenv.h\0*/bits/fenv.h\0";
3399  *  Machine/OS name selection pattern
3400  */
3401 tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = {
3402         "i[34567]86-*-linux*",
3403         "x86*-linux*",
3404         "amd64-*-linux*",
3405         (const char*)NULL };
3408  *  content selection pattern - do fix if pattern found
3409  */
3410 tSCC zFeraiseexcept_Nosse_InvalidSelect0[] =
3411        "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$";
3414  *  content bypass pattern - skip fix if pattern found
3415  */
3416 tSCC zFeraiseexcept_Nosse_InvalidBypass0[] =
3417        "\"fdiv .*; fwait\"";
3419 #define    FERAISEEXCEPT_NOSSE_INVALID_TEST_CT  2
3420 static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = {
3421   { TT_NEGREP,   zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL },
3422   { TT_EGREP,    zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, };
3425  *  Fix Command Arguments for Feraiseexcept_Nosse_Invalid
3426  */
3427 static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = {
3428     "format",
3429     "# ifdef __SSE_MATH__\n\
3430 %0\n\
3431 # else\n\
3432 %1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\
3433 %1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\
3434 # endif",
3435     (char*)NULL };
3437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3439  *  Description of Freebsd_Gcc3_Breakage fix
3440  */
3441 tSCC zFreebsd_Gcc3_BreakageName[] =
3442      "freebsd_gcc3_breakage";
3445  *  File name selection pattern
3446  */
3447 tSCC zFreebsd_Gcc3_BreakageList[] =
3448   "sys/cdefs.h\0";
3450  *  Machine/OS name selection pattern
3451  */
3452 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
3453         "*-*-freebsd*",
3454         (const char*)NULL };
3457  *  content selection pattern - do fix if pattern found
3458  */
3459 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
3460        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
3463  *  content bypass pattern - skip fix if pattern found
3464  */
3465 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
3466        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
3468 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
3469 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
3470   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
3471   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
3474  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
3475  */
3476 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
3477     "format",
3478     "%0 || __GNUC__ >= 3",
3479     (char*)NULL };
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3483  *  Description of Freebsd_Gcc4_Breakage fix
3484  */
3485 tSCC zFreebsd_Gcc4_BreakageName[] =
3486      "freebsd_gcc4_breakage";
3489  *  File name selection pattern
3490  */
3491 tSCC zFreebsd_Gcc4_BreakageList[] =
3492   "sys/cdefs.h\0";
3494  *  Machine/OS name selection pattern
3495  */
3496 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
3497         "*-*-freebsd*",
3498         (const char*)NULL };
3501  *  content selection pattern - do fix if pattern found
3502  */
3503 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
3504        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
3506 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
3507 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
3508   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
3511  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
3512  */
3513 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
3514     "format",
3515     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
3516     (char*)NULL };
3518 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3520  *  Description of Glibc_C99_Inline_1 fix
3521  */
3522 tSCC zGlibc_C99_Inline_1Name[] =
3523      "glibc_c99_inline_1";
3526  *  File name selection pattern
3527  */
3528 tSCC zGlibc_C99_Inline_1List[] =
3529   "features.h\0*/features.h\0";
3531  *  Machine/OS name selection pattern
3532  */
3533 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
3536  *  content selection pattern - do fix if pattern found
3537  */
3538 tSCC zGlibc_C99_Inline_1Select0[] =
3539        "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
3541 #define    GLIBC_C99_INLINE_1_TEST_CT  1
3542 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
3543   { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
3546  *  Fix Command Arguments for Glibc_C99_Inline_1
3547  */
3548 static const char* apzGlibc_C99_Inline_1Patch[] = {
3549     "format",
3550     "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
3551     (char*)NULL };
3553 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3555  *  Description of Glibc_C99_Inline_1a fix
3556  */
3557 tSCC zGlibc_C99_Inline_1aName[] =
3558      "glibc_c99_inline_1a";
3561  *  File name selection pattern
3562  */
3563 tSCC zGlibc_C99_Inline_1aList[] =
3564   "features.h\0*/features.h\0";
3566  *  Machine/OS name selection pattern
3567  */
3568 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
3571  *  content selection pattern - do fix if pattern found
3572  */
3573 tSCC zGlibc_C99_Inline_1aSelect0[] =
3574        "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
3575 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
3577 #define    GLIBC_C99_INLINE_1A_TEST_CT  1
3578 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
3579   { TT_EGREP,    zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
3582  *  Fix Command Arguments for Glibc_C99_Inline_1a
3583  */
3584 static const char* apzGlibc_C99_Inline_1aPatch[] = {
3585     "format",
3586     "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
3587 %2",
3588     (char*)NULL };
3590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3592  *  Description of Glibc_C99_Inline_2 fix
3593  */
3594 tSCC zGlibc_C99_Inline_2Name[] =
3595      "glibc_c99_inline_2";
3598  *  File name selection pattern
3599  */
3600 tSCC zGlibc_C99_Inline_2List[] =
3601   "sys/stat.h\0*/sys/stat.h\0";
3603  *  Machine/OS name selection pattern
3604  */
3605 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
3608  *  content selection pattern - do fix if pattern found
3609  */
3610 tSCC zGlibc_C99_Inline_2Select0[] =
3611        "extern __inline__ int";
3613 #define    GLIBC_C99_INLINE_2_TEST_CT  1
3614 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
3615   { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
3618  *  Fix Command Arguments for Glibc_C99_Inline_2
3619  */
3620 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
3621     "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3622 extern\\\n\
3623 #endif\\\n\
3624 __inline__ int \\1/",
3625     "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3626 extern\\\n\
3627 #endif\\\n\
3628 __inline__ int \\1/",
3629     "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3630 extern\\\n\
3631 #endif\\\n\
3632 __inline__ int \\1/",
3633     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3634 extern\\\n\
3635 #endif\\\n\
3636 __inline__ int __REDIRECT\\1 (\\2/",
3637     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
3638 extern\\\n\
3639 #endif\\\n\
3640 __inline__ int __REDIRECT\\1 (\\2/",
3641     "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
3642 extern\\\n\
3643 #endif\\\n\
3644 __inline__ int/",
3645     (char*)NULL };
3647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3649  *  Description of Glibc_C99_Inline_3 fix
3650  */
3651 tSCC zGlibc_C99_Inline_3Name[] =
3652      "glibc_c99_inline_3";
3655  *  File name selection pattern
3656  */
3657 tSCC zGlibc_C99_Inline_3List[] =
3658   "bits/string2.h\0*/bits/string2.h\0";
3660  *  Machine/OS name selection pattern
3661  */
3662 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
3665  *  content selection pattern - do fix if pattern found
3666  */
3667 tSCC zGlibc_C99_Inline_3Select0[] =
3668        "extern __inline";
3671  *  content bypass pattern - skip fix if pattern found
3672  */
3673 tSCC zGlibc_C99_Inline_3Bypass0[] =
3674        "__extern_inline|__GNU_STDC_INLINE__";
3676 #define    GLIBC_C99_INLINE_3_TEST_CT  2
3677 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
3678   { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
3679   { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
3682  *  Fix Command Arguments for Glibc_C99_Inline_3
3683  */
3684 static const char* apzGlibc_C99_Inline_3Patch[] = {
3685     "format",
3686     "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
3687     "^# ifdef __cplusplus$",
3688     (char*)NULL };
3690 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3692  *  Description of Glibc_C99_Inline_4 fix
3693  */
3694 tSCC zGlibc_C99_Inline_4Name[] =
3695      "glibc_c99_inline_4";
3698  *  File name selection pattern
3699  */
3700 tSCC zGlibc_C99_Inline_4List[] =
3701   "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0pthread.h\0*/pthread.h\0";
3703  *  Machine/OS name selection pattern
3704  */
3705 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
3708  *  content selection pattern - do fix if pattern found
3709  */
3710 tSCC zGlibc_C99_Inline_4Select0[] =
3711        "(^| )extern __inline";
3714  *  content bypass pattern - skip fix if pattern found
3715  */
3716 tSCC zGlibc_C99_Inline_4Bypass0[] =
3717        "__extern_inline|__gnu_inline__";
3719 #define    GLIBC_C99_INLINE_4_TEST_CT  2
3720 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
3721   { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
3722   { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
3725  *  Fix Command Arguments for Glibc_C99_Inline_4
3726  */
3727 static const char* apzGlibc_C99_Inline_4Patch[] = {
3728     "format",
3729     "%0 __attribute__ ((__gnu_inline__))",
3730     (char*)NULL };
3732 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3734  *  Description of Glibc_Mutex_Init fix
3735  */
3736 tSCC zGlibc_Mutex_InitName[] =
3737      "glibc_mutex_init";
3740  *  File name selection pattern
3741  */
3742 tSCC zGlibc_Mutex_InitList[] =
3743   "pthread.h\0";
3745  *  Machine/OS name selection pattern
3746  */
3747 #define apzGlibc_Mutex_InitMachs (const char**)NULL
3750  *  content selection pattern - do fix if pattern found
3751  */
3752 tSCC zGlibc_Mutex_InitSelect0[] =
3753        "\\{ *\\{ *0, *\\} *\\}";
3755 #define    GLIBC_MUTEX_INIT_TEST_CT  1
3756 static tTestDesc aGlibc_Mutex_InitTests[] = {
3757   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
3760  *  Fix Command Arguments for Glibc_Mutex_Init
3761  */
3762 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
3763     "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
3764 N\n\
3765 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
3767     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
3768     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
3769     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
3770     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3771     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
3772     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
3773     "-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\
3774 #  \\1\\\n\
3775   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3776 # else\\\n\
3777 #  \\1\\\n\
3778   { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
3779 # endif/",
3780     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
3781     "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
3782     (char*)NULL };
3784 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3786  *  Description of Glibc_Stdint fix
3787  */
3788 tSCC zGlibc_StdintName[] =
3789      "glibc_stdint";
3792  *  File name selection pattern
3793  */
3794 tSCC zGlibc_StdintList[] =
3795   "stdint.h\0";
3797  *  Machine/OS name selection pattern
3798  */
3799 #define apzGlibc_StdintMachs (const char**)NULL
3802  *  content selection pattern - do fix if pattern found
3803  */
3804 tSCC zGlibc_StdintSelect0[] =
3805        "GNU C Library";
3807 #define    GLIBC_STDINT_TEST_CT  1
3808 static tTestDesc aGlibc_StdintTests[] = {
3809   { TT_EGREP,    zGlibc_StdintSelect0, (regex_t*)NULL }, };
3812  *  Fix Command Arguments for Glibc_Stdint
3813  */
3814 static const char* apzGlibc_StdintPatch[] = {
3815     "format",
3816     "# define UINT8_C(c)\tc\n\
3817 # define UINT16_C(c)\tc",
3818     "# define UINT8_C\\(c\\)\tc ## U\n\
3819 # define UINT16_C\\(c\\)\tc ## U",
3820     (char*)NULL };
3822 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3824  *  Description of Glibc_Strncpy fix
3825  */
3826 tSCC zGlibc_StrncpyName[] =
3827      "glibc_strncpy";
3830  *  File name selection pattern
3831  */
3832 tSCC zGlibc_StrncpyList[] =
3833   "bits/string2.h\0*/bits/string2.h\0";
3835  *  Machine/OS name selection pattern
3836  */
3837 #define apzGlibc_StrncpyMachs (const char**)NULL
3840  *  content bypass pattern - skip fix if pattern found
3841  */
3842 tSCC zGlibc_StrncpyBypass0[] =
3843        "__builtin_strncpy";
3845 #define    GLIBC_STRNCPY_TEST_CT  1
3846 static tTestDesc aGlibc_StrncpyTests[] = {
3847   { TT_NEGREP,   zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
3850  *  Fix Command Arguments for Glibc_Strncpy
3851  */
3852 static const char* apzGlibc_StrncpyPatch[] = {
3853     "format",
3854     "#  define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
3855     "#  define strncpy([^\n\
3856 ]*\\\\\n\
3857 )*[^\n\
3858 ]*",
3859     (char*)NULL };
3861 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3863  *  Description of Glibc_Tgmath fix
3864  */
3865 tSCC zGlibc_TgmathName[] =
3866      "glibc_tgmath";
3869  *  File name selection pattern
3870  */
3871 tSCC zGlibc_TgmathList[] =
3872   "tgmath.h\0";
3874  *  Machine/OS name selection pattern
3875  */
3876 #define apzGlibc_TgmathMachs (const char**)NULL
3879  *  content selection pattern - do fix if pattern found
3880  */
3881 tSCC zGlibc_TgmathSelect0[] =
3882        "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
3885  *  content bypass pattern - skip fix if pattern found
3886  */
3887 tSCC zGlibc_TgmathBypass0[] =
3888        "__floating_type\\(type\\) \\\\\n\
3889 .*__builtin_classify_type";
3891 #define    GLIBC_TGMATH_TEST_CT  2
3892 static tTestDesc aGlibc_TgmathTests[] = {
3893   { TT_NEGREP,   zGlibc_TgmathBypass0, (regex_t*)NULL },
3894   { TT_EGREP,    zGlibc_TgmathSelect0, (regex_t*)NULL }, };
3897  *  Fix Command Arguments for Glibc_Tgmath
3898  */
3899 static const char* apzGlibc_TgmathPatch[] = {
3900     "format",
3901     "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
3902     (char*)NULL };
3904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3906  *  Description of Gnu_Types fix
3907  */
3908 tSCC zGnu_TypesName[] =
3909      "gnu_types";
3912  *  File name selection pattern
3913  */
3914 tSCC zGnu_TypesList[] =
3915   "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
3917  *  Machine/OS name selection pattern
3918  */
3919 tSCC* apzGnu_TypesMachs[] = {
3920         "*-*-solaris2.1[0-9]*",
3921         (const char*)NULL };
3924  *  content selection pattern - do fix if pattern found
3925  */
3926 tSCC zGnu_TypesSelect0[] =
3927        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
3930  *  content bypass pattern - skip fix if pattern found
3931  */
3932 tSCC zGnu_TypesBypass0[] =
3933        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
3935 #define    GNU_TYPES_TEST_CT  2
3936 static tTestDesc aGnu_TypesTests[] = {
3937   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
3938   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
3941  *  Fix Command Arguments for Gnu_Types
3942  */
3943 static const char* apzGnu_TypesPatch[] = {
3944     "gnu_type",
3945     (char*)NULL };
3947 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3949  *  Description of Hp_Inline fix
3950  */
3951 tSCC zHp_InlineName[] =
3952      "hp_inline";
3955  *  File name selection pattern
3956  */
3957 tSCC zHp_InlineList[] =
3958   "sys/spinlock.h\0machine/machparam.h\0";
3960  *  Machine/OS name selection pattern
3961  */
3962 #define apzHp_InlineMachs (const char**)NULL
3965  *  content selection pattern - do fix if pattern found
3966  */
3967 tSCC zHp_InlineSelect0[] =
3968        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
3970 #define    HP_INLINE_TEST_CT  1
3971 static tTestDesc aHp_InlineTests[] = {
3972   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
3975  *  Fix Command Arguments for Hp_Inline
3976  */
3977 static const char* apzHp_InlinePatch[] = {
3978     "format",
3979     "%1<machine/%2.h>",
3980     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
3981     (char*)NULL };
3983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3985  *  Description of Hp_Sysfile fix
3986  */
3987 tSCC zHp_SysfileName[] =
3988      "hp_sysfile";
3991  *  File name selection pattern
3992  */
3993 tSCC zHp_SysfileList[] =
3994   "sys/file.h\0";
3996  *  Machine/OS name selection pattern
3997  */
3998 #define apzHp_SysfileMachs (const char**)NULL
4001  *  content selection pattern - do fix if pattern found
4002  */
4003 tSCC zHp_SysfileSelect0[] =
4004        "HPUX_SOURCE";
4006 #define    HP_SYSFILE_TEST_CT  1
4007 static tTestDesc aHp_SysfileTests[] = {
4008   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
4011  *  Fix Command Arguments for Hp_Sysfile
4012  */
4013 static const char* apzHp_SysfilePatch[] = {
4014     "format",
4015     "(struct file *, ...)",
4016     "\\(\\.\\.\\.\\)",
4017     (char*)NULL };
4019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4021  *  Description of Hppa_Hpux_Fp_Macros fix
4022  */
4023 tSCC zHppa_Hpux_Fp_MacrosName[] =
4024      "hppa_hpux_fp_macros";
4027  *  File name selection pattern
4028  */
4029 tSCC zHppa_Hpux_Fp_MacrosList[] =
4030   "math.h\0";
4032  *  Machine/OS name selection pattern
4033  */
4034 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
4035         "hppa*-hp-hpux11*",
4036         (const char*)NULL };
4039  *  content selection pattern - do fix if pattern found
4040  */
4041 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
4042        "#[ \t]*define[ \t]*FP_NORMAL.*\n\
4043 #[ \t]*define[ \t]*FP_ZERO.*\n\
4044 #[ \t]*define[ \t]*FP_INFINITE.*\n\
4045 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
4046 #[ \t]*define[ \t]*FP_NAN.*\n";
4048 #define    HPPA_HPUX_FP_MACROS_TEST_CT  1
4049 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
4050   { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
4053  *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
4054  */
4055 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
4056     "format",
4057     "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
4058 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
4059    (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
4060 %0#endif\n\n\
4061 #ifdef _INCLUDE_HPUX_SOURCE\n",
4062     (char*)NULL };
4064 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4066  *  Description of Hpux10_Cpp_Pow_Inline fix
4067  */
4068 tSCC zHpux10_Cpp_Pow_InlineName[] =
4069      "hpux10_cpp_pow_inline";
4072  *  File name selection pattern
4073  */
4074 tSCC zHpux10_Cpp_Pow_InlineList[] =
4075   "fixinc-test-limits.h\0math.h\0";
4077  *  Machine/OS name selection pattern
4078  */
4079 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
4082  *  content selection pattern - do fix if pattern found
4083  */
4084 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
4085        "^# +ifdef +__cplusplus\n\
4086  +\\}\n\
4087  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
4088 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
4089  +\\}\n\
4090  +extern +\"C\" +\\{\n\
4091 #else\n\
4092 # +endif";
4094 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
4095 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
4096   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
4099  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
4100  */
4101 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
4102     "format",
4103     "",
4104     (char*)NULL };
4106 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4108  *  Description of Hpux11_Cpp_Pow_Inline fix
4109  */
4110 tSCC zHpux11_Cpp_Pow_InlineName[] =
4111      "hpux11_cpp_pow_inline";
4114  *  File name selection pattern
4115  */
4116 tSCC zHpux11_Cpp_Pow_InlineList[] =
4117   "math.h\0";
4119  *  Machine/OS name selection pattern
4120  */
4121 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
4124  *  content selection pattern - do fix if pattern found
4125  */
4126 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
4127        " +inline double pow\\(double d,int expon\\) \\{\n\
4128  +return pow\\(d, \\(double\\)expon\\);\n\
4129  +\\}\n";
4131 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
4132 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
4133   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
4136  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
4137  */
4138 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
4139     "format",
4140     "",
4141     (char*)NULL };
4143 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4145  *  Description of Hpux10_Ctype_Declarations1 fix
4146  */
4147 tSCC zHpux10_Ctype_Declarations1Name[] =
4148      "hpux10_ctype_declarations1";
4151  *  File name selection pattern
4152  */
4153 tSCC zHpux10_Ctype_Declarations1List[] =
4154   "ctype.h\0";
4156  *  Machine/OS name selection pattern
4157  */
4158 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
4161  *  content selection pattern - do fix if pattern found
4162  */
4163 tSCC zHpux10_Ctype_Declarations1Select0[] =
4164        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
4167  *  content bypass pattern - skip fix if pattern found
4168  */
4169 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
4170        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
4172 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
4173 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
4174   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
4175   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
4178  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
4179  */
4180 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
4181     "format",
4182     "#ifdef _PROTOTYPES\n\
4183 extern int __tolower(int);\n\
4184 extern int __toupper(int);\n\
4185 #else /* NOT _PROTOTYPES */\n\
4186 extern int __tolower();\n\
4187 extern int __toupper();\n\
4188 #endif /* _PROTOTYPES */\n\n\
4189 %0\n",
4190     (char*)NULL };
4192 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4194  *  Description of Hpux10_Ctype_Declarations2 fix
4195  */
4196 tSCC zHpux10_Ctype_Declarations2Name[] =
4197      "hpux10_ctype_declarations2";
4200  *  File name selection pattern
4201  */
4202 tSCC zHpux10_Ctype_Declarations2List[] =
4203   "ctype.h\0";
4205  *  Machine/OS name selection pattern
4206  */
4207 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
4210  *  content selection pattern - do fix if pattern found
4211  */
4212 tSCC zHpux10_Ctype_Declarations2Select0[] =
4213        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
4216  *  content bypass pattern - skip fix if pattern found
4217  */
4218 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
4219        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
4221 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
4222 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
4223   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
4224   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
4227  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
4228  */
4229 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
4230     "format",
4231     "%0\n\n\
4232 #ifdef _PROTOTYPES\n\
4233      extern int _isalnum(int);\n\
4234      extern int _isalpha(int);\n\
4235      extern int _iscntrl(int);\n\
4236      extern int _isdigit(int);\n\
4237      extern int _isgraph(int);\n\
4238      extern int _islower(int);\n\
4239      extern int _isprint(int);\n\
4240      extern int _ispunct(int);\n\
4241      extern int _isspace(int);\n\
4242      extern int _isupper(int);\n\
4243      extern int _isxdigit(int);\n\
4244 #  else /* not _PROTOTYPES */\n\
4245      extern int _isalnum();\n\
4246      extern int _isalpha();\n\
4247      extern int _iscntrl();\n\
4248      extern int _isdigit();\n\
4249      extern int _isgraph();\n\
4250      extern int _islower();\n\
4251      extern int _isprint();\n\
4252      extern int _ispunct();\n\
4253      extern int _isspace();\n\
4254      extern int _isupper();\n\
4255      extern int _isxdigit();\n\
4256 #endif /* _PROTOTYPES */\n",
4257     (char*)NULL };
4259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4261  *  Description of Hpux10_Stdio_Declarations fix
4262  */
4263 tSCC zHpux10_Stdio_DeclarationsName[] =
4264      "hpux10_stdio_declarations";
4267  *  File name selection pattern
4268  */
4269 tSCC zHpux10_Stdio_DeclarationsList[] =
4270   "stdio.h\0";
4272  *  Machine/OS name selection pattern
4273  */
4274 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
4277  *  content selection pattern - do fix if pattern found
4278  */
4279 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
4280        "^#[ \t]*define _iob[ \t]*__iob";
4283  *  content bypass pattern - skip fix if pattern found
4284  */
4285 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
4286        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
4288 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
4289 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
4290   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
4291   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
4294  *  Fix Command Arguments for Hpux10_Stdio_Declarations
4295  */
4296 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
4297     "format",
4298     "%0\n\n\
4299 #  if defined(__STDC__) || defined(__cplusplus)\n\
4300      extern int snprintf(char *, size_t, const char *, ...);\n\
4301      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
4302 #  else /* not __STDC__) || __cplusplus */\n\
4303      extern int snprintf();\n\
4304      extern int vsnprintf();\n\
4305 #  endif /* __STDC__) || __cplusplus */\n",
4306     (char*)NULL };
4308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4310  *  Description of Hppa_Hpux11_Alloca fix
4311  */
4312 tSCC zHppa_Hpux11_AllocaName[] =
4313      "hppa_hpux11_alloca";
4316  *  File name selection pattern
4317  */
4318 tSCC zHppa_Hpux11_AllocaList[] =
4319   "alloca.h\0";
4321  *  Machine/OS name selection pattern
4322  */
4323 tSCC* apzHppa_Hpux11_AllocaMachs[] = {
4324         "hppa*-*-hpux11*",
4325         (const char*)NULL };
4328  *  content selection pattern - do fix if pattern found
4329  */
4330 tSCC zHppa_Hpux11_AllocaSelect0[] =
4331        "#ifndef _STDDEF_INCLUDED";
4333 #define    HPPA_HPUX11_ALLOCA_TEST_CT  1
4334 static tTestDesc aHppa_Hpux11_AllocaTests[] = {
4335   { TT_EGREP,    zHppa_Hpux11_AllocaSelect0, (regex_t*)NULL }, };
4338  *  Fix Command Arguments for Hppa_Hpux11_Alloca
4339  */
4340 static const char* apzHppa_Hpux11_AllocaPatch[] = {
4341     "format",
4342     "#ifndef _SYS_STDSYMS_INCLUDED\n\
4343 #  include <sys/stdsyms.h>\n\
4344 #endif /* _SYS_STDSYMS_INCLUDED */\n\n\
4345 %0",
4346     (char*)NULL };
4348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4350  *  Description of Hpux11_Abs fix
4351  */
4352 tSCC zHpux11_AbsName[] =
4353      "hpux11_abs";
4356  *  File name selection pattern
4357  */
4358 tSCC zHpux11_AbsList[] =
4359   "stdlib.h\0";
4361  *  Machine/OS name selection pattern
4362  */
4363 tSCC* apzHpux11_AbsMachs[] = {
4364         "*-hp-hpux11*",
4365         (const char*)NULL };
4368  *  content selection pattern - do fix if pattern found
4369  */
4370 tSCC zHpux11_AbsSelect0[] =
4371        "ifndef _MATH_INCLUDED";
4373 #define    HPUX11_ABS_TEST_CT  1
4374 static tTestDesc aHpux11_AbsTests[] = {
4375   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
4378  *  Fix Command Arguments for Hpux11_Abs
4379  */
4380 static const char* apzHpux11_AbsPatch[] = {
4381     "format",
4382     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
4383     (char*)NULL };
4385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4387  *  Description of Hpux11_Lwp_Rwlock_Valid fix
4388  */
4389 tSCC zHpux11_Lwp_Rwlock_ValidName[] =
4390      "hpux11_lwp_rwlock_valid";
4393  *  File name selection pattern
4394  */
4395 tSCC zHpux11_Lwp_Rwlock_ValidList[] =
4396   "sys/pthread.h\0";
4398  *  Machine/OS name selection pattern
4399  */
4400 tSCC* apzHpux11_Lwp_Rwlock_ValidMachs[] = {
4401         "*-hp-hpux11*",
4402         (const char*)NULL };
4405  *  content selection pattern - do fix if pattern found
4406  */
4407 tSCC zHpux11_Lwp_Rwlock_ValidSelect0[] =
4408        "#define __LWP_RWLOCK_VALID[ \t]*0x8c91";
4410 #define    HPUX11_LWP_RWLOCK_VALID_TEST_CT  1
4411 static tTestDesc aHpux11_Lwp_Rwlock_ValidTests[] = {
4412   { TT_EGREP,    zHpux11_Lwp_Rwlock_ValidSelect0, (regex_t*)NULL }, };
4415  *  Fix Command Arguments for Hpux11_Lwp_Rwlock_Valid
4416  */
4417 static const char* apzHpux11_Lwp_Rwlock_ValidPatch[] = {
4418     "format",
4419     "#define __LWP_RWLOCK_VALID              -29551",
4420     (char*)NULL };
4422 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4424  *  Description of Hpux11_Extern_Sendfile fix
4425  */
4426 tSCC zHpux11_Extern_SendfileName[] =
4427      "hpux11_extern_sendfile";
4430  *  File name selection pattern
4431  */
4432 tSCC zHpux11_Extern_SendfileList[] =
4433   "sys/socket.h\0";
4435  *  Machine/OS name selection pattern
4436  */
4437 tSCC* apzHpux11_Extern_SendfileMachs[] = {
4438         "*-hp-hpux11.[12]*",
4439         (const char*)NULL };
4442  *  content selection pattern - do fix if pattern found
4443  */
4444 tSCC zHpux11_Extern_SendfileSelect0[] =
4445        "^[ \t]*extern sbsize_t sendfile.*\n\
4446 .*, int\\)\\);\n";
4448 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
4449 static tTestDesc aHpux11_Extern_SendfileTests[] = {
4450   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
4453  *  Fix Command Arguments for Hpux11_Extern_Sendfile
4454  */
4455 static const char* apzHpux11_Extern_SendfilePatch[] = {
4456     "format",
4457     "#ifndef _APP32_64BIT_OFF_T\n\
4458 %0#endif\n",
4459     (char*)NULL };
4461 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4463  *  Description of Hpux11_Extern_Sendpath fix
4464  */
4465 tSCC zHpux11_Extern_SendpathName[] =
4466      "hpux11_extern_sendpath";
4469  *  File name selection pattern
4470  */
4471 tSCC zHpux11_Extern_SendpathList[] =
4472   "sys/socket.h\0";
4474  *  Machine/OS name selection pattern
4475  */
4476 tSCC* apzHpux11_Extern_SendpathMachs[] = {
4477         "*-hp-hpux11.[12]*",
4478         (const char*)NULL };
4481  *  content selection pattern - do fix if pattern found
4482  */
4483 tSCC zHpux11_Extern_SendpathSelect0[] =
4484        "^[ \t]*extern sbsize_t sendpath.*\n\
4485 .*, int\\)\\);\n";
4487 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
4488 static tTestDesc aHpux11_Extern_SendpathTests[] = {
4489   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
4492  *  Fix Command Arguments for Hpux11_Extern_Sendpath
4493  */
4494 static const char* apzHpux11_Extern_SendpathPatch[] = {
4495     "format",
4496     "#ifndef _APP32_64BIT_OFF_T\n\
4497 %0#endif\n",
4498     (char*)NULL };
4500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4502  *  Description of Hpux11_Fabsf fix
4503  */
4504 tSCC zHpux11_FabsfName[] =
4505      "hpux11_fabsf";
4508  *  File name selection pattern
4509  */
4510 tSCC zHpux11_FabsfList[] =
4511   "math.h\0";
4513  *  Machine/OS name selection pattern
4514  */
4515 tSCC* apzHpux11_FabsfMachs[] = {
4516         "*-hp-hpux11*",
4517         (const char*)NULL };
4520  *  content selection pattern - do fix if pattern found
4521  */
4522 tSCC zHpux11_FabsfSelect0[] =
4523        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
4525 #define    HPUX11_FABSF_TEST_CT  1
4526 static tTestDesc aHpux11_FabsfTests[] = {
4527   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
4530  *  Fix Command Arguments for Hpux11_Fabsf
4531  */
4532 static const char* apzHpux11_FabsfPatch[] = {
4533     "format",
4534     "#ifndef __cplusplus\n\
4535 %0\n\
4536 #endif",
4537     (char*)NULL };
4539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4541  *  Description of Hpux11_Pthread_Pointer fix
4542  */
4543 tSCC zHpux11_Pthread_PointerName[] =
4544      "hpux11_pthread_pointer";
4547  *  File name selection pattern
4548  */
4549 tSCC zHpux11_Pthread_PointerList[] =
4550   "sys/pthread.h\0";
4552  *  Machine/OS name selection pattern
4553  */
4554 tSCC* apzHpux11_Pthread_PointerMachs[] = {
4555         "*-hp-hpux11.[0-3]*",
4556         (const char*)NULL };
4559  *  content selection pattern - do fix if pattern found
4560  */
4561 tSCC zHpux11_Pthread_PointerSelect0[] =
4562        "(void[ \t]*\\*)(m|c|rw)(_ptr)";
4564 #define    HPUX11_PTHREAD_POINTER_TEST_CT  1
4565 static tTestDesc aHpux11_Pthread_PointerTests[] = {
4566   { TT_EGREP,    zHpux11_Pthread_PointerSelect0, (regex_t*)NULL }, };
4569  *  Fix Command Arguments for Hpux11_Pthread_Pointer
4570  */
4571 static const char* apzHpux11_Pthread_PointerPatch[] = {
4572     "format",
4573     "long\t%2%3",
4574     (char*)NULL };
4576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4578  *  Description of Hpux11_Pthread_Const fix
4579  */
4580 tSCC zHpux11_Pthread_ConstName[] =
4581      "hpux11_pthread_const";
4584  *  File name selection pattern
4585  */
4586 tSCC zHpux11_Pthread_ConstList[] =
4587   "sys/pthread.h\0";
4589  *  Machine/OS name selection pattern
4590  */
4591 tSCC* apzHpux11_Pthread_ConstMachs[] = {
4592         "*-hp-hpux11.[0-3]*",
4593         (const char*)NULL };
4596  *  content selection pattern - do fix if pattern found
4597  */
4598 tSCC zHpux11_Pthread_ConstSelect0[] =
4599        "^(#define[ \t]+__POINTER_SET[ \t0,]*)(.*\\))";
4601 #define    HPUX11_PTHREAD_CONST_TEST_CT  1
4602 static tTestDesc aHpux11_Pthread_ConstTests[] = {
4603   { TT_EGREP,    zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
4606  *  Fix Command Arguments for Hpux11_Pthread_Const
4607  */
4608 static const char* apzHpux11_Pthread_ConstPatch[] = {
4609     "format",
4610     "%11",
4611     (char*)NULL };
4613 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4615  *  Description of Hpux11_Size_T fix
4616  */
4617 tSCC zHpux11_Size_TName[] =
4618      "hpux11_size_t";
4621  *  File name selection pattern
4622  */
4623 #define zHpux11_Size_TList (char*)NULL
4625  *  Machine/OS name selection pattern
4626  */
4627 tSCC* apzHpux11_Size_TMachs[] = {
4628         "*-hp-hpux11*",
4629         (const char*)NULL };
4632  *  content selection pattern - do fix if pattern found
4633  */
4634 tSCC zHpux11_Size_TSelect0[] =
4635        "__size_t";
4637 #define    HPUX11_SIZE_T_TEST_CT  1
4638 static tTestDesc aHpux11_Size_TTests[] = {
4639   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
4642  *  Fix Command Arguments for Hpux11_Size_T
4643  */
4644 static const char* apzHpux11_Size_TPatch[] = {
4645     "format",
4646     "_hpux_size_t",
4647     (char*)NULL };
4649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4651  *  Description of Hpux11_Snprintf fix
4652  */
4653 tSCC zHpux11_SnprintfName[] =
4654      "hpux11_snprintf";
4657  *  File name selection pattern
4658  */
4659 tSCC zHpux11_SnprintfList[] =
4660   "stdio.h\0";
4662  *  Machine/OS name selection pattern
4663  */
4664 #define apzHpux11_SnprintfMachs (const char**)NULL
4667  *  content selection pattern - do fix if pattern found
4668  */
4669 tSCC zHpux11_SnprintfSelect0[] =
4670        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
4672 #define    HPUX11_SNPRINTF_TEST_CT  1
4673 static tTestDesc aHpux11_SnprintfTests[] = {
4674   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
4677  *  Fix Command Arguments for Hpux11_Snprintf
4678  */
4679 static const char* apzHpux11_SnprintfPatch[] = {
4680     "format",
4681     "%1 const %3",
4682     (char*)NULL };
4684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4686  *  Description of Hpux11_Vsnprintf fix
4687  */
4688 tSCC zHpux11_VsnprintfName[] =
4689      "hpux11_vsnprintf";
4692  *  File name selection pattern
4693  */
4694 tSCC zHpux11_VsnprintfList[] =
4695   "stdio.h\0";
4697  *  Machine/OS name selection pattern
4698  */
4699 #define apzHpux11_VsnprintfMachs (const char**)NULL
4702  *  content selection pattern - do fix if pattern found
4703  */
4704 tSCC zHpux11_VsnprintfSelect0[] =
4705        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
4707 #define    HPUX11_VSNPRINTF_TEST_CT  1
4708 static tTestDesc aHpux11_VsnprintfTests[] = {
4709   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
4712  *  Fix Command Arguments for Hpux11_Vsnprintf
4713  */
4714 static const char* apzHpux11_VsnprintfPatch[] = {
4715     "format",
4716     "%1 __va_list);",
4717     (char*)NULL };
4719 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4721  *  Description of Hpux_Vsscanf fix
4722  */
4723 tSCC zHpux_VsscanfName[] =
4724      "hpux_vsscanf";
4727  *  File name selection pattern
4728  */
4729 tSCC zHpux_VsscanfList[] =
4730   "stdio.h\0";
4732  *  Machine/OS name selection pattern
4733  */
4734 tSCC* apzHpux_VsscanfMachs[] = {
4735         "*-*-hpux*",
4736         (const char*)NULL };
4739  *  content selection pattern - do fix if pattern found
4740  */
4741 tSCC zHpux_VsscanfSelect0[] =
4742        "(extern int vsscanf\\()char";
4744 #define    HPUX_VSSCANF_TEST_CT  1
4745 static tTestDesc aHpux_VsscanfTests[] = {
4746   { TT_EGREP,    zHpux_VsscanfSelect0, (regex_t*)NULL }, };
4749  *  Fix Command Arguments for Hpux_Vsscanf
4750  */
4751 static const char* apzHpux_VsscanfPatch[] = {
4752     "format",
4753     "%1const char",
4754     (char*)NULL };
4756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4758  *  Description of Hpux8_Bogus_Inlines fix
4759  */
4760 tSCC zHpux8_Bogus_InlinesName[] =
4761      "hpux8_bogus_inlines";
4764  *  File name selection pattern
4765  */
4766 tSCC zHpux8_Bogus_InlinesList[] =
4767   "math.h\0";
4769  *  Machine/OS name selection pattern
4770  */
4771 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
4774  *  content selection pattern - do fix if pattern found
4775  */
4776 tSCC zHpux8_Bogus_InlinesSelect0[] =
4777        "inline";
4780  *  content bypass pattern - skip fix if pattern found
4781  */
4782 tSCC zHpux8_Bogus_InlinesBypass0[] =
4783        "__GNUG__";
4785 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
4786 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
4787   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
4788   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
4791  *  Fix Command Arguments for Hpux8_Bogus_Inlines
4792  */
4793 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
4794     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
4795     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
4796     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
4797     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
4798     (char*)NULL };
4800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4802  *  Description of Hpux_C99_Intptr fix
4803  */
4804 tSCC zHpux_C99_IntptrName[] =
4805      "hpux_c99_intptr";
4808  *  File name selection pattern
4809  */
4810 tSCC zHpux_C99_IntptrList[] =
4811   "stdint-hpux11.h\0stdint.h\0";
4813  *  Machine/OS name selection pattern
4814  */
4815 tSCC* apzHpux_C99_IntptrMachs[] = {
4816         "*-hp-hpux11.3*",
4817         (const char*)NULL };
4818 #define HPUX_C99_INTPTR_TEST_CT  0
4819 #define aHpux_C99_IntptrTests   (tTestDesc*)NULL
4822  *  Fix Command Arguments for Hpux_C99_Intptr
4823  */
4824 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
4825     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
4826     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
4827     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
4828     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
4829     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
4830     "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
4831     (char*)NULL };
4833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4835  *  Description of Hpux_C99_Inttypes fix
4836  */
4837 tSCC zHpux_C99_InttypesName[] =
4838      "hpux_c99_inttypes";
4841  *  File name selection pattern
4842  */
4843 tSCC zHpux_C99_InttypesList[] =
4844   "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4846  *  Machine/OS name selection pattern
4847  */
4848 tSCC* apzHpux_C99_InttypesMachs[] = {
4849         "*-hp-hpux11.[23]*",
4850         (const char*)NULL };
4851 #define HPUX_C99_INTTYPES_TEST_CT  0
4852 #define aHpux_C99_InttypesTests   (tTestDesc*)NULL
4855  *  Fix Command Arguments for Hpux_C99_Inttypes
4856  */
4857 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4858     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4859     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4860     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4861     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4862     (char*)NULL };
4864 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4866  *  Description of Hpux_C99_Inttypes2 fix
4867  */
4868 tSCC zHpux_C99_Inttypes2Name[] =
4869      "hpux_c99_inttypes2";
4872  *  File name selection pattern
4873  */
4874 tSCC zHpux_C99_Inttypes2List[] =
4875   "stdint-hpux11.h\0stdint.h\0";
4877  *  Machine/OS name selection pattern
4878  */
4879 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4880         "*-hp-hpux11.2*",
4881         (const char*)NULL };
4882 #define HPUX_C99_INTTYPES2_TEST_CT  0
4883 #define aHpux_C99_Inttypes2Tests   (tTestDesc*)NULL
4886  *  Fix Command Arguments for Hpux_C99_Inttypes2
4887  */
4888 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4889     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4890     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4891     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4892     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4893     (char*)NULL };
4895 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4897  *  Description of Hpux_Ctype_Macros fix
4898  */
4899 tSCC zHpux_Ctype_MacrosName[] =
4900      "hpux_ctype_macros";
4903  *  File name selection pattern
4904  */
4905 tSCC zHpux_Ctype_MacrosList[] =
4906   "ctype.h\0";
4908  *  Machine/OS name selection pattern
4909  */
4910 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
4913  *  content selection pattern - do fix if pattern found
4914  */
4915 tSCC zHpux_Ctype_MacrosSelect0[] =
4916        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
4918 #define    HPUX_CTYPE_MACROS_TEST_CT  1
4919 static tTestDesc aHpux_Ctype_MacrosTests[] = {
4920   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
4923  *  Fix Command Arguments for Hpux_Ctype_Macros
4924  */
4925 static const char* apzHpux_Ctype_MacrosPatch[] = {
4926     "format",
4927     "%1(int)%3",
4928     (char*)NULL };
4930 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4932  *  Description of Hpux_Extern_Errno fix
4933  */
4934 tSCC zHpux_Extern_ErrnoName[] =
4935      "hpux_extern_errno";
4938  *  File name selection pattern
4939  */
4940 tSCC zHpux_Extern_ErrnoList[] =
4941   "errno.h\0";
4943  *  Machine/OS name selection pattern
4944  */
4945 tSCC* apzHpux_Extern_ErrnoMachs[] = {
4946         "*-hp-hpux10.*",
4947         "*-hp-hpux11.[0-2]*",
4948         (const char*)NULL };
4951  *  content selection pattern - do fix if pattern found
4952  */
4953 tSCC zHpux_Extern_ErrnoSelect0[] =
4954        "^[ \t]*extern int errno;$";
4956 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
4957 static tTestDesc aHpux_Extern_ErrnoTests[] = {
4958   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
4961  *  Fix Command Arguments for Hpux_Extern_Errno
4962  */
4963 static const char* apzHpux_Extern_ErrnoPatch[] = {
4964     "format",
4965     "#ifdef __cplusplus\n\
4966 extern \"C\" {\n\
4967 #endif\n\
4968 %0\n\
4969 #ifdef __cplusplus\n\
4970 }\n\
4971 #endif",
4972     (char*)NULL };
4974 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4976  *  Description of Hpux_Htonl fix
4977  */
4978 tSCC zHpux_HtonlName[] =
4979      "hpux_htonl";
4982  *  File name selection pattern
4983  */
4984 tSCC zHpux_HtonlList[] =
4985   "netinet/in.h\0";
4987  *  Machine/OS name selection pattern
4988  */
4989 #define apzHpux_HtonlMachs (const char**)NULL
4992  *  content selection pattern - do fix if pattern found
4993  */
4994 tSCC zHpux_HtonlSelect0[] =
4995        "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
4996 (/\\*\n\
4997  \\* Macros for number representation conversion\\.\n\
4998  \\*/\n\
4999 #ifndef ntohl)";
5001 #define    HPUX_HTONL_TEST_CT  1
5002 static tTestDesc aHpux_HtonlTests[] = {
5003   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
5006  *  Fix Command Arguments for Hpux_Htonl
5007  */
5008 static const char* apzHpux_HtonlPatch[] = {
5009     "format",
5010     "#if 1\n\
5011 %1",
5012     (char*)NULL };
5014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5016  *  Description of Hpux_Imaginary_I fix
5017  */
5018 tSCC zHpux_Imaginary_IName[] =
5019      "hpux_imaginary_i";
5022  *  File name selection pattern
5023  */
5024 tSCC zHpux_Imaginary_IList[] =
5025   "complex.h\0";
5027  *  Machine/OS name selection pattern
5028  */
5029 tSCC* apzHpux_Imaginary_IMachs[] = {
5030         "ia64-hp-hpux11.*",
5031         (const char*)NULL };
5034  *  content selection pattern - do fix if pattern found
5035  */
5036 tSCC zHpux_Imaginary_ISelect0[] =
5037        "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
5039 #define    HPUX_IMAGINARY_I_TEST_CT  1
5040 static tTestDesc aHpux_Imaginary_ITests[] = {
5041   { TT_EGREP,    zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
5044  *  Fix Command Arguments for Hpux_Imaginary_I
5045  */
5046 static const char* apzHpux_Imaginary_IPatch[] = {
5047     "format",
5048     "#define _Complex_I (__extension__ 1.0iF)",
5049     (char*)NULL };
5051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5053  *  Description of Hpux_Inttype_Int8_T fix
5054  */
5055 tSCC zHpux_Inttype_Int8_TName[] =
5056      "hpux_inttype_int8_t";
5059  *  File name selection pattern
5060  */
5061 tSCC zHpux_Inttype_Int8_TList[] =
5062   "sys/_inttypes.h\0";
5064  *  Machine/OS name selection pattern
5065  */
5066 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
5067         "*-hp-hpux1[01].*",
5068         (const char*)NULL };
5071  *  content selection pattern - do fix if pattern found
5072  */
5073 tSCC zHpux_Inttype_Int8_TSelect0[] =
5074        "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
5076 #define    HPUX_INTTYPE_INT8_T_TEST_CT  1
5077 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
5078   { TT_EGREP,    zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
5081  *  Fix Command Arguments for Hpux_Inttype_Int8_T
5082  */
5083 static const char* apzHpux_Inttype_Int8_TPatch[] = {
5084     "format",
5085     "typedef signed char int%18_t;",
5086     (char*)NULL };
5088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5090  *  Description of Hpux_Long_Double fix
5091  */
5092 tSCC zHpux_Long_DoubleName[] =
5093      "hpux_long_double";
5096  *  File name selection pattern
5097  */
5098 tSCC zHpux_Long_DoubleList[] =
5099   "stdlib.h\0";
5101  *  Machine/OS name selection pattern
5102  */
5103 tSCC* apzHpux_Long_DoubleMachs[] = {
5104         "*-*-hpux10*",
5105         "*-*-hpux11.[012]*",
5106         (const char*)NULL };
5109  *  content selection pattern - do fix if pattern found
5110  */
5111 tSCC zHpux_Long_DoubleSelect0[] =
5112        "extern[ \t]long_double[ \t]strtold";
5115  *  content bypass pattern - skip fix if pattern found
5116  */
5117 tSCC zHpux_Long_DoubleBypass0[] =
5118        "long_double_t";
5120 #define    HPUX_LONG_DOUBLE_TEST_CT  2
5121 static tTestDesc aHpux_Long_DoubleTests[] = {
5122   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
5123   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
5126  *  Fix Command Arguments for Hpux_Long_Double
5127  */
5128 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
5129     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
5130     "-e", "s/long_double/long double/g",
5131     (char*)NULL };
5133 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5135  *  Description of Hpux_Long_Double_2 fix
5136  */
5137 tSCC zHpux_Long_Double_2Name[] =
5138      "hpux_long_double_2";
5141  *  File name selection pattern
5142  */
5143 tSCC zHpux_Long_Double_2List[] =
5144   "stdlib.h\0";
5146  *  Machine/OS name selection pattern
5147  */
5148 tSCC* apzHpux_Long_Double_2Machs[] = {
5149         "hppa*-*-hpux11.3*",
5150         (const char*)NULL };
5153  *  content selection pattern - do fix if pattern found
5154  */
5155 tSCC zHpux_Long_Double_2Select0[] =
5156        "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
5158 #define    HPUX_LONG_DOUBLE_2_TEST_CT  1
5159 static tTestDesc aHpux_Long_Double_2Tests[] = {
5160   { TT_EGREP,    zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
5163  *  Fix Command Arguments for Hpux_Long_Double_2
5164  */
5165 static const char* apzHpux_Long_Double_2Patch[] = {
5166     "format",
5167     "#  if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
5168     (char*)NULL };
5170 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5172  *  Description of Hpux_Pthread_Initializers fix
5173  */
5174 tSCC zHpux_Pthread_InitializersName[] =
5175      "hpux_pthread_initializers";
5178  *  File name selection pattern
5179  */
5180 tSCC zHpux_Pthread_InitializersList[] =
5181   "sys/pthread.h\0";
5183  *  Machine/OS name selection pattern
5184  */
5185 tSCC* apzHpux_Pthread_InitializersMachs[] = {
5186         "*-hp-hpux11.[0-3]*",
5187         (const char*)NULL };
5188 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
5189 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
5192  *  Fix Command Arguments for Hpux_Pthread_Initializers
5193  */
5194 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
5195     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
5196     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
5197     "-e", "/^[ \t]*0$/d",
5198     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
5199     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
5200     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
5201     "-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\\\\@",
5202     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
5203     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
5204     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
5205     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
5206     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
5207     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
5208     (char*)NULL };
5210 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5212  *  Description of Hpux_Spu_Info fix
5213  */
5214 tSCC zHpux_Spu_InfoName[] =
5215      "hpux_spu_info";
5218  *  File name selection pattern
5219  */
5220 tSCC zHpux_Spu_InfoList[] =
5221   "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
5223  *  Machine/OS name selection pattern
5224  */
5225 tSCC* apzHpux_Spu_InfoMachs[] = {
5226         "*-hp-hpux*",
5227         (const char*)NULL };
5230  *  content selection pattern - do fix if pattern found
5231  */
5232 tSCC zHpux_Spu_InfoSelect0[] =
5233        "^.*extern.*spu_info.*";
5235 #define    HPUX_SPU_INFO_TEST_CT  1
5236 static tTestDesc aHpux_Spu_InfoTests[] = {
5237   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
5240  *  Fix Command Arguments for Hpux_Spu_Info
5241  */
5242 static const char* apzHpux_Spu_InfoPatch[] = {
5243     "format",
5244     "#ifdef _KERNEL\n\
5245 %0\n\
5246 #endif",
5247     (char*)NULL };
5249 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5251  *  Description of Hpux_Stdint_Least_Fast fix
5252  */
5253 tSCC zHpux_Stdint_Least_FastName[] =
5254      "hpux_stdint_least_fast";
5257  *  File name selection pattern
5258  */
5259 tSCC zHpux_Stdint_Least_FastList[] =
5260   "stdint-hpux11.h\0stdint.h\0";
5262  *  Machine/OS name selection pattern
5263  */
5264 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
5265         "*-hp-hpux11.2*",
5266         (const char*)NULL };
5269  *  content selection pattern - do fix if pattern found
5270  */
5271 tSCC zHpux_Stdint_Least_FastSelect0[] =
5272        "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
5274 #define    HPUX_STDINT_LEAST_FAST_TEST_CT  1
5275 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
5276   { TT_EGREP,    zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
5279  *  Fix Command Arguments for Hpux_Stdint_Least_Fast
5280  */
5281 static const char* apzHpux_Stdint_Least_FastPatch[] = {
5282     "format",
5283     "#  define\tUINT_%164_MAX\t__UINT64_MAX__",
5284     (char*)NULL };
5286 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5288  *  Description of Hpux_Longjmp fix
5289  */
5290 tSCC zHpux_LongjmpName[] =
5291      "hpux_longjmp";
5294  *  File name selection pattern
5295  */
5296 tSCC zHpux_LongjmpList[] =
5297   "setjmp.h\0";
5299  *  Machine/OS name selection pattern
5300  */
5301 tSCC* apzHpux_LongjmpMachs[] = {
5302         "*-hp-hpux*",
5303         (const char*)NULL };
5306  *  content selection pattern - do fix if pattern found
5307  */
5308 tSCC zHpux_LongjmpSelect0[] =
5309        "^[ \t]*extern[ \t]+void[ \t]+.*longjmp[ \t]*(__\\(\\(.*int\\)\\)|\\(.*int\\)|\\(\\))";
5311 #define    HPUX_LONGJMP_TEST_CT  1
5312 static tTestDesc aHpux_LongjmpTests[] = {
5313   { TT_EGREP,    zHpux_LongjmpSelect0, (regex_t*)NULL }, };
5316  *  Fix Command Arguments for Hpux_Longjmp
5317  */
5318 static const char* apzHpux_LongjmpPatch[] = {
5319     "format",
5320     "%0 __attribute__ ((__noreturn__))",
5321     (char*)NULL };
5323 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5325  *  Description of Hpux_Systime fix
5326  */
5327 tSCC zHpux_SystimeName[] =
5328      "hpux_systime";
5331  *  File name selection pattern
5332  */
5333 tSCC zHpux_SystimeList[] =
5334   "sys/time.h\0";
5336  *  Machine/OS name selection pattern
5337  */
5338 #define apzHpux_SystimeMachs (const char**)NULL
5341  *  content selection pattern - do fix if pattern found
5342  */
5343 tSCC zHpux_SystimeSelect0[] =
5344        "^extern struct sigevent;";
5346 #define    HPUX_SYSTIME_TEST_CT  1
5347 static tTestDesc aHpux_SystimeTests[] = {
5348   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
5351  *  Fix Command Arguments for Hpux_Systime
5352  */
5353 static const char* apzHpux_SystimePatch[] = {
5354     "format",
5355     "struct sigevent;",
5356     (char*)NULL };
5358 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5360  *  Description of Huge_Val_Hex fix
5361  */
5362 tSCC zHuge_Val_HexName[] =
5363      "huge_val_hex";
5366  *  File name selection pattern
5367  */
5368 tSCC zHuge_Val_HexList[] =
5369   "bits/huge_val.h\0*/bits/huge_val.h\0";
5371  *  Machine/OS name selection pattern
5372  */
5373 #define apzHuge_Val_HexMachs (const char**)NULL
5376  *  content selection pattern - do fix if pattern found
5377  */
5378 tSCC zHuge_Val_HexSelect0[] =
5379        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
5382  *  content bypass pattern - skip fix if pattern found
5383  */
5384 tSCC zHuge_Val_HexBypass0[] =
5385        "__builtin_huge_val";
5387 #define    HUGE_VAL_HEX_TEST_CT  2
5388 static tTestDesc aHuge_Val_HexTests[] = {
5389   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
5390   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
5393  *  Fix Command Arguments for Huge_Val_Hex
5394  */
5395 static const char* apzHuge_Val_HexPatch[] = {
5396     "format",
5397     "#define HUGE_VAL (__builtin_huge_val())\n",
5398     (char*)NULL };
5400 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5402  *  Description of Huge_Valf_Hex fix
5403  */
5404 tSCC zHuge_Valf_HexName[] =
5405      "huge_valf_hex";
5408  *  File name selection pattern
5409  */
5410 tSCC zHuge_Valf_HexList[] =
5411   "bits/huge_val.h\0*/bits/huge_val.h\0";
5413  *  Machine/OS name selection pattern
5414  */
5415 #define apzHuge_Valf_HexMachs (const char**)NULL
5418  *  content selection pattern - do fix if pattern found
5419  */
5420 tSCC zHuge_Valf_HexSelect0[] =
5421        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
5424  *  content bypass pattern - skip fix if pattern found
5425  */
5426 tSCC zHuge_Valf_HexBypass0[] =
5427        "__builtin_huge_valf";
5429 #define    HUGE_VALF_HEX_TEST_CT  2
5430 static tTestDesc aHuge_Valf_HexTests[] = {
5431   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
5432   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
5435  *  Fix Command Arguments for Huge_Valf_Hex
5436  */
5437 static const char* apzHuge_Valf_HexPatch[] = {
5438     "format",
5439     "#define HUGE_VALF (__builtin_huge_valf())\n",
5440     (char*)NULL };
5442 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5444  *  Description of Huge_Vall_Hex fix
5445  */
5446 tSCC zHuge_Vall_HexName[] =
5447      "huge_vall_hex";
5450  *  File name selection pattern
5451  */
5452 tSCC zHuge_Vall_HexList[] =
5453   "bits/huge_val.h\0*/bits/huge_val.h\0";
5455  *  Machine/OS name selection pattern
5456  */
5457 #define apzHuge_Vall_HexMachs (const char**)NULL
5460  *  content selection pattern - do fix if pattern found
5461  */
5462 tSCC zHuge_Vall_HexSelect0[] =
5463        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
5466  *  content bypass pattern - skip fix if pattern found
5467  */
5468 tSCC zHuge_Vall_HexBypass0[] =
5469        "__builtin_huge_vall";
5471 #define    HUGE_VALL_HEX_TEST_CT  2
5472 static tTestDesc aHuge_Vall_HexTests[] = {
5473   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
5474   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
5477  *  Fix Command Arguments for Huge_Vall_Hex
5478  */
5479 static const char* apzHuge_Vall_HexPatch[] = {
5480     "format",
5481     "#define HUGE_VALL (__builtin_huge_vall())\n",
5482     (char*)NULL };
5484 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5486  *  Description of Int_Abort_Free_And_Exit fix
5487  */
5488 tSCC zInt_Abort_Free_And_ExitName[] =
5489      "int_abort_free_and_exit";
5492  *  File name selection pattern
5493  */
5494 tSCC zInt_Abort_Free_And_ExitList[] =
5495   "stdlib.h\0";
5497  *  Machine/OS name selection pattern
5498  */
5499 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
5502  *  content selection pattern - do fix if pattern found
5503  */
5504 tSCC zInt_Abort_Free_And_ExitSelect0[] =
5505        "int[ \t]+(abort|free|exit)[ \t]*\\(";
5508  *  content bypass pattern - skip fix if pattern found
5509  */
5510 tSCC zInt_Abort_Free_And_ExitBypass0[] =
5511        "_CLASSIC_ANSI_TYPES";
5513 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
5514 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
5515   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
5516   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
5519  *  Fix Command Arguments for Int_Abort_Free_And_Exit
5520  */
5521 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
5522     "format",
5523     "void\t%1(",
5524     (char*)NULL };
5526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5528  *  Description of Io_Quotes_Def fix
5529  */
5530 tSCC zIo_Quotes_DefName[] =
5531      "io_quotes_def";
5534  *  File name selection pattern
5535  */
5536 #define zIo_Quotes_DefList (char*)NULL
5538  *  Machine/OS name selection pattern
5539  */
5540 #define apzIo_Quotes_DefMachs (const char**)NULL
5543  *  content selection pattern - do fix if pattern found
5544  */
5545 tSCC zIo_Quotes_DefSelect0[] =
5546        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
5548 #define    IO_QUOTES_DEF_TEST_CT  1
5549 static tTestDesc aIo_Quotes_DefTests[] = {
5550   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
5553  *  Fix Command Arguments for Io_Quotes_Def
5554  */
5555 static const char* apzIo_Quotes_DefPatch[] = {
5556     "char_macro_def",
5557     "IO",
5558     (char*)NULL };
5560 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5562  *  Description of Io_Quotes_Use fix
5563  */
5564 tSCC zIo_Quotes_UseName[] =
5565      "io_quotes_use";
5568  *  File name selection pattern
5569  */
5570 #define zIo_Quotes_UseList (char*)NULL
5572  *  Machine/OS name selection pattern
5573  */
5574 #define apzIo_Quotes_UseMachs (const char**)NULL
5577  *  content selection pattern - do fix if pattern found
5578  */
5579 tSCC zIo_Quotes_UseSelect0[] =
5580        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
5582 #define    IO_QUOTES_USE_TEST_CT  1
5583 static tTestDesc aIo_Quotes_UseTests[] = {
5584   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
5587  *  Fix Command Arguments for Io_Quotes_Use
5588  */
5589 static const char* apzIo_Quotes_UsePatch[] = {
5590     "char_macro_use",
5591     "IO",
5592     (char*)NULL };
5594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5596  *  Description of Ip_Missing_Semi fix
5597  */
5598 tSCC zIp_Missing_SemiName[] =
5599      "ip_missing_semi";
5602  *  File name selection pattern
5603  */
5604 tSCC zIp_Missing_SemiList[] =
5605   "netinet/ip.h\0";
5607  *  Machine/OS name selection pattern
5608  */
5609 #define apzIp_Missing_SemiMachs (const char**)NULL
5612  *  content selection pattern - do fix if pattern found
5613  */
5614 tSCC zIp_Missing_SemiSelect0[] =
5615        "}$";
5617 #define    IP_MISSING_SEMI_TEST_CT  1
5618 static tTestDesc aIp_Missing_SemiTests[] = {
5619   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
5622  *  Fix Command Arguments for Ip_Missing_Semi
5623  */
5624 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
5625     "-e", "/^struct/,/^};/s/}$/};/",
5626     (char*)NULL };
5628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5630  *  Description of Irix_Limits_Const fix
5631  */
5632 tSCC zIrix_Limits_ConstName[] =
5633      "irix_limits_const";
5636  *  File name selection pattern
5637  */
5638 tSCC zIrix_Limits_ConstList[] =
5639   "fixinc-test-limits.h\0limits.h\0";
5641  *  Machine/OS name selection pattern
5642  */
5643 #define apzIrix_Limits_ConstMachs (const char**)NULL
5646  *  content selection pattern - do fix if pattern found
5647  */
5648 tSCC zIrix_Limits_ConstSelect0[] =
5649        "^extern const ";
5651 #define    IRIX_LIMITS_CONST_TEST_CT  1
5652 static tTestDesc aIrix_Limits_ConstTests[] = {
5653   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
5656  *  Fix Command Arguments for Irix_Limits_Const
5657  */
5658 static const char* apzIrix_Limits_ConstPatch[] = {
5659     "format",
5660     "extern __const ",
5661     (char*)NULL };
5663 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5665  *  Description of Irix_Stdio_Va_List fix
5666  */
5667 tSCC zIrix_Stdio_Va_ListName[] =
5668      "irix_stdio_va_list";
5671  *  File name selection pattern
5672  */
5673 tSCC zIrix_Stdio_Va_ListList[] =
5674   "stdio.h\0";
5676  *  Machine/OS name selection pattern
5677  */
5678 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
5681  *  content selection pattern - do fix if pattern found
5682  */
5683 tSCC zIrix_Stdio_Va_ListSelect0[] =
5684        "/\\* va_list \\*/ char \\*";
5686 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
5687 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
5688   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
5691  *  Fix Command Arguments for Irix_Stdio_Va_List
5692  */
5693 static const char* apzIrix_Stdio_Va_ListPatch[] = {
5694     "format",
5695     "__gnuc_va_list",
5696     (char*)NULL };
5698 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5700  *  Description of Kandr_Concat fix
5701  */
5702 tSCC zKandr_ConcatName[] =
5703      "kandr_concat";
5706  *  File name selection pattern
5707  */
5708 tSCC zKandr_ConcatList[] =
5709   "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";
5711  *  Machine/OS name selection pattern
5712  */
5713 #define apzKandr_ConcatMachs (const char**)NULL
5716  *  content selection pattern - do fix if pattern found
5717  */
5718 tSCC zKandr_ConcatSelect0[] =
5719        "/\\*\\*/";
5721 #define    KANDR_CONCAT_TEST_CT  1
5722 static tTestDesc aKandr_ConcatTests[] = {
5723   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
5726  *  Fix Command Arguments for Kandr_Concat
5727  */
5728 static const char* apzKandr_ConcatPatch[] = {
5729     "format",
5730     "##",
5731     (char*)NULL };
5733 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5735  *  Description of Linux_Ia64_Ucontext fix
5736  */
5737 tSCC zLinux_Ia64_UcontextName[] =
5738      "linux_ia64_ucontext";
5741  *  File name selection pattern
5742  */
5743 tSCC zLinux_Ia64_UcontextList[] =
5744   "sys/ucontext.h\0";
5746  *  Machine/OS name selection pattern
5747  */
5748 tSCC* apzLinux_Ia64_UcontextMachs[] = {
5749         "ia64-*-linux*",
5750         (const char*)NULL };
5753  *  content selection pattern - do fix if pattern found
5754  */
5755 tSCC zLinux_Ia64_UcontextSelect0[] =
5756        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
5758 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
5759 static tTestDesc aLinux_Ia64_UcontextTests[] = {
5760   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
5763  *  Fix Command Arguments for Linux_Ia64_Ucontext
5764  */
5765 static const char* apzLinux_Ia64_UcontextPatch[] = {
5766     "format",
5767     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
5768     (char*)NULL };
5770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5772  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
5773  */
5774 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
5775      "lynxos_no_warning_in_sys_time_h";
5778  *  File name selection pattern
5779  */
5780 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
5781   "sys/time.h\0";
5783  *  Machine/OS name selection pattern
5784  */
5785 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
5788  *  content selection pattern - do fix if pattern found
5789  */
5790 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
5791        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
5793 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
5794 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
5795   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
5798  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
5799  */
5800 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
5801     "format",
5802     "",
5803     (char*)NULL };
5805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5807  *  Description of Lynxos_Missing_Putenv fix
5808  */
5809 tSCC zLynxos_Missing_PutenvName[] =
5810      "lynxos_missing_putenv";
5813  *  File name selection pattern
5814  */
5815 tSCC zLynxos_Missing_PutenvList[] =
5816   "stdlib.h\0";
5818  *  Machine/OS name selection pattern
5819  */
5820 tSCC* apzLynxos_Missing_PutenvMachs[] = {
5821         "*-*-lynxos*",
5822         (const char*)NULL };
5825  *  content selection pattern - do fix if pattern found
5826  */
5827 tSCC zLynxos_Missing_PutenvSelect0[] =
5828        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
5831  *  content bypass pattern - skip fix if pattern found
5832  */
5833 tSCC zLynxos_Missing_PutenvBypass0[] =
5834        "putenv[ \\t]*\\(";
5836 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
5837 static tTestDesc aLynxos_Missing_PutenvTests[] = {
5838   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
5839   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
5842  *  Fix Command Arguments for Lynxos_Missing_Putenv
5843  */
5844 static const char* apzLynxos_Missing_PutenvPatch[] = {
5845     "format",
5846     "%0\n\
5847 extern int putenv\t\t\t\t_AP((char *));",
5848     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
5849     (char*)NULL };
5851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5853  *  Description of Machine_Ansi_H_Va_List fix
5854  */
5855 tSCC zMachine_Ansi_H_Va_ListName[] =
5856      "machine_ansi_h_va_list";
5859  *  File name selection pattern
5860  */
5861 #define zMachine_Ansi_H_Va_ListList (char*)NULL
5863  *  Machine/OS name selection pattern
5864  */
5865 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
5868  *  content selection pattern - do fix if pattern found
5869  */
5870 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
5871        "define[ \t]+_BSD_VA_LIST_[ \t]";
5874  *  content bypass pattern - skip fix if pattern found
5875  */
5876 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
5877        "__builtin_va_list";
5879 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
5880 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
5881   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
5882   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
5885  *  Fix Command Arguments for Machine_Ansi_H_Va_List
5886  */
5887 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
5888     "format",
5889     "%1__builtin_va_list",
5890     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
5891     (char*)NULL };
5893 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5895  *  Description of Machine_Name fix
5896  */
5897 tSCC zMachine_NameName[] =
5898      "machine_name";
5901  *  File name selection pattern
5902  */
5903 #define zMachine_NameList (char*)NULL
5905  *  Machine/OS name selection pattern
5906  */
5907 #define apzMachine_NameMachs (const char**)NULL
5910  *  perform the C function call test
5911  */
5912 tSCC zMachine_NameFTst0[] = "machine_name";
5914 #define    MACHINE_NAME_TEST_CT  1
5915 static tTestDesc aMachine_NameTests[] = {
5916   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
5919  *  Fix Command Arguments for Machine_Name
5920  */
5921 static const char* apzMachine_NamePatch[] = {
5922     "machine_name",
5923     (char*)NULL };
5925 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5927  *  Description of Math_Exception fix
5928  */
5929 tSCC zMath_ExceptionName[] =
5930      "math_exception";
5933  *  File name selection pattern
5934  */
5935 tSCC zMath_ExceptionList[] =
5936   "math.h\0";
5938  *  Machine/OS name selection pattern
5939  */
5940 tSCC* apzMath_ExceptionMachs[] = {
5941         "*-*-solaris2.1[0-9]*",
5942         (const char*)NULL };
5945  *  content selection pattern - do fix if pattern found
5946  */
5947 tSCC zMath_ExceptionSelect0[] =
5948        "struct exception";
5951  *  content bypass pattern - skip fix if pattern found
5952  */
5953 tSCC zMath_ExceptionBypass0[] =
5954        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
5956 #define    MATH_EXCEPTION_TEST_CT  2
5957 static tTestDesc aMath_ExceptionTests[] = {
5958   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
5959   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
5962  *  Fix Command Arguments for Math_Exception
5963  */
5964 static const char* apzMath_ExceptionPatch[] = {
5965     "wrap",
5966     "#ifdef __cplusplus\n\
5967 #define exception __math_exception\n\
5968 #endif\n",
5969     "#ifdef __cplusplus\n\
5970 #undef exception\n\
5971 #endif\n",
5972     (char*)NULL };
5974 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5976  *  Description of Math_Huge_Val_From_Dbl_Max fix
5977  */
5978 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
5979      "math_huge_val_from_dbl_max";
5982  *  File name selection pattern
5983  */
5984 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
5985   "math.h\0";
5987  *  Machine/OS name selection pattern
5988  */
5989 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
5992  *  content selection pattern - do fix if pattern found
5993  */
5994 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
5995        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
5998  *  content bypass pattern - skip fix if pattern found
5999  */
6000 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
6001        "define[ \t]+DBL_MAX";
6003 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
6004 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
6005   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
6006   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
6009  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
6010  */
6011 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
6012     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
6013 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
6014 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
6015 \telse cat\n\
6016 \tfi",
6017     (char*)NULL };
6019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6021  *  Description of Nested_Auth_Des fix
6022  */
6023 tSCC zNested_Auth_DesName[] =
6024      "nested_auth_des";
6027  *  File name selection pattern
6028  */
6029 tSCC zNested_Auth_DesList[] =
6030   "rpc/rpc.h\0";
6032  *  Machine/OS name selection pattern
6033  */
6034 #define apzNested_Auth_DesMachs (const char**)NULL
6037  *  content selection pattern - do fix if pattern found
6038  */
6039 tSCC zNested_Auth_DesSelect0[] =
6040        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
6042 #define    NESTED_AUTH_DES_TEST_CT  1
6043 static tTestDesc aNested_Auth_DesTests[] = {
6044   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
6047  *  Fix Command Arguments for Nested_Auth_Des
6048  */
6049 static const char* apzNested_Auth_DesPatch[] = {
6050     "format",
6051     "%1*/ /*",
6052     (char*)NULL };
6054 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6056  *  Description of Netbsd_C99_Inline_1 fix
6057  */
6058 tSCC zNetbsd_C99_Inline_1Name[] =
6059      "netbsd_c99_inline_1";
6062  *  File name selection pattern
6063  */
6064 tSCC zNetbsd_C99_Inline_1List[] =
6065   "signal.h\0";
6067  *  Machine/OS name selection pattern
6068  */
6069 tSCC* apzNetbsd_C99_Inline_1Machs[] = {
6070         "*-*-netbsd*",
6071         (const char*)NULL };
6074  *  content selection pattern - do fix if pattern found
6075  */
6076 tSCC zNetbsd_C99_Inline_1Select0[] =
6077        "extern __inline int";
6079 #define    NETBSD_C99_INLINE_1_TEST_CT  1
6080 static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
6081   { TT_EGREP,    zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
6084  *  Fix Command Arguments for Netbsd_C99_Inline_1
6085  */
6086 static const char* apzNetbsd_C99_Inline_1Patch[] = {
6087     "format",
6088     "extern\n\
6089 #ifdef __GNUC_STDC_INLINE__\n\
6090 __attribute__((__gnu_inline__))\n\
6091 #endif\n\
6092 __inline int",
6093     (char*)NULL };
6095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6097  *  Description of Netbsd_C99_Inline_2 fix
6098  */
6099 tSCC zNetbsd_C99_Inline_2Name[] =
6100      "netbsd_c99_inline_2";
6103  *  File name selection pattern
6104  */
6105 tSCC zNetbsd_C99_Inline_2List[] =
6106   "signal.h\0";
6108  *  Machine/OS name selection pattern
6109  */
6110 tSCC* apzNetbsd_C99_Inline_2Machs[] = {
6111         "*-*-netbsd*",
6112         (const char*)NULL };
6115  *  content selection pattern - do fix if pattern found
6116  */
6117 tSCC zNetbsd_C99_Inline_2Select0[] =
6118        "#define _SIGINLINE extern __inline";
6120 #define    NETBSD_C99_INLINE_2_TEST_CT  1
6121 static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
6122   { TT_EGREP,    zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
6125  *  Fix Command Arguments for Netbsd_C99_Inline_2
6126  */
6127 static const char* apzNetbsd_C99_Inline_2Patch[] = {
6128     "format",
6129     "#ifdef __GNUC_STDC_INLINE__\n\
6130 #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
6131 #else\n\
6132 %0\n\
6133 #endif",
6134     (char*)NULL };
6136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6138  *  Description of Netbsd_Extra_Semicolon fix
6139  */
6140 tSCC zNetbsd_Extra_SemicolonName[] =
6141      "netbsd_extra_semicolon";
6144  *  File name selection pattern
6145  */
6146 tSCC zNetbsd_Extra_SemicolonList[] =
6147   "sys/cdefs.h\0";
6149  *  Machine/OS name selection pattern
6150  */
6151 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
6152         "*-*-netbsd*",
6153         (const char*)NULL };
6156  *  content selection pattern - do fix if pattern found
6157  */
6158 tSCC zNetbsd_Extra_SemicolonSelect0[] =
6159        "#define[ \t]*__END_DECLS[ \t]*};";
6161 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
6162 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
6163   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
6166  *  Fix Command Arguments for Netbsd_Extra_Semicolon
6167  */
6168 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
6169     "format",
6170     "#define __END_DECLS }",
6171     (char*)NULL };
6173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6175  *  Description of Newlib_Stdint_1 fix
6176  */
6177 tSCC zNewlib_Stdint_1Name[] =
6178      "newlib_stdint_1";
6181  *  File name selection pattern
6182  */
6183 tSCC zNewlib_Stdint_1List[] =
6184   "stdint-newlib.h\0stdint.h\0";
6186  *  Machine/OS name selection pattern
6187  */
6188 #define apzNewlib_Stdint_1Machs (const char**)NULL
6191  *  content selection pattern - do fix if pattern found
6192  */
6193 tSCC zNewlib_Stdint_1Select0[] =
6194        "@todo - Add support for wint_t types";
6196 #define    NEWLIB_STDINT_1_TEST_CT  1
6197 static tTestDesc aNewlib_Stdint_1Tests[] = {
6198   { TT_EGREP,    zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
6201  *  Fix Command Arguments for Newlib_Stdint_1
6202  */
6203 static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
6204     "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
6205     "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
6206     "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
6207     "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
6208     "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
6209     "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
6210     "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
6211     "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
6212     "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
6213     "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
6214     "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
6215     "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
6216     "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
6217     "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
6218     (char*)NULL };
6220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6222  *  Description of Newlib_Stdint_2 fix
6223  */
6224 tSCC zNewlib_Stdint_2Name[] =
6225      "newlib_stdint_2";
6228  *  File name selection pattern
6229  */
6230 tSCC zNewlib_Stdint_2List[] =
6231   "stdint-newlib.h\0stdint.h\0";
6233  *  Machine/OS name selection pattern
6234  */
6235 #define apzNewlib_Stdint_2Machs (const char**)NULL
6238  *  content selection pattern - do fix if pattern found
6239  */
6240 tSCC zNewlib_Stdint_2Select0[] =
6241        "@todo - Add support for wint_t types";
6243 #define    NEWLIB_STDINT_2_TEST_CT  1
6244 static tTestDesc aNewlib_Stdint_2Tests[] = {
6245   { TT_EGREP,    zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
6248  *  Fix Command Arguments for Newlib_Stdint_2
6249  */
6250 static const char* apzNewlib_Stdint_2Patch[] = {
6251     "format",
6252     "#define INTMAX_MAX __INTMAX_MAX__\n\
6253 #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
6254 #define UINTMAX_MAX __UINTMAX_MAX__\n\
6255 #define WCHAR_MAX __WCHAR_MAX__\n\
6256 #define WCHAR_MIN __WCHAR_MIN__\n\
6257 #define WINT_MAX __WINT_MAX__\n\
6258 #define WINT_MIN __WINT_MIN__\n\n\
6259 %0",
6260     "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
6261     (char*)NULL };
6263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6265  *  Description of Next_Math_Prefix fix
6266  */
6267 tSCC zNext_Math_PrefixName[] =
6268      "next_math_prefix";
6271  *  File name selection pattern
6272  */
6273 tSCC zNext_Math_PrefixList[] =
6274   "ansi/math.h\0";
6276  *  Machine/OS name selection pattern
6277  */
6278 #define apzNext_Math_PrefixMachs (const char**)NULL
6281  *  content selection pattern - do fix if pattern found
6282  */
6283 tSCC zNext_Math_PrefixSelect0[] =
6284        "^extern[ \t]+double[ \t]+__const__[ \t]";
6286 #define    NEXT_MATH_PREFIX_TEST_CT  1
6287 static tTestDesc aNext_Math_PrefixTests[] = {
6288   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
6291  *  Fix Command Arguments for Next_Math_Prefix
6292  */
6293 static const char* apzNext_Math_PrefixPatch[] = {
6294     "format",
6295     "extern double %1(",
6296     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
6297     (char*)NULL };
6299 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6301  *  Description of Next_Template fix
6302  */
6303 tSCC zNext_TemplateName[] =
6304      "next_template";
6307  *  File name selection pattern
6308  */
6309 tSCC zNext_TemplateList[] =
6310   "bsd/libc.h\0";
6312  *  Machine/OS name selection pattern
6313  */
6314 #define apzNext_TemplateMachs (const char**)NULL
6317  *  content selection pattern - do fix if pattern found
6318  */
6319 tSCC zNext_TemplateSelect0[] =
6320        "[ \t]template\\)";
6322 #define    NEXT_TEMPLATE_TEST_CT  1
6323 static tTestDesc aNext_TemplateTests[] = {
6324   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
6327  *  Fix Command Arguments for Next_Template
6328  */
6329 static const char* apzNext_TemplatePatch[] = {
6330     "format",
6331     "(%1)",
6332     "\\(([^)]*)[ \t]template\\)",
6333     (char*)NULL };
6335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6337  *  Description of Next_Volitile fix
6338  */
6339 tSCC zNext_VolitileName[] =
6340      "next_volitile";
6343  *  File name selection pattern
6344  */
6345 tSCC zNext_VolitileList[] =
6346   "ansi/stdlib.h\0";
6348  *  Machine/OS name selection pattern
6349  */
6350 #define apzNext_VolitileMachs (const char**)NULL
6353  *  content selection pattern - do fix if pattern found
6354  */
6355 tSCC zNext_VolitileSelect0[] =
6356        "^extern[ \t]+volatile[ \t]+void[ \t]";
6358 #define    NEXT_VOLITILE_TEST_CT  1
6359 static tTestDesc aNext_VolitileTests[] = {
6360   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
6363  *  Fix Command Arguments for Next_Volitile
6364  */
6365 static const char* apzNext_VolitilePatch[] = {
6366     "format",
6367     "extern void %1(",
6368     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
6369     (char*)NULL };
6371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6373  *  Description of Next_Wait_Union fix
6374  */
6375 tSCC zNext_Wait_UnionName[] =
6376      "next_wait_union";
6379  *  File name selection pattern
6380  */
6381 tSCC zNext_Wait_UnionList[] =
6382   "sys/wait.h\0";
6384  *  Machine/OS name selection pattern
6385  */
6386 #define apzNext_Wait_UnionMachs (const char**)NULL
6389  *  content selection pattern - do fix if pattern found
6390  */
6391 tSCC zNext_Wait_UnionSelect0[] =
6392        "wait\\(union wait";
6394 #define    NEXT_WAIT_UNION_TEST_CT  1
6395 static tTestDesc aNext_Wait_UnionTests[] = {
6396   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
6399  *  Fix Command Arguments for Next_Wait_Union
6400  */
6401 static const char* apzNext_Wait_UnionPatch[] = {
6402     "format",
6403     "wait(void",
6404     (char*)NULL };
6406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6408  *  Description of Nodeent_Syntax fix
6409  */
6410 tSCC zNodeent_SyntaxName[] =
6411      "nodeent_syntax";
6414  *  File name selection pattern
6415  */
6416 tSCC zNodeent_SyntaxList[] =
6417   "netdnet/dnetdb.h\0";
6419  *  Machine/OS name selection pattern
6420  */
6421 #define apzNodeent_SyntaxMachs (const char**)NULL
6424  *  content selection pattern - do fix if pattern found
6425  */
6426 tSCC zNodeent_SyntaxSelect0[] =
6427        "char[ \t]*\\*na_addr[ \t]*$";
6429 #define    NODEENT_SYNTAX_TEST_CT  1
6430 static tTestDesc aNodeent_SyntaxTests[] = {
6431   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
6434  *  Fix Command Arguments for Nodeent_Syntax
6435  */
6436 static const char* apzNodeent_SyntaxPatch[] = {
6437     "format",
6438     "%0;",
6439     (char*)NULL };
6441 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6443  *  Description of Openbsd_Null_Definition fix
6444  */
6445 tSCC zOpenbsd_Null_DefinitionName[] =
6446      "openbsd_null_definition";
6449  *  File name selection pattern
6450  */
6451 tSCC zOpenbsd_Null_DefinitionList[] =
6452   "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
6454  *  Machine/OS name selection pattern
6455  */
6456 tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
6457         "*-*-openbsd*",
6458         (const char*)NULL };
6461  *  content selection pattern - do fix if pattern found
6462  */
6463 tSCC zOpenbsd_Null_DefinitionSelect0[] =
6464        "__GNUG__";
6466 #define    OPENBSD_NULL_DEFINITION_TEST_CT  1
6467 static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
6468   { TT_EGREP,    zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
6471  *  Fix Command Arguments for Openbsd_Null_Definition
6472  */
6473 static const char* apzOpenbsd_Null_DefinitionPatch[] = {
6474     "format",
6475     "#ifndef NULL\n\
6476 #ifdef __cplusplus\n\
6477 #ifdef __GNUG__\n\
6478 #define NULL\t__null\n\
6479 #else\t /* ! __GNUG__  */\n\
6480 #define NULL\t0L\n\
6481 #endif\t /* __GNUG__  */\n\
6482 #else\t /* ! __cplusplus  */\n\
6483 #define NULL\t((void *)0)\n\
6484 #endif\t /* __cplusplus  */\n\
6485 #endif\t /* !NULL  */",
6486     "^#ifndef[ \t]*NULL\n\
6487 ^#ifdef[ \t]*__GNUG__\n\
6488 ^#define[ \t]*NULL[ \t]*__null\n\
6489 ^#else\n\
6490 ^#define[ \t]*NULL[ \t]*0L\n\
6491 ^#endif\n\
6492 ^#endif",
6493     (char*)NULL };
6495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6497  *  Description of Obstack_Lvalue_Cast fix
6498  */
6499 tSCC zObstack_Lvalue_CastName[] =
6500      "obstack_lvalue_cast";
6503  *  File name selection pattern
6504  */
6505 tSCC zObstack_Lvalue_CastList[] =
6506   "obstack.h\0";
6508  *  Machine/OS name selection pattern
6509  */
6510 #define apzObstack_Lvalue_CastMachs (const char**)NULL
6513  *  content selection pattern - do fix if pattern found
6514  */
6515 tSCC zObstack_Lvalue_CastSelect0[] =
6516        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
6518 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
6519 static tTestDesc aObstack_Lvalue_CastTests[] = {
6520   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
6523  *  Fix Command Arguments for Obstack_Lvalue_Cast
6524  */
6525 static const char* apzObstack_Lvalue_CastPatch[] = {
6526     "format",
6527     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
6528     (char*)NULL };
6530 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6532  *  Description of Openbsd_Va_Start fix
6533  */
6534 tSCC zOpenbsd_Va_StartName[] =
6535      "openbsd_va_start";
6538  *  File name selection pattern
6539  */
6540 tSCC zOpenbsd_Va_StartList[] =
6541   "stdarg.h\0";
6543  *  Machine/OS name selection pattern
6544  */
6545 tSCC* apzOpenbsd_Va_StartMachs[] = {
6546         "*-*-openbsd*",
6547         (const char*)NULL };
6550  *  content selection pattern - do fix if pattern found
6551  */
6552 tSCC zOpenbsd_Va_StartSelect0[] =
6553        "__builtin_stdarg_start";
6555 #define    OPENBSD_VA_START_TEST_CT  1
6556 static tTestDesc aOpenbsd_Va_StartTests[] = {
6557   { TT_EGREP,    zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
6560  *  Fix Command Arguments for Openbsd_Va_Start
6561  */
6562 static const char* apzOpenbsd_Va_StartPatch[] = {
6563     "format",
6564     "__builtin_va_start",
6565     (char*)NULL };
6567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6569  *  Description of Osf_Namespace_A fix
6570  */
6571 tSCC zOsf_Namespace_AName[] =
6572      "osf_namespace_a";
6575  *  File name selection pattern
6576  */
6577 tSCC zOsf_Namespace_AList[] =
6578   "reg_types.h\0sys/lc_core.h\0";
6580  *  Machine/OS name selection pattern
6581  */
6582 #define apzOsf_Namespace_AMachs (const char**)NULL
6585  *  perform the 'test' shell command - do fix on success
6586  */
6587 tSCC zOsf_Namespace_ATest0[] =
6588        " -r reg_types.h";
6589 tSCC zOsf_Namespace_ATest1[] =
6590        " -r sys/lc_core.h";
6591 tSCC zOsf_Namespace_ATest2[] =
6592        " -n \"`grep '} regex_t;' reg_types.h`\"";
6593 tSCC zOsf_Namespace_ATest3[] =
6594        " -z \"`grep __regex_t regex.h`\"";
6596 #define    OSF_NAMESPACE_A_TEST_CT  4
6597 static tTestDesc aOsf_Namespace_ATests[] = {
6598   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
6599   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
6600   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
6601   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
6604  *  Fix Command Arguments for Osf_Namespace_A
6605  */
6606 static const char* apzOsf_Namespace_APatch[] = {
6607     "format",
6608     "__%0",
6609     "reg(ex|off|match)_t",
6610     (char*)NULL };
6612 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6614  *  Description of Osf_Namespace_C fix
6615  */
6616 tSCC zOsf_Namespace_CName[] =
6617      "osf_namespace_c";
6620  *  File name selection pattern
6621  */
6622 tSCC zOsf_Namespace_CList[] =
6623   "regex.h\0";
6625  *  Machine/OS name selection pattern
6626  */
6627 #define apzOsf_Namespace_CMachs (const char**)NULL
6630  *  content selection pattern - do fix if pattern found
6631  */
6632 tSCC zOsf_Namespace_CSelect0[] =
6633        "#include <reg_types.h>.*";
6636  *  perform the 'test' shell command - do fix on success
6637  */
6638 tSCC zOsf_Namespace_CTest0[] =
6639        " -r reg_types.h";
6640 tSCC zOsf_Namespace_CTest1[] =
6641        " -r sys/lc_core.h";
6642 tSCC zOsf_Namespace_CTest2[] =
6643        " -n \"`grep '} regex_t;' reg_types.h`\"";
6644 tSCC zOsf_Namespace_CTest3[] =
6645        " -z \"`grep __regex_t regex.h`\"";
6647 #define    OSF_NAMESPACE_C_TEST_CT  5
6648 static tTestDesc aOsf_Namespace_CTests[] = {
6649   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
6650   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
6651   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
6652   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
6653   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
6656  *  Fix Command Arguments for Osf_Namespace_C
6657  */
6658 static const char* apzOsf_Namespace_CPatch[] = {
6659     "format",
6660     "%0\n\
6661 typedef __regex_t\tregex_t;\n\
6662 typedef __regoff_t\tregoff_t;\n\
6663 typedef __regmatch_t\tregmatch_t;",
6664     (char*)NULL };
6666 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6668  *  Description of Pthread_Incomplete_Struct_Argument fix
6669  */
6670 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
6671      "pthread_incomplete_struct_argument";
6674  *  File name selection pattern
6675  */
6676 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
6677   "pthread.h\0";
6679  *  Machine/OS name selection pattern
6680  */
6681 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
6684  *  content selection pattern - do fix if pattern found
6685  */
6686 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
6687        "struct __jmp_buf_tag";
6689 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
6690 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
6691   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
6694  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
6695  */
6696 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
6697     "format",
6698     "%1 *%2%3",
6699     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
6700     (char*)NULL };
6702 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6704  *  Description of Read_Ret_Type fix
6705  */
6706 tSCC zRead_Ret_TypeName[] =
6707      "read_ret_type";
6710  *  File name selection pattern
6711  */
6712 tSCC zRead_Ret_TypeList[] =
6713   "stdio.h\0";
6715  *  Machine/OS name selection pattern
6716  */
6717 #define apzRead_Ret_TypeMachs (const char**)NULL
6720  *  content selection pattern - do fix if pattern found
6721  */
6722 tSCC zRead_Ret_TypeSelect0[] =
6723        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
6725 #define    READ_RET_TYPE_TEST_CT  1
6726 static tTestDesc aRead_Ret_TypeTests[] = {
6727   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
6730  *  Fix Command Arguments for Read_Ret_Type
6731  */
6732 static const char* apzRead_Ret_TypePatch[] = {
6733     "format",
6734     "extern unsigned int fread(), fwrite();\n\
6735 %1%2",
6736     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
6737     (char*)NULL };
6739 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6741  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
6742  */
6743 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
6744      "rpc_xdr_lvalue_cast_a";
6747  *  File name selection pattern
6748  */
6749 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
6750   "rpc/xdr.h\0";
6752  *  Machine/OS name selection pattern
6753  */
6754 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
6757  *  content selection pattern - do fix if pattern found
6758  */
6759 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
6760        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
6761 .*__extension__.*";
6763 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
6764 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
6765   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
6768  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
6769  */
6770 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
6771     "format",
6772     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
6773     (char*)NULL };
6775 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6777  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
6778  */
6779 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
6780      "rpc_xdr_lvalue_cast_b";
6783  *  File name selection pattern
6784  */
6785 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
6786   "rpc/xdr.h\0";
6788  *  Machine/OS name selection pattern
6789  */
6790 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
6793  *  content selection pattern - do fix if pattern found
6794  */
6795 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
6796        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
6797 .*__extension__.*";
6799 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
6800 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
6801   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
6804  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
6805  */
6806 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
6807     "format",
6808     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
6809     (char*)NULL };
6811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6813  *  Description of Rs6000_Double fix
6814  */
6815 tSCC zRs6000_DoubleName[] =
6816      "rs6000_double";
6819  *  File name selection pattern
6820  */
6821 tSCC zRs6000_DoubleList[] =
6822   "math.h\0";
6824  *  Machine/OS name selection pattern
6825  */
6826 #define apzRs6000_DoubleMachs (const char**)NULL
6829  *  content selection pattern - do fix if pattern found
6830  */
6831 tSCC zRs6000_DoubleSelect0[] =
6832        "[^a-zA-Z_]class\\(";
6834 #define    RS6000_DOUBLE_TEST_CT  1
6835 static tTestDesc aRs6000_DoubleTests[] = {
6836   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
6839  *  Fix Command Arguments for Rs6000_Double
6840  */
6841 static const char* apzRs6000_DoublePatch[] = {
6842     "format",
6843     "#ifndef __cplusplus\n\
6844 %0\n\
6845 #endif",
6846     "^.*[^a-zA-Z_]class\\(.*",
6847     (char*)NULL };
6849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6851  *  Description of Rs6000_Fchmod fix
6852  */
6853 tSCC zRs6000_FchmodName[] =
6854      "rs6000_fchmod";
6857  *  File name selection pattern
6858  */
6859 tSCC zRs6000_FchmodList[] =
6860   "sys/stat.h\0";
6862  *  Machine/OS name selection pattern
6863  */
6864 #define apzRs6000_FchmodMachs (const char**)NULL
6867  *  content selection pattern - do fix if pattern found
6868  */
6869 tSCC zRs6000_FchmodSelect0[] =
6870        "fchmod\\(char \\*";
6872 #define    RS6000_FCHMOD_TEST_CT  1
6873 static tTestDesc aRs6000_FchmodTests[] = {
6874   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
6877  *  Fix Command Arguments for Rs6000_Fchmod
6878  */
6879 static const char* apzRs6000_FchmodPatch[] = {
6880     "format",
6881     "fchmod(int",
6882     (char*)NULL };
6884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6886  *  Description of Rs6000_Param fix
6887  */
6888 tSCC zRs6000_ParamName[] =
6889      "rs6000_param";
6892  *  File name selection pattern
6893  */
6894 tSCC zRs6000_ParamList[] =
6895   "stdio.h\0unistd.h\0";
6897  *  Machine/OS name selection pattern
6898  */
6899 #define apzRs6000_ParamMachs (const char**)NULL
6902  *  content selection pattern - do fix if pattern found
6903  */
6904 tSCC zRs6000_ParamSelect0[] =
6905        "rename\\(const char \\*old, const char \\*new\\)";
6907 #define    RS6000_PARAM_TEST_CT  1
6908 static tTestDesc aRs6000_ParamTests[] = {
6909   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
6912  *  Fix Command Arguments for Rs6000_Param
6913  */
6914 static const char* apzRs6000_ParamPatch[] = {
6915     "format",
6916     "rename(const char *_old, const char *_new)",
6917     (char*)NULL };
6919 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6921  *  Description of Solaris___Restrict fix
6922  */
6923 tSCC zSolaris___RestrictName[] =
6924      "solaris___restrict";
6927  *  File name selection pattern
6928  */
6929 tSCC zSolaris___RestrictList[] =
6930   "sys/feature_tests.h\0";
6932  *  Machine/OS name selection pattern
6933  */
6934 tSCC* apzSolaris___RestrictMachs[] = {
6935         "*-*-solaris2*",
6936         (const char*)NULL };
6939  *  content selection pattern - do fix if pattern found
6940  */
6941 tSCC zSolaris___RestrictSelect0[] =
6942        "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
6944 #define    SOLARIS___RESTRICT_TEST_CT  1
6945 static tTestDesc aSolaris___RestrictTests[] = {
6946   { TT_EGREP,    zSolaris___RestrictSelect0, (regex_t*)NULL }, };
6949  *  Fix Command Arguments for Solaris___Restrict
6950  */
6951 static const char* apzSolaris___RestrictPatch[] = {
6952     "format",
6953     "#ifdef __cplusplus\n\
6954 #define\t_RESTRICT_KYWD\t__restrict\n\
6955 #else\n\
6956 %0\n\
6957 #endif",
6958     (char*)NULL };
6960 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6962  *  Description of Solaris_Complex fix
6963  */
6964 tSCC zSolaris_ComplexName[] =
6965      "solaris_complex";
6968  *  File name selection pattern
6969  */
6970 tSCC zSolaris_ComplexList[] =
6971   "complex.h\0";
6973  *  Machine/OS name selection pattern
6974  */
6975 tSCC* apzSolaris_ComplexMachs[] = {
6976         "*-*-solaris2.*",
6977         (const char*)NULL };
6980  *  content selection pattern - do fix if pattern found
6981  */
6982 tSCC zSolaris_ComplexSelect0[] =
6983        "#define[ \t]_Complex_I[ \t]_Complex_I";
6985 #define    SOLARIS_COMPLEX_TEST_CT  1
6986 static tTestDesc aSolaris_ComplexTests[] = {
6987   { TT_EGREP,    zSolaris_ComplexSelect0, (regex_t*)NULL }, };
6990  *  Fix Command Arguments for Solaris_Complex
6991  */
6992 static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
6993     "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
6994     "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
6995     "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
6996     "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
6997     (char*)NULL };
6999 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7001  *  Description of Solaris_Complex_Cxx fix
7002  */
7003 tSCC zSolaris_Complex_CxxName[] =
7004      "solaris_complex_cxx";
7007  *  File name selection pattern
7008  */
7009 tSCC zSolaris_Complex_CxxList[] =
7010   "complex.h\0";
7012  *  Machine/OS name selection pattern
7013  */
7014 tSCC* apzSolaris_Complex_CxxMachs[] = {
7015         "*-*-solaris2.*",
7016         (const char*)NULL };
7017 #define SOLARIS_COMPLEX_CXX_TEST_CT  0
7018 #define aSolaris_Complex_CxxTests   (tTestDesc*)NULL
7021  *  Fix Command Arguments for Solaris_Complex_Cxx
7022  */
7023 static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
7024     "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
7025 #ifdef\t__cplusplus\\\n\
7026 extern \"C\" {\\\n\
7027 #endif",
7028     "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
7029 #ifdef\t__cplusplus\\\n\
7030 }\\\n\
7031 #endif",
7032     (char*)NULL };
7034 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7036  *  Description of Solaris_Cxx_Linkage fix
7037  */
7038 tSCC zSolaris_Cxx_LinkageName[] =
7039      "solaris_cxx_linkage";
7042  *  File name selection pattern
7043  */
7044 tSCC zSolaris_Cxx_LinkageList[] =
7045   "iso/stdlib_iso.h\0";
7047  *  Machine/OS name selection pattern
7048  */
7049 tSCC* apzSolaris_Cxx_LinkageMachs[] = {
7050         "*-*-solaris2*",
7051         (const char*)NULL };
7054  *  content selection pattern - do fix if pattern found
7055  */
7056 tSCC zSolaris_Cxx_LinkageSelect0[] =
7057        "(#if __cplusplus >= 199711L)\n\
7058 (extern \"C\\+\\+\" \\{\n\
7059 )(.*(bsearch|qsort).*)";
7061 #define    SOLARIS_CXX_LINKAGE_TEST_CT  1
7062 static tTestDesc aSolaris_Cxx_LinkageTests[] = {
7063   { TT_EGREP,    zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
7066  *  Fix Command Arguments for Solaris_Cxx_Linkage
7067  */
7068 static const char* apzSolaris_Cxx_LinkagePatch[] = {
7069     "format",
7070     "%1 && !__GNUG__\n\
7071 %2%3",
7072     (char*)NULL };
7074 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7076  *  Description of Solaris_Getc_Strict_Stdc fix
7077  */
7078 tSCC zSolaris_Getc_Strict_StdcName[] =
7079      "solaris_getc_strict_stdc";
7082  *  File name selection pattern
7083  */
7084 tSCC zSolaris_Getc_Strict_StdcList[] =
7085   "iso/stdio_iso.h\0";
7087  *  Machine/OS name selection pattern
7088  */
7089 tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
7090         "*-*-solaris2*",
7091         (const char*)NULL };
7094  *  content selection pattern - do fix if pattern found
7095  */
7096 tSCC zSolaris_Getc_Strict_StdcSelect0[] =
7097        "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
7099 #define    SOLARIS_GETC_STRICT_STDC_TEST_CT  1
7100 static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
7101   { TT_EGREP,    zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
7104  *  Fix Command Arguments for Solaris_Getc_Strict_Stdc
7105  */
7106 static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
7107     "format",
7108     "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
7109     (char*)NULL };
7111 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7113  *  Description of Solaris_Gets_C11 fix
7114  */
7115 tSCC zSolaris_Gets_C11Name[] =
7116      "solaris_gets_c11";
7119  *  File name selection pattern
7120  */
7121 tSCC zSolaris_Gets_C11List[] =
7122   "iso/stdio_iso.h\0";
7124  *  Machine/OS name selection pattern
7125  */
7126 tSCC* apzSolaris_Gets_C11Machs[] = {
7127         "*-*-solaris2*",
7128         (const char*)NULL };
7131  *  content selection pattern - do fix if pattern found
7132  */
7133 tSCC zSolaris_Gets_C11Select0[] =
7134        "(extern char[ \t]*\\*gets\\(char \\*\\));";
7136 #define    SOLARIS_GETS_C11_TEST_CT  1
7137 static tTestDesc aSolaris_Gets_C11Tests[] = {
7138   { TT_EGREP,    zSolaris_Gets_C11Select0, (regex_t*)NULL }, };
7141  *  Fix Command Arguments for Solaris_Gets_C11
7142  */
7143 static const char* apzSolaris_Gets_C11Patch[] = {
7144     "format",
7145     "#if __STDC_VERSION__ < 201112L && __cplusplus < 201402L\n\
7146 %1 __attribute__((__deprecated__));\n\
7147 #endif",
7148     (char*)NULL };
7150 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7152  *  Description of Solaris_Gets_Cxx14 fix
7153  */
7154 tSCC zSolaris_Gets_Cxx14Name[] =
7155      "solaris_gets_cxx14";
7158  *  File name selection pattern
7159  */
7160 tSCC zSolaris_Gets_Cxx14List[] =
7161   "iso/stdio_iso.h\0";
7163  *  Machine/OS name selection pattern
7164  */
7165 tSCC* apzSolaris_Gets_Cxx14Machs[] = {
7166         "*-*-solaris2*",
7167         (const char*)NULL };
7170  *  content selection pattern - do fix if pattern found
7171  */
7172 tSCC zSolaris_Gets_Cxx14Select0[] =
7173        "(#if __STDC_VERSION__ < 201112L)\n\
7174 (extern char\t\\*gets\\(char \\*\\) __ATTR_DEPRECATED;)";
7176 #define    SOLARIS_GETS_CXX14_TEST_CT  1
7177 static tTestDesc aSolaris_Gets_Cxx14Tests[] = {
7178   { TT_EGREP,    zSolaris_Gets_Cxx14Select0, (regex_t*)NULL }, };
7181  *  Fix Command Arguments for Solaris_Gets_Cxx14
7182  */
7183 static const char* apzSolaris_Gets_Cxx14Patch[] = {
7184     "format",
7185     "%1 && __cplusplus < 201402L\n\
7186 %2",
7187     (char*)NULL };
7189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7191  *  Description of Solaris_Int_Const fix
7192  */
7193 tSCC zSolaris_Int_ConstName[] =
7194      "solaris_int_const";
7197  *  File name selection pattern
7198  */
7199 tSCC zSolaris_Int_ConstList[] =
7200   "sys/int_const.h\0";
7202  *  Machine/OS name selection pattern
7203  */
7204 tSCC* apzSolaris_Int_ConstMachs[] = {
7205         "*-*-solaris2*",
7206         (const char*)NULL };
7209  *  content selection pattern - do fix if pattern found
7210  */
7211 tSCC zSolaris_Int_ConstSelect0[] =
7212        "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
7213 (/*.**/)\n\
7214 #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
7216 #define    SOLARIS_INT_CONST_TEST_CT  1
7217 static tTestDesc aSolaris_Int_ConstTests[] = {
7218   { TT_EGREP,    zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
7221  *  Fix Command Arguments for Solaris_Int_Const
7222  */
7223 static const char* apzSolaris_Int_ConstPatch[] = {
7224     "format",
7225     "#define\tUINT8_C(c)\t(c)\n\
7226 %1\n\
7227 #define\tUINT16_C(c)\t(c)",
7228     (char*)NULL };
7230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7232  *  Description of Solaris_Int_Limits_1 fix
7233  */
7234 tSCC zSolaris_Int_Limits_1Name[] =
7235      "solaris_int_limits_1";
7238  *  File name selection pattern
7239  */
7240 tSCC zSolaris_Int_Limits_1List[] =
7241   "sys/int_limits.h\0";
7243  *  Machine/OS name selection pattern
7244  */
7245 tSCC* apzSolaris_Int_Limits_1Machs[] = {
7246         "*-*-solaris2*",
7247         (const char*)NULL };
7250  *  content selection pattern - do fix if pattern found
7251  */
7252 tSCC zSolaris_Int_Limits_1Select0[] =
7253        "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
7254 #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
7256 #define    SOLARIS_INT_LIMITS_1_TEST_CT  1
7257 static tTestDesc aSolaris_Int_Limits_1Tests[] = {
7258   { TT_EGREP,    zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
7261  *  Fix Command Arguments for Solaris_Int_Limits_1
7262  */
7263 static const char* apzSolaris_Int_Limits_1Patch[] = {
7264     "format",
7265     "#define\tUINT8_MAX\t(255)\n\
7266 #define\tUINT16_MAX\t(65535)",
7267     (char*)NULL };
7269 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7271  *  Description of Solaris_Int_Limits_2 fix
7272  */
7273 tSCC zSolaris_Int_Limits_2Name[] =
7274      "solaris_int_limits_2";
7277  *  File name selection pattern
7278  */
7279 tSCC zSolaris_Int_Limits_2List[] =
7280   "sys/int_limits.h\0";
7282  *  Machine/OS name selection pattern
7283  */
7284 tSCC* apzSolaris_Int_Limits_2Machs[] = {
7285         "*-*-solaris2*",
7286         (const char*)NULL };
7289  *  content selection pattern - do fix if pattern found
7290  */
7291 tSCC zSolaris_Int_Limits_2Select0[] =
7292        "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
7294 #define    SOLARIS_INT_LIMITS_2_TEST_CT  1
7295 static tTestDesc aSolaris_Int_Limits_2Tests[] = {
7296   { TT_EGREP,    zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
7299  *  Fix Command Arguments for Solaris_Int_Limits_2
7300  */
7301 static const char* apzSolaris_Int_Limits_2Patch[] = {
7302     "format",
7303     "#define\t%1_FAST16_%2 %132_%2",
7304     (char*)NULL };
7306 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7308  *  Description of Solaris_Int_Limits_3 fix
7309  */
7310 tSCC zSolaris_Int_Limits_3Name[] =
7311      "solaris_int_limits_3";
7314  *  File name selection pattern
7315  */
7316 tSCC zSolaris_Int_Limits_3List[] =
7317   "sys/int_limits.h\0";
7319  *  Machine/OS name selection pattern
7320  */
7321 tSCC* apzSolaris_Int_Limits_3Machs[] = {
7322         "*-*-solaris2*",
7323         (const char*)NULL };
7326  *  content selection pattern - do fix if pattern found
7327  */
7328 tSCC zSolaris_Int_Limits_3Select0[] =
7329        "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
7331 #define    SOLARIS_INT_LIMITS_3_TEST_CT  1
7332 static tTestDesc aSolaris_Int_Limits_3Tests[] = {
7333   { TT_EGREP,    zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
7336  *  Fix Command Arguments for Solaris_Int_Limits_3
7337  */
7338 static const char* apzSolaris_Int_Limits_3Patch[] = {
7339     "format",
7340     "#define\tSIZE_MAX\t4294967295U",
7341     (char*)NULL };
7343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7345  *  Description of Solaris_Math_1 fix
7346  */
7347 tSCC zSolaris_Math_1Name[] =
7348      "solaris_math_1";
7351  *  File name selection pattern
7352  */
7353 tSCC zSolaris_Math_1List[] =
7354   "iso/math_c99.h\0";
7356  *  Machine/OS name selection pattern
7357  */
7358 #define apzSolaris_Math_1Machs (const char**)NULL
7361  *  content selection pattern - do fix if pattern found
7362  */
7363 tSCC zSolaris_Math_1Select0[] =
7364        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7367  *  content bypass pattern - skip fix if pattern found
7368  */
7369 tSCC zSolaris_Math_1Bypass0[] =
7370        "__GNUC__";
7372 #define    SOLARIS_MATH_1_TEST_CT  2
7373 static tTestDesc aSolaris_Math_1Tests[] = {
7374   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
7375   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
7378  *  Fix Command Arguments for Solaris_Math_1
7379  */
7380 static const char* apzSolaris_Math_1Patch[] = {
7381     "format",
7382     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
7383     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
7384     (char*)NULL };
7386 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7388  *  Description of Solaris_Math_10 fix
7389  */
7390 tSCC zSolaris_Math_10Name[] =
7391      "solaris_math_10";
7394  *  File name selection pattern
7395  */
7396 tSCC zSolaris_Math_10List[] =
7397   "iso/math_c99.h\0";
7399  *  Machine/OS name selection pattern
7400  */
7401 #define apzSolaris_Math_10Machs (const char**)NULL
7404  *  content selection pattern - do fix if pattern found
7405  */
7406 tSCC zSolaris_Math_10Select0[] =
7407        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7409 #define    SOLARIS_MATH_10_TEST_CT  1
7410 static tTestDesc aSolaris_Math_10Tests[] = {
7411   { TT_EGREP,    zSolaris_Math_10Select0, (regex_t*)NULL }, };
7414  *  Fix Command Arguments for Solaris_Math_10
7415  */
7416 static const char* apzSolaris_Math_10Patch[] = {
7417     "format",
7418     "#define\tisinf(x) __builtin_isinf(x)",
7419     "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
7420 [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
7421 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
7422 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
7423     (char*)NULL };
7425 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7427  *  Description of Solaris_Math_2 fix
7428  */
7429 tSCC zSolaris_Math_2Name[] =
7430      "solaris_math_2";
7433  *  File name selection pattern
7434  */
7435 tSCC zSolaris_Math_2List[] =
7436   "iso/math_c99.h\0";
7438  *  Machine/OS name selection pattern
7439  */
7440 #define apzSolaris_Math_2Machs (const char**)NULL
7443  *  content selection pattern - do fix if pattern found
7444  */
7445 tSCC zSolaris_Math_2Select0[] =
7446        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7449  *  content bypass pattern - skip fix if pattern found
7450  */
7451 tSCC zSolaris_Math_2Bypass0[] =
7452        "__GNUC__";
7454 #define    SOLARIS_MATH_2_TEST_CT  2
7455 static tTestDesc aSolaris_Math_2Tests[] = {
7456   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
7457   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
7460  *  Fix Command Arguments for Solaris_Math_2
7461  */
7462 static const char* apzSolaris_Math_2Patch[] = {
7463     "format",
7464     "#define\tINFINITY\t(__builtin_inff())",
7465     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
7466     (char*)NULL };
7468 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7470  *  Description of Solaris_Math_3 fix
7471  */
7472 tSCC zSolaris_Math_3Name[] =
7473      "solaris_math_3";
7476  *  File name selection pattern
7477  */
7478 tSCC zSolaris_Math_3List[] =
7479   "iso/math_c99.h\0";
7481  *  Machine/OS name selection pattern
7482  */
7483 #define apzSolaris_Math_3Machs (const char**)NULL
7486  *  content selection pattern - do fix if pattern found
7487  */
7488 tSCC zSolaris_Math_3Select0[] =
7489        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7492  *  content bypass pattern - skip fix if pattern found
7493  */
7494 tSCC zSolaris_Math_3Bypass0[] =
7495        "__GNUC__";
7497 #define    SOLARIS_MATH_3_TEST_CT  2
7498 static tTestDesc aSolaris_Math_3Tests[] = {
7499   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
7500   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
7503  *  Fix Command Arguments for Solaris_Math_3
7504  */
7505 static const char* apzSolaris_Math_3Patch[] = {
7506     "format",
7507     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
7508     "^#define[ \t]+NAN[ \t]+__builtin_nan",
7509     (char*)NULL };
7511 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7513  *  Description of Solaris_Math_4 fix
7514  */
7515 tSCC zSolaris_Math_4Name[] =
7516      "solaris_math_4";
7519  *  File name selection pattern
7520  */
7521 tSCC zSolaris_Math_4List[] =
7522   "iso/math_c99.h\0";
7524  *  Machine/OS name selection pattern
7525  */
7526 #define apzSolaris_Math_4Machs (const char**)NULL
7529  *  content selection pattern - do fix if pattern found
7530  */
7531 tSCC zSolaris_Math_4Select0[] =
7532        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7535  *  content bypass pattern - skip fix if pattern found
7536  */
7537 tSCC zSolaris_Math_4Bypass0[] =
7538        "__GNUC__";
7540 #define    SOLARIS_MATH_4_TEST_CT  2
7541 static tTestDesc aSolaris_Math_4Tests[] = {
7542   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
7543   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
7546  *  Fix Command Arguments for Solaris_Math_4
7547  */
7548 static const char* apzSolaris_Math_4Patch[] = {
7549     "format",
7550     "#define\tfpclassify(x) \\\n\
7551   __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
7552     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
7553     (char*)NULL };
7555 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7557  *  Description of Solaris_Math_8 fix
7558  */
7559 tSCC zSolaris_Math_8Name[] =
7560      "solaris_math_8";
7563  *  File name selection pattern
7564  */
7565 tSCC zSolaris_Math_8List[] =
7566   "iso/math_c99.h\0";
7568  *  Machine/OS name selection pattern
7569  */
7570 #define apzSolaris_Math_8Machs (const char**)NULL
7573  *  content selection pattern - do fix if pattern found
7574  */
7575 tSCC zSolaris_Math_8Select0[] =
7576        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
7579  *  content bypass pattern - skip fix if pattern found
7580  */
7581 tSCC zSolaris_Math_8Bypass0[] =
7582        "__GNUC__";
7584 #define    SOLARIS_MATH_8_TEST_CT  2
7585 static tTestDesc aSolaris_Math_8Tests[] = {
7586   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
7587   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
7590  *  Fix Command Arguments for Solaris_Math_8
7591  */
7592 static const char* apzSolaris_Math_8Patch[] = {
7593     "format",
7594     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
7595 \t\t\t   ? __builtin_signbitf(x) \\\n\
7596 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
7597 \t\t\t     ? __builtin_signbitl(x) \\\n\
7598 \t\t\t     : __builtin_signbit(x))",
7599     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
7600     (char*)NULL };
7602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7604  *  Description of Solaris_Math_9 fix
7605  */
7606 tSCC zSolaris_Math_9Name[] =
7607      "solaris_math_9";
7610  *  File name selection pattern
7611  */
7612 tSCC zSolaris_Math_9List[] =
7613   "iso/math_c99.h\0";
7615  *  Machine/OS name selection pattern
7616  */
7617 #define apzSolaris_Math_9Machs (const char**)NULL
7620  *  content selection pattern - do fix if pattern found
7621  */
7622 tSCC zSolaris_Math_9Select0[] =
7623        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7626  *  content bypass pattern - skip fix if pattern found
7627  */
7628 tSCC zSolaris_Math_9Bypass0[] =
7629        "__GNUC__";
7631 #define    SOLARIS_MATH_9_TEST_CT  2
7632 static tTestDesc aSolaris_Math_9Tests[] = {
7633   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
7634   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
7637  *  Fix Command Arguments for Solaris_Math_9
7638  */
7639 static const char* apzSolaris_Math_9Patch[] = {
7640     "format",
7641     "#define\t%1(x, y)%2__builtin_%1(x, y)",
7642     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
7643     (char*)NULL };
7645 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7647  *  Description of Solaris_Math_11 fix
7648  */
7649 tSCC zSolaris_Math_11Name[] =
7650      "solaris_math_11";
7653  *  File name selection pattern
7654  */
7655 tSCC zSolaris_Math_11List[] =
7656   "iso/math_c99.h\0";
7658  *  Machine/OS name selection pattern
7659  */
7660 #define apzSolaris_Math_11Machs (const char**)NULL
7663  *  content selection pattern - do fix if pattern found
7664  */
7665 tSCC zSolaris_Math_11Select0[] =
7666        "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ ";
7668 #define    SOLARIS_MATH_11_TEST_CT  1
7669 static tTestDesc aSolaris_Math_11Tests[] = {
7670   { TT_EGREP,    zSolaris_Math_11Select0, (regex_t*)NULL }, };
7673  *  Fix Command Arguments for Solaris_Math_11
7674  */
7675 static const char* apzSolaris_Math_11Patch[] = {
7676     "format",
7677     "#undef\tsignbit\n\
7678 #define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
7679 \t\t\t   ? __builtin_signbitf(x) \\\n\
7680 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
7681 \t\t\t     ? __builtin_signbitl(x) \\\n\
7682 \t\t\t     : __builtin_signbit(x))",
7683     "^#undef[ \t]+signbit\n\
7684 #if defined\\(__sparc\\)\n\
7685 #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
7686 [ \t]+\\{[ \t]*__typeof\\(x\\)[ \t]*__x_s[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
7687 [ \t]+\\(int\\)[ \t]*\\(\\*\\(unsigned[ \t]*\\*\\)[ \t]*\\&__x_s[ \t]*>>[ \t]*31\\);[ \t]*\\}\\)\n\
7688 #elif defined\\(__i386\\) \\|\\| defined\\(__amd64\\)\n\
7689 #define[ \t]+signbit\\(x\\)[ \t]+__extension__\\( \\\\\n\
7690 [ \t]+\\{ __typeof\\(x\\) __x_s = \\(x\\); \\\\\n\
7691 [ \t]+\\(sizeof \\(__x_s\\) == sizeof \\(float\\) \\? \\\\\n\
7692 [ \t]+\\(int\\) \\(\\*\\(unsigned \\*\\) \\&__x_s >> 31\\) : \\\\\n\
7693 [ \t]+sizeof \\(__x_s\\) == sizeof \\(double\\) \\? \\\\\n\
7694 [ \t]+\\(int\\) \\(\\(\\(unsigned \\*\\) \\&__x_s\\)\\[1\\] >> 31\\) : \\\\\n\
7695 [ \t]+\\(int\\) \\(\\(\\(unsigned short \\*\\) \\&__x_s\\)\\[4\\] >> 15\\)\\); \\}\\)\n\
7696 #endif",
7697     (char*)NULL };
7699 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7701  *  Description of Solaris_Math_12 fix
7702  */
7703 tSCC zSolaris_Math_12Name[] =
7704      "solaris_math_12";
7707  *  File name selection pattern
7708  */
7709 tSCC zSolaris_Math_12List[] =
7710   "math.h\0";
7712  *  Machine/OS name selection pattern
7713  */
7714 tSCC* apzSolaris_Math_12Machs[] = {
7715         "*-*-solaris2*",
7716         (const char*)NULL };
7719  *  content selection pattern - do fix if pattern found
7720  */
7721 tSCC zSolaris_Math_12Select0[] =
7722        "#undef.*_GLIBCXX_USE_C99_MATH";
7724 #define    SOLARIS_MATH_12_TEST_CT  1
7725 static tTestDesc aSolaris_Math_12Tests[] = {
7726   { TT_EGREP,    zSolaris_Math_12Select0, (regex_t*)NULL }, };
7729  *  Fix Command Arguments for Solaris_Math_12
7730  */
7731 static const char* apzSolaris_Math_12Patch[] = { sed_cmd_z,
7732     "-e", "/#undef[ \t]*_GLIBCXX_USE_C99_MATH/d",
7733     (char*)NULL };
7735 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7737  *  Description of Solaris_Once_Init_1 fix
7738  */
7739 tSCC zSolaris_Once_Init_1Name[] =
7740      "solaris_once_init_1";
7743  *  File name selection pattern
7744  */
7745 tSCC zSolaris_Once_Init_1List[] =
7746   "pthread.h\0";
7748  *  Machine/OS name selection pattern
7749  */
7750 tSCC* apzSolaris_Once_Init_1Machs[] = {
7751         "*-*-solaris*",
7752         (const char*)NULL };
7755  *  content selection pattern - do fix if pattern found
7756  */
7757 tSCC zSolaris_Once_Init_1Select0[] =
7758        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7760 #define    SOLARIS_ONCE_INIT_1_TEST_CT  1
7761 static tTestDesc aSolaris_Once_Init_1Tests[] = {
7762   { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
7765  *  Fix Command Arguments for Solaris_Once_Init_1
7766  */
7767 static const char* apzSolaris_Once_Init_1Patch[] = {
7768     "format",
7769     "%1{%2}%3",
7770     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
7771     (char*)NULL };
7773 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7775  *  Description of Solaris_Posix_Spawn_Restrict fix
7776  */
7777 tSCC zSolaris_Posix_Spawn_RestrictName[] =
7778      "solaris_posix_spawn_restrict";
7781  *  File name selection pattern
7782  */
7783 tSCC zSolaris_Posix_Spawn_RestrictList[] =
7784   "spawn.h\0";
7786  *  Machine/OS name selection pattern
7787  */
7788 tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
7789         "*-*-solaris2*",
7790         (const char*)NULL };
7793  *  content selection pattern - do fix if pattern found
7794  */
7795 tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
7796        "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
7798 #define    SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT  1
7799 static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
7800   { TT_EGREP,    zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
7803  *  Fix Command Arguments for Solaris_Posix_Spawn_Restrict
7804  */
7805 static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
7806     "format",
7807     "%1*_RESTRICT_KYWD %2%3",
7808     (char*)NULL };
7810 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7812  *  Description of Solaris_Pow_Int_Overload fix
7813  */
7814 tSCC zSolaris_Pow_Int_OverloadName[] =
7815      "solaris_pow_int_overload";
7818  *  File name selection pattern
7819  */
7820 tSCC zSolaris_Pow_Int_OverloadList[] =
7821   "iso/math_iso.h\0";
7823  *  Machine/OS name selection pattern
7824  */
7825 tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
7826         "*-*-solaris2*",
7827         (const char*)NULL };
7830  *  content selection pattern - do fix if pattern found
7831  */
7832 tSCC zSolaris_Pow_Int_OverloadSelect0[] =
7833        "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
7834 [^{}]*\\}";
7836 #define    SOLARIS_POW_INT_OVERLOAD_TEST_CT  1
7837 static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
7838   { TT_EGREP,    zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
7841  *  Fix Command Arguments for Solaris_Pow_Int_Overload
7842  */
7843 static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
7844     "format",
7845     "#if __cplusplus < 201103L\n\
7846 %0\n\
7847 #endif",
7848     (char*)NULL };
7850 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7852  *  Description of Solaris_Rwlock_Init_1 fix
7853  */
7854 tSCC zSolaris_Rwlock_Init_1Name[] =
7855      "solaris_rwlock_init_1";
7858  *  File name selection pattern
7859  */
7860 tSCC zSolaris_Rwlock_Init_1List[] =
7861   "pthread.h\0";
7863  *  Machine/OS name selection pattern
7864  */
7865 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
7866         "*-*-solaris*",
7867         (const char*)NULL };
7870  *  content selection pattern - do fix if pattern found
7871  */
7872 tSCC zSolaris_Rwlock_Init_1Select0[] =
7873        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
7875 #define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
7876 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
7877   { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
7880  *  Fix Command Arguments for Solaris_Rwlock_Init_1
7881  */
7882 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
7883     "format",
7884     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
7885 %0\n\
7886 #else\n\
7887 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
7888 #endif",
7889     "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
7890     (char*)NULL };
7892 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7894  *  Description of Solaris_Std___Filbuf fix
7895  */
7896 tSCC zSolaris_Std___FilbufName[] =
7897      "solaris_std___filbuf";
7900  *  File name selection pattern
7901  */
7902 tSCC zSolaris_Std___FilbufList[] =
7903   "stdio.h\0";
7905  *  Machine/OS name selection pattern
7906  */
7907 tSCC* apzSolaris_Std___FilbufMachs[] = {
7908         "*-*-solaris2*",
7909         (const char*)NULL };
7912  *  content selection pattern - do fix if pattern found
7913  */
7914 tSCC zSolaris_Std___FilbufSelect0[] =
7915        "(using std::perror;\n\
7916 )(#endif)";
7919  *  content bypass pattern - skip fix if pattern found
7920  */
7921 tSCC zSolaris_Std___FilbufBypass0[] =
7922        "using std::__filbuf";
7924 #define    SOLARIS_STD___FILBUF_TEST_CT  2
7925 static tTestDesc aSolaris_Std___FilbufTests[] = {
7926   { TT_NEGREP,   zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
7927   { TT_EGREP,    zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
7930  *  Fix Command Arguments for Solaris_Std___Filbuf
7931  */
7932 static const char* apzSolaris_Std___FilbufPatch[] = {
7933     "format",
7934     "%1#ifndef _LP64\n\
7935 using std::__filbuf;\n\
7936 using std::__flsbuf;\n\
7937 #endif\n\
7938 %2",
7939     (char*)NULL };
7941 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7943  *  Description of Solaris_Std_Gets_Cxx14 fix
7944  */
7945 tSCC zSolaris_Std_Gets_Cxx14Name[] =
7946      "solaris_std_gets_cxx14";
7949  *  File name selection pattern
7950  */
7951 tSCC zSolaris_Std_Gets_Cxx14List[] =
7952   "stdio.h\0";
7954  *  Machine/OS name selection pattern
7955  */
7956 tSCC* apzSolaris_Std_Gets_Cxx14Machs[] = {
7957         "*-*-solaris2*",
7958         (const char*)NULL };
7961  *  content selection pattern - do fix if pattern found
7962  */
7963 tSCC zSolaris_Std_Gets_Cxx14Select0[] =
7964        "using std::gets;";
7966 #define    SOLARIS_STD_GETS_CXX14_TEST_CT  1
7967 static tTestDesc aSolaris_Std_Gets_Cxx14Tests[] = {
7968   { TT_EGREP,    zSolaris_Std_Gets_Cxx14Select0, (regex_t*)NULL }, };
7971  *  Fix Command Arguments for Solaris_Std_Gets_Cxx14
7972  */
7973 static const char* apzSolaris_Std_Gets_Cxx14Patch[] = {
7974     "format",
7975     "#if __cplusplus < 201402L\n\
7976 %0\n\
7977 #endif",
7978     (char*)NULL };
7980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7982  *  Description of Solaris_Stdio_Tag fix
7983  */
7984 tSCC zSolaris_Stdio_TagName[] =
7985      "solaris_stdio_tag";
7988  *  File name selection pattern
7989  */
7990 tSCC zSolaris_Stdio_TagList[] =
7991   "stdio_tag.h\0";
7993  *  Machine/OS name selection pattern
7994  */
7995 #define apzSolaris_Stdio_TagMachs (const char**)NULL
7998  *  content selection pattern - do fix if pattern found
7999  */
8000 tSCC zSolaris_Stdio_TagSelect0[] =
8001        "__cplusplus < 54321L";
8004  *  content bypass pattern - skip fix if pattern found
8005  */
8006 tSCC zSolaris_Stdio_TagBypass0[] =
8007        "__GNUC__";
8009 #define    SOLARIS_STDIO_TAG_TEST_CT  2
8010 static tTestDesc aSolaris_Stdio_TagTests[] = {
8011   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
8012   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
8015  *  Fix Command Arguments for Solaris_Stdio_Tag
8016  */
8017 static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
8018     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
8019     (char*)NULL };
8021 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8023  *  Description of Solaris_Stdlib_Noreturn fix
8024  */
8025 tSCC zSolaris_Stdlib_NoreturnName[] =
8026      "solaris_stdlib_noreturn";
8029  *  File name selection pattern
8030  */
8031 tSCC zSolaris_Stdlib_NoreturnList[] =
8032   "iso/stdlib_c99.h\0";
8034  *  Machine/OS name selection pattern
8035  */
8036 tSCC* apzSolaris_Stdlib_NoreturnMachs[] = {
8037         "*-*-solaris2*",
8038         (const char*)NULL };
8041  *  content selection pattern - do fix if pattern found
8042  */
8043 tSCC zSolaris_Stdlib_NoreturnSelect0[] =
8044        "(extern) _Noreturn (void quick_exit\\(int\\));";
8046 #define    SOLARIS_STDLIB_NORETURN_TEST_CT  1
8047 static tTestDesc aSolaris_Stdlib_NoreturnTests[] = {
8048   { TT_EGREP,    zSolaris_Stdlib_NoreturnSelect0, (regex_t*)NULL }, };
8051  *  Fix Command Arguments for Solaris_Stdlib_Noreturn
8052  */
8053 static const char* apzSolaris_Stdlib_NoreturnPatch[] = {
8054     "format",
8055     "%1 %2 __attribute__((__noreturn__));",
8056     (char*)NULL };
8058 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8060  *  Description of Statsswtch fix
8061  */
8062 tSCC zStatsswtchName[] =
8063      "statsswtch";
8066  *  File name selection pattern
8067  */
8068 tSCC zStatsswtchList[] =
8069   "rpcsvc/rstat.h\0";
8071  *  Machine/OS name selection pattern
8072  */
8073 #define apzStatsswtchMachs (const char**)NULL
8076  *  content selection pattern - do fix if pattern found
8077  */
8078 tSCC zStatsswtchSelect0[] =
8079        "boottime$";
8081 #define    STATSSWTCH_TEST_CT  1
8082 static tTestDesc aStatsswtchTests[] = {
8083   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
8086  *  Fix Command Arguments for Statsswtch
8087  */
8088 static const char* apzStatsswtchPatch[] = {
8089     "format",
8090     "boottime;",
8091     (char*)NULL };
8093 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8095  *  Description of Stdio_Stdarg_H fix
8096  */
8097 tSCC zStdio_Stdarg_HName[] =
8098      "stdio_stdarg_h";
8101  *  File name selection pattern
8102  */
8103 tSCC zStdio_Stdarg_HList[] =
8104   "stdio.h\0";
8106  *  Machine/OS name selection pattern
8107  */
8108 tSCC* apzStdio_Stdarg_HMachs[] = {
8109         "*-*-solaris2.1[0-9]*",
8110         (const char*)NULL };
8113  *  content bypass pattern - skip fix if pattern found
8114  */
8115 tSCC zStdio_Stdarg_HBypass0[] =
8116        "include.*(stdarg.h|machine/ansi.h)";
8118 #define    STDIO_STDARG_H_TEST_CT  1
8119 static tTestDesc aStdio_Stdarg_HTests[] = {
8120   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
8123  *  Fix Command Arguments for Stdio_Stdarg_H
8124  */
8125 static const char* apzStdio_Stdarg_HPatch[] = {
8126     "wrap",
8127     "#define __need___va_list\n\
8128 #include <stdarg.h>\n",
8129     (char*)NULL };
8131 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8133  *  Description of Stdio_Va_List fix
8134  */
8135 tSCC zStdio_Va_ListName[] =
8136      "stdio_va_list";
8139  *  File name selection pattern
8140  */
8141 tSCC zStdio_Va_ListList[] =
8142   "stdio.h\0";
8144  *  Machine/OS name selection pattern
8145  */
8146 tSCC* apzStdio_Va_ListMachs[] = {
8147         "*-*-solaris2.1[0-9]*",
8148         (const char*)NULL };
8151  *  content bypass pattern - skip fix if pattern found
8152  */
8153 tSCC zStdio_Va_ListBypass0[] =
8154        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
8156 #define    STDIO_VA_LIST_TEST_CT  1
8157 static tTestDesc aStdio_Va_ListTests[] = {
8158   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
8161  *  Fix Command Arguments for Stdio_Va_List
8162  */
8163 static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
8164     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
8165 s@(va_list)&@(__gnuc_va_list)\\&@\n\
8166 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
8167 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
8168 s@ va_list@ __not_va_list__@\n\
8169 s@\\*va_list@*__not_va_list__@\n\
8170 s@ __va_list)@ __gnuc_va_list)@\n\
8171 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
8172 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
8173 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
8174 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
8175 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
8176 s@VA_LIST@DUMMY_VA_LIST@\n\
8177 s@_Va_LIST@_VA_LIST@",
8178     (char*)NULL };
8180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8182  *  Description of Stdio_Va_List_Clients fix
8183  */
8184 tSCC zStdio_Va_List_ClientsName[] =
8185      "stdio_va_list_clients";
8188  *  File name selection pattern
8189  */
8190 tSCC zStdio_Va_List_ClientsList[] =
8191   "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
8193  *  Machine/OS name selection pattern
8194  */
8195 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
8198  *  content bypass pattern - skip fix if pattern found
8199  */
8200 tSCC zStdio_Va_List_ClientsBypass0[] =
8201        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
8202 tSCC zStdio_Va_List_ClientsBypass1[] =
8203        "include <stdarg\\.h>|#ifdef va_start";
8205 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
8206 static tTestDesc aStdio_Va_List_ClientsTests[] = {
8207   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
8208   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
8211  *  Fix Command Arguments for Stdio_Va_List_Clients
8212  */
8213 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
8214     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
8215 s@(va_list)&@(__gnuc_va_list)\\&@\n\
8216 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
8217 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
8218 s@ va_list@ __not_va_list__@\n\
8219 s@\\*va_list@*__not_va_list__@\n\
8220 s@ __va_list)@ __gnuc_va_list)@\n\
8221 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
8222 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
8223 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
8224 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
8225 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
8226 s@VA_LIST@DUMMY_VA_LIST@\n\
8227 s@_Va_LIST@_VA_LIST@",
8228     (char*)NULL };
8230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8232  *  Description of Strict_Ansi_Not fix
8233  */
8234 tSCC zStrict_Ansi_NotName[] =
8235      "strict_ansi_not";
8238  *  File name selection pattern
8239  */
8240 #define zStrict_Ansi_NotList (char*)NULL
8242  *  Machine/OS name selection pattern
8243  */
8244 #define apzStrict_Ansi_NotMachs (const char**)NULL
8247  *  content selection pattern - do fix if pattern found
8248  */
8249 tSCC zStrict_Ansi_NotSelect0[] =
8250        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
8253  *  content bypass pattern - skip fix if pattern found
8254  */
8255 tSCC zStrict_Ansi_NotBypass0[] =
8256        "GNU and MIPS C compilers define __STDC__ differently";
8257 tSCC zStrict_Ansi_NotBypass1[] =
8258        "__SCO_VERSION__.*__STDC__ != 1";
8261  *  perform the C function call test
8262  */
8263 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
8265 #define    STRICT_ANSI_NOT_TEST_CT  4
8266 static tTestDesc aStrict_Ansi_NotTests[] = {
8267   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
8268   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
8269   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
8270   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
8273  *  Fix Command Arguments for Strict_Ansi_Not
8274  */
8275 static const char* apzStrict_Ansi_NotPatch[] = {
8276     "format",
8277     "%1 !defined(__STRICT_ANSI__)",
8278     (char*)NULL };
8280 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8282  *  Description of Strict_Ansi_Not_Ctd fix
8283  */
8284 tSCC zStrict_Ansi_Not_CtdName[] =
8285      "strict_ansi_not_ctd";
8288  *  File name selection pattern
8289  */
8290 tSCC zStrict_Ansi_Not_CtdList[] =
8291   "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
8293  *  Machine/OS name selection pattern
8294  */
8295 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
8298  *  content selection pattern - do fix if pattern found
8299  */
8300 tSCC zStrict_Ansi_Not_CtdSelect0[] =
8301        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
8304  *  perform the C function call test
8305  */
8306 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
8308 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
8309 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
8310   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
8311   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
8314  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
8315  */
8316 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
8317     "format",
8318     "%1 !defined(__STRICT_ANSI__)",
8319     (char*)NULL };
8321 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8323  *  Description of Strict_Ansi_Only fix
8324  */
8325 tSCC zStrict_Ansi_OnlyName[] =
8326      "strict_ansi_only";
8329  *  File name selection pattern
8330  */
8331 #define zStrict_Ansi_OnlyList (char*)NULL
8333  *  Machine/OS name selection pattern
8334  */
8335 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
8338  *  content selection pattern - do fix if pattern found
8339  */
8340 tSCC zStrict_Ansi_OnlySelect0[] =
8341        "^([ \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)";
8344  *  perform the C function call test
8345  */
8346 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
8348 #define    STRICT_ANSI_ONLY_TEST_CT  2
8349 static tTestDesc aStrict_Ansi_OnlyTests[] = {
8350   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
8351   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
8354  *  Fix Command Arguments for Strict_Ansi_Only
8355  */
8356 static const char* apzStrict_Ansi_OnlyPatch[] = {
8357     "format",
8358     "%1 defined(__STRICT_ANSI__)",
8359     (char*)NULL };
8361 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8363  *  Description of Struct_File fix
8364  */
8365 tSCC zStruct_FileName[] =
8366      "struct_file";
8369  *  File name selection pattern
8370  */
8371 tSCC zStruct_FileList[] =
8372   "rpc/xdr.h\0";
8374  *  Machine/OS name selection pattern
8375  */
8376 #define apzStruct_FileMachs (const char**)NULL
8379  *  content selection pattern - do fix if pattern found
8380  */
8381 tSCC zStruct_FileSelect0[] =
8382        "^.*xdrstdio_create.*struct __file_s";
8384 #define    STRUCT_FILE_TEST_CT  1
8385 static tTestDesc aStruct_FileTests[] = {
8386   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
8389  *  Fix Command Arguments for Struct_File
8390  */
8391 static const char* apzStruct_FilePatch[] = {
8392     "format",
8393     "struct __file_s;\n\
8394 %0",
8395     (char*)NULL };
8397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8399  *  Description of Struct_Sockaddr fix
8400  */
8401 tSCC zStruct_SockaddrName[] =
8402      "struct_sockaddr";
8405  *  File name selection pattern
8406  */
8407 tSCC zStruct_SockaddrList[] =
8408   "rpc/auth.h\0";
8410  *  Machine/OS name selection pattern
8411  */
8412 #define apzStruct_SockaddrMachs (const char**)NULL
8415  *  content selection pattern - do fix if pattern found
8416  */
8417 tSCC zStruct_SockaddrSelect0[] =
8418        "^.*authdes_create.*struct sockaddr[^_]";
8421  *  content bypass pattern - skip fix if pattern found
8422  */
8423 tSCC zStruct_SockaddrBypass0[] =
8424        "<sys/socket.h>";
8425 tSCC zStruct_SockaddrBypass1[] =
8426        "struct sockaddr;\n";
8428 #define    STRUCT_SOCKADDR_TEST_CT  3
8429 static tTestDesc aStruct_SockaddrTests[] = {
8430   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
8431   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
8432   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
8435  *  Fix Command Arguments for Struct_Sockaddr
8436  */
8437 static const char* apzStruct_SockaddrPatch[] = {
8438     "format",
8439     "struct sockaddr;\n\
8440 %0",
8441     (char*)NULL };
8443 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8445  *  Description of Sun_Auth_Proto fix
8446  */
8447 tSCC zSun_Auth_ProtoName[] =
8448      "sun_auth_proto";
8451  *  File name selection pattern
8452  */
8453 tSCC zSun_Auth_ProtoList[] =
8454   "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
8456  *  Machine/OS name selection pattern
8457  */
8458 #define apzSun_Auth_ProtoMachs (const char**)NULL
8461  *  content selection pattern - do fix if pattern found
8462  */
8463 tSCC zSun_Auth_ProtoSelect0[] =
8464        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
8467  *  content bypass pattern - skip fix if pattern found
8468  */
8469 tSCC zSun_Auth_ProtoBypass0[] =
8470        "__cplusplus";
8472 #define    SUN_AUTH_PROTO_TEST_CT  2
8473 static tTestDesc aSun_Auth_ProtoTests[] = {
8474   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
8475   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
8478  *  Fix Command Arguments for Sun_Auth_Proto
8479  */
8480 static const char* apzSun_Auth_ProtoPatch[] = {
8481     "format",
8482     "#ifdef __cplusplus\n\
8483 %1(...);%2\n\
8484 #else\n\
8485 %1();%2\n\
8486 #endif",
8487     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
8488     (char*)NULL };
8490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8492  *  Description of Sun_Bogus_Ifdef fix
8493  */
8494 tSCC zSun_Bogus_IfdefName[] =
8495      "sun_bogus_ifdef";
8498  *  File name selection pattern
8499  */
8500 tSCC zSun_Bogus_IfdefList[] =
8501   "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
8503  *  Machine/OS name selection pattern
8504  */
8505 #define apzSun_Bogus_IfdefMachs (const char**)NULL
8508  *  content selection pattern - do fix if pattern found
8509  */
8510 tSCC zSun_Bogus_IfdefSelect0[] =
8511        "#ifdef(.*\\|\\|.*)";
8513 #define    SUN_BOGUS_IFDEF_TEST_CT  1
8514 static tTestDesc aSun_Bogus_IfdefTests[] = {
8515   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
8518  *  Fix Command Arguments for Sun_Bogus_Ifdef
8519  */
8520 static const char* apzSun_Bogus_IfdefPatch[] = {
8521     "format",
8522     "#if%1",
8523     (char*)NULL };
8525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8527  *  Description of Sun_Catmacro fix
8528  */
8529 tSCC zSun_CatmacroName[] =
8530      "sun_catmacro";
8533  *  File name selection pattern
8534  */
8535 tSCC zSun_CatmacroList[] =
8536   "pixrect/memvar.h\0";
8538  *  Machine/OS name selection pattern
8539  */
8540 #define apzSun_CatmacroMachs (const char**)NULL
8543  *  content selection pattern - do fix if pattern found
8544  */
8545 tSCC zSun_CatmacroSelect0[] =
8546        "^#define[ \t]+CAT\\(a,b\\).*";
8548 #define    SUN_CATMACRO_TEST_CT  1
8549 static tTestDesc aSun_CatmacroTests[] = {
8550   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
8553  *  Fix Command Arguments for Sun_Catmacro
8554  */
8555 static const char* apzSun_CatmacroPatch[] = {
8556     "format",
8557     "#ifdef __STDC__\n\
8558 #  define CAT(a,b) a##b\n\
8559 #else\n\
8560 %0\n\
8561 #endif",
8562     (char*)NULL };
8564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8566  *  Description of Sun_Malloc fix
8567  */
8568 tSCC zSun_MallocName[] =
8569      "sun_malloc";
8572  *  File name selection pattern
8573  */
8574 tSCC zSun_MallocList[] =
8575   "malloc.h\0";
8577  *  Machine/OS name selection pattern
8578  */
8579 #define apzSun_MallocMachs (const char**)NULL
8582  *  content bypass pattern - skip fix if pattern found
8583  */
8584 tSCC zSun_MallocBypass0[] =
8585        "_CLASSIC_ANSI_TYPES";
8587 #define    SUN_MALLOC_TEST_CT  1
8588 static tTestDesc aSun_MallocTests[] = {
8589   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
8592  *  Fix Command Arguments for Sun_Malloc
8593  */
8594 static const char* apzSun_MallocPatch[] = { sed_cmd_z,
8595     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
8596     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
8597     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
8598     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
8599     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
8600     (char*)NULL };
8602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8604  *  Description of Sun_Rusers_Semi fix
8605  */
8606 tSCC zSun_Rusers_SemiName[] =
8607      "sun_rusers_semi";
8610  *  File name selection pattern
8611  */
8612 tSCC zSun_Rusers_SemiList[] =
8613   "rpcsvc/rusers.h\0";
8615  *  Machine/OS name selection pattern
8616  */
8617 #define apzSun_Rusers_SemiMachs (const char**)NULL
8620  *  content selection pattern - do fix if pattern found
8621  */
8622 tSCC zSun_Rusers_SemiSelect0[] =
8623        "_cnt$";
8625 #define    SUN_RUSERS_SEMI_TEST_CT  1
8626 static tTestDesc aSun_Rusers_SemiTests[] = {
8627   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
8630  *  Fix Command Arguments for Sun_Rusers_Semi
8631  */
8632 static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
8633     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
8634     (char*)NULL };
8636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8638  *  Description of Sun_Signal fix
8639  */
8640 tSCC zSun_SignalName[] =
8641      "sun_signal";
8644  *  File name selection pattern
8645  */
8646 tSCC zSun_SignalList[] =
8647   "sys/signal.h\0signal.h\0";
8649  *  Machine/OS name selection pattern
8650  */
8651 #define apzSun_SignalMachs (const char**)NULL
8654  *  content selection pattern - do fix if pattern found
8655  */
8656 tSCC zSun_SignalSelect0[] =
8657        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
8659 #define    SUN_SIGNAL_TEST_CT  1
8660 static tTestDesc aSun_SignalTests[] = {
8661   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
8664  *  Fix Command Arguments for Sun_Signal
8665  */
8666 static const char* apzSun_SignalPatch[] = {
8667     "format",
8668     "#ifdef __cplusplus\n\
8669 void\t(*signal(...))(...);\n\
8670 #else\n\
8671 %0\n\
8672 #endif",
8673     (char*)NULL };
8675 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8677  *  Description of Sunos_Strlen fix
8678  */
8679 tSCC zSunos_StrlenName[] =
8680      "sunos_strlen";
8683  *  File name selection pattern
8684  */
8685 tSCC zSunos_StrlenList[] =
8686   "strings.h\0";
8688  *  Machine/OS name selection pattern
8689  */
8690 #define apzSunos_StrlenMachs (const char**)NULL
8693  *  content selection pattern - do fix if pattern found
8694  */
8695 tSCC zSunos_StrlenSelect0[] =
8696        "int[ \t]*strlen\\(\\);(.*)";
8698 #define    SUNOS_STRLEN_TEST_CT  1
8699 static tTestDesc aSunos_StrlenTests[] = {
8700   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
8703  *  Fix Command Arguments for Sunos_Strlen
8704  */
8705 static const char* apzSunos_StrlenPatch[] = {
8706     "format",
8707     "__SIZE_TYPE__ strlen();%1",
8708     (char*)NULL };
8710 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8712  *  Description of Suse_Linux_Vt_Cxx fix
8713  */
8714 tSCC zSuse_Linux_Vt_CxxName[] =
8715      "suse_linux_vt_cxx";
8718  *  File name selection pattern
8719  */
8720 tSCC zSuse_Linux_Vt_CxxList[] =
8721   "linux/vt.h\0";
8723  *  Machine/OS name selection pattern
8724  */
8725 #define apzSuse_Linux_Vt_CxxMachs (const char**)NULL
8728  *  content selection pattern - do fix if pattern found
8729  */
8730 tSCC zSuse_Linux_Vt_CxxSelect0[] =
8731        "^[ \t]*unsigned int new;";
8733 #define    SUSE_LINUX_VT_CXX_TEST_CT  1
8734 static tTestDesc aSuse_Linux_Vt_CxxTests[] = {
8735   { TT_EGREP,    zSuse_Linux_Vt_CxxSelect0, (regex_t*)NULL }, };
8738  *  Fix Command Arguments for Suse_Linux_Vt_Cxx
8739  */
8740 static const char* apzSuse_Linux_Vt_CxxPatch[] = {
8741     "format",
8742     "unsigned int newev;",
8743     (char*)NULL };
8745 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8747  *  Description of Svr4_Disable_Opt fix
8748  */
8749 tSCC zSvr4_Disable_OptName[] =
8750      "svr4_disable_opt";
8753  *  File name selection pattern
8754  */
8755 tSCC zSvr4_Disable_OptList[] =
8756   "string.h\0";
8758  *  Machine/OS name selection pattern
8759  */
8760 #define apzSvr4_Disable_OptMachs (const char**)NULL
8763  *  content selection pattern - do fix if pattern found
8764  */
8765 tSCC zSvr4_Disable_OptSelect0[] =
8766        "#define.*__std_hdr_";
8768 #define    SVR4_DISABLE_OPT_TEST_CT  1
8769 static tTestDesc aSvr4_Disable_OptTests[] = {
8770   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
8773  *  Fix Command Arguments for Svr4_Disable_Opt
8774  */
8775 static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
8776     "-e", "/#define.*__std_hdr_/d",
8777     (char*)NULL };
8779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8781  *  Description of Svr4_Getcwd fix
8782  */
8783 tSCC zSvr4_GetcwdName[] =
8784      "svr4_getcwd";
8787  *  File name selection pattern
8788  */
8789 tSCC zSvr4_GetcwdList[] =
8790   "stdlib.h\0unistd.h\0prototypes.h\0";
8792  *  Machine/OS name selection pattern
8793  */
8794 #define apzSvr4_GetcwdMachs (const char**)NULL
8797  *  content selection pattern - do fix if pattern found
8798  */
8799 tSCC zSvr4_GetcwdSelect0[] =
8800        "getcwd\\(char \\*, int\\)";
8802 #define    SVR4_GETCWD_TEST_CT  1
8803 static tTestDesc aSvr4_GetcwdTests[] = {
8804   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
8807  *  Fix Command Arguments for Svr4_Getcwd
8808  */
8809 static const char* apzSvr4_GetcwdPatch[] = {
8810     "format",
8811     "getcwd(char *, size_t)",
8812     (char*)NULL };
8814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8816  *  Description of Svr4_Profil fix
8817  */
8818 tSCC zSvr4_ProfilName[] =
8819      "svr4_profil";
8822  *  File name selection pattern
8823  */
8824 tSCC zSvr4_ProfilList[] =
8825   "stdlib.h\0unistd.h\0";
8827  *  Machine/OS name selection pattern
8828  */
8829 #define apzSvr4_ProfilMachs (const char**)NULL
8832  *  content selection pattern - do fix if pattern found
8833  */
8834 tSCC zSvr4_ProfilSelect0[] =
8835        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
8837 #define    SVR4_PROFIL_TEST_CT  1
8838 static tTestDesc aSvr4_ProfilTests[] = {
8839   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
8842  *  Fix Command Arguments for Svr4_Profil
8843  */
8844 static const char* apzSvr4_ProfilPatch[] = {
8845     "format",
8846     "profil(unsigned short *, size_t, int, unsigned int)",
8847     (char*)NULL };
8849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8851  *  Description of Svr4_Sighandler_Type fix
8852  */
8853 tSCC zSvr4_Sighandler_TypeName[] =
8854      "svr4_sighandler_type";
8857  *  File name selection pattern
8858  */
8859 tSCC zSvr4_Sighandler_TypeList[] =
8860   "sys/signal.h\0";
8862  *  Machine/OS name selection pattern
8863  */
8864 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
8867  *  content selection pattern - do fix if pattern found
8868  */
8869 tSCC zSvr4_Sighandler_TypeSelect0[] =
8870        "void *\\(\\*\\)\\(\\)";
8872 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
8873 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
8874   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
8877  *  Fix Command Arguments for Svr4_Sighandler_Type
8878  */
8879 static const char* apzSvr4_Sighandler_TypePatch[] = {
8880     "format",
8881     "void (*)(int)",
8882     (char*)NULL };
8884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8886  *  Description of Svr4_Undeclared_Getrnge fix
8887  */
8888 tSCC zSvr4_Undeclared_GetrngeName[] =
8889      "svr4_undeclared_getrnge";
8892  *  File name selection pattern
8893  */
8894 tSCC zSvr4_Undeclared_GetrngeList[] =
8895   "regexp.h\0";
8897  *  Machine/OS name selection pattern
8898  */
8899 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
8902  *  content selection pattern - do fix if pattern found
8903  */
8904 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
8905        "getrnge";
8908  *  content bypass pattern - skip fix if pattern found
8909  */
8910 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
8911        "static void getrnge";
8913 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
8914 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
8915   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
8916   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
8919  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
8920  */
8921 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
8922     "format",
8923     "%0\n\
8924 static int getrnge ();",
8925     "^static int[ \t]+size;",
8926     (char*)NULL };
8928 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8930  *  Description of Sysv68_String fix
8931  */
8932 tSCC zSysv68_StringName[] =
8933      "sysv68_string";
8936  *  File name selection pattern
8937  */
8938 tSCC zSysv68_StringList[] =
8939   "testing.h\0string.h\0";
8941  *  Machine/OS name selection pattern
8942  */
8943 #define apzSysv68_StringMachs (const char**)NULL
8946  *  content bypass pattern - skip fix if pattern found
8947  */
8948 tSCC zSysv68_StringBypass0[] =
8949        "_CLASSIC_ANSI_TYPES";
8951 #define    SYSV68_STRING_TEST_CT  1
8952 static tTestDesc aSysv68_StringTests[] = {
8953   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
8956  *  Fix Command Arguments for Sysv68_String
8957  */
8958 static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
8959     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
8960     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
8961     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
8962     "-e", "/^extern char$/N",
8963     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
8964     "-e", "/^extern int$/N",
8965     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
8966     "-e", "/^\tstrncmp(),$/N",
8967     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
8968 extern unsigned int\\\n\
8969 \\2/",
8970     (char*)NULL };
8972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8974  *  Description of Sysz_Stdlib_For_Sun fix
8975  */
8976 tSCC zSysz_Stdlib_For_SunName[] =
8977      "sysz_stdlib_for_sun";
8980  *  File name selection pattern
8981  */
8982 tSCC zSysz_Stdlib_For_SunList[] =
8983   "stdlib.h\0";
8985  *  Machine/OS name selection pattern
8986  */
8987 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
8990  *  content selection pattern - do fix if pattern found
8991  */
8992 tSCC zSysz_Stdlib_For_SunSelect0[] =
8993        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
8996  *  content bypass pattern - skip fix if pattern found
8997  */
8998 tSCC zSysz_Stdlib_For_SunBypass0[] =
8999        "_CLASSIC_ANSI_TYPES";
9001 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
9002 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
9003   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
9004   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
9007  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
9008  */
9009 static const char* apzSysz_Stdlib_For_SunPatch[] = {
9010     "format",
9011     "void *\t%1(",
9012     (char*)NULL };
9014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9016  *  Description of Thread_Keyword fix
9017  */
9018 tSCC zThread_KeywordName[] =
9019      "thread_keyword";
9022  *  File name selection pattern
9023  */
9024 tSCC zThread_KeywordList[] =
9025   "pthread.h\0bits/sigthread.h\0*/bits/sigthread.h\0";
9027  *  Machine/OS name selection pattern
9028  */
9029 #define apzThread_KeywordMachs (const char**)NULL
9032  *  content selection pattern - do fix if pattern found
9033  */
9034 tSCC zThread_KeywordSelect0[] =
9035        "([* ])__thread([,)])";
9037 #define    THREAD_KEYWORD_TEST_CT  1
9038 static tTestDesc aThread_KeywordTests[] = {
9039   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
9042  *  Fix Command Arguments for Thread_Keyword
9043  */
9044 static const char* apzThread_KeywordPatch[] = {
9045     "format",
9046     "%1__thr%2",
9047     (char*)NULL };
9049 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9051  *  Description of Tinfo_Cplusplus fix
9052  */
9053 tSCC zTinfo_CplusplusName[] =
9054      "tinfo_cplusplus";
9057  *  File name selection pattern
9058  */
9059 tSCC zTinfo_CplusplusList[] =
9060   "tinfo.h\0";
9062  *  Machine/OS name selection pattern
9063  */
9064 #define apzTinfo_CplusplusMachs (const char**)NULL
9067  *  content selection pattern - do fix if pattern found
9068  */
9069 tSCC zTinfo_CplusplusSelect0[] =
9070        "[ \t]_cplusplus";
9072 #define    TINFO_CPLUSPLUS_TEST_CT  1
9073 static tTestDesc aTinfo_CplusplusTests[] = {
9074   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
9077  *  Fix Command Arguments for Tinfo_Cplusplus
9078  */
9079 static const char* apzTinfo_CplusplusPatch[] = {
9080     "format",
9081     " __cplusplus",
9082     (char*)NULL };
9084 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9086  *  Description of Ultrix_Const fix
9087  */
9088 tSCC zUltrix_ConstName[] =
9089      "ultrix_const";
9092  *  File name selection pattern
9093  */
9094 tSCC zUltrix_ConstList[] =
9095   "stdio.h\0";
9097  *  Machine/OS name selection pattern
9098  */
9099 #define apzUltrix_ConstMachs (const char**)NULL
9102  *  content selection pattern - do fix if pattern found
9103  */
9104 tSCC zUltrix_ConstSelect0[] =
9105        "perror\\( char \\*";
9107 #define    ULTRIX_CONST_TEST_CT  1
9108 static tTestDesc aUltrix_ConstTests[] = {
9109   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
9112  *  Fix Command Arguments for Ultrix_Const
9113  */
9114 static const char* apzUltrix_ConstPatch[] = {
9115     "format",
9116     "%1 const %3 *__",
9117     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
9118     (char*)NULL };
9120 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9122  *  Description of Ultrix_Const2 fix
9123  */
9124 tSCC zUltrix_Const2Name[] =
9125      "ultrix_const2";
9128  *  File name selection pattern
9129  */
9130 tSCC zUltrix_Const2List[] =
9131   "stdio.h\0";
9133  *  Machine/OS name selection pattern
9134  */
9135 #define apzUltrix_Const2Machs (const char**)NULL
9138  *  content selection pattern - do fix if pattern found
9139  */
9140 tSCC zUltrix_Const2Select0[] =
9141        "\\*fopen\\( char \\*";
9143 #define    ULTRIX_CONST2_TEST_CT  1
9144 static tTestDesc aUltrix_Const2Tests[] = {
9145   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
9148  *  Fix Command Arguments for Ultrix_Const2
9149  */
9150 static const char* apzUltrix_Const2Patch[] = {
9151     "format",
9152     "%1( const char *%3, const char *",
9153     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
9154     (char*)NULL };
9156 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9158  *  Description of Va_I960_Macro fix
9159  */
9160 tSCC zVa_I960_MacroName[] =
9161      "va_i960_macro";
9164  *  File name selection pattern
9165  */
9166 tSCC zVa_I960_MacroList[] =
9167   "arch/i960/archI960.h\0";
9169  *  Machine/OS name selection pattern
9170  */
9171 #define apzVa_I960_MacroMachs (const char**)NULL
9174  *  content selection pattern - do fix if pattern found
9175  */
9176 tSCC zVa_I960_MacroSelect0[] =
9177        "__(vsiz|vali|vpad|alignof__)";
9179 #define    VA_I960_MACRO_TEST_CT  1
9180 static tTestDesc aVa_I960_MacroTests[] = {
9181   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
9184  *  Fix Command Arguments for Va_I960_Macro
9185  */
9186 static const char* apzVa_I960_MacroPatch[] = {
9187     "format",
9188     "__vx%1",
9189     (char*)NULL };
9191 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9193  *  Description of Vms_Add_Missing_Braces fix
9194  */
9195 tSCC zVms_Add_Missing_BracesName[] =
9196      "vms_add_missing_braces";
9199  *  File name selection pattern
9200  */
9201 tSCC zVms_Add_Missing_BracesList[] =
9202   "rtldef/signal.h\0";
9204  *  Machine/OS name selection pattern
9205  */
9206 tSCC* apzVms_Add_Missing_BracesMachs[] = {
9207         "*-*-*vms*",
9208         (const char*)NULL };
9211  *  content selection pattern - do fix if pattern found
9212  */
9213 tSCC zVms_Add_Missing_BracesSelect0[] =
9214        "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
9216 #define    VMS_ADD_MISSING_BRACES_TEST_CT  1
9217 static tTestDesc aVms_Add_Missing_BracesTests[] = {
9218   { TT_EGREP,    zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
9221  *  Fix Command Arguments for Vms_Add_Missing_Braces
9222  */
9223 static const char* apzVms_Add_Missing_BracesPatch[] = {
9224     "format",
9225     "%1 {%2} ",
9226     (char*)NULL };
9228 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9230  *  Description of Vms_Decc_Builtin fix
9231  */
9232 tSCC zVms_Decc_BuiltinName[] =
9233      "vms_decc_builtin";
9236  *  File name selection pattern
9237  */
9238 tSCC zVms_Decc_BuiltinList[] =
9239   "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
9241  *  Machine/OS name selection pattern
9242  */
9243 tSCC* apzVms_Decc_BuiltinMachs[] = {
9244         "*-*-*vms*",
9245         (const char*)NULL };
9248  *  content selection pattern - do fix if pattern found
9249  */
9250 tSCC zVms_Decc_BuiltinSelect0[] =
9251        "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
9253 #define    VMS_DECC_BUILTIN_TEST_CT  1
9254 static tTestDesc aVms_Decc_BuiltinTests[] = {
9255   { TT_EGREP,    zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
9258  *  Fix Command Arguments for Vms_Decc_Builtin
9259  */
9260 static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
9261     "-e", "s@__MEMSET@memset@",
9262     "-e", "s@__MEMMOVE@memmove@",
9263     "-e", "s@__MEMCPY@memcpy@",
9264     "-e", "s@__STRLEN@strlen@",
9265     "-e", "s@__STRCPY@strcpy@",
9266     (char*)NULL };
9268 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9270  *  Description of Vms_Define_Can_Use_Extern_Prefix fix
9271  */
9272 tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
9273      "vms_define_can_use_extern_prefix";
9276  *  File name selection pattern
9277  */
9278 tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
9279   "rtldef/decc$types.h\0";
9281  *  Machine/OS name selection pattern
9282  */
9283 tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
9284         "*-*-*vms*",
9285         (const char*)NULL };
9288  *  content selection pattern - do fix if pattern found
9289  */
9290 tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
9291        "#[ \t]*else\n\
9292 #[ \t]*if defined\\(__DECCXX\\)\n\
9293 #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
9295 #define    VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT  1
9296 static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
9297   { TT_EGREP,    zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
9300  *  Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
9301  */
9302 static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
9303     "format",
9304     "%0#    elif defined (__GNUC__)\n\
9305 #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
9306     (char*)NULL };
9308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9310  *  Description of Vms_Disable_Decc_String_Builtins fix
9311  */
9312 tSCC zVms_Disable_Decc_String_BuiltinsName[] =
9313      "vms_disable_decc_string_builtins";
9316  *  File name selection pattern
9317  */
9318 tSCC zVms_Disable_Decc_String_BuiltinsList[] =
9319   "rtldef/string.h\0";
9321  *  Machine/OS name selection pattern
9322  */
9323 tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
9324         "*-*-*vms*",
9325         (const char*)NULL };
9328  *  content selection pattern - do fix if pattern found
9329  */
9330 tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
9331        "#if !defined\\(__VAX\\)\n";
9333 #define    VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT  1
9334 static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
9335   { TT_EGREP,    zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
9338  *  Fix Command Arguments for Vms_Disable_Decc_String_Builtins
9339  */
9340 static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
9341     "format",
9342     "#if !defined(__VAX) && !defined(__GNUC__)\n",
9343     (char*)NULL };
9345 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9347  *  Description of Vms_Do_Not_Redeclare_Hostalias fix
9348  */
9349 tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
9350      "vms_do_not_redeclare_hostalias";
9353  *  File name selection pattern
9354  */
9355 tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
9356   "rtldef/resolv.h\0";
9358  *  Machine/OS name selection pattern
9359  */
9360 tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
9361         "*-*-*vms*",
9362         (const char*)NULL };
9365  *  content selection pattern - do fix if pattern found
9366  */
9367 tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
9368        "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
9369 (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
9371 #define    VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT  1
9372 static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
9373   { TT_EGREP,    zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
9376  *  Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
9377  */
9378 static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
9379     "format",
9380     "%1\n\
9381 /* %2 */",
9382     (char*)NULL };
9384 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9386  *  Description of Vms_Forward_Declare_Struct fix
9387  */
9388 tSCC zVms_Forward_Declare_StructName[] =
9389      "vms_forward_declare_struct";
9392  *  File name selection pattern
9393  */
9394 tSCC zVms_Forward_Declare_StructList[] =
9395   "rtldef/if.h\0";
9397  *  Machine/OS name selection pattern
9398  */
9399 tSCC* apzVms_Forward_Declare_StructMachs[] = {
9400         "*-*-*vms*",
9401         (const char*)NULL };
9404  *  content selection pattern - do fix if pattern found
9405  */
9406 tSCC zVms_Forward_Declare_StructSelect0[] =
9407        "(/\\* forward decls for C\\+\\+ \\*/\n\
9408 )#ifdef __cplusplus\n";
9410 #define    VMS_FORWARD_DECLARE_STRUCT_TEST_CT  1
9411 static tTestDesc aVms_Forward_Declare_StructTests[] = {
9412   { TT_EGREP,    zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
9415  *  Fix Command Arguments for Vms_Forward_Declare_Struct
9416  */
9417 static const char* apzVms_Forward_Declare_StructPatch[] = {
9418     "format",
9419     "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
9420     (char*)NULL };
9422 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9424  *  Description of Vms_No_64bit_Getopt fix
9425  */
9426 tSCC zVms_No_64bit_GetoptName[] =
9427      "vms_no_64bit_getopt";
9430  *  File name selection pattern
9431  */
9432 tSCC zVms_No_64bit_GetoptList[] =
9433   "rtldef/stdio.h\0rtldef/unistd.h\0";
9435  *  Machine/OS name selection pattern
9436  */
9437 tSCC* apzVms_No_64bit_GetoptMachs[] = {
9438         "*-*-*vms*",
9439         (const char*)NULL };
9442  *  content selection pattern - do fix if pattern found
9443  */
9444 tSCC zVms_No_64bit_GetoptSelect0[] =
9445        "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
9447 #define    VMS_NO_64BIT_GETOPT_TEST_CT  1
9448 static tTestDesc aVms_No_64bit_GetoptTests[] = {
9449   { TT_EGREP,    zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
9452  *  Fix Command Arguments for Vms_No_64bit_Getopt
9453  */
9454 static const char* apzVms_No_64bit_GetoptPatch[] = {
9455     "format",
9456     "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only.  */\n\
9457 %0#endif\n",
9458     (char*)NULL };
9460 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9462  *  Description of Vms_Use_Fast_Setjmp fix
9463  */
9464 tSCC zVms_Use_Fast_SetjmpName[] =
9465      "vms_use_fast_setjmp";
9468  *  File name selection pattern
9469  */
9470 tSCC zVms_Use_Fast_SetjmpList[] =
9471   "rtldef/setjmp.h\0";
9473  *  Machine/OS name selection pattern
9474  */
9475 tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
9476         "*-*-*vms*",
9477         (const char*)NULL };
9480  *  content selection pattern - do fix if pattern found
9481  */
9482 tSCC zVms_Use_Fast_SetjmpSelect0[] =
9483        "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
9485 #define    VMS_USE_FAST_SETJMP_TEST_CT  1
9486 static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
9487   { TT_EGREP,    zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
9490  *  Fix Command Arguments for Vms_Use_Fast_Setjmp
9491  */
9492 static const char* apzVms_Use_Fast_SetjmpPatch[] = {
9493     "format",
9494     "%0 defined (__GNUC__) ||",
9495     (char*)NULL };
9497 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9499  *  Description of Vms_Use_Pragma_Extern_Model fix
9500  */
9501 tSCC zVms_Use_Pragma_Extern_ModelName[] =
9502      "vms_use_pragma_extern_model";
9505  *  File name selection pattern
9506  */
9507 #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
9509  *  Machine/OS name selection pattern
9510  */
9511 tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
9512         "*-*-*vms*",
9513         (const char*)NULL };
9516  *  content selection pattern - do fix if pattern found
9517  */
9518 tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
9519        "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
9520 # pragma extern_model __save\n";
9522 #define    VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT  1
9523 static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
9524   { TT_EGREP,    zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
9527  *  Fix Command Arguments for Vms_Use_Pragma_Extern_Model
9528  */
9529 static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
9530     "format",
9531     "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
9532 # pragma extern_model __save\n",
9533     (char*)NULL };
9535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9537  *  Description of Vms_Use_Quoted_Include fix
9538  */
9539 tSCC zVms_Use_Quoted_IncludeName[] =
9540      "vms_use_quoted_include";
9543  *  File name selection pattern
9544  */
9545 tSCC zVms_Use_Quoted_IncludeList[] =
9546   "rtldef/wait.h\0starlet_c/pthread.h\0";
9548  *  Machine/OS name selection pattern
9549  */
9550 tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
9551         "*-*-*vms*",
9552         (const char*)NULL };
9555  *  content selection pattern - do fix if pattern found
9556  */
9557 tSCC zVms_Use_Quoted_IncludeSelect0[] =
9558        "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
9560 #define    VMS_USE_QUOTED_INCLUDE_TEST_CT  1
9561 static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
9562   { TT_EGREP,    zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
9565  *  Fix Command Arguments for Vms_Use_Quoted_Include
9566  */
9567 static const char* apzVms_Use_Quoted_IncludePatch[] = {
9568     "format",
9569     "%1<sys/%2.h>",
9570     (char*)NULL };
9572 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9574  *  Description of Void_Null fix
9575  */
9576 tSCC zVoid_NullName[] =
9577      "void_null";
9580  *  File name selection pattern
9581  */
9582 tSCC zVoid_NullList[] =
9583   "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";
9585  *  Machine/OS name selection pattern
9586  */
9587 #define apzVoid_NullMachs (const char**)NULL
9590  *  content selection pattern - do fix if pattern found
9591  */
9592 tSCC zVoid_NullSelect0[] =
9593        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
9596  *  content bypass pattern - skip fix if pattern found
9597  */
9598 tSCC zVoid_NullBypass0[] =
9599        "__cplusplus";
9600 tSCC zVoid_NullBypass1[] =
9601        "__null";
9603 #define    VOID_NULL_TEST_CT  3
9604 static tTestDesc aVoid_NullTests[] = {
9605   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
9606   { TT_NEGREP,   zVoid_NullBypass1, (regex_t*)NULL },
9607   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
9610  *  Fix Command Arguments for Void_Null
9611  */
9612 static const char* apzVoid_NullPatch[] = {
9613     "format",
9614     "#ifndef NULL\n\
9615 #ifdef __cplusplus\n\
9616 #ifdef __GNUG__\n\
9617 #define NULL __null\n\
9618 #else /* ! __GNUG__  */\n\
9619 #define NULL 0L\n\
9620 #endif /* __GNUG__  */\n\
9621 #else /* ! __cplusplus  */\n\
9622 #define NULL ((void *)0)\n\
9623 #endif /* __cplusplus  */\n\
9624 #endif /* !NULL  */",
9625     (char*)NULL };
9627 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9629  *  Description of Vxworks_Gcc_Problem fix
9630  */
9631 tSCC zVxworks_Gcc_ProblemName[] =
9632      "vxworks_gcc_problem";
9635  *  File name selection pattern
9636  */
9637 tSCC zVxworks_Gcc_ProblemList[] =
9638   "types/vxTypesBase.h\0";
9640  *  Machine/OS name selection pattern
9641  */
9642 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
9645  *  content selection pattern - do fix if pattern found
9646  */
9647 tSCC zVxworks_Gcc_ProblemSelect0[] =
9648        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
9650 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
9651 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
9652   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
9655  *  Fix Command Arguments for Vxworks_Gcc_Problem
9656  */
9657 static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
9658     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
9659     "-e", "/[ \t]size_t/i\\\n\
9660 #ifndef _GCC_SIZE_T\\\n\
9661 #define _GCC_SIZE_T\n",
9662     "-e", "/[ \t]size_t/a\\\n\
9663 #endif\n",
9664     "-e", "/[ \t]ptrdiff_t/i\\\n\
9665 #ifndef _GCC_PTRDIFF_T\\\n\
9666 #define _GCC_PTRDIFF_T\n",
9667     "-e", "/[ \t]ptrdiff_t/a\\\n\
9668 #endif\n",
9669     "-e", "/[ \t]wchar_t/i\\\n\
9670 #ifndef _GCC_WCHAR_T\\\n\
9671 #define _GCC_WCHAR_T\n",
9672     "-e", "/[ \t]wchar_t/a\\\n\
9673 #endif\n",
9674     (char*)NULL };
9676 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9678  *  Description of Vxworks_Ioctl_Macro fix
9679  */
9680 tSCC zVxworks_Ioctl_MacroName[] =
9681      "vxworks_ioctl_macro";
9684  *  File name selection pattern
9685  */
9686 tSCC zVxworks_Ioctl_MacroList[] =
9687   "ioLib.h\0";
9689  *  Machine/OS name selection pattern
9690  */
9691 tSCC* apzVxworks_Ioctl_MacroMachs[] = {
9692         "*-*-vxworks*",
9693         (const char*)NULL };
9694 #define VXWORKS_IOCTL_MACRO_TEST_CT  0
9695 #define aVxworks_Ioctl_MacroTests   (tTestDesc*)NULL
9698  *  Fix Command Arguments for Vxworks_Ioctl_Macro
9699  */
9700 static const char* apzVxworks_Ioctl_MacroPatch[] = {
9701     "format",
9702     "%0\n\
9703 #define ioctl(fd, func, arg) (ioctl)(fd, func, (int)(arg))\n",
9704     "extern[\t ]+int[\t ]+ioctl[\t ]*\\([\t ,[:alnum:]]*\\);",
9705     (char*)NULL };
9707 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9709  *  Description of Vxworks_Mkdir_Macro fix
9710  */
9711 tSCC zVxworks_Mkdir_MacroName[] =
9712      "vxworks_mkdir_macro";
9715  *  File name selection pattern
9716  */
9717 tSCC zVxworks_Mkdir_MacroList[] =
9718   "sys/stat.h\0";
9720  *  Machine/OS name selection pattern
9721  */
9722 tSCC* apzVxworks_Mkdir_MacroMachs[] = {
9723         "*-*-vxworks*",
9724         (const char*)NULL };
9725 #define VXWORKS_MKDIR_MACRO_TEST_CT  0
9726 #define aVxworks_Mkdir_MacroTests   (tTestDesc*)NULL
9729  *  Fix Command Arguments for Vxworks_Mkdir_Macro
9730  */
9731 static const char* apzVxworks_Mkdir_MacroPatch[] = {
9732     "format",
9733     "%0\n\
9734 #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir))\n",
9735     "extern[\t ]+STATUS[\t ]+mkdir[\t ]*\\([\t ]*const[\t ]+char[\t ]*\\*[\t ]*(|[_[:alpha:]][_[:alnum:]]*)\\)[\t ]*;",
9736     (char*)NULL };
9738 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9740  *  Description of Vxworks_Needs_Vxtypes fix
9741  */
9742 tSCC zVxworks_Needs_VxtypesName[] =
9743      "vxworks_needs_vxtypes";
9746  *  File name selection pattern
9747  */
9748 tSCC zVxworks_Needs_VxtypesList[] =
9749   "time.h\0";
9751  *  Machine/OS name selection pattern
9752  */
9753 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
9756  *  content selection pattern - do fix if pattern found
9757  */
9758 tSCC zVxworks_Needs_VxtypesSelect0[] =
9759        "uint_t([ \t]+_clocks_per_sec)";
9761 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
9762 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
9763   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
9766  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
9767  */
9768 static const char* apzVxworks_Needs_VxtypesPatch[] = {
9769     "format",
9770     "unsigned int%1",
9771     (char*)NULL };
9773 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9775  *  Description of Vxworks_Needs_Vxworks fix
9776  */
9777 tSCC zVxworks_Needs_VxworksName[] =
9778      "vxworks_needs_vxworks";
9781  *  File name selection pattern
9782  */
9783 tSCC zVxworks_Needs_VxworksList[] =
9784   "sys/stat.h\0";
9786  *  Machine/OS name selection pattern
9787  */
9788 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
9791  *  content selection pattern - do fix if pattern found
9792  */
9793 tSCC zVxworks_Needs_VxworksSelect0[] =
9794        "#[ \t]define[ \t]+__INCstath";
9797  *  perform the 'test' shell command - do fix on success
9798  */
9799 tSCC zVxworks_Needs_VxworksTest0[] =
9800        " -r types/vxTypesOld.h";
9801 tSCC zVxworks_Needs_VxworksTest1[] =
9802        " -n \"`egrep '#include' $file`\"";
9803 tSCC zVxworks_Needs_VxworksTest2[] =
9804        " -n \"`egrep ULONG $file`\"";
9806 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
9807 static tTestDesc aVxworks_Needs_VxworksTests[] = {
9808   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
9809   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
9810   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
9811   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
9814  *  Fix Command Arguments for Vxworks_Needs_Vxworks
9815  */
9816 static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
9817     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
9818 #include <types/vxTypesOld.h>\n",
9819     (char*)NULL };
9821 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9823  *  Description of Vxworks_Regs fix
9824  */
9825 tSCC zVxworks_RegsName[] =
9826      "vxworks_regs";
9829  *  File name selection pattern
9830  */
9831 #define zVxworks_RegsList (char*)NULL
9833  *  Machine/OS name selection pattern
9834  */
9835 tSCC* apzVxworks_RegsMachs[] = {
9836         "*-*-vxworks*",
9837         (const char*)NULL };
9840  *  content selection pattern - do fix if pattern found
9841  */
9842 tSCC zVxworks_RegsSelect0[] =
9843        "#[\t ]*include[\t ]+[<\"]regs.h[>\"]";
9845 #define    VXWORKS_REGS_TEST_CT  1
9846 static tTestDesc aVxworks_RegsTests[] = {
9847   { TT_EGREP,    zVxworks_RegsSelect0, (regex_t*)NULL }, };
9850  *  Fix Command Arguments for Vxworks_Regs
9851  */
9852 static const char* apzVxworks_RegsPatch[] = {
9853     "format",
9854     "#include <arch/../regs.h>",
9855     (char*)NULL };
9857 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9859  *  Description of Vxworks_Time fix
9860  */
9861 tSCC zVxworks_TimeName[] =
9862      "vxworks_time";
9865  *  File name selection pattern
9866  */
9867 tSCC zVxworks_TimeList[] =
9868   "time.h\0";
9870  *  Machine/OS name selection pattern
9871  */
9872 #define apzVxworks_TimeMachs (const char**)NULL
9875  *  content selection pattern - do fix if pattern found
9876  */
9877 tSCC zVxworks_TimeSelect0[] =
9878        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
9881  *  perform the 'test' shell command - do fix on success
9882  */
9883 tSCC zVxworks_TimeTest0[] =
9884        " -r vxWorks.h";
9886 #define    VXWORKS_TIME_TEST_CT  2
9887 static tTestDesc aVxworks_TimeTests[] = {
9888   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
9889   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
9892  *  Fix Command Arguments for Vxworks_Time
9893  */
9894 static const char* apzVxworks_TimePatch[] = {
9895     "format",
9896     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
9897 #ifdef __cplusplus\n\
9898 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
9899 #else\n\
9900 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
9901 #endif\n\
9902 #define __gcc_VOIDFUNCPTR_defined\n\
9903 #endif\n\
9904 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
9905     (char*)NULL };
9907 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9909  *  Description of Vxworks_Write_Const fix
9910  */
9911 tSCC zVxworks_Write_ConstName[] =
9912      "vxworks_write_const";
9915  *  File name selection pattern
9916  */
9917 tSCC zVxworks_Write_ConstList[] =
9918   "ioLib.h\0";
9920  *  Machine/OS name selection pattern
9921  */
9922 tSCC* apzVxworks_Write_ConstMachs[] = {
9923         "*-*-vxworks*",
9924         (const char*)NULL };
9925 #define VXWORKS_WRITE_CONST_TEST_CT  0
9926 #define aVxworks_Write_ConstTests   (tTestDesc*)NULL
9929  *  Fix Command Arguments for Vxworks_Write_Const
9930  */
9931 static const char* apzVxworks_Write_ConstPatch[] = {
9932     "format",
9933     "extern int  write (int, const char*, size_t);",
9934     "extern[\t ]+int[\t ]+write[\t ]*\\([\t ]*int[\t ]*,[\t ]*char[\t ]*\\*[\t ]*,[\t ]*size_t[\t ]*\\)[\t ]*;",
9935     (char*)NULL };
9937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9939  *  Description of Vxworks_Iolib_Include_Unistd fix
9940  */
9941 tSCC zVxworks_Iolib_Include_UnistdName[] =
9942      "vxworks_iolib_include_unistd";
9945  *  File name selection pattern
9946  */
9947 tSCC zVxworks_Iolib_Include_UnistdList[] =
9948   "ioLib.h\0";
9950  *  Machine/OS name selection pattern
9951  */
9952 tSCC* apzVxworks_Iolib_Include_UnistdMachs[] = {
9953         "*-*-vxworks*",
9954         (const char*)NULL };
9957  *  content selection pattern - do fix if pattern found
9958  */
9959 tSCC zVxworks_Iolib_Include_UnistdSelect0[] =
9960        "#include \"unistd.h\"";
9962 #define    VXWORKS_IOLIB_INCLUDE_UNISTD_TEST_CT  1
9963 static tTestDesc aVxworks_Iolib_Include_UnistdTests[] = {
9964   { TT_EGREP,    zVxworks_Iolib_Include_UnistdSelect0, (regex_t*)NULL }, };
9967  *  Fix Command Arguments for Vxworks_Iolib_Include_Unistd
9968  */
9969 static const char* apzVxworks_Iolib_Include_UnistdPatch[] = {
9970     "format",
9971     "#include <unistd.h>",
9972     (char*)NULL };
9974 /* * * * * * * * * * * * * * * * * * * * * * * * * *
9976  *  Description of X11_Class fix
9977  */
9978 tSCC zX11_ClassName[] =
9979      "x11_class";
9982  *  File name selection pattern
9983  */
9984 tSCC zX11_ClassList[] =
9985   "X11/ShellP.h\0";
9987  *  Machine/OS name selection pattern
9988  */
9989 #define apzX11_ClassMachs (const char**)NULL
9992  *  content selection pattern - do fix if pattern found
9993  */
9994 tSCC zX11_ClassSelect0[] =
9995        "^([ \t]*char \\*)class;(.*)";
9998  *  content bypass pattern - skip fix if pattern found
9999  */
10000 tSCC zX11_ClassBypass0[] =
10001        "__cplusplus";
10003 #define    X11_CLASS_TEST_CT  2
10004 static tTestDesc aX11_ClassTests[] = {
10005   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
10006   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
10009  *  Fix Command Arguments for X11_Class
10010  */
10011 static const char* apzX11_ClassPatch[] = {
10012     "format",
10013     "#ifdef __cplusplus\n\
10014 %1c_class;%2\n\
10015 #else\n\
10016 %1class;%2\n\
10017 #endif",
10018     (char*)NULL };
10020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10022  *  Description of X11_Class_Usage fix
10023  */
10024 tSCC zX11_Class_UsageName[] =
10025      "x11_class_usage";
10028  *  File name selection pattern
10029  */
10030 tSCC zX11_Class_UsageList[] =
10031   "Xm/BaseClassI.h\0";
10033  *  Machine/OS name selection pattern
10034  */
10035 #define apzX11_Class_UsageMachs (const char**)NULL
10038  *  content selection pattern - do fix if pattern found
10039  */
10040 tSCC zX11_Class_UsageSelect0[] =
10041        " class\\)";
10044  *  content bypass pattern - skip fix if pattern found
10045  */
10046 tSCC zX11_Class_UsageBypass0[] =
10047        "__cplusplus";
10049 #define    X11_CLASS_USAGE_TEST_CT  2
10050 static tTestDesc aX11_Class_UsageTests[] = {
10051   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
10052   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
10055  *  Fix Command Arguments for X11_Class_Usage
10056  */
10057 static const char* apzX11_Class_UsagePatch[] = {
10058     "format",
10059     " c_class)",
10060     (char*)NULL };
10062 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10064  *  Description of X11_New fix
10065  */
10066 tSCC zX11_NewName[] =
10067      "x11_new";
10070  *  File name selection pattern
10071  */
10072 tSCC zX11_NewList[] =
10073   "Xm/Traversal.h\0";
10075  *  Machine/OS name selection pattern
10076  */
10077 #define apzX11_NewMachs (const char**)NULL
10080  *  content bypass pattern - skip fix if pattern found
10081  */
10082 tSCC zX11_NewBypass0[] =
10083        "__cplusplus";
10085 #define    X11_NEW_TEST_CT  1
10086 static tTestDesc aX11_NewTests[] = {
10087   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
10090  *  Fix Command Arguments for X11_New
10091  */
10092 static const char* apzX11_NewPatch[] = { sed_cmd_z,
10093     "-e", "/Widget\told, new;/i\\\n\
10094 #ifdef __cplusplus\\\n\
10095 \\\tWidget\told, c_new;\\\n\
10096 #else\n",
10097     "-e", "/Widget\told, new;/a\\\n\
10098 #endif\n",
10099     "-e", "s/Widget new,/Widget c_new,/g",
10100     (char*)NULL };
10102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10104  *  Description of X11_Sprintf fix
10105  */
10106 tSCC zX11_SprintfName[] =
10107      "x11_sprintf";
10110  *  File name selection pattern
10111  */
10112 tSCC zX11_SprintfList[] =
10113   "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
10115  *  Machine/OS name selection pattern
10116  */
10117 #define apzX11_SprintfMachs (const char**)NULL
10120  *  content selection pattern - do fix if pattern found
10121  */
10122 tSCC zX11_SprintfSelect0[] =
10123        "^extern char \\*\tsprintf\\(\\);$";
10125 #define    X11_SPRINTF_TEST_CT  1
10126 static tTestDesc aX11_SprintfTests[] = {
10127   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
10130  *  Fix Command Arguments for X11_Sprintf
10131  */
10132 static const char* apzX11_SprintfPatch[] = {
10133     "format",
10134     "#ifndef __STDC__\n\
10135 %0\n\
10136 #endif /* !defined __STDC__ */",
10137     (char*)NULL };
10140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
10142  *  List of all fixes
10143  */
10144 #define REGEX_COUNT          288
10145 #define MACH_LIST_SIZE_LIMIT 187
10146 #define FIX_COUNT            250
10149  *  Enumerate the fixes
10150  */
10151 typedef enum {
10152     AAB_AIX_STDIO_FIXIDX,
10153     AAB_AIX_FCNTL_FIXIDX,
10154     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
10155     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
10156     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
10157     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
10158     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
10159     AAB_SUN_MEMCPY_FIXIDX,
10160     AAB_VXWORKS_ASSERT_FIXIDX,
10161     AAB_VXWORKS_REGS_VXTYPES_FIXIDX,
10162     AAB_VXWORKS_UNISTD_FIXIDX,
10163     AIX_ASSERT_FIXIDX,
10164     AIX_COMPLEX_FIXIDX,
10165     AIX_EXTERNC_FIXIDX,
10166     AIX_EXTERNCPP1_FIXIDX,
10167     AIX_EXTERNCPP2_FIXIDX,
10168     AIX_MALLOC_FIXIDX,
10169     AIX_NET_IF_ARP_FIXIDX,
10170     AIX_NULL_FIXIDX,
10171     AIX_ONCE_INIT_1_FIXIDX,
10172     AIX_ONCE_INIT_2_FIXIDX,
10173     AIX_MUTEX_INITIALIZER_1_FIXIDX,
10174     AIX_COND_INITIALIZER_1_FIXIDX,
10175     AIX_RWLOCK_INITIALIZER_1_FIXIDX,
10176     AIX_PTHREAD_FIXIDX,
10177     AIX_STDINT_1_FIXIDX,
10178     AIX_STDINT_2_FIXIDX,
10179     AIX_STDINT_3_FIXIDX,
10180     AIX_STDINT_4_FIXIDX,
10181     AIX_STDINT_5_FIXIDX,
10182     AIX_STDIO_INLINE_FIXIDX,
10183     AIX_STDLIB_MALLOC_FIXIDX,
10184     AIX_STDLIB_REALLOC_FIXIDX,
10185     AIX_STDLIB_CALLOC_FIXIDX,
10186     AIX_STDLIB_VALLOC_FIXIDX,
10187     AIX_STDLIB_VEC_MALLOC_FIXIDX,
10188     AIX_STDLIB_VEC_CALLOC_FIXIDX,
10189     AIX_STRTOF_CONST_FIXIDX,
10190     AIX_SYSMACHINE_FIXIDX,
10191     AIX_SYSWAIT_2_FIXIDX,
10192     AIX_VOLATILE_FIXIDX,
10193     ALPHA___ASSERT_FIXIDX,
10194     ALPHA_ASSERT_FIXIDX,
10195     ALPHA_GETOPT_FIXIDX,
10196     ALPHA_IF_SEMICOLON_FIXIDX,
10197     ALPHA_PARENS_FIXIDX,
10198     ALPHA_SBRK_FIXIDX,
10199     AVOID_BOOL_DEFINE_FIXIDX,
10200     AVOID_BOOL_TYPE_FIXIDX,
10201     AVOID_WCHAR_T_TYPE_FIXIDX,
10202     BAD_STRUCT_TERM_FIXIDX,
10203     BADQUOTE_FIXIDX,
10204     BROKEN_ASSERT_STDIO_FIXIDX,
10205     BROKEN_ASSERT_STDLIB_FIXIDX,
10206     BROKEN_CABS_FIXIDX,
10207     BROKEN_NAN_FIXIDX,
10208     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
10209     CTRL_QUOTES_DEF_FIXIDX,
10210     CTRL_QUOTES_USE_FIXIDX,
10211     CXX_UNREADY_FIXIDX,
10212     DARWIN_AVAILABILITYINTERNAL_FIXIDX,
10213     DARWIN_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
10214     DARWIN_EXTERNC_FIXIDX,
10215     DARWIN_GCC4_BREAKAGE_FIXIDX,
10216     DARWIN_LONGJMP_NORETURN_FIXIDX,
10217     DARWIN_OS_TRACE_1_FIXIDX,
10218     DARWIN_OS_TRACE_2_FIXIDX,
10219     DARWIN_OS_TRACE_3_FIXIDX,
10220     DARWIN_PRIVATE_EXTERN_FIXIDX,
10221     DARWIN_STDINT_1_FIXIDX,
10222     DARWIN_STDINT_2_FIXIDX,
10223     DARWIN_STDINT_3_FIXIDX,
10224     DARWIN_STDINT_4_FIXIDX,
10225     DARWIN_STDINT_5_FIXIDX,
10226     DARWIN_STDINT_6_FIXIDX,
10227     DARWIN_STDINT_7_FIXIDX,
10228     DEC_INTERN_ASM_FIXIDX,
10229     DJGPP_WCHAR_H_FIXIDX,
10230     ECD_CURSOR_FIXIDX,
10231     FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX,
10232     FERAISEEXCEPT_NOSSE_INVALID_FIXIDX,
10233     FREEBSD_GCC3_BREAKAGE_FIXIDX,
10234     FREEBSD_GCC4_BREAKAGE_FIXIDX,
10235     GLIBC_C99_INLINE_1_FIXIDX,
10236     GLIBC_C99_INLINE_1A_FIXIDX,
10237     GLIBC_C99_INLINE_2_FIXIDX,
10238     GLIBC_C99_INLINE_3_FIXIDX,
10239     GLIBC_C99_INLINE_4_FIXIDX,
10240     GLIBC_MUTEX_INIT_FIXIDX,
10241     GLIBC_STDINT_FIXIDX,
10242     GLIBC_STRNCPY_FIXIDX,
10243     GLIBC_TGMATH_FIXIDX,
10244     GNU_TYPES_FIXIDX,
10245     HP_INLINE_FIXIDX,
10246     HP_SYSFILE_FIXIDX,
10247     HPPA_HPUX_FP_MACROS_FIXIDX,
10248     HPUX10_CPP_POW_INLINE_FIXIDX,
10249     HPUX11_CPP_POW_INLINE_FIXIDX,
10250     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
10251     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
10252     HPUX10_STDIO_DECLARATIONS_FIXIDX,
10253     HPPA_HPUX11_ALLOCA_FIXIDX,
10254     HPUX11_ABS_FIXIDX,
10255     HPUX11_LWP_RWLOCK_VALID_FIXIDX,
10256     HPUX11_EXTERN_SENDFILE_FIXIDX,
10257     HPUX11_EXTERN_SENDPATH_FIXIDX,
10258     HPUX11_FABSF_FIXIDX,
10259     HPUX11_PTHREAD_POINTER_FIXIDX,
10260     HPUX11_PTHREAD_CONST_FIXIDX,
10261     HPUX11_SIZE_T_FIXIDX,
10262     HPUX11_SNPRINTF_FIXIDX,
10263     HPUX11_VSNPRINTF_FIXIDX,
10264     HPUX_VSSCANF_FIXIDX,
10265     HPUX8_BOGUS_INLINES_FIXIDX,
10266     HPUX_C99_INTPTR_FIXIDX,
10267     HPUX_C99_INTTYPES_FIXIDX,
10268     HPUX_C99_INTTYPES2_FIXIDX,
10269     HPUX_CTYPE_MACROS_FIXIDX,
10270     HPUX_EXTERN_ERRNO_FIXIDX,
10271     HPUX_HTONL_FIXIDX,
10272     HPUX_IMAGINARY_I_FIXIDX,
10273     HPUX_INTTYPE_INT8_T_FIXIDX,
10274     HPUX_LONG_DOUBLE_FIXIDX,
10275     HPUX_LONG_DOUBLE_2_FIXIDX,
10276     HPUX_PTHREAD_INITIALIZERS_FIXIDX,
10277     HPUX_SPU_INFO_FIXIDX,
10278     HPUX_STDINT_LEAST_FAST_FIXIDX,
10279     HPUX_LONGJMP_FIXIDX,
10280     HPUX_SYSTIME_FIXIDX,
10281     HUGE_VAL_HEX_FIXIDX,
10282     HUGE_VALF_HEX_FIXIDX,
10283     HUGE_VALL_HEX_FIXIDX,
10284     INT_ABORT_FREE_AND_EXIT_FIXIDX,
10285     IO_QUOTES_DEF_FIXIDX,
10286     IO_QUOTES_USE_FIXIDX,
10287     IP_MISSING_SEMI_FIXIDX,
10288     IRIX_LIMITS_CONST_FIXIDX,
10289     IRIX_STDIO_VA_LIST_FIXIDX,
10290     KANDR_CONCAT_FIXIDX,
10291     LINUX_IA64_UCONTEXT_FIXIDX,
10292     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
10293     LYNXOS_MISSING_PUTENV_FIXIDX,
10294     MACHINE_ANSI_H_VA_LIST_FIXIDX,
10295     MACHINE_NAME_FIXIDX,
10296     MATH_EXCEPTION_FIXIDX,
10297     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
10298     NESTED_AUTH_DES_FIXIDX,
10299     NETBSD_C99_INLINE_1_FIXIDX,
10300     NETBSD_C99_INLINE_2_FIXIDX,
10301     NETBSD_EXTRA_SEMICOLON_FIXIDX,
10302     NEWLIB_STDINT_1_FIXIDX,
10303     NEWLIB_STDINT_2_FIXIDX,
10304     NEXT_MATH_PREFIX_FIXIDX,
10305     NEXT_TEMPLATE_FIXIDX,
10306     NEXT_VOLITILE_FIXIDX,
10307     NEXT_WAIT_UNION_FIXIDX,
10308     NODEENT_SYNTAX_FIXIDX,
10309     OPENBSD_NULL_DEFINITION_FIXIDX,
10310     OBSTACK_LVALUE_CAST_FIXIDX,
10311     OPENBSD_VA_START_FIXIDX,
10312     OSF_NAMESPACE_A_FIXIDX,
10313     OSF_NAMESPACE_C_FIXIDX,
10314     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
10315     READ_RET_TYPE_FIXIDX,
10316     RPC_XDR_LVALUE_CAST_A_FIXIDX,
10317     RPC_XDR_LVALUE_CAST_B_FIXIDX,
10318     RS6000_DOUBLE_FIXIDX,
10319     RS6000_FCHMOD_FIXIDX,
10320     RS6000_PARAM_FIXIDX,
10321     SOLARIS___RESTRICT_FIXIDX,
10322     SOLARIS_COMPLEX_FIXIDX,
10323     SOLARIS_COMPLEX_CXX_FIXIDX,
10324     SOLARIS_CXX_LINKAGE_FIXIDX,
10325     SOLARIS_GETC_STRICT_STDC_FIXIDX,
10326     SOLARIS_GETS_C11_FIXIDX,
10327     SOLARIS_GETS_CXX14_FIXIDX,
10328     SOLARIS_INT_CONST_FIXIDX,
10329     SOLARIS_INT_LIMITS_1_FIXIDX,
10330     SOLARIS_INT_LIMITS_2_FIXIDX,
10331     SOLARIS_INT_LIMITS_3_FIXIDX,
10332     SOLARIS_MATH_1_FIXIDX,
10333     SOLARIS_MATH_10_FIXIDX,
10334     SOLARIS_MATH_2_FIXIDX,
10335     SOLARIS_MATH_3_FIXIDX,
10336     SOLARIS_MATH_4_FIXIDX,
10337     SOLARIS_MATH_8_FIXIDX,
10338     SOLARIS_MATH_9_FIXIDX,
10339     SOLARIS_MATH_11_FIXIDX,
10340     SOLARIS_MATH_12_FIXIDX,
10341     SOLARIS_ONCE_INIT_1_FIXIDX,
10342     SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
10343     SOLARIS_POW_INT_OVERLOAD_FIXIDX,
10344     SOLARIS_RWLOCK_INIT_1_FIXIDX,
10345     SOLARIS_STD___FILBUF_FIXIDX,
10346     SOLARIS_STD_GETS_CXX14_FIXIDX,
10347     SOLARIS_STDIO_TAG_FIXIDX,
10348     SOLARIS_STDLIB_NORETURN_FIXIDX,
10349     STATSSWTCH_FIXIDX,
10350     STDIO_STDARG_H_FIXIDX,
10351     STDIO_VA_LIST_FIXIDX,
10352     STDIO_VA_LIST_CLIENTS_FIXIDX,
10353     STRICT_ANSI_NOT_FIXIDX,
10354     STRICT_ANSI_NOT_CTD_FIXIDX,
10355     STRICT_ANSI_ONLY_FIXIDX,
10356     STRUCT_FILE_FIXIDX,
10357     STRUCT_SOCKADDR_FIXIDX,
10358     SUN_AUTH_PROTO_FIXIDX,
10359     SUN_BOGUS_IFDEF_FIXIDX,
10360     SUN_CATMACRO_FIXIDX,
10361     SUN_MALLOC_FIXIDX,
10362     SUN_RUSERS_SEMI_FIXIDX,
10363     SUN_SIGNAL_FIXIDX,
10364     SUNOS_STRLEN_FIXIDX,
10365     SUSE_LINUX_VT_CXX_FIXIDX,
10366     SVR4_DISABLE_OPT_FIXIDX,
10367     SVR4_GETCWD_FIXIDX,
10368     SVR4_PROFIL_FIXIDX,
10369     SVR4_SIGHANDLER_TYPE_FIXIDX,
10370     SVR4_UNDECLARED_GETRNGE_FIXIDX,
10371     SYSV68_STRING_FIXIDX,
10372     SYSZ_STDLIB_FOR_SUN_FIXIDX,
10373     THREAD_KEYWORD_FIXIDX,
10374     TINFO_CPLUSPLUS_FIXIDX,
10375     ULTRIX_CONST_FIXIDX,
10376     ULTRIX_CONST2_FIXIDX,
10377     VA_I960_MACRO_FIXIDX,
10378     VMS_ADD_MISSING_BRACES_FIXIDX,
10379     VMS_DECC_BUILTIN_FIXIDX,
10380     VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
10381     VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
10382     VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
10383     VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
10384     VMS_NO_64BIT_GETOPT_FIXIDX,
10385     VMS_USE_FAST_SETJMP_FIXIDX,
10386     VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
10387     VMS_USE_QUOTED_INCLUDE_FIXIDX,
10388     VOID_NULL_FIXIDX,
10389     VXWORKS_GCC_PROBLEM_FIXIDX,
10390     VXWORKS_IOCTL_MACRO_FIXIDX,
10391     VXWORKS_MKDIR_MACRO_FIXIDX,
10392     VXWORKS_NEEDS_VXTYPES_FIXIDX,
10393     VXWORKS_NEEDS_VXWORKS_FIXIDX,
10394     VXWORKS_REGS_FIXIDX,
10395     VXWORKS_TIME_FIXIDX,
10396     VXWORKS_WRITE_CONST_FIXIDX,
10397     VXWORKS_IOLIB_INCLUDE_UNISTD_FIXIDX,
10398     X11_CLASS_FIXIDX,
10399     X11_CLASS_USAGE_FIXIDX,
10400     X11_NEW_FIXIDX,
10401     X11_SPRINTF_FIXIDX
10402 } t_fixinc_idx;
10404 tFixDesc fixDescList[ FIX_COUNT ] = {
10405   {  zAab_Aix_StdioName,    zAab_Aix_StdioList,
10406      apzAab_Aix_StdioMachs,
10407      AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10408      aAab_Aix_StdioTests,   apzAab_Aix_StdioPatch, 0 },
10410   {  zAab_Aix_FcntlName,    zAab_Aix_FcntlList,
10411      apzAab_Aix_FcntlMachs,
10412      AAB_AIX_FCNTL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10413      aAab_Aix_FcntlTests,   apzAab_Aix_FcntlPatch, 0 },
10415   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
10416      apzAab_Darwin7_9_Long_Double_FuncsMachs,
10417      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10418      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
10420   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
10421      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
10422      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10423      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
10425   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
10426      apzAab_Fd_Zero_Gnu_Types_HMachs,
10427      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10428      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
10430   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
10431      apzAab_Fd_Zero_Selectbits_HMachs,
10432      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10433      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
10435   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
10436      apzAab_Solaris_Sys_Varargs_HMachs,
10437      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10438      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
10440   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
10441      apzAab_Sun_MemcpyMachs,
10442      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10443      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
10445   {  zAab_Vxworks_AssertName,    zAab_Vxworks_AssertList,
10446      apzAab_Vxworks_AssertMachs,
10447      AAB_VXWORKS_ASSERT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10448      aAab_Vxworks_AssertTests,   apzAab_Vxworks_AssertPatch, 0 },
10450   {  zAab_Vxworks_Regs_VxtypesName,    zAab_Vxworks_Regs_VxtypesList,
10451      apzAab_Vxworks_Regs_VxtypesMachs,
10452      AAB_VXWORKS_REGS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10453      aAab_Vxworks_Regs_VxtypesTests,   apzAab_Vxworks_Regs_VxtypesPatch, 0 },
10455   {  zAab_Vxworks_UnistdName,    zAab_Vxworks_UnistdList,
10456      apzAab_Vxworks_UnistdMachs,
10457      AAB_VXWORKS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
10458      aAab_Vxworks_UnistdTests,   apzAab_Vxworks_UnistdPatch, 0 },
10460   {  zAix_AssertName,    zAix_AssertList,
10461      apzAix_AssertMachs,
10462      AIX_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10463      aAix_AssertTests,   apzAix_AssertPatch, 0 },
10465   {  zAix_ComplexName,    zAix_ComplexList,
10466      apzAix_ComplexMachs,
10467      AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10468      aAix_ComplexTests,   apzAix_ComplexPatch, 0 },
10470   {  zAix_ExterncName,    zAix_ExterncList,
10471      apzAix_ExterncMachs,
10472      AIX_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10473      aAix_ExterncTests,   apzAix_ExterncPatch, 0 },
10475   {  zAix_Externcpp1Name,    zAix_Externcpp1List,
10476      apzAix_Externcpp1Machs,
10477      AIX_EXTERNCPP1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10478      aAix_Externcpp1Tests,   apzAix_Externcpp1Patch, 0 },
10480   {  zAix_Externcpp2Name,    zAix_Externcpp2List,
10481      apzAix_Externcpp2Machs,
10482      AIX_EXTERNCPP2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10483      aAix_Externcpp2Tests,   apzAix_Externcpp2Patch, 0 },
10485   {  zAix_MallocName,    zAix_MallocList,
10486      apzAix_MallocMachs,
10487      AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10488      aAix_MallocTests,   apzAix_MallocPatch, 0 },
10490   {  zAix_Net_If_ArpName,    zAix_Net_If_ArpList,
10491      apzAix_Net_If_ArpMachs,
10492      AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10493      aAix_Net_If_ArpTests,   apzAix_Net_If_ArpPatch, 0 },
10495   {  zAix_NullName,    zAix_NullList,
10496      apzAix_NullMachs,
10497      AIX_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10498      aAix_NullTests,   apzAix_NullPatch, 0 },
10500   {  zAix_Once_Init_1Name,    zAix_Once_Init_1List,
10501      apzAix_Once_Init_1Machs,
10502      AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10503      aAix_Once_Init_1Tests,   apzAix_Once_Init_1Patch, 0 },
10505   {  zAix_Once_Init_2Name,    zAix_Once_Init_2List,
10506      apzAix_Once_Init_2Machs,
10507      AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10508      aAix_Once_Init_2Tests,   apzAix_Once_Init_2Patch, 0 },
10510   {  zAix_Mutex_Initializer_1Name,    zAix_Mutex_Initializer_1List,
10511      apzAix_Mutex_Initializer_1Machs,
10512      AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10513      aAix_Mutex_Initializer_1Tests,   apzAix_Mutex_Initializer_1Patch, 0 },
10515   {  zAix_Cond_Initializer_1Name,    zAix_Cond_Initializer_1List,
10516      apzAix_Cond_Initializer_1Machs,
10517      AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10518      aAix_Cond_Initializer_1Tests,   apzAix_Cond_Initializer_1Patch, 0 },
10520   {  zAix_Rwlock_Initializer_1Name,    zAix_Rwlock_Initializer_1List,
10521      apzAix_Rwlock_Initializer_1Machs,
10522      AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10523      aAix_Rwlock_Initializer_1Tests,   apzAix_Rwlock_Initializer_1Patch, 0 },
10525   {  zAix_PthreadName,    zAix_PthreadList,
10526      apzAix_PthreadMachs,
10527      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10528      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
10530   {  zAix_Stdint_1Name,    zAix_Stdint_1List,
10531      apzAix_Stdint_1Machs,
10532      AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10533      aAix_Stdint_1Tests,   apzAix_Stdint_1Patch, 0 },
10535   {  zAix_Stdint_2Name,    zAix_Stdint_2List,
10536      apzAix_Stdint_2Machs,
10537      AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10538      aAix_Stdint_2Tests,   apzAix_Stdint_2Patch, 0 },
10540   {  zAix_Stdint_3Name,    zAix_Stdint_3List,
10541      apzAix_Stdint_3Machs,
10542      AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10543      aAix_Stdint_3Tests,   apzAix_Stdint_3Patch, 0 },
10545   {  zAix_Stdint_4Name,    zAix_Stdint_4List,
10546      apzAix_Stdint_4Machs,
10547      AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10548      aAix_Stdint_4Tests,   apzAix_Stdint_4Patch, 0 },
10550   {  zAix_Stdint_5Name,    zAix_Stdint_5List,
10551      apzAix_Stdint_5Machs,
10552      AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10553      aAix_Stdint_5Tests,   apzAix_Stdint_5Patch, 0 },
10555   {  zAix_Stdio_InlineName,    zAix_Stdio_InlineList,
10556      apzAix_Stdio_InlineMachs,
10557      AIX_STDIO_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10558      aAix_Stdio_InlineTests,   apzAix_Stdio_InlinePatch, 0 },
10560   {  zAix_Stdlib_MallocName,    zAix_Stdlib_MallocList,
10561      apzAix_Stdlib_MallocMachs,
10562      AIX_STDLIB_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10563      aAix_Stdlib_MallocTests,   apzAix_Stdlib_MallocPatch, 0 },
10565   {  zAix_Stdlib_ReallocName,    zAix_Stdlib_ReallocList,
10566      apzAix_Stdlib_ReallocMachs,
10567      AIX_STDLIB_REALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10568      aAix_Stdlib_ReallocTests,   apzAix_Stdlib_ReallocPatch, 0 },
10570   {  zAix_Stdlib_CallocName,    zAix_Stdlib_CallocList,
10571      apzAix_Stdlib_CallocMachs,
10572      AIX_STDLIB_CALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10573      aAix_Stdlib_CallocTests,   apzAix_Stdlib_CallocPatch, 0 },
10575   {  zAix_Stdlib_VallocName,    zAix_Stdlib_VallocList,
10576      apzAix_Stdlib_VallocMachs,
10577      AIX_STDLIB_VALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10578      aAix_Stdlib_VallocTests,   apzAix_Stdlib_VallocPatch, 0 },
10580   {  zAix_Stdlib_Vec_MallocName,    zAix_Stdlib_Vec_MallocList,
10581      apzAix_Stdlib_Vec_MallocMachs,
10582      AIX_STDLIB_VEC_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10583      aAix_Stdlib_Vec_MallocTests,   apzAix_Stdlib_Vec_MallocPatch, 0 },
10585   {  zAix_Stdlib_Vec_CallocName,    zAix_Stdlib_Vec_CallocList,
10586      apzAix_Stdlib_Vec_CallocMachs,
10587      AIX_STDLIB_VEC_CALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10588      aAix_Stdlib_Vec_CallocTests,   apzAix_Stdlib_Vec_CallocPatch, 0 },
10590   {  zAix_Strtof_ConstName,    zAix_Strtof_ConstList,
10591      apzAix_Strtof_ConstMachs,
10592      AIX_STRTOF_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10593      aAix_Strtof_ConstTests,   apzAix_Strtof_ConstPatch, 0 },
10595   {  zAix_SysmachineName,    zAix_SysmachineList,
10596      apzAix_SysmachineMachs,
10597      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10598      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
10600   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
10601      apzAix_Syswait_2Machs,
10602      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10603      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
10605   {  zAix_VolatileName,    zAix_VolatileList,
10606      apzAix_VolatileMachs,
10607      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10608      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
10610   {  zAlpha___AssertName,    zAlpha___AssertList,
10611      apzAlpha___AssertMachs,
10612      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10613      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
10615   {  zAlpha_AssertName,    zAlpha_AssertList,
10616      apzAlpha_AssertMachs,
10617      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10618      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
10620   {  zAlpha_GetoptName,    zAlpha_GetoptList,
10621      apzAlpha_GetoptMachs,
10622      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10623      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
10625   {  zAlpha_If_SemicolonName,    zAlpha_If_SemicolonList,
10626      apzAlpha_If_SemicolonMachs,
10627      ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10628      aAlpha_If_SemicolonTests,   apzAlpha_If_SemicolonPatch, 0 },
10630   {  zAlpha_ParensName,    zAlpha_ParensList,
10631      apzAlpha_ParensMachs,
10632      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10633      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
10635   {  zAlpha_SbrkName,    zAlpha_SbrkList,
10636      apzAlpha_SbrkMachs,
10637      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10638      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
10640   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
10641      apzAvoid_Bool_DefineMachs,
10642      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10643      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
10645   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
10646      apzAvoid_Bool_TypeMachs,
10647      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10648      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
10650   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
10651      apzAvoid_Wchar_T_TypeMachs,
10652      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10653      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
10655   {  zBad_Struct_TermName,    zBad_Struct_TermList,
10656      apzBad_Struct_TermMachs,
10657      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10658      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
10660   {  zBadquoteName,    zBadquoteList,
10661      apzBadquoteMachs,
10662      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10663      aBadquoteTests,   apzBadquotePatch, 0 },
10665   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
10666      apzBroken_Assert_StdioMachs,
10667      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10668      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
10670   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
10671      apzBroken_Assert_StdlibMachs,
10672      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10673      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
10675   {  zBroken_CabsName,    zBroken_CabsList,
10676      apzBroken_CabsMachs,
10677      BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
10678      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
10680   {  zBroken_NanName,    zBroken_NanList,
10681      apzBroken_NanMachs,
10682      BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10683      aBroken_NanTests,   apzBroken_NanPatch, 0 },
10685   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
10686      apzBsd_Stdio_Attrs_ConflictMachs,
10687      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10688      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
10690   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
10691      apzCtrl_Quotes_DefMachs,
10692      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10693      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
10695   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
10696      apzCtrl_Quotes_UseMachs,
10697      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10698      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
10700   {  zCxx_UnreadyName,    zCxx_UnreadyList,
10701      apzCxx_UnreadyMachs,
10702      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10703      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
10705   {  zDarwin_AvailabilityinternalName,    zDarwin_AvailabilityinternalList,
10706      apzDarwin_AvailabilityinternalMachs,
10707      DARWIN_AVAILABILITYINTERNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10708      aDarwin_AvailabilityinternalTests,   apzDarwin_AvailabilityinternalPatch, 0 },
10710   {  zDarwin_9_Long_Double_Funcs_2Name,    zDarwin_9_Long_Double_Funcs_2List,
10711      apzDarwin_9_Long_Double_Funcs_2Machs,
10712      DARWIN_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10713      aDarwin_9_Long_Double_Funcs_2Tests,   apzDarwin_9_Long_Double_Funcs_2Patch, 0 },
10715   {  zDarwin_ExterncName,    zDarwin_ExterncList,
10716      apzDarwin_ExterncMachs,
10717      DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10718      aDarwin_ExterncTests,   apzDarwin_ExterncPatch, 0 },
10720   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
10721      apzDarwin_Gcc4_BreakageMachs,
10722      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10723      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
10725   {  zDarwin_Longjmp_NoreturnName,    zDarwin_Longjmp_NoreturnList,
10726      apzDarwin_Longjmp_NoreturnMachs,
10727      DARWIN_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10728      aDarwin_Longjmp_NoreturnTests,   apzDarwin_Longjmp_NoreturnPatch, 0 },
10730   {  zDarwin_Os_Trace_1Name,    zDarwin_Os_Trace_1List,
10731      apzDarwin_Os_Trace_1Machs,
10732      DARWIN_OS_TRACE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10733      aDarwin_Os_Trace_1Tests,   apzDarwin_Os_Trace_1Patch, 0 },
10735   {  zDarwin_Os_Trace_2Name,    zDarwin_Os_Trace_2List,
10736      apzDarwin_Os_Trace_2Machs,
10737      DARWIN_OS_TRACE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10738      aDarwin_Os_Trace_2Tests,   apzDarwin_Os_Trace_2Patch, 0 },
10740   {  zDarwin_Os_Trace_3Name,    zDarwin_Os_Trace_3List,
10741      apzDarwin_Os_Trace_3Machs,
10742      DARWIN_OS_TRACE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10743      aDarwin_Os_Trace_3Tests,   apzDarwin_Os_Trace_3Patch, 0 },
10745   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
10746      apzDarwin_Private_ExternMachs,
10747      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10748      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
10750   {  zDarwin_Stdint_1Name,    zDarwin_Stdint_1List,
10751      apzDarwin_Stdint_1Machs,
10752      DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10753      aDarwin_Stdint_1Tests,   apzDarwin_Stdint_1Patch, 0 },
10755   {  zDarwin_Stdint_2Name,    zDarwin_Stdint_2List,
10756      apzDarwin_Stdint_2Machs,
10757      DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10758      aDarwin_Stdint_2Tests,   apzDarwin_Stdint_2Patch, 0 },
10760   {  zDarwin_Stdint_3Name,    zDarwin_Stdint_3List,
10761      apzDarwin_Stdint_3Machs,
10762      DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10763      aDarwin_Stdint_3Tests,   apzDarwin_Stdint_3Patch, 0 },
10765   {  zDarwin_Stdint_4Name,    zDarwin_Stdint_4List,
10766      apzDarwin_Stdint_4Machs,
10767      DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10768      aDarwin_Stdint_4Tests,   apzDarwin_Stdint_4Patch, 0 },
10770   {  zDarwin_Stdint_5Name,    zDarwin_Stdint_5List,
10771      apzDarwin_Stdint_5Machs,
10772      DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10773      aDarwin_Stdint_5Tests,   apzDarwin_Stdint_5Patch, 0 },
10775   {  zDarwin_Stdint_6Name,    zDarwin_Stdint_6List,
10776      apzDarwin_Stdint_6Machs,
10777      DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10778      aDarwin_Stdint_6Tests,   apzDarwin_Stdint_6Patch, 0 },
10780   {  zDarwin_Stdint_7Name,    zDarwin_Stdint_7List,
10781      apzDarwin_Stdint_7Machs,
10782      DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10783      aDarwin_Stdint_7Tests,   apzDarwin_Stdint_7Patch, 0 },
10785   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
10786      apzDec_Intern_AsmMachs,
10787      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
10788      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
10790   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
10791      apzDjgpp_Wchar_HMachs,
10792      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10793      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
10795   {  zEcd_CursorName,    zEcd_CursorList,
10796      apzEcd_CursorMachs,
10797      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10798      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
10800   {  zFeraiseexcept_Nosse_DivbyzeroName,    zFeraiseexcept_Nosse_DivbyzeroList,
10801      apzFeraiseexcept_Nosse_DivbyzeroMachs,
10802      FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10803      aFeraiseexcept_Nosse_DivbyzeroTests,   apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 },
10805   {  zFeraiseexcept_Nosse_InvalidName,    zFeraiseexcept_Nosse_InvalidList,
10806      apzFeraiseexcept_Nosse_InvalidMachs,
10807      FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10808      aFeraiseexcept_Nosse_InvalidTests,   apzFeraiseexcept_Nosse_InvalidPatch, 0 },
10810   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
10811      apzFreebsd_Gcc3_BreakageMachs,
10812      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10813      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
10815   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
10816      apzFreebsd_Gcc4_BreakageMachs,
10817      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10818      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
10820   {  zGlibc_C99_Inline_1Name,    zGlibc_C99_Inline_1List,
10821      apzGlibc_C99_Inline_1Machs,
10822      GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10823      aGlibc_C99_Inline_1Tests,   apzGlibc_C99_Inline_1Patch, 0 },
10825   {  zGlibc_C99_Inline_1aName,    zGlibc_C99_Inline_1aList,
10826      apzGlibc_C99_Inline_1aMachs,
10827      GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10828      aGlibc_C99_Inline_1aTests,   apzGlibc_C99_Inline_1aPatch, 0 },
10830   {  zGlibc_C99_Inline_2Name,    zGlibc_C99_Inline_2List,
10831      apzGlibc_C99_Inline_2Machs,
10832      GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
10833      aGlibc_C99_Inline_2Tests,   apzGlibc_C99_Inline_2Patch, 0 },
10835   {  zGlibc_C99_Inline_3Name,    zGlibc_C99_Inline_3List,
10836      apzGlibc_C99_Inline_3Machs,
10837      GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10838      aGlibc_C99_Inline_3Tests,   apzGlibc_C99_Inline_3Patch, 0 },
10840   {  zGlibc_C99_Inline_4Name,    zGlibc_C99_Inline_4List,
10841      apzGlibc_C99_Inline_4Machs,
10842      GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10843      aGlibc_C99_Inline_4Tests,   apzGlibc_C99_Inline_4Patch, 0 },
10845   {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
10846      apzGlibc_Mutex_InitMachs,
10847      GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
10848      aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
10850   {  zGlibc_StdintName,    zGlibc_StdintList,
10851      apzGlibc_StdintMachs,
10852      GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10853      aGlibc_StdintTests,   apzGlibc_StdintPatch, 0 },
10855   {  zGlibc_StrncpyName,    zGlibc_StrncpyList,
10856      apzGlibc_StrncpyMachs,
10857      GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10858      aGlibc_StrncpyTests,   apzGlibc_StrncpyPatch, 0 },
10860   {  zGlibc_TgmathName,    zGlibc_TgmathList,
10861      apzGlibc_TgmathMachs,
10862      GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10863      aGlibc_TgmathTests,   apzGlibc_TgmathPatch, 0 },
10865   {  zGnu_TypesName,    zGnu_TypesList,
10866      apzGnu_TypesMachs,
10867      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
10868      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
10870   {  zHp_InlineName,    zHp_InlineList,
10871      apzHp_InlineMachs,
10872      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10873      aHp_InlineTests,   apzHp_InlinePatch, 0 },
10875   {  zHp_SysfileName,    zHp_SysfileList,
10876      apzHp_SysfileMachs,
10877      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10878      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
10880   {  zHppa_Hpux_Fp_MacrosName,    zHppa_Hpux_Fp_MacrosList,
10881      apzHppa_Hpux_Fp_MacrosMachs,
10882      HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10883      aHppa_Hpux_Fp_MacrosTests,   apzHppa_Hpux_Fp_MacrosPatch, 0 },
10885   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
10886      apzHpux10_Cpp_Pow_InlineMachs,
10887      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10888      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
10890   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
10891      apzHpux11_Cpp_Pow_InlineMachs,
10892      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10893      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
10895   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
10896      apzHpux10_Ctype_Declarations1Machs,
10897      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10898      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
10900   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
10901      apzHpux10_Ctype_Declarations2Machs,
10902      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10903      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
10905   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
10906      apzHpux10_Stdio_DeclarationsMachs,
10907      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10908      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
10910   {  zHppa_Hpux11_AllocaName,    zHppa_Hpux11_AllocaList,
10911      apzHppa_Hpux11_AllocaMachs,
10912      HPPA_HPUX11_ALLOCA_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10913      aHppa_Hpux11_AllocaTests,   apzHppa_Hpux11_AllocaPatch, 0 },
10915   {  zHpux11_AbsName,    zHpux11_AbsList,
10916      apzHpux11_AbsMachs,
10917      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10918      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
10920   {  zHpux11_Lwp_Rwlock_ValidName,    zHpux11_Lwp_Rwlock_ValidList,
10921      apzHpux11_Lwp_Rwlock_ValidMachs,
10922      HPUX11_LWP_RWLOCK_VALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10923      aHpux11_Lwp_Rwlock_ValidTests,   apzHpux11_Lwp_Rwlock_ValidPatch, 0 },
10925   {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
10926      apzHpux11_Extern_SendfileMachs,
10927      HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10928      aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
10930   {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
10931      apzHpux11_Extern_SendpathMachs,
10932      HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10933      aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
10935   {  zHpux11_FabsfName,    zHpux11_FabsfList,
10936      apzHpux11_FabsfMachs,
10937      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10938      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
10940   {  zHpux11_Pthread_PointerName,    zHpux11_Pthread_PointerList,
10941      apzHpux11_Pthread_PointerMachs,
10942      HPUX11_PTHREAD_POINTER_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10943      aHpux11_Pthread_PointerTests,   apzHpux11_Pthread_PointerPatch, 0 },
10945   {  zHpux11_Pthread_ConstName,    zHpux11_Pthread_ConstList,
10946      apzHpux11_Pthread_ConstMachs,
10947      HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10948      aHpux11_Pthread_ConstTests,   apzHpux11_Pthread_ConstPatch, 0 },
10950   {  zHpux11_Size_TName,    zHpux11_Size_TList,
10951      apzHpux11_Size_TMachs,
10952      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10953      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
10955   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
10956      apzHpux11_SnprintfMachs,
10957      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10958      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
10960   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
10961      apzHpux11_VsnprintfMachs,
10962      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10963      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
10965   {  zHpux_VsscanfName,    zHpux_VsscanfList,
10966      apzHpux_VsscanfMachs,
10967      HPUX_VSSCANF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10968      aHpux_VsscanfTests,   apzHpux_VsscanfPatch, 0 },
10970   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
10971      apzHpux8_Bogus_InlinesMachs,
10972      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
10973      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
10975   {  zHpux_C99_IntptrName,    zHpux_C99_IntptrList,
10976      apzHpux_C99_IntptrMachs,
10977      HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
10978      aHpux_C99_IntptrTests,   apzHpux_C99_IntptrPatch, 0 },
10980   {  zHpux_C99_InttypesName,    zHpux_C99_InttypesList,
10981      apzHpux_C99_InttypesMachs,
10982      HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
10983      aHpux_C99_InttypesTests,   apzHpux_C99_InttypesPatch, 0 },
10985   {  zHpux_C99_Inttypes2Name,    zHpux_C99_Inttypes2List,
10986      apzHpux_C99_Inttypes2Machs,
10987      HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
10988      aHpux_C99_Inttypes2Tests,   apzHpux_C99_Inttypes2Patch, 0 },
10990   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
10991      apzHpux_Ctype_MacrosMachs,
10992      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10993      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
10995   {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
10996      apzHpux_Extern_ErrnoMachs,
10997      HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10998      aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
11000   {  zHpux_HtonlName,    zHpux_HtonlList,
11001      apzHpux_HtonlMachs,
11002      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11003      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
11005   {  zHpux_Imaginary_IName,    zHpux_Imaginary_IList,
11006      apzHpux_Imaginary_IMachs,
11007      HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11008      aHpux_Imaginary_ITests,   apzHpux_Imaginary_IPatch, 0 },
11010   {  zHpux_Inttype_Int8_TName,    zHpux_Inttype_Int8_TList,
11011      apzHpux_Inttype_Int8_TMachs,
11012      HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11013      aHpux_Inttype_Int8_TTests,   apzHpux_Inttype_Int8_TPatch, 0 },
11015   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
11016      apzHpux_Long_DoubleMachs,
11017      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
11018      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
11020   {  zHpux_Long_Double_2Name,    zHpux_Long_Double_2List,
11021      apzHpux_Long_Double_2Machs,
11022      HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11023      aHpux_Long_Double_2Tests,   apzHpux_Long_Double_2Patch, 0 },
11025   {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
11026      apzHpux_Pthread_InitializersMachs,
11027      HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
11028      aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
11030   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
11031      apzHpux_Spu_InfoMachs,
11032      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11033      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
11035   {  zHpux_Stdint_Least_FastName,    zHpux_Stdint_Least_FastList,
11036      apzHpux_Stdint_Least_FastMachs,
11037      HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11038      aHpux_Stdint_Least_FastTests,   apzHpux_Stdint_Least_FastPatch, 0 },
11040   {  zHpux_LongjmpName,    zHpux_LongjmpList,
11041      apzHpux_LongjmpMachs,
11042      HPUX_LONGJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11043      aHpux_LongjmpTests,   apzHpux_LongjmpPatch, 0 },
11045   {  zHpux_SystimeName,    zHpux_SystimeList,
11046      apzHpux_SystimeMachs,
11047      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11048      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
11050   {  zHuge_Val_HexName,    zHuge_Val_HexList,
11051      apzHuge_Val_HexMachs,
11052      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11053      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
11055   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
11056      apzHuge_Valf_HexMachs,
11057      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11058      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
11060   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
11061      apzHuge_Vall_HexMachs,
11062      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11063      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
11065   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
11066      apzInt_Abort_Free_And_ExitMachs,
11067      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11068      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
11070   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
11071      apzIo_Quotes_DefMachs,
11072      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11073      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
11075   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
11076      apzIo_Quotes_UseMachs,
11077      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11078      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
11080   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
11081      apzIp_Missing_SemiMachs,
11082      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
11083      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
11085   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
11086      apzIrix_Limits_ConstMachs,
11087      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11088      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
11090   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
11091      apzIrix_Stdio_Va_ListMachs,
11092      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11093      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
11095   {  zKandr_ConcatName,    zKandr_ConcatList,
11096      apzKandr_ConcatMachs,
11097      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11098      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
11100   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
11101      apzLinux_Ia64_UcontextMachs,
11102      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11103      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
11105   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
11106      apzLynxos_No_Warning_In_Sys_Time_HMachs,
11107      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11108      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
11110   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
11111      apzLynxos_Missing_PutenvMachs,
11112      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11113      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
11115   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
11116      apzMachine_Ansi_H_Va_ListMachs,
11117      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11118      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
11120   {  zMachine_NameName,    zMachine_NameList,
11121      apzMachine_NameMachs,
11122      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11123      aMachine_NameTests,   apzMachine_NamePatch, 0 },
11125   {  zMath_ExceptionName,    zMath_ExceptionList,
11126      apzMath_ExceptionMachs,
11127      MATH_EXCEPTION_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
11128      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
11130   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
11131      apzMath_Huge_Val_From_Dbl_MaxMachs,
11132      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
11133      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
11135   {  zNested_Auth_DesName,    zNested_Auth_DesList,
11136      apzNested_Auth_DesMachs,
11137      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11138      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
11140   {  zNetbsd_C99_Inline_1Name,    zNetbsd_C99_Inline_1List,
11141      apzNetbsd_C99_Inline_1Machs,
11142      NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11143      aNetbsd_C99_Inline_1Tests,   apzNetbsd_C99_Inline_1Patch, 0 },
11145   {  zNetbsd_C99_Inline_2Name,    zNetbsd_C99_Inline_2List,
11146      apzNetbsd_C99_Inline_2Machs,
11147      NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11148      aNetbsd_C99_Inline_2Tests,   apzNetbsd_C99_Inline_2Patch, 0 },
11150   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
11151      apzNetbsd_Extra_SemicolonMachs,
11152      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11153      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
11155   {  zNewlib_Stdint_1Name,    zNewlib_Stdint_1List,
11156      apzNewlib_Stdint_1Machs,
11157      NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
11158      aNewlib_Stdint_1Tests,   apzNewlib_Stdint_1Patch, 0 },
11160   {  zNewlib_Stdint_2Name,    zNewlib_Stdint_2List,
11161      apzNewlib_Stdint_2Machs,
11162      NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11163      aNewlib_Stdint_2Tests,   apzNewlib_Stdint_2Patch, 0 },
11165   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
11166      apzNext_Math_PrefixMachs,
11167      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11168      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
11170   {  zNext_TemplateName,    zNext_TemplateList,
11171      apzNext_TemplateMachs,
11172      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11173      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
11175   {  zNext_VolitileName,    zNext_VolitileList,
11176      apzNext_VolitileMachs,
11177      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11178      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
11180   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
11181      apzNext_Wait_UnionMachs,
11182      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11183      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
11185   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
11186      apzNodeent_SyntaxMachs,
11187      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11188      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
11190   {  zOpenbsd_Null_DefinitionName,    zOpenbsd_Null_DefinitionList,
11191      apzOpenbsd_Null_DefinitionMachs,
11192      OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11193      aOpenbsd_Null_DefinitionTests,   apzOpenbsd_Null_DefinitionPatch, 0 },
11195   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
11196      apzObstack_Lvalue_CastMachs,
11197      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11198      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
11200   {  zOpenbsd_Va_StartName,    zOpenbsd_Va_StartList,
11201      apzOpenbsd_Va_StartMachs,
11202      OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11203      aOpenbsd_Va_StartTests,   apzOpenbsd_Va_StartPatch, 0 },
11205   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
11206      apzOsf_Namespace_AMachs,
11207      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11208      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
11210   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
11211      apzOsf_Namespace_CMachs,
11212      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11213      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
11215   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
11216      apzPthread_Incomplete_Struct_ArgumentMachs,
11217      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11218      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
11220   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
11221      apzRead_Ret_TypeMachs,
11222      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11223      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
11225   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
11226      apzRpc_Xdr_Lvalue_Cast_AMachs,
11227      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11228      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
11230   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
11231      apzRpc_Xdr_Lvalue_Cast_BMachs,
11232      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11233      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
11235   {  zRs6000_DoubleName,    zRs6000_DoubleList,
11236      apzRs6000_DoubleMachs,
11237      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11238      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
11240   {  zRs6000_FchmodName,    zRs6000_FchmodList,
11241      apzRs6000_FchmodMachs,
11242      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11243      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
11245   {  zRs6000_ParamName,    zRs6000_ParamList,
11246      apzRs6000_ParamMachs,
11247      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11248      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
11250   {  zSolaris___RestrictName,    zSolaris___RestrictList,
11251      apzSolaris___RestrictMachs,
11252      SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11253      aSolaris___RestrictTests,   apzSolaris___RestrictPatch, 0 },
11255   {  zSolaris_ComplexName,    zSolaris_ComplexList,
11256      apzSolaris_ComplexMachs,
11257      SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
11258      aSolaris_ComplexTests,   apzSolaris_ComplexPatch, 0 },
11260   {  zSolaris_Complex_CxxName,    zSolaris_Complex_CxxList,
11261      apzSolaris_Complex_CxxMachs,
11262      SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
11263      aSolaris_Complex_CxxTests,   apzSolaris_Complex_CxxPatch, 0 },
11265   {  zSolaris_Cxx_LinkageName,    zSolaris_Cxx_LinkageList,
11266      apzSolaris_Cxx_LinkageMachs,
11267      SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11268      aSolaris_Cxx_LinkageTests,   apzSolaris_Cxx_LinkagePatch, 0 },
11270   {  zSolaris_Getc_Strict_StdcName,    zSolaris_Getc_Strict_StdcList,
11271      apzSolaris_Getc_Strict_StdcMachs,
11272      SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11273      aSolaris_Getc_Strict_StdcTests,   apzSolaris_Getc_Strict_StdcPatch, 0 },
11275   {  zSolaris_Gets_C11Name,    zSolaris_Gets_C11List,
11276      apzSolaris_Gets_C11Machs,
11277      SOLARIS_GETS_C11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11278      aSolaris_Gets_C11Tests,   apzSolaris_Gets_C11Patch, 0 },
11280   {  zSolaris_Gets_Cxx14Name,    zSolaris_Gets_Cxx14List,
11281      apzSolaris_Gets_Cxx14Machs,
11282      SOLARIS_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11283      aSolaris_Gets_Cxx14Tests,   apzSolaris_Gets_Cxx14Patch, 0 },
11285   {  zSolaris_Int_ConstName,    zSolaris_Int_ConstList,
11286      apzSolaris_Int_ConstMachs,
11287      SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11288      aSolaris_Int_ConstTests,   apzSolaris_Int_ConstPatch, 0 },
11290   {  zSolaris_Int_Limits_1Name,    zSolaris_Int_Limits_1List,
11291      apzSolaris_Int_Limits_1Machs,
11292      SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11293      aSolaris_Int_Limits_1Tests,   apzSolaris_Int_Limits_1Patch, 0 },
11295   {  zSolaris_Int_Limits_2Name,    zSolaris_Int_Limits_2List,
11296      apzSolaris_Int_Limits_2Machs,
11297      SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11298      aSolaris_Int_Limits_2Tests,   apzSolaris_Int_Limits_2Patch, 0 },
11300   {  zSolaris_Int_Limits_3Name,    zSolaris_Int_Limits_3List,
11301      apzSolaris_Int_Limits_3Machs,
11302      SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11303      aSolaris_Int_Limits_3Tests,   apzSolaris_Int_Limits_3Patch, 0 },
11305   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
11306      apzSolaris_Math_1Machs,
11307      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11308      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
11310   {  zSolaris_Math_10Name,    zSolaris_Math_10List,
11311      apzSolaris_Math_10Machs,
11312      SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11313      aSolaris_Math_10Tests,   apzSolaris_Math_10Patch, 0 },
11315   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
11316      apzSolaris_Math_2Machs,
11317      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11318      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
11320   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
11321      apzSolaris_Math_3Machs,
11322      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11323      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
11325   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
11326      apzSolaris_Math_4Machs,
11327      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11328      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
11330   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
11331      apzSolaris_Math_8Machs,
11332      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11333      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
11335   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
11336      apzSolaris_Math_9Machs,
11337      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11338      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
11340   {  zSolaris_Math_11Name,    zSolaris_Math_11List,
11341      apzSolaris_Math_11Machs,
11342      SOLARIS_MATH_11_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11343      aSolaris_Math_11Tests,   apzSolaris_Math_11Patch, 0 },
11345   {  zSolaris_Math_12Name,    zSolaris_Math_12List,
11346      apzSolaris_Math_12Machs,
11347      SOLARIS_MATH_12_TEST_CT, FD_MACH_ONLY,
11348      aSolaris_Math_12Tests,   apzSolaris_Math_12Patch, 0 },
11350   {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
11351      apzSolaris_Once_Init_1Machs,
11352      SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11353      aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
11355   {  zSolaris_Posix_Spawn_RestrictName,    zSolaris_Posix_Spawn_RestrictList,
11356      apzSolaris_Posix_Spawn_RestrictMachs,
11357      SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11358      aSolaris_Posix_Spawn_RestrictTests,   apzSolaris_Posix_Spawn_RestrictPatch, 0 },
11360   {  zSolaris_Pow_Int_OverloadName,    zSolaris_Pow_Int_OverloadList,
11361      apzSolaris_Pow_Int_OverloadMachs,
11362      SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11363      aSolaris_Pow_Int_OverloadTests,   apzSolaris_Pow_Int_OverloadPatch, 0 },
11365   {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
11366      apzSolaris_Rwlock_Init_1Machs,
11367      SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11368      aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
11370   {  zSolaris_Std___FilbufName,    zSolaris_Std___FilbufList,
11371      apzSolaris_Std___FilbufMachs,
11372      SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11373      aSolaris_Std___FilbufTests,   apzSolaris_Std___FilbufPatch, 0 },
11375   {  zSolaris_Std_Gets_Cxx14Name,    zSolaris_Std_Gets_Cxx14List,
11376      apzSolaris_Std_Gets_Cxx14Machs,
11377      SOLARIS_STD_GETS_CXX14_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11378      aSolaris_Std_Gets_Cxx14Tests,   apzSolaris_Std_Gets_Cxx14Patch, 0 },
11380   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
11381      apzSolaris_Stdio_TagMachs,
11382      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
11383      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
11385   {  zSolaris_Stdlib_NoreturnName,    zSolaris_Stdlib_NoreturnList,
11386      apzSolaris_Stdlib_NoreturnMachs,
11387      SOLARIS_STDLIB_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11388      aSolaris_Stdlib_NoreturnTests,   apzSolaris_Stdlib_NoreturnPatch, 0 },
11390   {  zStatsswtchName,    zStatsswtchList,
11391      apzStatsswtchMachs,
11392      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11393      aStatsswtchTests,   apzStatsswtchPatch, 0 },
11395   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
11396      apzStdio_Stdarg_HMachs,
11397      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
11398      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
11400   {  zStdio_Va_ListName,    zStdio_Va_ListList,
11401      apzStdio_Va_ListMachs,
11402      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
11403      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
11405   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
11406      apzStdio_Va_List_ClientsMachs,
11407      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
11408      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
11410   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
11411      apzStrict_Ansi_NotMachs,
11412      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11413      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
11415   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
11416      apzStrict_Ansi_Not_CtdMachs,
11417      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11418      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
11420   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
11421      apzStrict_Ansi_OnlyMachs,
11422      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11423      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
11425   {  zStruct_FileName,    zStruct_FileList,
11426      apzStruct_FileMachs,
11427      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11428      aStruct_FileTests,   apzStruct_FilePatch, 0 },
11430   {  zStruct_SockaddrName,    zStruct_SockaddrList,
11431      apzStruct_SockaddrMachs,
11432      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11433      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
11435   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
11436      apzSun_Auth_ProtoMachs,
11437      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11438      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
11440   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
11441      apzSun_Bogus_IfdefMachs,
11442      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11443      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
11445   {  zSun_CatmacroName,    zSun_CatmacroList,
11446      apzSun_CatmacroMachs,
11447      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11448      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
11450   {  zSun_MallocName,    zSun_MallocList,
11451      apzSun_MallocMachs,
11452      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
11453      aSun_MallocTests,   apzSun_MallocPatch, 0 },
11455   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
11456      apzSun_Rusers_SemiMachs,
11457      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
11458      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
11460   {  zSun_SignalName,    zSun_SignalList,
11461      apzSun_SignalMachs,
11462      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11463      aSun_SignalTests,   apzSun_SignalPatch, 0 },
11465   {  zSunos_StrlenName,    zSunos_StrlenList,
11466      apzSunos_StrlenMachs,
11467      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11468      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
11470   {  zSuse_Linux_Vt_CxxName,    zSuse_Linux_Vt_CxxList,
11471      apzSuse_Linux_Vt_CxxMachs,
11472      SUSE_LINUX_VT_CXX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11473      aSuse_Linux_Vt_CxxTests,   apzSuse_Linux_Vt_CxxPatch, 0 },
11475   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
11476      apzSvr4_Disable_OptMachs,
11477      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
11478      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
11480   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
11481      apzSvr4_GetcwdMachs,
11482      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11483      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
11485   {  zSvr4_ProfilName,    zSvr4_ProfilList,
11486      apzSvr4_ProfilMachs,
11487      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11488      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
11490   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
11491      apzSvr4_Sighandler_TypeMachs,
11492      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11493      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
11495   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
11496      apzSvr4_Undeclared_GetrngeMachs,
11497      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11498      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
11500   {  zSysv68_StringName,    zSysv68_StringList,
11501      apzSysv68_StringMachs,
11502      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
11503      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
11505   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
11506      apzSysz_Stdlib_For_SunMachs,
11507      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11508      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
11510   {  zThread_KeywordName,    zThread_KeywordList,
11511      apzThread_KeywordMachs,
11512      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11513      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
11515   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
11516      apzTinfo_CplusplusMachs,
11517      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11518      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
11520   {  zUltrix_ConstName,    zUltrix_ConstList,
11521      apzUltrix_ConstMachs,
11522      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11523      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
11525   {  zUltrix_Const2Name,    zUltrix_Const2List,
11526      apzUltrix_Const2Machs,
11527      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11528      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
11530   {  zVa_I960_MacroName,    zVa_I960_MacroList,
11531      apzVa_I960_MacroMachs,
11532      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11533      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
11535   {  zVms_Add_Missing_BracesName,    zVms_Add_Missing_BracesList,
11536      apzVms_Add_Missing_BracesMachs,
11537      VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11538      aVms_Add_Missing_BracesTests,   apzVms_Add_Missing_BracesPatch, 0 },
11540   {  zVms_Decc_BuiltinName,    zVms_Decc_BuiltinList,
11541      apzVms_Decc_BuiltinMachs,
11542      VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
11543      aVms_Decc_BuiltinTests,   apzVms_Decc_BuiltinPatch, 0 },
11545   {  zVms_Define_Can_Use_Extern_PrefixName,    zVms_Define_Can_Use_Extern_PrefixList,
11546      apzVms_Define_Can_Use_Extern_PrefixMachs,
11547      VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11548      aVms_Define_Can_Use_Extern_PrefixTests,   apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
11550   {  zVms_Disable_Decc_String_BuiltinsName,    zVms_Disable_Decc_String_BuiltinsList,
11551      apzVms_Disable_Decc_String_BuiltinsMachs,
11552      VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11553      aVms_Disable_Decc_String_BuiltinsTests,   apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
11555   {  zVms_Do_Not_Redeclare_HostaliasName,    zVms_Do_Not_Redeclare_HostaliasList,
11556      apzVms_Do_Not_Redeclare_HostaliasMachs,
11557      VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11558      aVms_Do_Not_Redeclare_HostaliasTests,   apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
11560   {  zVms_Forward_Declare_StructName,    zVms_Forward_Declare_StructList,
11561      apzVms_Forward_Declare_StructMachs,
11562      VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11563      aVms_Forward_Declare_StructTests,   apzVms_Forward_Declare_StructPatch, 0 },
11565   {  zVms_No_64bit_GetoptName,    zVms_No_64bit_GetoptList,
11566      apzVms_No_64bit_GetoptMachs,
11567      VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11568      aVms_No_64bit_GetoptTests,   apzVms_No_64bit_GetoptPatch, 0 },
11570   {  zVms_Use_Fast_SetjmpName,    zVms_Use_Fast_SetjmpList,
11571      apzVms_Use_Fast_SetjmpMachs,
11572      VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11573      aVms_Use_Fast_SetjmpTests,   apzVms_Use_Fast_SetjmpPatch, 0 },
11575   {  zVms_Use_Pragma_Extern_ModelName,    zVms_Use_Pragma_Extern_ModelList,
11576      apzVms_Use_Pragma_Extern_ModelMachs,
11577      VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11578      aVms_Use_Pragma_Extern_ModelTests,   apzVms_Use_Pragma_Extern_ModelPatch, 0 },
11580   {  zVms_Use_Quoted_IncludeName,    zVms_Use_Quoted_IncludeList,
11581      apzVms_Use_Quoted_IncludeMachs,
11582      VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11583      aVms_Use_Quoted_IncludeTests,   apzVms_Use_Quoted_IncludePatch, 0 },
11585   {  zVoid_NullName,    zVoid_NullList,
11586      apzVoid_NullMachs,
11587      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11588      aVoid_NullTests,   apzVoid_NullPatch, 0 },
11590   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
11591      apzVxworks_Gcc_ProblemMachs,
11592      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
11593      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
11595   {  zVxworks_Ioctl_MacroName,    zVxworks_Ioctl_MacroList,
11596      apzVxworks_Ioctl_MacroMachs,
11597      VXWORKS_IOCTL_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11598      aVxworks_Ioctl_MacroTests,   apzVxworks_Ioctl_MacroPatch, 0 },
11600   {  zVxworks_Mkdir_MacroName,    zVxworks_Mkdir_MacroList,
11601      apzVxworks_Mkdir_MacroMachs,
11602      VXWORKS_MKDIR_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11603      aVxworks_Mkdir_MacroTests,   apzVxworks_Mkdir_MacroPatch, 0 },
11605   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
11606      apzVxworks_Needs_VxtypesMachs,
11607      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11608      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
11610   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
11611      apzVxworks_Needs_VxworksMachs,
11612      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
11613      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
11615   {  zVxworks_RegsName,    zVxworks_RegsList,
11616      apzVxworks_RegsMachs,
11617      VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11618      aVxworks_RegsTests,   apzVxworks_RegsPatch, 0 },
11620   {  zVxworks_TimeName,    zVxworks_TimeList,
11621      apzVxworks_TimeMachs,
11622      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11623      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
11625   {  zVxworks_Write_ConstName,    zVxworks_Write_ConstList,
11626      apzVxworks_Write_ConstMachs,
11627      VXWORKS_WRITE_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11628      aVxworks_Write_ConstTests,   apzVxworks_Write_ConstPatch, 0 },
11630   {  zVxworks_Iolib_Include_UnistdName,    zVxworks_Iolib_Include_UnistdList,
11631      apzVxworks_Iolib_Include_UnistdMachs,
11632      VXWORKS_IOLIB_INCLUDE_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11633      aVxworks_Iolib_Include_UnistdTests,   apzVxworks_Iolib_Include_UnistdPatch, 0 },
11635   {  zX11_ClassName,    zX11_ClassList,
11636      apzX11_ClassMachs,
11637      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11638      aX11_ClassTests,   apzX11_ClassPatch, 0 },
11640   {  zX11_Class_UsageName,    zX11_Class_UsageList,
11641      apzX11_Class_UsageMachs,
11642      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11643      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
11645   {  zX11_NewName,    zX11_NewList,
11646      apzX11_NewMachs,
11647      X11_NEW_TEST_CT, FD_MACH_ONLY,
11648      aX11_NewTests,   apzX11_NewPatch, 0 },
11650   {  zX11_SprintfName,    zX11_SprintfList,
11651      apzX11_SprintfMachs,
11652      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
11653      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }