Mark ChangeLog
[official-gcc.git] / fixincludes / fixincl.x
blob413eb45ba32cb55e91a1242cdf27884b2ee47cee
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5  * It has been AutoGen-ed  Tuesday February  6, 2007 at 06:51:14 PM CET
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Di 6. Feb 18:51:14 CET 2007
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 203 fixup descriptions.
19  *
20  * See README for more information.
21  *
22  *  inclhack copyright (c) 1998, 1999, 2000, 2001
23  *  The Free Software Foundation, Inc.
24  *
25   *  inclhack is free software.
26  *  
27  *  You may redistribute it and/or modify it under the terms of the
28  *  GNU General Public License, as published by the Free Software
29  *  Foundation; either version 2 of the License, or (at your option)
30  *  any later version.
31  *  
32  *  inclhack is distributed in the hope that it will be useful,
33  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
34  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
35  *  See the GNU General Public License for more details.
36  *  
37  *  You should have received a copy of the GNU General Public License
38  *  along with inclhack.  If not, write to:
39  *      The Free Software Foundation, Inc.,
40  *      51 Franklin Street, Fifth Floor
41  *      Boston, MA  02110-1301, USA.
42  */
44 /* * * * * * * * * * * * * * * * * * * * * * * * * *
45  *
46  *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
47  */
48 tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
49      "AAB_darwin7_9_long_double_funcs";
52  *  File name selection pattern
53  */
54 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
55   "|architecture/ppc/math.h|";
57  *  Machine/OS name selection pattern
58  */
59 tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
60         "*-*-darwin7.9*",
61         (const char*)NULL };
64  *  content bypass pattern - skip fix if pattern found
65  */
66 tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
67        "powl";
69 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
70 static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
71   { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
74  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
75  */
76 static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
77 "/* This file prototypes the long double functions available on Mac OS\n\
78    10.3.9.  */\n\
79 #ifndef __MATH__\n\
80 # undef __APPLE_CC__\n\
81 # define __APPLE_CC__  1345\n\
82 # include_next <architecture/ppc/math.h>\n\
83 # undef __APPLE_CC__\n\
84 # define __APPLE_CC__ 1\n\
85 # ifndef __LIBMLDBL_COMPAT\n\
86 #  ifdef __LONG_DOUBLE_128__\n\
87 #   define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
88 #  else\n\
89 #   define __LIBMLDBL_COMPAT(sym)\n\
90 #  endif /* __LONG_DOUBLE_128__ */\n\
91 # endif /* __LIBMLDBL_COMPAT */\n\
92 # ifdef __cplusplus\n\
93    extern \"C\" {\n\
94 # endif\n\
95   extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
96   extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
97   extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
98   extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
99   extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
100   extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
101   extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
102   extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
103   extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
104   extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
105   extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
106   extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
107   extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
108   extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
109   extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
110   extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
111   extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
112   extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
113   extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
114   extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
115   extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
116   extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
117   extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
118   extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
119   extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
120   extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
121   extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
122   extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
123   extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
124   extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
125   extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
126   extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
127   extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
128   extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
129   extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
130   extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
131   extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
132   extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
133   extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
134   extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
135   extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
136   extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
137   extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
138   extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
139   extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
140   extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
141   extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
142   extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
143   extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
144   extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
145   extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
146   extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
147   extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
148   extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
149   extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
150   extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
151   extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
152 # ifdef __cplusplus\n\
153    }\n\
154 # endif\n\
155 #endif /* __MATH__ */",
156     (char*)NULL };
158 /* * * * * * * * * * * * * * * * * * * * * * * * * *
160  *  Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
161  */
162 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
163      "AAB_darwin7_9_long_double_funcs_2";
166  *  File name selection pattern
167  */
168 tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
169   "|math.h|";
171  *  Machine/OS name selection pattern
172  */
173 tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
174         "*-*-darwin7.9*",
175         (const char*)NULL };
178  *  content selection pattern - do fix if pattern found
179  */
180 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
181        "#include[ \\t]+\\\"";
183 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
184 static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
185   { TT_EGREP,    zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
188  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
189  */
190 static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
191     "format",
192     "%1<%2.h>",
193     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
194     (char*)NULL };
196 /* * * * * * * * * * * * * * * * * * * * * * * * * *
198  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
199  */
200 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
201      "AAB_fd_zero_asm_posix_types_h";
204  *  File name selection pattern
205  */
206 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
207   "|asm/posix_types.h|";
209  *  Machine/OS name selection pattern
210  */
211 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
212         "i[34567]86-*-linux*",
213         (const char*)NULL };
216  *  content bypass pattern - skip fix if pattern found
217  */
218 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
219        "} while";
221 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
222 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
223   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
226  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
227  */
228 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
229 "/* This file fixes a bug in the __FD_ZERO macro\n\
230    for older versions of the Linux kernel. */\n\
231 #ifndef _POSIX_TYPES_H_WRAPPER\n\
232 #include <features.h>\n\
233  #include_next <asm/posix_types.h>\n\n\
234 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
235 #undef __FD_ZERO\n\
236 #define __FD_ZERO(fdsetp) \\\n\
237   do { \\\n\
238     int __d0, __d1; \\\n\
239 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
240 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
241 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
242   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
243   } while (0)\n\
244 #endif\n\n\
245 #define _POSIX_TYPES_H_WRAPPER\n\
246 #endif /* _POSIX_TYPES_H_WRAPPER */",
247     (char*)NULL };
249 /* * * * * * * * * * * * * * * * * * * * * * * * * *
251  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
252  */
253 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
254      "AAB_fd_zero_gnu_types_h";
257  *  File name selection pattern
258  */
259 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
260   "|gnu/types.h|";
262  *  Machine/OS name selection pattern
263  */
264 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
265         "i[34567]86-*-linux*",
266         (const char*)NULL };
267 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
268 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
271  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
272  */
273 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
274 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
275 #ifndef _TYPES_H_WRAPPER\n\
276 #include <features.h>\n\
277 #include_next <gnu/types.h>\n\n\
278 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
279 #undef __FD_ZERO\n\
280 # define __FD_ZERO(fdsetp) \\\n\
281   do { \\\n\
282     int __d0, __d1; \\\n\
283         __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
284         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
285         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
286           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
287   } while (0)\n\
288 #endif\n\n\
289 #define _TYPES_H_WRAPPER\n\
290 #endif /* _TYPES_H_WRAPPER */",
291     (char*)NULL };
293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
295  *  Description of Aab_Fd_Zero_Selectbits_H fix
296  */
297 tSCC zAab_Fd_Zero_Selectbits_HName[] =
298      "AAB_fd_zero_selectbits_h";
301  *  File name selection pattern
302  */
303 tSCC zAab_Fd_Zero_Selectbits_HList[] =
304   "|selectbits.h|";
306  *  Machine/OS name selection pattern
307  */
308 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
309         "i[34567]86-*-linux*",
310         (const char*)NULL };
311 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
312 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
315  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
316  */
317 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
318 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
319 #ifndef _SELECTBITS_H_WRAPPER\n\
320   #include <features.h>\n\
321   #include_next <selectbits.h>\n\n\
322   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
323   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
324   && __GLIBC_MINOR__ == 0\n\
325      #undef __FD_ZERO\n\
326      #define __FD_ZERO(fdsetp) \\\\\n\
327      do { \\\\\n\
328         int __d0, __d1; \\\\\n\
329       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
330                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
331                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
332                                         / sizeof (__fd_mask)), \\\\\n\
333                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
334                         : \"memory\"); \\\\\n\
335       } while (0)\n\
336   #endif\n\n\
337   #define _SELECTBITS_H_WRAPPER\n\
338 #endif /* _SELECTBITS_H_WRAPPER */",
339     (char*)NULL };
341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
343  *  Description of Aab_Solaris_Sys_Varargs_H fix
344  */
345 tSCC zAab_Solaris_Sys_Varargs_HName[] =
346      "AAB_solaris_sys_varargs_h";
349  *  File name selection pattern
350  */
351 tSCC zAab_Solaris_Sys_Varargs_HList[] =
352   "|sys/varargs.h|";
354  *  Machine/OS name selection pattern
355  */
356 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
357         "*-*-solaris*",
358         (const char*)NULL };
359 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
360 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
363  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
364  */
365 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
366 "#ifdef __STDC__\n\
367   #include <stdarg.h>\n\
368 #else\n\
369   #include <varargs.h>\n\
370 #endif",
371     (char*)NULL };
373 /* * * * * * * * * * * * * * * * * * * * * * * * * *
375  *  Description of Aab_Sun_Memcpy fix
376  */
377 tSCC zAab_Sun_MemcpyName[] =
378      "AAB_sun_memcpy";
381  *  File name selection pattern
382  */
383 tSCC zAab_Sun_MemcpyList[] =
384   "|memory.h|";
386  *  Machine/OS name selection pattern
387  */
388 #define apzAab_Sun_MemcpyMachs (const char**)NULL
391  *  content selection pattern - do fix if pattern found
392  */
393 tSCC zAab_Sun_MemcpySelect0[] =
394        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
396 #define    AAB_SUN_MEMCPY_TEST_CT  1
397 static tTestDesc aAab_Sun_MemcpyTests[] = {
398   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
401  *  Fix Command Arguments for Aab_Sun_Memcpy
402  */
403 static const char* apzAab_Sun_MemcpyPatch[] = {
404 "/* This file was generated by fixincludes */\n\
405 #ifndef __memory_h__\n\
406   #define __memory_h__\n\n\
407   #ifdef __STDC__\n\
408     extern void *memccpy();\n\
409     extern void *memchr();\n\
410     extern void *memcpy();\n\
411     extern void *memset();\n\
412   #else\n\
413     extern char *memccpy();\n\
414     extern char *memchr();\n\
415     extern char *memcpy();\n\
416     extern char *memset();\n\
417   #endif /* __STDC__ */\n\n\
418   extern int memcmp();\n\n\
419 #endif /* __memory_h__ */\n\
420 _EndOfHeader;\n\
421 };\n\n\n\
422 /*\n\
423  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
424  *  stdarg.h or varargs.h files as appropriate.\n\
425  */\n\
426 #ifdef SVR4\n\
427 fix = {\n\
428     hackname = AAB_svr4_no_varargs;\n\
429     files    = sys/varargs.h;\n\
430     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
431                \"#ifndef _SYS_VARARGS_H\\n\"\n\
432                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
433                \"#ifdef __STDC__\\n\"\n\
434                \"#include <stdarg.h>\\n\"\n\
435                \"#else\\n\"\n\
436                \"#include <varargs.h>\\n\"\n\
437                \"#endif\\n\\n\"\n\n\
438                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
439 };\n\
440 #endif\n\n\n\
441 /*\n\
442  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
443  *  optimized byteswapping.  (The original probably implemented some\n\
444  *  incompatible optimized byteswapping.)\n\
445  */\n\
446 fix = {\n\
447     hackname = AAB_svr4_replace_byteorder;\n\
448     mach     = \"*-*-sysv4*\";\n\
449     mach     = \"i[34567]86-*-sysv5*\";\n\
450     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
451     mach     = \"i[34567]86-*-udk*\";\n\
452     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
453     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
454     mach     = \"sparc-*-solaris2.[0-4]\";\n\
455     mach     = \"i[34567]86-sequent-ptx*\";\n\
456     files    = sys/byteorder.h;\n\
457     replace  = <<-  _EndOfHeader_\n\
458 #ifndef _SYS_BYTEORDER_H\n\
459 #define _SYS_BYTEORDER_H\n\n\
460 /* Functions to convert `short' and `long' quantities from host byte order\n\
461    to (internet) network byte order (i.e. big-endian).\n\n\
462    Written by Ron Guilmette (rfg@ncd.com).\n\n\
463    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
464    For big-endian machines these functions are essentially no-ops.\n\n\
465    For little-endian machines, we define the functions using specialized\n\
466    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
467 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
468   #error You lose!  This file is only useful with GNU compilers.\n\
469 #endif\n\n\
470 #ifndef __BYTE_ORDER__\n\
471   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
472      double underscores added at the front and back.  */\n\
473   #define __LITTLE_ENDIAN__   1234\n\
474   #define __BIG_ENDIAN__      4321\n\
475   #define __PDP_ENDIAN__      3412\n\
476 #endif\n\n\
477 #ifdef __STDC__\n\
478   static __inline__ unsigned long htonl (unsigned long);\n\
479   static __inline__ unsigned short htons (unsigned int);\n\
480   static __inline__ unsigned long ntohl (unsigned long);\n\
481   static __inline__ unsigned short ntohs (unsigned int);\n\
482 #endif /* defined (__STDC__) */\n\n\
483 #if defined (__i386__)\n\n\
484   #ifndef __BYTE_ORDER__\n\
485     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
486   #endif\n\n\
487   /* Convert a host long to a network long.  */\n\n\
488   /* We must use a new-style function definition, so that this will also\n\
489      be valid for C++.  */\n\
490   static __inline__ unsigned long\n\
491   htonl (unsigned long __arg)\n\
492   {\n\
493     register unsigned long __result;\n\n\
494     __asm__ (\"xchg%B0 %b0,%h0\n\
495   ror%L0 $16,%0\n\
496   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
497     return __result;\n\
498   }\n\n\
499   /* Convert a host short to a network short.  */\n\n\
500   static __inline__ unsigned short\n\
501   htons (unsigned int __arg)\n\
502   {\n\
503     register unsigned short __result;\n\n\
504     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
505     return __result;\n\
506   }\n\n\
507 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
508   #ifndef __BYTE_ORDER__\n\
509     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
510   #endif\n\n\
511   /* For other little-endian machines, using C code is just as efficient as\n\
512      using assembly code.  */\n\n\
513   /* Convert a host long to a network long.  */\n\n\
514   static __inline__ unsigned long\n\
515   htonl (unsigned long __arg)\n\
516   {\n\
517     register unsigned long __result;\n\n\
518     __result = (__arg >> 24) & 0x000000ff;\n\
519     __result |= (__arg >> 8) & 0x0000ff00;\n\
520     __result |= (__arg << 8) & 0x00ff0000;\n\
521     __result |= (__arg << 24) & 0xff000000;\n\
522     return __result;\n\
523   }\n\n\
524   /* Convert a host short to a network short.  */\n\n\
525   static __inline__ unsigned short\n\
526   htons (unsigned int __arg)\n\
527   {\n\
528     register unsigned short __result;\n\n\
529     __result = (__arg << 8) & 0xff00;\n\
530     __result |= (__arg >> 8) & 0x00ff;\n\
531     return __result;\n\
532   }\n\n\
533 #else /* must be a big-endian machine */\n\n\
534   #ifndef __BYTE_ORDER__\n\
535     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
536   #endif\n\n\
537   /* Convert a host long to a network long.  */\n\n\
538   static __inline__ unsigned long\n\
539   htonl (unsigned long __arg)\n\
540   {\n\
541     return __arg;\n\
542   }\n\n\
543   /* Convert a host short to a network short.  */\n\n\
544   static __inline__ unsigned short\n\
545   htons (unsigned int __arg)\n\
546   {\n\
547     return __arg;\n\
548   }\n\n\
549 #endif /* big-endian */\n\n\
550 /* Convert a network long to a host long.  */\n\n\
551 static __inline__ unsigned long\n\
552 ntohl (unsigned long __arg)\n\
553 {\n\
554   return htonl (__arg);\n\
555 }\n\n\
556 /* Convert a network short to a host short.  */\n\n\
557 static __inline__ unsigned short\n\
558 ntohs (unsigned int __arg)\n\
559 {\n\
560   return htons (__arg);\n\
561 }\n\
562 #endif",
563     (char*)NULL };
565 /* * * * * * * * * * * * * * * * * * * * * * * * * *
567  *  Description of Aab_Ultrix_Ansi_Compat fix
568  */
569 tSCC zAab_Ultrix_Ansi_CompatName[] =
570      "AAB_ultrix_ansi_compat";
573  *  File name selection pattern
574  */
575 tSCC zAab_Ultrix_Ansi_CompatList[] =
576   "|ansi_compat.h|";
578  *  Machine/OS name selection pattern
579  */
580 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
583  *  content selection pattern - do fix if pattern found
584  */
585 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
586        "ULTRIX";
588 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
589 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
590   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
593  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
594  */
595 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
596 "/* This file intentionally left blank.  */\n",
597     (char*)NULL };
599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
601  *  Description of Aab_Ultrix_Limits fix
602  */
603 tSCC zAab_Ultrix_LimitsName[] =
604      "AAB_ultrix_limits";
607  *  File name selection pattern
608  */
609 tSCC zAab_Ultrix_LimitsList[] =
610   "|limits.h|";
612  *  Machine/OS name selection pattern
613  */
614 tSCC* apzAab_Ultrix_LimitsMachs[] = {
615         "*-*-ultrix4.3",
616         (const char*)NULL };
617 #define AAB_ULTRIX_LIMITS_TEST_CT  0
618 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
621  *  Fix Command Arguments for Aab_Ultrix_Limits
622  */
623 static const char* apzAab_Ultrix_LimitsPatch[] = {
624 "#ifndef _LIMITS_INCLUDED\n\
625   #define _LIMITS_INCLUDED\n\
626   #include <sys/limits.h>\n\
627 #endif /* _LIMITS_INCLUDED */",
628     (char*)NULL };
630 /* * * * * * * * * * * * * * * * * * * * * * * * * *
632  *  Description of Aab_Ultrix_Memory fix
633  */
634 tSCC zAab_Ultrix_MemoryName[] =
635      "AAB_ultrix_memory";
638  *  File name selection pattern
639  */
640 tSCC zAab_Ultrix_MemoryList[] =
641   "|memory.h|";
643  *  Machine/OS name selection pattern
644  */
645 tSCC* apzAab_Ultrix_MemoryMachs[] = {
646         "*-*-ultrix4.3",
647         (const char*)NULL };
648 #define AAB_ULTRIX_MEMORY_TEST_CT  0
649 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
652  *  Fix Command Arguments for Aab_Ultrix_Memory
653  */
654 static const char* apzAab_Ultrix_MemoryPatch[] = {
655 "#ifndef _MEMORY_INCLUDED\n\
656   #define _MEMORY_INCLUDED\n\
657   #include <strings.h>\n\
658 #endif /* _MEMORY_INCLUDED */",
659     (char*)NULL };
661 /* * * * * * * * * * * * * * * * * * * * * * * * * *
663  *  Description of Aab_Ultrix_String fix
664  */
665 tSCC zAab_Ultrix_StringName[] =
666      "AAB_ultrix_string";
669  *  File name selection pattern
670  */
671 tSCC zAab_Ultrix_StringList[] =
672   "|string.h|";
674  *  Machine/OS name selection pattern
675  */
676 tSCC* apzAab_Ultrix_StringMachs[] = {
677         "*-*-ultrix4.3",
678         (const char*)NULL };
679 #define AAB_ULTRIX_STRING_TEST_CT  0
680 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
683  *  Fix Command Arguments for Aab_Ultrix_String
684  */
685 static const char* apzAab_Ultrix_StringPatch[] = {
686 "#ifndef _STRING_INCLUDED\n\
687   #define _STRING_INCLUDED\n\
688   #include <strings.h>\n\
689 #endif /* _STRING_INCLUDED */",
690     (char*)NULL };
692 /* * * * * * * * * * * * * * * * * * * * * * * * * *
694  *  Description of Aix_Pthread fix
695  */
696 tSCC zAix_PthreadName[] =
697      "aix_pthread";
700  *  File name selection pattern
701  */
702 tSCC zAix_PthreadList[] =
703   "|pthread.h|";
705  *  Machine/OS name selection pattern
706  */
707 #define apzAix_PthreadMachs (const char**)NULL
710  *  content selection pattern - do fix if pattern found
711  */
712 tSCC zAix_PthreadSelect0[] =
713        "(#define [A-Za-z_0-9]+)(\\\\\n\
714 [^A-Za-z_0-9 \t\n\
715 (])";
717 #define    AIX_PTHREAD_TEST_CT  1
718 static tTestDesc aAix_PthreadTests[] = {
719   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
722  *  Fix Command Arguments for Aix_Pthread
723  */
724 static const char* apzAix_PthreadPatch[] = {
725     "format",
726     "%1 %2",
727     (char*)NULL };
729 /* * * * * * * * * * * * * * * * * * * * * * * * * *
731  *  Description of Aix_Sysmachine fix
732  */
733 tSCC zAix_SysmachineName[] =
734      "aix_sysmachine";
737  *  File name selection pattern
738  */
739 tSCC zAix_SysmachineList[] =
740   "|sys/machine.h|";
742  *  Machine/OS name selection pattern
743  */
744 #define apzAix_SysmachineMachs (const char**)NULL
747  *  content selection pattern - do fix if pattern found
748  */
749 tSCC zAix_SysmachineSelect0[] =
750        "\\\\ +\n";
752 #define    AIX_SYSMACHINE_TEST_CT  1
753 static tTestDesc aAix_SysmachineTests[] = {
754   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
757  *  Fix Command Arguments for Aix_Sysmachine
758  */
759 static const char* apzAix_SysmachinePatch[] = {
760     "format",
761     "\\\n",
762     (char*)NULL };
764 /* * * * * * * * * * * * * * * * * * * * * * * * * *
766  *  Description of Aix_Syswait fix
767  */
768 tSCC zAix_SyswaitName[] =
769      "aix_syswait";
772  *  File name selection pattern
773  */
774 tSCC zAix_SyswaitList[] =
775   "|sys/wait.h|";
777  *  Machine/OS name selection pattern
778  */
779 #define apzAix_SyswaitMachs (const char**)NULL
782  *  content selection pattern - do fix if pattern found
783  */
784 tSCC zAix_SyswaitSelect0[] =
785        "^extern pid_t wait3\\(\\);\n";
786 tSCC zAix_SyswaitSelect1[] =
787        "bos325,";
789 #define    AIX_SYSWAIT_TEST_CT  2
790 static tTestDesc aAix_SyswaitTests[] = {
791   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
792   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
795  *  Fix Command Arguments for Aix_Syswait
796  */
797 static const char* apzAix_SyswaitPatch[] = {
798     "format",
799     "struct rusage;\n\
800 %0",
801     (char*)NULL };
803 /* * * * * * * * * * * * * * * * * * * * * * * * * *
805  *  Description of Aix_Syswait_2 fix
806  */
807 tSCC zAix_Syswait_2Name[] =
808      "aix_syswait_2";
811  *  File name selection pattern
812  */
813 tSCC zAix_Syswait_2List[] =
814   "|sys/wait.h|";
816  *  Machine/OS name selection pattern
817  */
818 #define apzAix_Syswait_2Machs (const char**)NULL
821  *  content selection pattern - do fix if pattern found
822  */
823 tSCC zAix_Syswait_2Select0[] =
824        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
826 #define    AIX_SYSWAIT_2_TEST_CT  1
827 static tTestDesc aAix_Syswait_2Tests[] = {
828   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
831  *  Fix Command Arguments for Aix_Syswait_2
832  */
833 static const char* apzAix_Syswait_2Patch[] = {
834     "format",
835     "? (int)%1",
836     (char*)NULL };
838 /* * * * * * * * * * * * * * * * * * * * * * * * * *
840  *  Description of Aix_Volatile fix
841  */
842 tSCC zAix_VolatileName[] =
843      "aix_volatile";
846  *  File name selection pattern
847  */
848 tSCC zAix_VolatileList[] =
849   "|sys/signal.h|";
851  *  Machine/OS name selection pattern
852  */
853 #define apzAix_VolatileMachs (const char**)NULL
856  *  content selection pattern - do fix if pattern found
857  */
858 tSCC zAix_VolatileSelect0[] =
859        "typedef volatile int sig_atomic_t";
861 #define    AIX_VOLATILE_TEST_CT  1
862 static tTestDesc aAix_VolatileTests[] = {
863   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
866  *  Fix Command Arguments for Aix_Volatile
867  */
868 static const char* apzAix_VolatilePatch[] = {
869     "format",
870     "typedef int sig_atomic_t",
871     (char*)NULL };
873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
875  *  Description of Alpha___Assert fix
876  */
877 tSCC zAlpha___AssertName[] =
878      "alpha___assert";
881  *  File name selection pattern
882  */
883 tSCC zAlpha___AssertList[] =
884   "|assert.h|";
886  *  Machine/OS name selection pattern
887  */
888 #define apzAlpha___AssertMachs (const char**)NULL
891  *  content selection pattern - do fix if pattern found
892  */
893 tSCC zAlpha___AssertSelect0[] =
894        "__assert\\(char \\*, char \\*, int\\)";
896 #define    ALPHA___ASSERT_TEST_CT  1
897 static tTestDesc aAlpha___AssertTests[] = {
898   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
901  *  Fix Command Arguments for Alpha___Assert
902  */
903 static const char* apzAlpha___AssertPatch[] = {
904     "format",
905     "__assert(const char *, const char *, int)",
906     (char*)NULL };
908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
910  *  Description of Alpha___Extern_Prefix fix
911  */
912 tSCC zAlpha___Extern_PrefixName[] =
913      "alpha___extern_prefix";
916  *  File name selection pattern
917  */
918 #define zAlpha___Extern_PrefixList (char*)NULL
920  *  Machine/OS name selection pattern
921  */
922 tSCC* apzAlpha___Extern_PrefixMachs[] = {
923         "alpha*-dec-osf*",
924         (const char*)NULL };
927  *  content selection pattern - do fix if pattern found
928  */
929 tSCC zAlpha___Extern_PrefixSelect0[] =
930        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
931 (#[ \t]*pragma[ \t]*extern_prefix.*)";
933 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
934 static tTestDesc aAlpha___Extern_PrefixTests[] = {
935   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
938  *  Fix Command Arguments for Alpha___Extern_Prefix
939  */
940 static const char* apzAlpha___Extern_PrefixPatch[] = {
941     "format",
942     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
943 %3",
944     (char*)NULL };
946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
948  *  Description of Alpha___Extern_Prefix_Standards fix
949  */
950 tSCC zAlpha___Extern_Prefix_StandardsName[] =
951      "alpha___extern_prefix_standards";
954  *  File name selection pattern
955  */
956 tSCC zAlpha___Extern_Prefix_StandardsList[] =
957   "|standards.h|";
959  *  Machine/OS name selection pattern
960  */
961 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
962         "alpha*-dec-osf*",
963         (const char*)NULL };
966  *  content selection pattern - do fix if pattern found
967  */
968 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
969        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
971 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
972 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
973   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
976  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
977  */
978 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
979     "format",
980     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
981     (char*)NULL };
983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
985  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
986  */
987 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
988      "alpha___extern_prefix_sys_stat";
991  *  File name selection pattern
992  */
993 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
994   "|sys/stat.h|sys/mount.h|";
996  *  Machine/OS name selection pattern
997  */
998 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
999         "alpha*-dec-osf5*",
1000         (const char*)NULL };
1003  *  content selection pattern - do fix if pattern found
1004  */
1005 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
1006        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
1008 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
1009 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
1010   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
1013  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
1014  */
1015 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
1016     "format",
1017     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
1018     (char*)NULL };
1020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1022  *  Description of Alpha_Assert fix
1023  */
1024 tSCC zAlpha_AssertName[] =
1025      "alpha_assert";
1028  *  File name selection pattern
1029  */
1030 tSCC zAlpha_AssertList[] =
1031   "|assert.h|";
1033  *  Machine/OS name selection pattern
1034  */
1035 #define apzAlpha_AssertMachs (const char**)NULL
1038  *  content selection pattern - do fix if pattern found
1039  */
1040 tSCC zAlpha_AssertSelect0[] =
1041        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1043 #define    ALPHA_ASSERT_TEST_CT  1
1044 static tTestDesc aAlpha_AssertTests[] = {
1045   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1048  *  Fix Command Arguments for Alpha_Assert
1049  */
1050 static const char* apzAlpha_AssertPatch[] = {
1051     "format",
1052     "%1(EX)",
1053     (char*)NULL };
1055 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1057  *  Description of Alpha_Bad_Lval fix
1058  */
1059 tSCC zAlpha_Bad_LvalName[] =
1060      "alpha_bad_lval";
1063  *  File name selection pattern
1064  */
1065 #define zAlpha_Bad_LvalList (char*)NULL
1067  *  Machine/OS name selection pattern
1068  */
1069 tSCC* apzAlpha_Bad_LvalMachs[] = {
1070         "alpha*-dec-osf*",
1071         (const char*)NULL };
1074  *  content selection pattern - do fix if pattern found
1075  */
1076 tSCC zAlpha_Bad_LvalSelect0[] =
1077        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1079 #define    ALPHA_BAD_LVAL_TEST_CT  1
1080 static tTestDesc aAlpha_Bad_LvalTests[] = {
1081   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
1084  *  Fix Command Arguments for Alpha_Bad_Lval
1085  */
1086 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
1087     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1088     (char*)NULL };
1090 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1092  *  Description of Alpha_Getopt fix
1093  */
1094 tSCC zAlpha_GetoptName[] =
1095      "alpha_getopt";
1098  *  File name selection pattern
1099  */
1100 tSCC zAlpha_GetoptList[] =
1101   "|stdio.h|stdlib.h|";
1103  *  Machine/OS name selection pattern
1104  */
1105 #define apzAlpha_GetoptMachs (const char**)NULL
1108  *  content selection pattern - do fix if pattern found
1109  */
1110 tSCC zAlpha_GetoptSelect0[] =
1111        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1113 #define    ALPHA_GETOPT_TEST_CT  1
1114 static tTestDesc aAlpha_GetoptTests[] = {
1115   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1118  *  Fix Command Arguments for Alpha_Getopt
1119  */
1120 static const char* apzAlpha_GetoptPatch[] = {
1121     "format",
1122     "getopt(int, char *const[], const char *)",
1123     (char*)NULL };
1125 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1127  *  Description of Alpha_Parens fix
1128  */
1129 tSCC zAlpha_ParensName[] =
1130      "alpha_parens";
1133  *  File name selection pattern
1134  */
1135 tSCC zAlpha_ParensList[] =
1136   "|sym.h|";
1138  *  Machine/OS name selection pattern
1139  */
1140 #define apzAlpha_ParensMachs (const char**)NULL
1143  *  content selection pattern - do fix if pattern found
1144  */
1145 tSCC zAlpha_ParensSelect0[] =
1146        "#ifndef\\(__mips64\\)";
1148 #define    ALPHA_PARENS_TEST_CT  1
1149 static tTestDesc aAlpha_ParensTests[] = {
1150   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1153  *  Fix Command Arguments for Alpha_Parens
1154  */
1155 static const char* apzAlpha_ParensPatch[] = {
1156     "format",
1157     "#ifndef __mips64",
1158     (char*)NULL };
1160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1162  *  Description of Alpha_Pthread fix
1163  */
1164 tSCC zAlpha_PthreadName[] =
1165      "alpha_pthread";
1168  *  File name selection pattern
1169  */
1170 tSCC zAlpha_PthreadList[] =
1171   "|pthread.h|";
1173  *  Machine/OS name selection pattern
1174  */
1175 tSCC* apzAlpha_PthreadMachs[] = {
1176         "alpha*-dec-osf*",
1177         (const char*)NULL };
1180  *  content selection pattern - do fix if pattern found
1181  */
1182 tSCC zAlpha_PthreadSelect0[] =
1183        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1184 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1186 #define    ALPHA_PTHREAD_TEST_CT  1
1187 static tTestDesc aAlpha_PthreadTests[] = {
1188   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1191  *  Fix Command Arguments for Alpha_Pthread
1192  */
1193 static const char* apzAlpha_PthreadPatch[] = {
1194     "format",
1195     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1196 %5",
1197     (char*)NULL };
1199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1201  *  Description of Alpha_Pthread_Gcc fix
1202  */
1203 tSCC zAlpha_Pthread_GccName[] =
1204      "alpha_pthread_gcc";
1207  *  File name selection pattern
1208  */
1209 tSCC zAlpha_Pthread_GccList[] =
1210   "|pthread.h|";
1212  *  Machine/OS name selection pattern
1213  */
1214 tSCC* apzAlpha_Pthread_GccMachs[] = {
1215         "alpha*-dec-osf*",
1216         (const char*)NULL };
1219  *  content selection pattern - do fix if pattern found
1220  */
1221 tSCC zAlpha_Pthread_GccSelect0[] =
1222        "#else\n\
1223 # error <pthread.h>: unrecognized compiler.";
1225 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1226 static tTestDesc aAlpha_Pthread_GccTests[] = {
1227   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1230  *  Fix Command Arguments for Alpha_Pthread_Gcc
1231  */
1232 static const char* apzAlpha_Pthread_GccPatch[] = {
1233     "format",
1234     "#elif defined (__GNUC__)\n\
1235 # define _PTHREAD_ENV_GCC\n\
1236 %0",
1237     (char*)NULL };
1239 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1241  *  Description of Alpha_Pthread_Init fix
1242  */
1243 tSCC zAlpha_Pthread_InitName[] =
1244      "alpha_pthread_init";
1247  *  File name selection pattern
1248  */
1249 tSCC zAlpha_Pthread_InitList[] =
1250   "|pthread.h|";
1252  *  Machine/OS name selection pattern
1253  */
1254 tSCC* apzAlpha_Pthread_InitMachs[] = {
1255         "alpha*-dec-osf*",
1256         (const char*)NULL };
1259  *  content selection pattern - do fix if pattern found
1260  */
1261 tSCC zAlpha_Pthread_InitSelect0[] =
1262        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1264 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1265 static tTestDesc aAlpha_Pthread_InitTests[] = {
1266   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1269  *  Fix Command Arguments for Alpha_Pthread_Init
1270  */
1271 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1272     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1273 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1274 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1275 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1276 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1277 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1278     (char*)NULL };
1280 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1282  *  Description of Alpha_Sbrk fix
1283  */
1284 tSCC zAlpha_SbrkName[] =
1285      "alpha_sbrk";
1288  *  File name selection pattern
1289  */
1290 tSCC zAlpha_SbrkList[] =
1291   "|unistd.h|";
1293  *  Machine/OS name selection pattern
1294  */
1295 #define apzAlpha_SbrkMachs (const char**)NULL
1298  *  content selection pattern - do fix if pattern found
1299  */
1300 tSCC zAlpha_SbrkSelect0[] =
1301        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1303 #define    ALPHA_SBRK_TEST_CT  1
1304 static tTestDesc aAlpha_SbrkTests[] = {
1305   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1308  *  Fix Command Arguments for Alpha_Sbrk
1309  */
1310 static const char* apzAlpha_SbrkPatch[] = {
1311     "format",
1312     "void *sbrk(",
1313     (char*)NULL };
1315 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1317  *  Description of Alpha_Wchar fix
1318  */
1319 tSCC zAlpha_WcharName[] =
1320      "alpha_wchar";
1323  *  File name selection pattern
1324  */
1325 tSCC zAlpha_WcharList[] =
1326   "|wchar.h|";
1328  *  Machine/OS name selection pattern
1329  */
1330 tSCC* apzAlpha_WcharMachs[] = {
1331         "alpha*-dec-osf4*",
1332         (const char*)NULL };
1335  *  content selection pattern - do fix if pattern found
1336  */
1337 tSCC zAlpha_WcharSelect0[] =
1338        "#define wcstok wcstok_r";
1340 #define    ALPHA_WCHAR_TEST_CT  1
1341 static tTestDesc aAlpha_WcharTests[] = {
1342   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1345  *  Fix Command Arguments for Alpha_Wchar
1346  */
1347 static const char* apzAlpha_WcharPatch[] = { "sed",
1348     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1349     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1350     (char*)NULL };
1352 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1354  *  Description of Avoid_Bool_Define fix
1355  */
1356 tSCC zAvoid_Bool_DefineName[] =
1357      "avoid_bool_define";
1360  *  File name selection pattern
1361  */
1362 tSCC zAvoid_Bool_DefineList[] =
1363   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1365  *  Machine/OS name selection pattern
1366  */
1367 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1370  *  content selection pattern - do fix if pattern found
1371  */
1372 tSCC zAvoid_Bool_DefineSelect0[] =
1373        "#[ \t]*define[ \t]+bool[ \t]";
1376  *  content bypass pattern - skip fix if pattern found
1377  */
1378 tSCC zAvoid_Bool_DefineBypass0[] =
1379        "__cplusplus";
1381 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1382 static tTestDesc aAvoid_Bool_DefineTests[] = {
1383   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1384   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1387  *  Fix Command Arguments for Avoid_Bool_Define
1388  */
1389 static const char* apzAvoid_Bool_DefinePatch[] = {
1390     "format",
1391     "#ifndef __cplusplus\n\
1392 %0\n\
1393 #endif",
1394     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1395     (char*)NULL };
1397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1399  *  Description of Avoid_Bool_Type fix
1400  */
1401 tSCC zAvoid_Bool_TypeName[] =
1402      "avoid_bool_type";
1405  *  File name selection pattern
1406  */
1407 tSCC zAvoid_Bool_TypeList[] =
1408   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1410  *  Machine/OS name selection pattern
1411  */
1412 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1415  *  content selection pattern - do fix if pattern found
1416  */
1417 tSCC zAvoid_Bool_TypeSelect0[] =
1418        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1421  *  content bypass pattern - skip fix if pattern found
1422  */
1423 tSCC zAvoid_Bool_TypeBypass0[] =
1424        "__cplusplus";
1426 #define    AVOID_BOOL_TYPE_TEST_CT  2
1427 static tTestDesc aAvoid_Bool_TypeTests[] = {
1428   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1429   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1432  *  Fix Command Arguments for Avoid_Bool_Type
1433  */
1434 static const char* apzAvoid_Bool_TypePatch[] = {
1435     "format",
1436     "#ifndef __cplusplus\n\
1437 %0\n\
1438 #endif",
1439     (char*)NULL };
1441 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1443  *  Description of Avoid_Wchar_T_Type fix
1444  */
1445 tSCC zAvoid_Wchar_T_TypeName[] =
1446      "avoid_wchar_t_type";
1449  *  File name selection pattern
1450  */
1451 #define zAvoid_Wchar_T_TypeList (char*)NULL
1453  *  Machine/OS name selection pattern
1454  */
1455 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1458  *  content selection pattern - do fix if pattern found
1459  */
1460 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1461        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1464  *  content bypass pattern - skip fix if pattern found
1465  */
1466 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1467        "__cplusplus";
1468 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1469        "_LINUX_NLS_H";
1470 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1471        "XFree86: xc/lib/X11/Xlib\\.h";
1473 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1474 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1475   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1476   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1477   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1478   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1481  *  Fix Command Arguments for Avoid_Wchar_T_Type
1482  */
1483 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1484     "format",
1485     "#ifndef __cplusplus\n\
1486 %0\n\
1487 #endif",
1488     (char*)NULL };
1490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1492  *  Description of Bad_Struct_Term fix
1493  */
1494 tSCC zBad_Struct_TermName[] =
1495      "bad_struct_term";
1498  *  File name selection pattern
1499  */
1500 tSCC zBad_Struct_TermList[] =
1501   "|curses.h|";
1503  *  Machine/OS name selection pattern
1504  */
1505 #define apzBad_Struct_TermMachs (const char**)NULL
1508  *  content selection pattern - do fix if pattern found
1509  */
1510 tSCC zBad_Struct_TermSelect0[] =
1511        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1513 #define    BAD_STRUCT_TERM_TEST_CT  1
1514 static tTestDesc aBad_Struct_TermTests[] = {
1515   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1518  *  Fix Command Arguments for Bad_Struct_Term
1519  */
1520 static const char* apzBad_Struct_TermPatch[] = {
1521     "format",
1522     "struct term;",
1523     (char*)NULL };
1525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1527  *  Description of Badquote fix
1528  */
1529 tSCC zBadquoteName[] =
1530      "badquote";
1533  *  File name selection pattern
1534  */
1535 tSCC zBadquoteList[] =
1536   "|sundev/vuid_event.h|";
1538  *  Machine/OS name selection pattern
1539  */
1540 #define apzBadquoteMachs (const char**)NULL
1543  *  content selection pattern - do fix if pattern found
1544  */
1545 tSCC zBadquoteSelect0[] =
1546        "doesn't";
1548 #define    BADQUOTE_TEST_CT  1
1549 static tTestDesc aBadquoteTests[] = {
1550   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1553  *  Fix Command Arguments for Badquote
1554  */
1555 static const char* apzBadquotePatch[] = {
1556     "format",
1557     "does not",
1558     (char*)NULL };
1560 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1562  *  Description of Broken_Assert_Stdio fix
1563  */
1564 tSCC zBroken_Assert_StdioName[] =
1565      "broken_assert_stdio";
1568  *  File name selection pattern
1569  */
1570 tSCC zBroken_Assert_StdioList[] =
1571   "|assert.h|";
1573  *  Machine/OS name selection pattern
1574  */
1575 #define apzBroken_Assert_StdioMachs (const char**)NULL
1578  *  content selection pattern - do fix if pattern found
1579  */
1580 tSCC zBroken_Assert_StdioSelect0[] =
1581        "stderr";
1584  *  content bypass pattern - skip fix if pattern found
1585  */
1586 tSCC zBroken_Assert_StdioBypass0[] =
1587        "include.*stdio\\.h";
1589 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1590 static tTestDesc aBroken_Assert_StdioTests[] = {
1591   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1592   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1595  *  Fix Command Arguments for Broken_Assert_Stdio
1596  */
1597 static const char* apzBroken_Assert_StdioPatch[] = {
1598     "wrap",
1599     "#include <stdio.h>\n",
1600     (char*)NULL };
1602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1604  *  Description of Broken_Assert_Stdlib fix
1605  */
1606 tSCC zBroken_Assert_StdlibName[] =
1607      "broken_assert_stdlib";
1610  *  File name selection pattern
1611  */
1612 tSCC zBroken_Assert_StdlibList[] =
1613   "|assert.h|";
1615  *  Machine/OS name selection pattern
1616  */
1617 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1620  *  content selection pattern - do fix if pattern found
1621  */
1622 tSCC zBroken_Assert_StdlibSelect0[] =
1623        "exit *\\(|abort *\\(";
1626  *  content bypass pattern - skip fix if pattern found
1627  */
1628 tSCC zBroken_Assert_StdlibBypass0[] =
1629        "include.*stdlib\\.h";
1631 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1632 static tTestDesc aBroken_Assert_StdlibTests[] = {
1633   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1634   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1637  *  Fix Command Arguments for Broken_Assert_Stdlib
1638  */
1639 static const char* apzBroken_Assert_StdlibPatch[] = {
1640     "wrap",
1641     "#ifdef __cplusplus\n\
1642 #include <stdlib.h>\n\
1643 #endif\n",
1644     (char*)NULL };
1646 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1648  *  Description of Broken_Cabs fix
1649  */
1650 tSCC zBroken_CabsName[] =
1651      "broken_cabs";
1654  *  File name selection pattern
1655  */
1656 tSCC zBroken_CabsList[] =
1657   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1659  *  Machine/OS name selection pattern
1660  */
1661 #define apzBroken_CabsMachs (const char**)NULL
1664  *  content selection pattern - do fix if pattern found
1665  */
1666 tSCC zBroken_CabsSelect0[] =
1667        "^extern[ \t]+double[ \t]+cabs";
1669 #define    BROKEN_CABS_TEST_CT  1
1670 static tTestDesc aBroken_CabsTests[] = {
1671   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1674  *  Fix Command Arguments for Broken_Cabs
1675  */
1676 static const char* apzBroken_CabsPatch[] = { "sed",
1677     "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
1678     "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
1679     (char*)NULL };
1681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1683  *  Description of Broken_Nan fix
1684  */
1685 tSCC zBroken_NanName[] =
1686      "broken_nan";
1689  *  File name selection pattern
1690  */
1691 tSCC zBroken_NanList[] =
1692   "|architecture/ppc/math.h|architecture/i386/math.h|";
1694  *  Machine/OS name selection pattern
1695  */
1696 #define apzBroken_NanMachs (const char**)NULL
1699  *  content selection pattern - do fix if pattern found
1700  */
1701 tSCC zBroken_NanSelect0[] =
1702        "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
1705  *  content bypass pattern - skip fix if pattern found
1706  */
1707 tSCC zBroken_NanBypass0[] =
1708        "powl";
1710 #define    BROKEN_NAN_TEST_CT  2
1711 static tTestDesc aBroken_NanTests[] = {
1712   { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
1713   { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
1716  *  Fix Command Arguments for Broken_Nan
1717  */
1718 static const char* apzBroken_NanPatch[] = {
1719     "format",
1720     "#if 1",
1721     (char*)NULL };
1723 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1725  *  Description of Bsd_Stdio_Attrs_Conflict fix
1726  */
1727 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1728      "bsd_stdio_attrs_conflict";
1731  *  File name selection pattern
1732  */
1733 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1734   "|stdio.h|";
1736  *  Machine/OS name selection pattern
1737  */
1738 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1739         "*-*-*bsd*",
1740         "*-*-*darwin*",
1741         (const char*)NULL };
1744  *  content selection pattern - do fix if pattern found
1745  */
1746 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1747        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1749 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1750 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1751   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1754  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1755  */
1756 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1757     "format",
1758     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1759 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1760 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1761     (char*)NULL };
1763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1765  *  Description of Ctrl_Quotes_Def fix
1766  */
1767 tSCC zCtrl_Quotes_DefName[] =
1768      "ctrl_quotes_def";
1771  *  File name selection pattern
1772  */
1773 #define zCtrl_Quotes_DefList (char*)NULL
1775  *  Machine/OS name selection pattern
1776  */
1777 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1780  *  content selection pattern - do fix if pattern found
1781  */
1782 tSCC zCtrl_Quotes_DefSelect0[] =
1783        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1785 #define    CTRL_QUOTES_DEF_TEST_CT  1
1786 static tTestDesc aCtrl_Quotes_DefTests[] = {
1787   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1790  *  Fix Command Arguments for Ctrl_Quotes_Def
1791  */
1792 static const char* apzCtrl_Quotes_DefPatch[] = {
1793     "char_macro_def",
1794     "CTRL",
1795     (char*)NULL };
1797 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1799  *  Description of Ctrl_Quotes_Use fix
1800  */
1801 tSCC zCtrl_Quotes_UseName[] =
1802      "ctrl_quotes_use";
1805  *  File name selection pattern
1806  */
1807 #define zCtrl_Quotes_UseList (char*)NULL
1809  *  Machine/OS name selection pattern
1810  */
1811 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1814  *  content selection pattern - do fix if pattern found
1815  */
1816 tSCC zCtrl_Quotes_UseSelect0[] =
1817        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1819 #define    CTRL_QUOTES_USE_TEST_CT  1
1820 static tTestDesc aCtrl_Quotes_UseTests[] = {
1821   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1824  *  Fix Command Arguments for Ctrl_Quotes_Use
1825  */
1826 static const char* apzCtrl_Quotes_UsePatch[] = {
1827     "char_macro_use",
1828     "CTRL",
1829     (char*)NULL };
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1833  *  Description of Cxx_Unready fix
1834  */
1835 tSCC zCxx_UnreadyName[] =
1836      "cxx_unready";
1839  *  File name selection pattern
1840  */
1841 tSCC zCxx_UnreadyList[] =
1842   "|sys/mman.h|rpc/types.h|";
1844  *  Machine/OS name selection pattern
1845  */
1846 #define apzCxx_UnreadyMachs (const char**)NULL
1849  *  content selection pattern - do fix if pattern found
1850  */
1851 tSCC zCxx_UnreadySelect0[] =
1852        "[^#]+malloc.*;";
1855  *  content bypass pattern - skip fix if pattern found
1856  */
1857 tSCC zCxx_UnreadyBypass0[] =
1858        "\"C\"|__BEGIN_DECLS";
1860 #define    CXX_UNREADY_TEST_CT  2
1861 static tTestDesc aCxx_UnreadyTests[] = {
1862   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1863   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1866  *  Fix Command Arguments for Cxx_Unready
1867  */
1868 static const char* apzCxx_UnreadyPatch[] = {
1869     "wrap",
1870     "#ifdef __cplusplus\n\
1871 extern \"C\" {\n\
1872 #endif\n",
1873     "#ifdef __cplusplus\n\
1874 }\n\
1875 #endif\n",
1876     (char*)NULL };
1878 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1880  *  Description of Darwin_Gcc4_Breakage fix
1881  */
1882 tSCC zDarwin_Gcc4_BreakageName[] =
1883      "darwin_gcc4_breakage";
1886  *  File name selection pattern
1887  */
1888 tSCC zDarwin_Gcc4_BreakageList[] =
1889   "|AvailabilityMacros.h|";
1891  *  Machine/OS name selection pattern
1892  */
1893 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1894         "*-*-darwin*",
1895         (const char*)NULL };
1898  *  content selection pattern - do fix if pattern found
1899  */
1900 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1901        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1903 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1904 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1905   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1908  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1909  */
1910 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1911     "format",
1912     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1913     (char*)NULL };
1915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1917  *  Description of Darwin_Private_Extern fix
1918  */
1919 tSCC zDarwin_Private_ExternName[] =
1920      "darwin_private_extern";
1923  *  File name selection pattern
1924  */
1925 tSCC zDarwin_Private_ExternList[] =
1926   "|mach-o/dyld.h|";
1928  *  Machine/OS name selection pattern
1929  */
1930 tSCC* apzDarwin_Private_ExternMachs[] = {
1931         "*-*-darwin*",
1932         (const char*)NULL };
1935  *  content selection pattern - do fix if pattern found
1936  */
1937 tSCC zDarwin_Private_ExternSelect0[] =
1938        "__private_extern__ [a-z_]+ _dyld_";
1940 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1941 static tTestDesc aDarwin_Private_ExternTests[] = {
1942   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1945  *  Fix Command Arguments for Darwin_Private_Extern
1946  */
1947 static const char* apzDarwin_Private_ExternPatch[] = {
1948     "format",
1949     "extern",
1950     "__private_extern__",
1951     (char*)NULL };
1953 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1955  *  Description of Dec_Intern_Asm fix
1956  */
1957 tSCC zDec_Intern_AsmName[] =
1958      "dec_intern_asm";
1961  *  File name selection pattern
1962  */
1963 tSCC zDec_Intern_AsmList[] =
1964   "|c_asm.h|";
1966  *  Machine/OS name selection pattern
1967  */
1968 #define apzDec_Intern_AsmMachs (const char**)NULL
1969 #define DEC_INTERN_ASM_TEST_CT  0
1970 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1973  *  Fix Command Arguments for Dec_Intern_Asm
1974  */
1975 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1976     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1977 #ifdef __DECC\n",
1978     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1979 #endif\n",
1980     (char*)NULL };
1982 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1984  *  Description of Djgpp_Wchar_H fix
1985  */
1986 tSCC zDjgpp_Wchar_HName[] =
1987      "djgpp_wchar_h";
1990  *  File name selection pattern
1991  */
1992 #define zDjgpp_Wchar_HList (char*)NULL
1994  *  Machine/OS name selection pattern
1995  */
1996 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1999  *  content selection pattern - do fix if pattern found
2000  */
2001 tSCC zDjgpp_Wchar_HSelect0[] =
2002        "__DJ_wint_t";
2005  *  content bypass pattern - skip fix if pattern found
2006  */
2007 tSCC zDjgpp_Wchar_HBypass0[] =
2008        "sys/djtypes.h";
2010 #define    DJGPP_WCHAR_H_TEST_CT  2
2011 static tTestDesc aDjgpp_Wchar_HTests[] = {
2012   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2013   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2016  *  Fix Command Arguments for Djgpp_Wchar_H
2017  */
2018 static const char* apzDjgpp_Wchar_HPatch[] = {
2019     "format",
2020     "%0\n\
2021 #include <sys/djtypes.h>",
2022     "#include <stddef.h>",
2023     (char*)NULL };
2025 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2027  *  Description of Ecd_Cursor fix
2028  */
2029 tSCC zEcd_CursorName[] =
2030      "ecd_cursor";
2033  *  File name selection pattern
2034  */
2035 tSCC zEcd_CursorList[] =
2036   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
2038  *  Machine/OS name selection pattern
2039  */
2040 #define apzEcd_CursorMachs (const char**)NULL
2043  *  content selection pattern - do fix if pattern found
2044  */
2045 tSCC zEcd_CursorSelect0[] =
2046        "ecd\\.cursor";
2048 #define    ECD_CURSOR_TEST_CT  1
2049 static tTestDesc aEcd_CursorTests[] = {
2050   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
2053  *  Fix Command Arguments for Ecd_Cursor
2054  */
2055 static const char* apzEcd_CursorPatch[] = {
2056     "format",
2057     "ecd_cursor",
2058     (char*)NULL };
2060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2062  *  Description of Exception_Structure fix
2063  */
2064 tSCC zException_StructureName[] =
2065      "exception_structure";
2068  *  File name selection pattern
2069  */
2070 tSCC zException_StructureList[] =
2071   "|math.h|";
2073  *  Machine/OS name selection pattern
2074  */
2075 #define apzException_StructureMachs (const char**)NULL
2078  *  content selection pattern - do fix if pattern found
2079  */
2080 tSCC zException_StructureSelect0[] =
2081        "matherr";
2084  *  content bypass pattern - skip fix if pattern found
2085  */
2086 tSCC zException_StructureBypass0[] =
2087        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
2089 #define    EXCEPTION_STRUCTURE_TEST_CT  2
2090 static tTestDesc aException_StructureTests[] = {
2091   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
2092   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
2095  *  Fix Command Arguments for Exception_Structure
2096  */
2097 static const char* apzException_StructurePatch[] = {
2098     "wrap",
2099     "struct exception;\n",
2100     (char*)NULL };
2102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2104  *  Description of Freebsd_Gcc3_Breakage fix
2105  */
2106 tSCC zFreebsd_Gcc3_BreakageName[] =
2107      "freebsd_gcc3_breakage";
2110  *  File name selection pattern
2111  */
2112 tSCC zFreebsd_Gcc3_BreakageList[] =
2113   "|sys/cdefs.h|";
2115  *  Machine/OS name selection pattern
2116  */
2117 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2118         "*-*-freebsd*",
2119         (const char*)NULL };
2122  *  content selection pattern - do fix if pattern found
2123  */
2124 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2125        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2128  *  content bypass pattern - skip fix if pattern found
2129  */
2130 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2131        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2133 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
2134 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2135   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2136   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2139  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
2140  */
2141 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2142     "format",
2143     "%0 || __GNUC__ >= 3",
2144     (char*)NULL };
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2148  *  Description of Freebsd_Gcc4_Breakage fix
2149  */
2150 tSCC zFreebsd_Gcc4_BreakageName[] =
2151      "freebsd_gcc4_breakage";
2154  *  File name selection pattern
2155  */
2156 tSCC zFreebsd_Gcc4_BreakageList[] =
2157   "|sys/cdefs.h|";
2159  *  Machine/OS name selection pattern
2160  */
2161 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2162         "*-*-freebsd*",
2163         (const char*)NULL };
2166  *  content selection pattern - do fix if pattern found
2167  */
2168 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2169        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2171 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
2172 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2173   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2176  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
2177  */
2178 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2179     "format",
2180     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2181     (char*)NULL };
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2185  *  Description of Glibc_Mutex_Init fix
2186  */
2187 tSCC zGlibc_Mutex_InitName[] =
2188      "glibc_mutex_init";
2191  *  File name selection pattern
2192  */
2193 tSCC zGlibc_Mutex_InitList[] =
2194   "|pthread.h|";
2196  *  Machine/OS name selection pattern
2197  */
2198 #define apzGlibc_Mutex_InitMachs (const char**)NULL
2201  *  content selection pattern - do fix if pattern found
2202  */
2203 tSCC zGlibc_Mutex_InitSelect0[] =
2204        "\\{ *\\{ *0, *\\} *\\}";
2206 #define    GLIBC_MUTEX_INIT_TEST_CT  1
2207 static tTestDesc aGlibc_Mutex_InitTests[] = {
2208   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
2211  *  Fix Command Arguments for Glibc_Mutex_Init
2212  */
2213 static const char* apzGlibc_Mutex_InitPatch[] = { "sed",
2214     "-e", "/define[ \t]\\+PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/,+1s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/",
2215     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
2216     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\|ERRORCHECK\\|ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
2217     "-e", "/define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\+PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\n#  \\1\\n  { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# else\\n#  \\1\\n  { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\n# endif/",
2218     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
2219     "-e", "/define[ \t]\\+PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
2220     (char*)NULL };
2222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2224  *  Description of Gnu_Types fix
2225  */
2226 tSCC zGnu_TypesName[] =
2227      "gnu_types";
2230  *  File name selection pattern
2231  */
2232 tSCC zGnu_TypesList[] =
2233   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2235  *  Machine/OS name selection pattern
2236  */
2237 tSCC* apzGnu_TypesMachs[] = {
2238         "*-*-solaris2.1[0-9]*",
2239         (const char*)NULL };
2242  *  content selection pattern - do fix if pattern found
2243  */
2244 tSCC zGnu_TypesSelect0[] =
2245        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2248  *  content bypass pattern - skip fix if pattern found
2249  */
2250 tSCC zGnu_TypesBypass0[] =
2251        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2253 #define    GNU_TYPES_TEST_CT  2
2254 static tTestDesc aGnu_TypesTests[] = {
2255   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2256   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2259  *  Fix Command Arguments for Gnu_Types
2260  */
2261 static const char* apzGnu_TypesPatch[] = {
2262     "gnu_type",
2263     (char*)NULL };
2265 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2267  *  Description of Hp_Inline fix
2268  */
2269 tSCC zHp_InlineName[] =
2270      "hp_inline";
2273  *  File name selection pattern
2274  */
2275 tSCC zHp_InlineList[] =
2276   "|sys/spinlock.h|machine/machparam.h|";
2278  *  Machine/OS name selection pattern
2279  */
2280 #define apzHp_InlineMachs (const char**)NULL
2283  *  content selection pattern - do fix if pattern found
2284  */
2285 tSCC zHp_InlineSelect0[] =
2286        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2288 #define    HP_INLINE_TEST_CT  1
2289 static tTestDesc aHp_InlineTests[] = {
2290   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2293  *  Fix Command Arguments for Hp_Inline
2294  */
2295 static const char* apzHp_InlinePatch[] = {
2296     "format",
2297     "%1<machine/%2.h>",
2298     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2299     (char*)NULL };
2301 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2303  *  Description of Hp_Sysfile fix
2304  */
2305 tSCC zHp_SysfileName[] =
2306      "hp_sysfile";
2309  *  File name selection pattern
2310  */
2311 tSCC zHp_SysfileList[] =
2312   "|sys/file.h|";
2314  *  Machine/OS name selection pattern
2315  */
2316 #define apzHp_SysfileMachs (const char**)NULL
2319  *  content selection pattern - do fix if pattern found
2320  */
2321 tSCC zHp_SysfileSelect0[] =
2322        "HPUX_SOURCE";
2324 #define    HP_SYSFILE_TEST_CT  1
2325 static tTestDesc aHp_SysfileTests[] = {
2326   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2329  *  Fix Command Arguments for Hp_Sysfile
2330  */
2331 static const char* apzHp_SysfilePatch[] = {
2332     "format",
2333     "(struct file *, ...)",
2334     "\\(\\.\\.\\.\\)",
2335     (char*)NULL };
2337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2339  *  Description of Hpux10_Cpp_Pow_Inline fix
2340  */
2341 tSCC zHpux10_Cpp_Pow_InlineName[] =
2342      "hpux10_cpp_pow_inline";
2345  *  File name selection pattern
2346  */
2347 tSCC zHpux10_Cpp_Pow_InlineList[] =
2348   "|fixinc-test-limits.h|math.h|";
2350  *  Machine/OS name selection pattern
2351  */
2352 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2355  *  content selection pattern - do fix if pattern found
2356  */
2357 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2358        "^# +ifdef +__cplusplus\n\
2359  +\\}\n\
2360  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2361 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2362  +\\}\n\
2363  +extern +\"C\" +\\{\n\
2364 #else\n\
2365 # +endif";
2367 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2368 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2369   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2372  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2373  */
2374 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2375     "format",
2376     "",
2377     (char*)NULL };
2379 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2381  *  Description of Hpux11_Cpp_Pow_Inline fix
2382  */
2383 tSCC zHpux11_Cpp_Pow_InlineName[] =
2384      "hpux11_cpp_pow_inline";
2387  *  File name selection pattern
2388  */
2389 tSCC zHpux11_Cpp_Pow_InlineList[] =
2390   "|math.h|";
2392  *  Machine/OS name selection pattern
2393  */
2394 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2397  *  content selection pattern - do fix if pattern found
2398  */
2399 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2400        " +inline double pow\\(double d,int expon\\) \\{\n\
2401  +return pow\\(d, \\(double\\)expon\\);\n\
2402  +\\}\n";
2404 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2405 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2406   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2409  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2410  */
2411 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2412     "format",
2413     "",
2414     (char*)NULL };
2416 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2418  *  Description of Hpux10_Ctype_Declarations1 fix
2419  */
2420 tSCC zHpux10_Ctype_Declarations1Name[] =
2421      "hpux10_ctype_declarations1";
2424  *  File name selection pattern
2425  */
2426 tSCC zHpux10_Ctype_Declarations1List[] =
2427   "|ctype.h|";
2429  *  Machine/OS name selection pattern
2430  */
2431 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2434  *  content selection pattern - do fix if pattern found
2435  */
2436 tSCC zHpux10_Ctype_Declarations1Select0[] =
2437        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2440  *  content bypass pattern - skip fix if pattern found
2441  */
2442 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2443        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2445 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2446 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2447   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2448   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2451  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2452  */
2453 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2454     "format",
2455     "#ifdef _PROTOTYPES\n\
2456 extern int __tolower(int);\n\
2457 extern int __toupper(int);\n\
2458 #else /* NOT _PROTOTYPES */\n\
2459 extern int __tolower();\n\
2460 extern int __toupper();\n\
2461 #endif /* _PROTOTYPES */\n\n\
2462 %0\n",
2463     (char*)NULL };
2465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2467  *  Description of Hpux10_Ctype_Declarations2 fix
2468  */
2469 tSCC zHpux10_Ctype_Declarations2Name[] =
2470      "hpux10_ctype_declarations2";
2473  *  File name selection pattern
2474  */
2475 tSCC zHpux10_Ctype_Declarations2List[] =
2476   "|ctype.h|";
2478  *  Machine/OS name selection pattern
2479  */
2480 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2483  *  content selection pattern - do fix if pattern found
2484  */
2485 tSCC zHpux10_Ctype_Declarations2Select0[] =
2486        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2489  *  content bypass pattern - skip fix if pattern found
2490  */
2491 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2492        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2494 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2495 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2496   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2497   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2500  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2501  */
2502 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2503     "format",
2504     "%0\n\n\
2505 #ifdef _PROTOTYPES\n\
2506      extern int _isalnum(int);\n\
2507      extern int _isalpha(int);\n\
2508      extern int _iscntrl(int);\n\
2509      extern int _isdigit(int);\n\
2510      extern int _isgraph(int);\n\
2511      extern int _islower(int);\n\
2512      extern int _isprint(int);\n\
2513      extern int _ispunct(int);\n\
2514      extern int _isspace(int);\n\
2515      extern int _isupper(int);\n\
2516      extern int _isxdigit(int);\n\
2517 #  else /* not _PROTOTYPES */\n\
2518      extern int _isalnum();\n\
2519      extern int _isalpha();\n\
2520      extern int _iscntrl();\n\
2521      extern int _isdigit();\n\
2522      extern int _isgraph();\n\
2523      extern int _islower();\n\
2524      extern int _isprint();\n\
2525      extern int _ispunct();\n\
2526      extern int _isspace();\n\
2527      extern int _isupper();\n\
2528      extern int _isxdigit();\n\
2529 #endif /* _PROTOTYPES */\n",
2530     (char*)NULL };
2532 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2534  *  Description of Hpux10_Stdio_Declarations fix
2535  */
2536 tSCC zHpux10_Stdio_DeclarationsName[] =
2537      "hpux10_stdio_declarations";
2540  *  File name selection pattern
2541  */
2542 tSCC zHpux10_Stdio_DeclarationsList[] =
2543   "|stdio.h|";
2545  *  Machine/OS name selection pattern
2546  */
2547 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2550  *  content selection pattern - do fix if pattern found
2551  */
2552 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2553        "^#[ \t]*define _iob[ \t]*__iob";
2556  *  content bypass pattern - skip fix if pattern found
2557  */
2558 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2559        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2561 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2562 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2563   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2564   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2567  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2568  */
2569 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2570     "format",
2571     "%0\n\n\
2572 #  if defined(__STDC__) || defined(__cplusplus)\n\
2573      extern int snprintf(char *, size_t, const char *, ...);\n\
2574      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2575 #  else /* not __STDC__) || __cplusplus */\n\
2576      extern int snprintf();\n\
2577      extern int vsnprintf();\n\
2578 #  endif /* __STDC__) || __cplusplus */\n",
2579     (char*)NULL };
2581 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2583  *  Description of Hpux11_Abs fix
2584  */
2585 tSCC zHpux11_AbsName[] =
2586      "hpux11_abs";
2589  *  File name selection pattern
2590  */
2591 tSCC zHpux11_AbsList[] =
2592   "|stdlib.h|";
2594  *  Machine/OS name selection pattern
2595  */
2596 tSCC* apzHpux11_AbsMachs[] = {
2597         "ia64-hp-hpux11*",
2598         (const char*)NULL };
2601  *  content selection pattern - do fix if pattern found
2602  */
2603 tSCC zHpux11_AbsSelect0[] =
2604        "ifndef _MATH_INCLUDED";
2606 #define    HPUX11_ABS_TEST_CT  1
2607 static tTestDesc aHpux11_AbsTests[] = {
2608   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2611  *  Fix Command Arguments for Hpux11_Abs
2612  */
2613 static const char* apzHpux11_AbsPatch[] = {
2614     "format",
2615     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2616     (char*)NULL };
2618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2620  *  Description of Hpux11_Fabsf fix
2621  */
2622 tSCC zHpux11_FabsfName[] =
2623      "hpux11_fabsf";
2626  *  File name selection pattern
2627  */
2628 tSCC zHpux11_FabsfList[] =
2629   "|math.h|";
2631  *  Machine/OS name selection pattern
2632  */
2633 #define apzHpux11_FabsfMachs (const char**)NULL
2636  *  content selection pattern - do fix if pattern found
2637  */
2638 tSCC zHpux11_FabsfSelect0[] =
2639        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2642  *  content bypass pattern - skip fix if pattern found
2643  */
2644 tSCC zHpux11_FabsfBypass0[] =
2645        "__cplusplus";
2647 #define    HPUX11_FABSF_TEST_CT  2
2648 static tTestDesc aHpux11_FabsfTests[] = {
2649   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2650   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2653  *  Fix Command Arguments for Hpux11_Fabsf
2654  */
2655 static const char* apzHpux11_FabsfPatch[] = {
2656     "format",
2657     "#ifndef __cplusplus\n\
2658 %0\n\
2659 #endif",
2660     (char*)NULL };
2662 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2664  *  Description of Hpux11_Size_T fix
2665  */
2666 tSCC zHpux11_Size_TName[] =
2667      "hpux11_size_t";
2670  *  File name selection pattern
2671  */
2672 #define zHpux11_Size_TList (char*)NULL
2674  *  Machine/OS name selection pattern
2675  */
2676 tSCC* apzHpux11_Size_TMachs[] = {
2677         "*-hp-hpux11*",
2678         (const char*)NULL };
2681  *  content selection pattern - do fix if pattern found
2682  */
2683 tSCC zHpux11_Size_TSelect0[] =
2684        "__size_t";
2686 #define    HPUX11_SIZE_T_TEST_CT  1
2687 static tTestDesc aHpux11_Size_TTests[] = {
2688   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2691  *  Fix Command Arguments for Hpux11_Size_T
2692  */
2693 static const char* apzHpux11_Size_TPatch[] = {
2694     "format",
2695     "_hpux_size_t",
2696     (char*)NULL };
2698 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2700  *  Description of Hpux11_Snprintf fix
2701  */
2702 tSCC zHpux11_SnprintfName[] =
2703      "hpux11_snprintf";
2706  *  File name selection pattern
2707  */
2708 tSCC zHpux11_SnprintfList[] =
2709   "|stdio.h|";
2711  *  Machine/OS name selection pattern
2712  */
2713 #define apzHpux11_SnprintfMachs (const char**)NULL
2716  *  content selection pattern - do fix if pattern found
2717  */
2718 tSCC zHpux11_SnprintfSelect0[] =
2719        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2721 #define    HPUX11_SNPRINTF_TEST_CT  1
2722 static tTestDesc aHpux11_SnprintfTests[] = {
2723   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2726  *  Fix Command Arguments for Hpux11_Snprintf
2727  */
2728 static const char* apzHpux11_SnprintfPatch[] = {
2729     "format",
2730     "%1 const %3",
2731     (char*)NULL };
2733 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2735  *  Description of Hpux11_Uint32_C fix
2736  */
2737 tSCC zHpux11_Uint32_CName[] =
2738      "hpux11_uint32_c";
2741  *  File name selection pattern
2742  */
2743 tSCC zHpux11_Uint32_CList[] =
2744   "|inttypes.h|";
2746  *  Machine/OS name selection pattern
2747  */
2748 #define apzHpux11_Uint32_CMachs (const char**)NULL
2751  *  content selection pattern - do fix if pattern found
2752  */
2753 tSCC zHpux11_Uint32_CSelect0[] =
2754        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2756 #define    HPUX11_UINT32_C_TEST_CT  1
2757 static tTestDesc aHpux11_Uint32_CTests[] = {
2758   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2761  *  Fix Command Arguments for Hpux11_Uint32_C
2762  */
2763 static const char* apzHpux11_Uint32_CPatch[] = {
2764     "format",
2765     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2766     (char*)NULL };
2768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2770  *  Description of Hpux11_Vsnprintf fix
2771  */
2772 tSCC zHpux11_VsnprintfName[] =
2773      "hpux11_vsnprintf";
2776  *  File name selection pattern
2777  */
2778 tSCC zHpux11_VsnprintfList[] =
2779   "|stdio.h|";
2781  *  Machine/OS name selection pattern
2782  */
2783 #define apzHpux11_VsnprintfMachs (const char**)NULL
2786  *  content selection pattern - do fix if pattern found
2787  */
2788 tSCC zHpux11_VsnprintfSelect0[] =
2789        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2791 #define    HPUX11_VSNPRINTF_TEST_CT  1
2792 static tTestDesc aHpux11_VsnprintfTests[] = {
2793   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2796  *  Fix Command Arguments for Hpux11_Vsnprintf
2797  */
2798 static const char* apzHpux11_VsnprintfPatch[] = {
2799     "format",
2800     "%1 __va_list);",
2801     (char*)NULL };
2803 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2805  *  Description of Hpux8_Bogus_Inlines fix
2806  */
2807 tSCC zHpux8_Bogus_InlinesName[] =
2808      "hpux8_bogus_inlines";
2811  *  File name selection pattern
2812  */
2813 tSCC zHpux8_Bogus_InlinesList[] =
2814   "|math.h|";
2816  *  Machine/OS name selection pattern
2817  */
2818 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2821  *  content selection pattern - do fix if pattern found
2822  */
2823 tSCC zHpux8_Bogus_InlinesSelect0[] =
2824        "inline";
2827  *  content bypass pattern - skip fix if pattern found
2828  */
2829 tSCC zHpux8_Bogus_InlinesBypass0[] =
2830        "__GNUG__";
2832 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2833 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2834   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2835   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2838  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2839  */
2840 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2841     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2842     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2843     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2844     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2845     (char*)NULL };
2847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2849  *  Description of Hpux_Ctype_Macros fix
2850  */
2851 tSCC zHpux_Ctype_MacrosName[] =
2852      "hpux_ctype_macros";
2855  *  File name selection pattern
2856  */
2857 tSCC zHpux_Ctype_MacrosList[] =
2858   "|ctype.h|";
2860  *  Machine/OS name selection pattern
2861  */
2862 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2865  *  content selection pattern - do fix if pattern found
2866  */
2867 tSCC zHpux_Ctype_MacrosSelect0[] =
2868        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2870 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2871 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2872   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2875  *  Fix Command Arguments for Hpux_Ctype_Macros
2876  */
2877 static const char* apzHpux_Ctype_MacrosPatch[] = {
2878     "format",
2879     "%1(int)%3",
2880     (char*)NULL };
2882 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2884  *  Description of Hpux_Htonl fix
2885  */
2886 tSCC zHpux_HtonlName[] =
2887      "hpux_htonl";
2890  *  File name selection pattern
2891  */
2892 tSCC zHpux_HtonlList[] =
2893   "|netinet/in.h|";
2895  *  Machine/OS name selection pattern
2896  */
2897 #define apzHpux_HtonlMachs (const char**)NULL
2900  *  content selection pattern - do fix if pattern found
2901  */
2902 tSCC zHpux_HtonlSelect0[] =
2903        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2904 (/\\*\n\
2905  \\* Macros for number representation conversion\\.\n\
2906  \\*/\n\
2907 #ifndef ntohl)";
2909 #define    HPUX_HTONL_TEST_CT  1
2910 static tTestDesc aHpux_HtonlTests[] = {
2911   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2914  *  Fix Command Arguments for Hpux_Htonl
2915  */
2916 static const char* apzHpux_HtonlPatch[] = {
2917     "format",
2918     "#if 1\n\
2919 %1",
2920     (char*)NULL };
2922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2924  *  Description of Hpux_Long_Double fix
2925  */
2926 tSCC zHpux_Long_DoubleName[] =
2927      "hpux_long_double";
2930  *  File name selection pattern
2931  */
2932 tSCC zHpux_Long_DoubleList[] =
2933   "|stdlib.h|";
2935  *  Machine/OS name selection pattern
2936  */
2937 #define apzHpux_Long_DoubleMachs (const char**)NULL
2940  *  content selection pattern - do fix if pattern found
2941  */
2942 tSCC zHpux_Long_DoubleSelect0[] =
2943        "extern[ \t]long_double[ \t]strtold";
2946  *  content bypass pattern - skip fix if pattern found
2947  */
2948 tSCC zHpux_Long_DoubleBypass0[] =
2949        "long_double_t";
2951 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2952 static tTestDesc aHpux_Long_DoubleTests[] = {
2953   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2954   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2957  *  Fix Command Arguments for Hpux_Long_Double
2958  */
2959 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2960     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2961     "-e", "s/long_double/long double/g",
2962     (char*)NULL };
2964 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2966  *  Description of Hpux_Systime fix
2967  */
2968 tSCC zHpux_SystimeName[] =
2969      "hpux_systime";
2972  *  File name selection pattern
2973  */
2974 tSCC zHpux_SystimeList[] =
2975   "|sys/time.h|";
2977  *  Machine/OS name selection pattern
2978  */
2979 #define apzHpux_SystimeMachs (const char**)NULL
2982  *  content selection pattern - do fix if pattern found
2983  */
2984 tSCC zHpux_SystimeSelect0[] =
2985        "^extern struct sigevent;";
2987 #define    HPUX_SYSTIME_TEST_CT  1
2988 static tTestDesc aHpux_SystimeTests[] = {
2989   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2992  *  Fix Command Arguments for Hpux_Systime
2993  */
2994 static const char* apzHpux_SystimePatch[] = {
2995     "format",
2996     "struct sigevent;",
2997     (char*)NULL };
2999 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3001  *  Description of Hpux_Spu_Info fix
3002  */
3003 tSCC zHpux_Spu_InfoName[] =
3004      "hpux_spu_info";
3007  *  File name selection pattern
3008  */
3009 tSCC zHpux_Spu_InfoList[] =
3010   "|ia64/sys/getppdp.h|";
3012  *  Machine/OS name selection pattern
3013  */
3014 tSCC* apzHpux_Spu_InfoMachs[] = {
3015         "*-hp-hpux*",
3016         (const char*)NULL };
3019  *  content selection pattern - do fix if pattern found
3020  */
3021 tSCC zHpux_Spu_InfoSelect0[] =
3022        "^.*extern.*spu_info.*";
3024 #define    HPUX_SPU_INFO_TEST_CT  1
3025 static tTestDesc aHpux_Spu_InfoTests[] = {
3026   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
3029  *  Fix Command Arguments for Hpux_Spu_Info
3030  */
3031 static const char* apzHpux_Spu_InfoPatch[] = {
3032     "format",
3033     "#ifdef _KERNEL\n\
3034 %0\n\
3035 #endif",
3036     (char*)NULL };
3038 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3040  *  Description of Hpux11_Extern_Sendfile fix
3041  */
3042 tSCC zHpux11_Extern_SendfileName[] =
3043      "hpux11_extern_sendfile";
3046  *  File name selection pattern
3047  */
3048 tSCC zHpux11_Extern_SendfileList[] =
3049   "|sys/socket.h|";
3051  *  Machine/OS name selection pattern
3052  */
3053 tSCC* apzHpux11_Extern_SendfileMachs[] = {
3054         "*-hp-hpux11.[12]*",
3055         (const char*)NULL };
3058  *  content selection pattern - do fix if pattern found
3059  */
3060 tSCC zHpux11_Extern_SendfileSelect0[] =
3061        "^[ \t]*extern sbsize_t sendfile.*\n\
3062 .*, int\\)\\);\n";
3064 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
3065 static tTestDesc aHpux11_Extern_SendfileTests[] = {
3066   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
3069  *  Fix Command Arguments for Hpux11_Extern_Sendfile
3070  */
3071 static const char* apzHpux11_Extern_SendfilePatch[] = {
3072     "format",
3073     "#ifndef _APP32_64BIT_OFF_T\n\
3074 %0#endif\n",
3075     (char*)NULL };
3077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3079  *  Description of Hpux11_Extern_Sendpath fix
3080  */
3081 tSCC zHpux11_Extern_SendpathName[] =
3082      "hpux11_extern_sendpath";
3085  *  File name selection pattern
3086  */
3087 tSCC zHpux11_Extern_SendpathList[] =
3088   "|sys/socket.h|";
3090  *  Machine/OS name selection pattern
3091  */
3092 tSCC* apzHpux11_Extern_SendpathMachs[] = {
3093         "*-hp-hpux11.[12]*",
3094         (const char*)NULL };
3097  *  content selection pattern - do fix if pattern found
3098  */
3099 tSCC zHpux11_Extern_SendpathSelect0[] =
3100        "^[ \t]*extern sbsize_t sendpath.*\n\
3101 .*, int\\)\\);\n";
3103 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
3104 static tTestDesc aHpux11_Extern_SendpathTests[] = {
3105   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
3108  *  Fix Command Arguments for Hpux11_Extern_Sendpath
3109  */
3110 static const char* apzHpux11_Extern_SendpathPatch[] = {
3111     "format",
3112     "#ifndef _APP32_64BIT_OFF_T\n\
3113 %0#endif\n",
3114     (char*)NULL };
3116 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3118  *  Description of Hpux_Extern_Errno fix
3119  */
3120 tSCC zHpux_Extern_ErrnoName[] =
3121      "hpux_extern_errno";
3124  *  File name selection pattern
3125  */
3126 tSCC zHpux_Extern_ErrnoList[] =
3127   "|errno.h|";
3129  *  Machine/OS name selection pattern
3130  */
3131 tSCC* apzHpux_Extern_ErrnoMachs[] = {
3132         "*-hp-hpux10.*",
3133         "*-hp-hpux11.[0-2]*",
3134         (const char*)NULL };
3137  *  content selection pattern - do fix if pattern found
3138  */
3139 tSCC zHpux_Extern_ErrnoSelect0[] =
3140        "^[ \t]*extern int errno;$";
3142 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
3143 static tTestDesc aHpux_Extern_ErrnoTests[] = {
3144   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
3147  *  Fix Command Arguments for Hpux_Extern_Errno
3148  */
3149 static const char* apzHpux_Extern_ErrnoPatch[] = {
3150     "format",
3151     "#ifdef __cplusplus\n\
3152 extern \"C\" {\n\
3153 #endif\n\
3154 %0\n\
3155 #ifdef __cplusplus\n\
3156 }\n\
3157 #endif",
3158     (char*)NULL };
3160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3162  *  Description of Hpux_Pthread_Initializers fix
3163  */
3164 tSCC zHpux_Pthread_InitializersName[] =
3165      "hpux_pthread_initializers";
3168  *  File name selection pattern
3169  */
3170 tSCC zHpux_Pthread_InitializersList[] =
3171   "|sys/pthread.h|";
3173  *  Machine/OS name selection pattern
3174  */
3175 tSCC* apzHpux_Pthread_InitializersMachs[] = {
3176         "*-hp-hpux11.[0-3]*",
3177         (const char*)NULL };
3178 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
3179 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
3182  *  Fix Command Arguments for Hpux_Pthread_Initializers
3183  */
3184 static const char* apzHpux_Pthread_InitializersPatch[] = { "sed",
3185     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
3186     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
3187     "-e", "/^[ \t]*0$/d",
3188     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
3189     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
3190     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
3191     "-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\\\\@",
3192     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
3193     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
3194     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
3195     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
3196     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
3197     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
3198     (char*)NULL };
3200 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3202  *  Description of Huge_Val_Hex fix
3203  */
3204 tSCC zHuge_Val_HexName[] =
3205      "huge_val_hex";
3208  *  File name selection pattern
3209  */
3210 tSCC zHuge_Val_HexList[] =
3211   "|bits/huge_val.h|";
3213  *  Machine/OS name selection pattern
3214  */
3215 #define apzHuge_Val_HexMachs (const char**)NULL
3218  *  content selection pattern - do fix if pattern found
3219  */
3220 tSCC zHuge_Val_HexSelect0[] =
3221        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
3224  *  content bypass pattern - skip fix if pattern found
3225  */
3226 tSCC zHuge_Val_HexBypass0[] =
3227        "__builtin_huge_val";
3229 #define    HUGE_VAL_HEX_TEST_CT  2
3230 static tTestDesc aHuge_Val_HexTests[] = {
3231   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
3232   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
3235  *  Fix Command Arguments for Huge_Val_Hex
3236  */
3237 static const char* apzHuge_Val_HexPatch[] = {
3238     "format",
3239     "#define HUGE_VAL (__builtin_huge_val())\n",
3240     (char*)NULL };
3242 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3244  *  Description of Huge_Valf_Hex fix
3245  */
3246 tSCC zHuge_Valf_HexName[] =
3247      "huge_valf_hex";
3250  *  File name selection pattern
3251  */
3252 tSCC zHuge_Valf_HexList[] =
3253   "|bits/huge_val.h|";
3255  *  Machine/OS name selection pattern
3256  */
3257 #define apzHuge_Valf_HexMachs (const char**)NULL
3260  *  content selection pattern - do fix if pattern found
3261  */
3262 tSCC zHuge_Valf_HexSelect0[] =
3263        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
3266  *  content bypass pattern - skip fix if pattern found
3267  */
3268 tSCC zHuge_Valf_HexBypass0[] =
3269        "__builtin_huge_valf";
3271 #define    HUGE_VALF_HEX_TEST_CT  2
3272 static tTestDesc aHuge_Valf_HexTests[] = {
3273   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
3274   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
3277  *  Fix Command Arguments for Huge_Valf_Hex
3278  */
3279 static const char* apzHuge_Valf_HexPatch[] = {
3280     "format",
3281     "#define HUGE_VALF (__builtin_huge_valf())\n",
3282     (char*)NULL };
3284 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3286  *  Description of Huge_Vall_Hex fix
3287  */
3288 tSCC zHuge_Vall_HexName[] =
3289      "huge_vall_hex";
3292  *  File name selection pattern
3293  */
3294 tSCC zHuge_Vall_HexList[] =
3295   "|bits/huge_val.h|";
3297  *  Machine/OS name selection pattern
3298  */
3299 #define apzHuge_Vall_HexMachs (const char**)NULL
3302  *  content selection pattern - do fix if pattern found
3303  */
3304 tSCC zHuge_Vall_HexSelect0[] =
3305        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
3308  *  content bypass pattern - skip fix if pattern found
3309  */
3310 tSCC zHuge_Vall_HexBypass0[] =
3311        "__builtin_huge_vall";
3313 #define    HUGE_VALL_HEX_TEST_CT  2
3314 static tTestDesc aHuge_Vall_HexTests[] = {
3315   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
3316   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
3319  *  Fix Command Arguments for Huge_Vall_Hex
3320  */
3321 static const char* apzHuge_Vall_HexPatch[] = {
3322     "format",
3323     "#define HUGE_VALL (__builtin_huge_vall())\n",
3324     (char*)NULL };
3326 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3328  *  Description of Int_Abort_Free_And_Exit fix
3329  */
3330 tSCC zInt_Abort_Free_And_ExitName[] =
3331      "int_abort_free_and_exit";
3334  *  File name selection pattern
3335  */
3336 tSCC zInt_Abort_Free_And_ExitList[] =
3337   "|stdlib.h|";
3339  *  Machine/OS name selection pattern
3340  */
3341 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
3344  *  content selection pattern - do fix if pattern found
3345  */
3346 tSCC zInt_Abort_Free_And_ExitSelect0[] =
3347        "int[ \t]+(abort|free|exit)[ \t]*\\(";
3350  *  content bypass pattern - skip fix if pattern found
3351  */
3352 tSCC zInt_Abort_Free_And_ExitBypass0[] =
3353        "_CLASSIC_ANSI_TYPES";
3355 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
3356 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
3357   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
3358   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
3361  *  Fix Command Arguments for Int_Abort_Free_And_Exit
3362  */
3363 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
3364     "format",
3365     "void\t%1(",
3366     (char*)NULL };
3368 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3370  *  Description of Io_Quotes_Def fix
3371  */
3372 tSCC zIo_Quotes_DefName[] =
3373      "io_quotes_def";
3376  *  File name selection pattern
3377  */
3378 #define zIo_Quotes_DefList (char*)NULL
3380  *  Machine/OS name selection pattern
3381  */
3382 #define apzIo_Quotes_DefMachs (const char**)NULL
3385  *  content selection pattern - do fix if pattern found
3386  */
3387 tSCC zIo_Quotes_DefSelect0[] =
3388        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
3390 #define    IO_QUOTES_DEF_TEST_CT  1
3391 static tTestDesc aIo_Quotes_DefTests[] = {
3392   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
3395  *  Fix Command Arguments for Io_Quotes_Def
3396  */
3397 static const char* apzIo_Quotes_DefPatch[] = {
3398     "char_macro_def",
3399     "IO",
3400     (char*)NULL };
3402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3404  *  Description of Io_Quotes_Use fix
3405  */
3406 tSCC zIo_Quotes_UseName[] =
3407      "io_quotes_use";
3410  *  File name selection pattern
3411  */
3412 #define zIo_Quotes_UseList (char*)NULL
3414  *  Machine/OS name selection pattern
3415  */
3416 #define apzIo_Quotes_UseMachs (const char**)NULL
3419  *  content selection pattern - do fix if pattern found
3420  */
3421 tSCC zIo_Quotes_UseSelect0[] =
3422        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
3424 #define    IO_QUOTES_USE_TEST_CT  1
3425 static tTestDesc aIo_Quotes_UseTests[] = {
3426   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
3429  *  Fix Command Arguments for Io_Quotes_Use
3430  */
3431 static const char* apzIo_Quotes_UsePatch[] = {
3432     "char_macro_use",
3433     "IO",
3434     (char*)NULL };
3436 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3438  *  Description of Ip_Missing_Semi fix
3439  */
3440 tSCC zIp_Missing_SemiName[] =
3441      "ip_missing_semi";
3444  *  File name selection pattern
3445  */
3446 tSCC zIp_Missing_SemiList[] =
3447   "|netinet/ip.h|";
3449  *  Machine/OS name selection pattern
3450  */
3451 #define apzIp_Missing_SemiMachs (const char**)NULL
3454  *  content selection pattern - do fix if pattern found
3455  */
3456 tSCC zIp_Missing_SemiSelect0[] =
3457        "}$";
3459 #define    IP_MISSING_SEMI_TEST_CT  1
3460 static tTestDesc aIp_Missing_SemiTests[] = {
3461   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
3464  *  Fix Command Arguments for Ip_Missing_Semi
3465  */
3466 static const char* apzIp_Missing_SemiPatch[] = { "sed",
3467     "-e", "/^struct/,/^};/s/}$/};/",
3468     (char*)NULL };
3470 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3472  *  Description of Irix___Restrict fix
3473  */
3474 tSCC zIrix___RestrictName[] =
3475      "irix___restrict";
3478  *  File name selection pattern
3479  */
3480 tSCC zIrix___RestrictList[] =
3481   "|internal/sgimacros.h|";
3483  *  Machine/OS name selection pattern
3484  */
3485 tSCC* apzIrix___RestrictMachs[] = {
3486         "mips-sgi-irix6.5",
3487         (const char*)NULL };
3490  *  content selection pattern - do fix if pattern found
3491  */
3492 tSCC zIrix___RestrictSelect0[] =
3493        "(#ifdef __c99\n\
3494 )(#[ \t]*define __restrict restrict)";
3496 #define    IRIX___RESTRICT_TEST_CT  1
3497 static tTestDesc aIrix___RestrictTests[] = {
3498   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
3501  *  Fix Command Arguments for Irix___Restrict
3502  */
3503 static const char* apzIrix___RestrictPatch[] = {
3504     "format",
3505     "%1#  ifndef __cplusplus\n\
3506 %2\n\
3507 #  endif",
3508     (char*)NULL };
3510 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3512  *  Description of Irix___Generic1 fix
3513  */
3514 tSCC zIrix___Generic1Name[] =
3515      "irix___generic1";
3518  *  File name selection pattern
3519  */
3520 tSCC zIrix___Generic1List[] =
3521   "|internal/math_core.h|";
3523  *  Machine/OS name selection pattern
3524  */
3525 tSCC* apzIrix___Generic1Machs[] = {
3526         "mips-sgi-irix6.5",
3527         (const char*)NULL };
3530  *  content selection pattern - do fix if pattern found
3531  */
3532 tSCC zIrix___Generic1Select0[] =
3533        "#define ([a-z]+)\\(x\\) *__generic.*";
3535 #define    IRIX___GENERIC1_TEST_CT  1
3536 static tTestDesc aIrix___Generic1Tests[] = {
3537   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
3540  *  Fix Command Arguments for Irix___Generic1
3541  */
3542 static const char* apzIrix___Generic1Patch[] = {
3543     "format",
3544     "extern int %1(double);\n\
3545 extern int %1f(float);\n\
3546 extern int %1l(long double);\n\
3547 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
3548                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
3549                : _%1l(x))\n",
3550     (char*)NULL };
3552 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3554  *  Description of Irix___Generic2 fix
3555  */
3556 tSCC zIrix___Generic2Name[] =
3557      "irix___generic2";
3560  *  File name selection pattern
3561  */
3562 tSCC zIrix___Generic2List[] =
3563   "|internal/math_core.h|";
3565  *  Machine/OS name selection pattern
3566  */
3567 tSCC* apzIrix___Generic2Machs[] = {
3568         "mips-sgi-irix6.5",
3569         (const char*)NULL };
3572  *  content selection pattern - do fix if pattern found
3573  */
3574 tSCC zIrix___Generic2Select0[] =
3575        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3577 #define    IRIX___GENERIC2_TEST_CT  1
3578 static tTestDesc aIrix___Generic2Tests[] = {
3579   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3582  *  Fix Command Arguments for Irix___Generic2
3583  */
3584 static const char* apzIrix___Generic2Patch[] = {
3585     "format",
3586     "#define %1(x,y) \\\n\
3587   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3588    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3589    : _%1l(x,y))\n",
3590     (char*)NULL };
3592 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3594  *  Description of Irix_Asm_Apostrophe fix
3595  */
3596 tSCC zIrix_Asm_ApostropheName[] =
3597      "irix_asm_apostrophe";
3600  *  File name selection pattern
3601  */
3602 tSCC zIrix_Asm_ApostropheList[] =
3603   "|sys/asm.h|";
3605  *  Machine/OS name selection pattern
3606  */
3607 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3610  *  content selection pattern - do fix if pattern found
3611  */
3612 tSCC zIrix_Asm_ApostropheSelect0[] =
3613        "^[ \t]*#.*[Ww]e're";
3615 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3616 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3617   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3620  *  Fix Command Arguments for Irix_Asm_Apostrophe
3621  */
3622 static const char* apzIrix_Asm_ApostrophePatch[] = {
3623     "format",
3624     "%1 are",
3625     "^([ \t]*#.*[Ww]e)'re",
3626     (char*)NULL };
3628 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3630  *  Description of Irix_Limits_Const fix
3631  */
3632 tSCC zIrix_Limits_ConstName[] =
3633      "irix_limits_const";
3636  *  File name selection pattern
3637  */
3638 tSCC zIrix_Limits_ConstList[] =
3639   "|fixinc-test-limits.h|limits.h|";
3641  *  Machine/OS name selection pattern
3642  */
3643 #define apzIrix_Limits_ConstMachs (const char**)NULL
3646  *  content selection pattern - do fix if pattern found
3647  */
3648 tSCC zIrix_Limits_ConstSelect0[] =
3649        "^extern const ";
3651 #define    IRIX_LIMITS_CONST_TEST_CT  1
3652 static tTestDesc aIrix_Limits_ConstTests[] = {
3653   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3656  *  Fix Command Arguments for Irix_Limits_Const
3657  */
3658 static const char* apzIrix_Limits_ConstPatch[] = {
3659     "format",
3660     "extern __const ",
3661     (char*)NULL };
3663 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3665  *  Description of Irix_Socklen_T fix
3666  */
3667 tSCC zIrix_Socklen_TName[] =
3668      "irix_socklen_t";
3671  *  File name selection pattern
3672  */
3673 tSCC zIrix_Socklen_TList[] =
3674   "|sys/socket.h|";
3676  *  Machine/OS name selection pattern
3677  */
3678 tSCC* apzIrix_Socklen_TMachs[] = {
3679         "mips-sgi-irix6.5",
3680         (const char*)NULL };
3683  *  content selection pattern - do fix if pattern found
3684  */
3685 tSCC zIrix_Socklen_TSelect0[] =
3686        "(#define _SOCKLEN_T\n\
3687 )(typedef u_int32_t socklen_t;)";
3689 #define    IRIX_SOCKLEN_T_TEST_CT  1
3690 static tTestDesc aIrix_Socklen_TTests[] = {
3691   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3694  *  Fix Command Arguments for Irix_Socklen_T
3695  */
3696 static const char* apzIrix_Socklen_TPatch[] = {
3697     "format",
3698     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3699 typedef int socklen_t;\n\
3700 #else\n\
3701 %2\n\
3702 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3703     (char*)NULL };
3705 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3707  *  Description of Irix_Stdio_Va_List fix
3708  */
3709 tSCC zIrix_Stdio_Va_ListName[] =
3710      "irix_stdio_va_list";
3713  *  File name selection pattern
3714  */
3715 tSCC zIrix_Stdio_Va_ListList[] =
3716   "|stdio.h|internal/stdio_core.h|";
3718  *  Machine/OS name selection pattern
3719  */
3720 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3723  *  content selection pattern - do fix if pattern found
3724  */
3725 tSCC zIrix_Stdio_Va_ListSelect0[] =
3726        "/\\* va_list \\*/ char \\*";
3728 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3729 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3730   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3733  *  Fix Command Arguments for Irix_Stdio_Va_List
3734  */
3735 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3736     "format",
3737     "__gnuc_va_list",
3738     (char*)NULL };
3740 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3742  *  Description of Irix_Wcsftime fix
3743  */
3744 tSCC zIrix_WcsftimeName[] =
3745      "irix_wcsftime";
3748  *  File name selection pattern
3749  */
3750 tSCC zIrix_WcsftimeList[] =
3751   "|internal/wchar_core.h|";
3753  *  Machine/OS name selection pattern
3754  */
3755 tSCC* apzIrix_WcsftimeMachs[] = {
3756         "mips-sgi-irix6.5",
3757         (const char*)NULL };
3760  *  content selection pattern - do fix if pattern found
3761  */
3762 tSCC zIrix_WcsftimeSelect0[] =
3763        "#if _NO_XOPEN5\n\
3764 (extern size_t[ \t]+wcsftime.*const char *.*)";
3766 #define    IRIX_WCSFTIME_TEST_CT  1
3767 static tTestDesc aIrix_WcsftimeTests[] = {
3768   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3771  *  Fix Command Arguments for Irix_Wcsftime
3772  */
3773 static const char* apzIrix_WcsftimePatch[] = {
3774     "format",
3775     "#if _NO_XOPEN5 && !defined(__c99)\n\
3776 %1",
3777     (char*)NULL };
3779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3781  *  Description of Isc_Fmod fix
3782  */
3783 tSCC zIsc_FmodName[] =
3784      "isc_fmod";
3787  *  File name selection pattern
3788  */
3789 tSCC zIsc_FmodList[] =
3790   "|math.h|";
3792  *  Machine/OS name selection pattern
3793  */
3794 #define apzIsc_FmodMachs (const char**)NULL
3797  *  content selection pattern - do fix if pattern found
3798  */
3799 tSCC zIsc_FmodSelect0[] =
3800        "fmod\\(double\\)";
3802 #define    ISC_FMOD_TEST_CT  1
3803 static tTestDesc aIsc_FmodTests[] = {
3804   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3807  *  Fix Command Arguments for Isc_Fmod
3808  */
3809 static const char* apzIsc_FmodPatch[] = {
3810     "format",
3811     "fmod(double, double)",
3812     (char*)NULL };
3814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3816  *  Description of Isc_Omits_With_Stdc fix
3817  */
3818 tSCC zIsc_Omits_With_StdcName[] =
3819      "isc_omits_with_stdc";
3822  *  File name selection pattern
3823  */
3824 tSCC zIsc_Omits_With_StdcList[] =
3825   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3827  *  Machine/OS name selection pattern
3828  */
3829 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3832  *  content selection pattern - do fix if pattern found
3833  */
3834 tSCC zIsc_Omits_With_StdcSelect0[] =
3835        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3837 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3838 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3839   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3842  *  Fix Command Arguments for Isc_Omits_With_Stdc
3843  */
3844 static const char* apzIsc_Omits_With_StdcPatch[] = {
3845     "format",
3846     "!defined(_POSIX_SOURCE)",
3847     (char*)NULL };
3849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3851  *  Description of Kandr_Concat fix
3852  */
3853 tSCC zKandr_ConcatName[] =
3854      "kandr_concat";
3857  *  File name selection pattern
3858  */
3859 tSCC zKandr_ConcatList[] =
3860   "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
3862  *  Machine/OS name selection pattern
3863  */
3864 #define apzKandr_ConcatMachs (const char**)NULL
3867  *  content selection pattern - do fix if pattern found
3868  */
3869 tSCC zKandr_ConcatSelect0[] =
3870        "/\\*\\*/";
3872 #define    KANDR_CONCAT_TEST_CT  1
3873 static tTestDesc aKandr_ConcatTests[] = {
3874   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3877  *  Fix Command Arguments for Kandr_Concat
3878  */
3879 static const char* apzKandr_ConcatPatch[] = {
3880     "format",
3881     "##",
3882     (char*)NULL };
3884 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3886  *  Description of Libc1_G_Va_List fix
3887  */
3888 tSCC zLibc1_G_Va_ListName[] =
3889      "libc1_G_va_list";
3892  *  File name selection pattern
3893  */
3894 tSCC zLibc1_G_Va_ListList[] =
3895   "|_G_config.h|";
3897  *  Machine/OS name selection pattern
3898  */
3899 tSCC* apzLibc1_G_Va_ListMachs[] = {
3900         "*-*-linux*libc1",
3901         (const char*)NULL };
3904  *  content selection pattern - do fix if pattern found
3905  */
3906 tSCC zLibc1_G_Va_ListSelect0[] =
3907        "typedef void \\* _G_va_list;";
3909 #define    LIBC1_G_VA_LIST_TEST_CT  1
3910 static tTestDesc aLibc1_G_Va_ListTests[] = {
3911   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3914  *  Fix Command Arguments for Libc1_G_Va_List
3915  */
3916 static const char* apzLibc1_G_Va_ListPatch[] = {
3917     "format",
3918     "typedef __builtin_va_list _G_va_list;",
3919     (char*)NULL };
3921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3923  *  Description of Libc1_Ifdefd_Memx fix
3924  */
3925 tSCC zLibc1_Ifdefd_MemxName[] =
3926      "libc1_ifdefd_memx";
3929  *  File name selection pattern
3930  */
3931 tSCC zLibc1_Ifdefd_MemxList[] =
3932   "|testing.h|string.h|";
3934  *  Machine/OS name selection pattern
3935  */
3936 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3939  *  content selection pattern - do fix if pattern found
3940  */
3941 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3942        "' is a built-in function for gcc 2\\.x\\. \\*/";
3945  *  content bypass pattern - skip fix if pattern found
3946  */
3947 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3948        "__cplusplus";
3950 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3951 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3952   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3953   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3956  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3957  */
3958 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3959     "format",
3960     "%1",
3961     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3962 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3963 (/\\* .* \\*/\n\
3964 extern [a-z_]+ mem.*(\n\
3965 [^#].*)*;)\n\
3966 #endif",
3967     (char*)NULL };
3969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3971  *  Description of Linux_Ia64_Ucontext fix
3972  */
3973 tSCC zLinux_Ia64_UcontextName[] =
3974      "linux_ia64_ucontext";
3977  *  File name selection pattern
3978  */
3979 tSCC zLinux_Ia64_UcontextList[] =
3980   "|sys/ucontext.h|";
3982  *  Machine/OS name selection pattern
3983  */
3984 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3985         "ia64-*-linux*",
3986         (const char*)NULL };
3989  *  content selection pattern - do fix if pattern found
3990  */
3991 tSCC zLinux_Ia64_UcontextSelect0[] =
3992        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3994 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3995 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3996   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3999  *  Fix Command Arguments for Linux_Ia64_Ucontext
4000  */
4001 static const char* apzLinux_Ia64_UcontextPatch[] = {
4002     "format",
4003     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
4004     (char*)NULL };
4006 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4008  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
4009  */
4010 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
4011      "lynxos_no_warning_in_sys_time_h";
4014  *  File name selection pattern
4015  */
4016 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
4017   "|sys/time.h|";
4019  *  Machine/OS name selection pattern
4020  */
4021 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
4024  *  content selection pattern - do fix if pattern found
4025  */
4026 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
4027        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
4029 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
4030 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
4031   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
4034  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
4035  */
4036 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
4037     "format",
4038     "",
4039     (char*)NULL };
4041 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4043  *  Description of Lynxos_Missing_Putenv fix
4044  */
4045 tSCC zLynxos_Missing_PutenvName[] =
4046      "lynxos_missing_putenv";
4049  *  File name selection pattern
4050  */
4051 tSCC zLynxos_Missing_PutenvList[] =
4052   "|stdlib.h|";
4054  *  Machine/OS name selection pattern
4055  */
4056 tSCC* apzLynxos_Missing_PutenvMachs[] = {
4057         "*-*-lynxos*",
4058         (const char*)NULL };
4061  *  content selection pattern - do fix if pattern found
4062  */
4063 tSCC zLynxos_Missing_PutenvSelect0[] =
4064        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
4067  *  content bypass pattern - skip fix if pattern found
4068  */
4069 tSCC zLynxos_Missing_PutenvBypass0[] =
4070        "putenv[ \\t]*\\(";
4072 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
4073 static tTestDesc aLynxos_Missing_PutenvTests[] = {
4074   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
4075   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
4078  *  Fix Command Arguments for Lynxos_Missing_Putenv
4079  */
4080 static const char* apzLynxos_Missing_PutenvPatch[] = {
4081     "format",
4082     "%0\n\
4083 extern int putenv\t\t\t\t_AP((char *));",
4084     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
4085     (char*)NULL };
4087 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4089  *  Description of Machine_Ansi_H_Va_List fix
4090  */
4091 tSCC zMachine_Ansi_H_Va_ListName[] =
4092      "machine_ansi_h_va_list";
4095  *  File name selection pattern
4096  */
4097 #define zMachine_Ansi_H_Va_ListList (char*)NULL
4099  *  Machine/OS name selection pattern
4100  */
4101 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
4104  *  content selection pattern - do fix if pattern found
4105  */
4106 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
4107        "define[ \t]+_BSD_VA_LIST_[ \t]";
4110  *  content bypass pattern - skip fix if pattern found
4111  */
4112 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
4113        "__builtin_va_list";
4115 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
4116 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
4117   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
4118   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
4121  *  Fix Command Arguments for Machine_Ansi_H_Va_List
4122  */
4123 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
4124     "format",
4125     "%1__builtin_va_list",
4126     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
4127     (char*)NULL };
4129 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4131  *  Description of Machine_Name fix
4132  */
4133 tSCC zMachine_NameName[] =
4134      "machine_name";
4137  *  File name selection pattern
4138  */
4139 #define zMachine_NameList (char*)NULL
4141  *  Machine/OS name selection pattern
4142  */
4143 #define apzMachine_NameMachs (const char**)NULL
4146  *  perform the C function call test
4147  */
4148 tSCC zMachine_NameFTst0[] = "machine_name";
4150 #define    MACHINE_NAME_TEST_CT  1
4151 static tTestDesc aMachine_NameTests[] = {
4152   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
4155  *  Fix Command Arguments for Machine_Name
4156  */
4157 static const char* apzMachine_NamePatch[] = {
4158     "machine_name",
4159     (char*)NULL };
4161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4163  *  Description of Math_Exception fix
4164  */
4165 tSCC zMath_ExceptionName[] =
4166      "math_exception";
4169  *  File name selection pattern
4170  */
4171 tSCC zMath_ExceptionList[] =
4172   "|math.h|";
4174  *  Machine/OS name selection pattern
4175  */
4176 #define apzMath_ExceptionMachs (const char**)NULL
4179  *  content selection pattern - do fix if pattern found
4180  */
4181 tSCC zMath_ExceptionSelect0[] =
4182        "struct exception";
4185  *  content bypass pattern - skip fix if pattern found
4186  */
4187 tSCC zMath_ExceptionBypass0[] =
4188        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
4190 #define    MATH_EXCEPTION_TEST_CT  2
4191 static tTestDesc aMath_ExceptionTests[] = {
4192   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
4193   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
4196  *  Fix Command Arguments for Math_Exception
4197  */
4198 static const char* apzMath_ExceptionPatch[] = {
4199     "wrap",
4200     "#ifdef __cplusplus\n\
4201 #define exception __math_exception\n\
4202 #endif\n",
4203     "#ifdef __cplusplus\n\
4204 #undef exception\n\
4205 #endif\n",
4206     (char*)NULL };
4208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4210  *  Description of Math_Huge_Val_From_Dbl_Max fix
4211  */
4212 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
4213      "math_huge_val_from_dbl_max";
4216  *  File name selection pattern
4217  */
4218 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
4219   "|math.h|";
4221  *  Machine/OS name selection pattern
4222  */
4223 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
4226  *  content selection pattern - do fix if pattern found
4227  */
4228 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
4229        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
4232  *  content bypass pattern - skip fix if pattern found
4233  */
4234 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
4235        "define[ \t]+DBL_MAX";
4237 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
4238 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
4239   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
4240   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
4243  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
4244  */
4245 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
4246     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
4247 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
4248 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
4249 \telse cat\n\
4250 \tfi",
4251     (char*)NULL };
4253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4255  *  Description of Nested_Auth_Des fix
4256  */
4257 tSCC zNested_Auth_DesName[] =
4258      "nested_auth_des";
4261  *  File name selection pattern
4262  */
4263 tSCC zNested_Auth_DesList[] =
4264   "|rpc/rpc.h|";
4266  *  Machine/OS name selection pattern
4267  */
4268 #define apzNested_Auth_DesMachs (const char**)NULL
4271  *  content selection pattern - do fix if pattern found
4272  */
4273 tSCC zNested_Auth_DesSelect0[] =
4274        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
4276 #define    NESTED_AUTH_DES_TEST_CT  1
4277 static tTestDesc aNested_Auth_DesTests[] = {
4278   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
4281  *  Fix Command Arguments for Nested_Auth_Des
4282  */
4283 static const char* apzNested_Auth_DesPatch[] = {
4284     "format",
4285     "%1*/ /*",
4286     (char*)NULL };
4288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4290  *  Description of Nested_Motorola fix
4291  */
4292 tSCC zNested_MotorolaName[] =
4293      "nested_motorola";
4296  *  File name selection pattern
4297  */
4298 tSCC zNested_MotorolaList[] =
4299   "|sys/limits.h|limits.h|";
4301  *  Machine/OS name selection pattern
4302  */
4303 tSCC* apzNested_MotorolaMachs[] = {
4304         "m68k-motorola-sysv*",
4305         (const char*)NULL };
4308  *  content selection pattern - do fix if pattern found
4309  */
4310 tSCC zNested_MotorolaSelect0[] =
4311        "max # bytes atomic in write|error value returned by Math lib";
4313 #define    NESTED_MOTOROLA_TEST_CT  1
4314 static tTestDesc aNested_MotorolaTests[] = {
4315   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
4318  *  Fix Command Arguments for Nested_Motorola
4319  */
4320 static const char* apzNested_MotorolaPatch[] = { "sed",
4321     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
4322     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
4323     (char*)NULL };
4325 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4327  *  Description of Nested_Sys_Limits fix
4328  */
4329 tSCC zNested_Sys_LimitsName[] =
4330      "nested_sys_limits";
4333  *  File name selection pattern
4334  */
4335 tSCC zNested_Sys_LimitsList[] =
4336   "|sys/limits.h|";
4338  *  Machine/OS name selection pattern
4339  */
4340 #define apzNested_Sys_LimitsMachs (const char**)NULL
4343  *  content selection pattern - do fix if pattern found
4344  */
4345 tSCC zNested_Sys_LimitsSelect0[] =
4346        "CHILD_MAX";
4348 #define    NESTED_SYS_LIMITS_TEST_CT  1
4349 static tTestDesc aNested_Sys_LimitsTests[] = {
4350   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
4353  *  Fix Command Arguments for Nested_Sys_Limits
4354  */
4355 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
4356     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
4357     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
4358     (char*)NULL };
4360 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4362  *  Description of Netbsd_Extra_Semicolon fix
4363  */
4364 tSCC zNetbsd_Extra_SemicolonName[] =
4365      "netbsd_extra_semicolon";
4368  *  File name selection pattern
4369  */
4370 tSCC zNetbsd_Extra_SemicolonList[] =
4371   "|sys/cdefs.h|";
4373  *  Machine/OS name selection pattern
4374  */
4375 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
4376         "*-*-netbsd*",
4377         (const char*)NULL };
4380  *  content selection pattern - do fix if pattern found
4381  */
4382 tSCC zNetbsd_Extra_SemicolonSelect0[] =
4383        "#define[ \t]*__END_DECLS[ \t]*};";
4385 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
4386 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
4387   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
4390  *  Fix Command Arguments for Netbsd_Extra_Semicolon
4391  */
4392 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
4393     "format",
4394     "#define __END_DECLS }",
4395     (char*)NULL };
4397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4399  *  Description of Next_Math_Prefix fix
4400  */
4401 tSCC zNext_Math_PrefixName[] =
4402      "next_math_prefix";
4405  *  File name selection pattern
4406  */
4407 tSCC zNext_Math_PrefixList[] =
4408   "|ansi/math.h|";
4410  *  Machine/OS name selection pattern
4411  */
4412 #define apzNext_Math_PrefixMachs (const char**)NULL
4415  *  content selection pattern - do fix if pattern found
4416  */
4417 tSCC zNext_Math_PrefixSelect0[] =
4418        "^extern[ \t]+double[ \t]+__const__[ \t]";
4420 #define    NEXT_MATH_PREFIX_TEST_CT  1
4421 static tTestDesc aNext_Math_PrefixTests[] = {
4422   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
4425  *  Fix Command Arguments for Next_Math_Prefix
4426  */
4427 static const char* apzNext_Math_PrefixPatch[] = {
4428     "format",
4429     "extern double %1(",
4430     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
4431     (char*)NULL };
4433 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4435  *  Description of Next_Template fix
4436  */
4437 tSCC zNext_TemplateName[] =
4438      "next_template";
4441  *  File name selection pattern
4442  */
4443 tSCC zNext_TemplateList[] =
4444   "|bsd/libc.h|";
4446  *  Machine/OS name selection pattern
4447  */
4448 #define apzNext_TemplateMachs (const char**)NULL
4451  *  content selection pattern - do fix if pattern found
4452  */
4453 tSCC zNext_TemplateSelect0[] =
4454        "[ \t]template\\)";
4456 #define    NEXT_TEMPLATE_TEST_CT  1
4457 static tTestDesc aNext_TemplateTests[] = {
4458   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
4461  *  Fix Command Arguments for Next_Template
4462  */
4463 static const char* apzNext_TemplatePatch[] = {
4464     "format",
4465     "(%1)",
4466     "\\(([^)]*)[ \t]template\\)",
4467     (char*)NULL };
4469 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4471  *  Description of Next_Volitile fix
4472  */
4473 tSCC zNext_VolitileName[] =
4474      "next_volitile";
4477  *  File name selection pattern
4478  */
4479 tSCC zNext_VolitileList[] =
4480   "|ansi/stdlib.h|";
4482  *  Machine/OS name selection pattern
4483  */
4484 #define apzNext_VolitileMachs (const char**)NULL
4487  *  content selection pattern - do fix if pattern found
4488  */
4489 tSCC zNext_VolitileSelect0[] =
4490        "^extern[ \t]+volatile[ \t]+void[ \t]";
4492 #define    NEXT_VOLITILE_TEST_CT  1
4493 static tTestDesc aNext_VolitileTests[] = {
4494   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
4497  *  Fix Command Arguments for Next_Volitile
4498  */
4499 static const char* apzNext_VolitilePatch[] = {
4500     "format",
4501     "extern void %1(",
4502     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
4503     (char*)NULL };
4505 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4507  *  Description of Next_Wait_Union fix
4508  */
4509 tSCC zNext_Wait_UnionName[] =
4510      "next_wait_union";
4513  *  File name selection pattern
4514  */
4515 tSCC zNext_Wait_UnionList[] =
4516   "|sys/wait.h|";
4518  *  Machine/OS name selection pattern
4519  */
4520 #define apzNext_Wait_UnionMachs (const char**)NULL
4523  *  content selection pattern - do fix if pattern found
4524  */
4525 tSCC zNext_Wait_UnionSelect0[] =
4526        "wait\\(union wait";
4528 #define    NEXT_WAIT_UNION_TEST_CT  1
4529 static tTestDesc aNext_Wait_UnionTests[] = {
4530   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
4533  *  Fix Command Arguments for Next_Wait_Union
4534  */
4535 static const char* apzNext_Wait_UnionPatch[] = {
4536     "format",
4537     "wait(void",
4538     (char*)NULL };
4540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4542  *  Description of Nodeent_Syntax fix
4543  */
4544 tSCC zNodeent_SyntaxName[] =
4545      "nodeent_syntax";
4548  *  File name selection pattern
4549  */
4550 tSCC zNodeent_SyntaxList[] =
4551   "|netdnet/dnetdb.h|";
4553  *  Machine/OS name selection pattern
4554  */
4555 #define apzNodeent_SyntaxMachs (const char**)NULL
4558  *  content selection pattern - do fix if pattern found
4559  */
4560 tSCC zNodeent_SyntaxSelect0[] =
4561        "char[ \t]*\\*na_addr[ \t]*$";
4563 #define    NODEENT_SYNTAX_TEST_CT  1
4564 static tTestDesc aNodeent_SyntaxTests[] = {
4565   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4568  *  Fix Command Arguments for Nodeent_Syntax
4569  */
4570 static const char* apzNodeent_SyntaxPatch[] = {
4571     "format",
4572     "%0;",
4573     (char*)NULL };
4575 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4577  *  Description of Obstack_Lvalue_Cast fix
4578  */
4579 tSCC zObstack_Lvalue_CastName[] =
4580      "obstack_lvalue_cast";
4583  *  File name selection pattern
4584  */
4585 tSCC zObstack_Lvalue_CastList[] =
4586   "|obstack.h|";
4588  *  Machine/OS name selection pattern
4589  */
4590 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4593  *  content selection pattern - do fix if pattern found
4594  */
4595 tSCC zObstack_Lvalue_CastSelect0[] =
4596        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4598 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4599 static tTestDesc aObstack_Lvalue_CastTests[] = {
4600   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4603  *  Fix Command Arguments for Obstack_Lvalue_Cast
4604  */
4605 static const char* apzObstack_Lvalue_CastPatch[] = {
4606     "format",
4607     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4608     (char*)NULL };
4610 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4612  *  Description of Osf_Namespace_A fix
4613  */
4614 tSCC zOsf_Namespace_AName[] =
4615      "osf_namespace_a";
4618  *  File name selection pattern
4619  */
4620 tSCC zOsf_Namespace_AList[] =
4621   "|reg_types.h|sys/lc_core.h|";
4623  *  Machine/OS name selection pattern
4624  */
4625 #define apzOsf_Namespace_AMachs (const char**)NULL
4628  *  perform the 'test' shell command - do fix on success
4629  */
4630 tSCC zOsf_Namespace_ATest0[] =
4631        " -r reg_types.h";
4632 tSCC zOsf_Namespace_ATest1[] =
4633        " -r sys/lc_core.h";
4634 tSCC zOsf_Namespace_ATest2[] =
4635        " -n \"`grep '} regex_t;' reg_types.h`\"";
4636 tSCC zOsf_Namespace_ATest3[] =
4637        " -z \"`grep __regex_t regex.h`\"";
4639 #define    OSF_NAMESPACE_A_TEST_CT  4
4640 static tTestDesc aOsf_Namespace_ATests[] = {
4641   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4642   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4643   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4644   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4647  *  Fix Command Arguments for Osf_Namespace_A
4648  */
4649 static const char* apzOsf_Namespace_APatch[] = {
4650     "format",
4651     "__%0",
4652     "reg(ex|off|match)_t",
4653     (char*)NULL };
4655 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4657  *  Description of Osf_Namespace_C fix
4658  */
4659 tSCC zOsf_Namespace_CName[] =
4660      "osf_namespace_c";
4663  *  File name selection pattern
4664  */
4665 tSCC zOsf_Namespace_CList[] =
4666   "|regex.h|";
4668  *  Machine/OS name selection pattern
4669  */
4670 #define apzOsf_Namespace_CMachs (const char**)NULL
4673  *  content selection pattern - do fix if pattern found
4674  */
4675 tSCC zOsf_Namespace_CSelect0[] =
4676        "#include <reg_types.h>.*";
4679  *  perform the 'test' shell command - do fix on success
4680  */
4681 tSCC zOsf_Namespace_CTest0[] =
4682        " -r reg_types.h";
4683 tSCC zOsf_Namespace_CTest1[] =
4684        " -r sys/lc_core.h";
4685 tSCC zOsf_Namespace_CTest2[] =
4686        " -n \"`grep '} regex_t;' reg_types.h`\"";
4687 tSCC zOsf_Namespace_CTest3[] =
4688        " -z \"`grep __regex_t regex.h`\"";
4690 #define    OSF_NAMESPACE_C_TEST_CT  5
4691 static tTestDesc aOsf_Namespace_CTests[] = {
4692   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4693   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4694   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4695   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4696   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4699  *  Fix Command Arguments for Osf_Namespace_C
4700  */
4701 static const char* apzOsf_Namespace_CPatch[] = {
4702     "format",
4703     "%0\n\
4704 typedef __regex_t\tregex_t;\n\
4705 typedef __regoff_t\tregoff_t;\n\
4706 typedef __regmatch_t\tregmatch_t;",
4707     (char*)NULL };
4709 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4711  *  Description of Pthread_Page_Size fix
4712  */
4713 tSCC zPthread_Page_SizeName[] =
4714      "pthread_page_size";
4717  *  File name selection pattern
4718  */
4719 tSCC zPthread_Page_SizeList[] =
4720   "|pthread.h|";
4722  *  Machine/OS name selection pattern
4723  */
4724 #define apzPthread_Page_SizeMachs (const char**)NULL
4727  *  content selection pattern - do fix if pattern found
4728  */
4729 tSCC zPthread_Page_SizeSelect0[] =
4730        "^int __page_size";
4732 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4733 static tTestDesc aPthread_Page_SizeTests[] = {
4734   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4737  *  Fix Command Arguments for Pthread_Page_Size
4738  */
4739 static const char* apzPthread_Page_SizePatch[] = {
4740     "format",
4741     "extern %0",
4742     (char*)NULL };
4744 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4746  *  Description of Pthread_Incomplete_Struct_Argument fix
4747  */
4748 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4749      "pthread_incomplete_struct_argument";
4752  *  File name selection pattern
4753  */
4754 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4755   "|pthread.h|";
4757  *  Machine/OS name selection pattern
4758  */
4759 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4762  *  content selection pattern - do fix if pattern found
4763  */
4764 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4765        "struct __jmp_buf_tag";
4767 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4768 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4769   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4772  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4773  */
4774 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4775     "format",
4776     "%1 *%2%3",
4777     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4778     (char*)NULL };
4780 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4782  *  Description of Read_Ret_Type fix
4783  */
4784 tSCC zRead_Ret_TypeName[] =
4785      "read_ret_type";
4788  *  File name selection pattern
4789  */
4790 tSCC zRead_Ret_TypeList[] =
4791   "|stdio.h|";
4793  *  Machine/OS name selection pattern
4794  */
4795 #define apzRead_Ret_TypeMachs (const char**)NULL
4798  *  content selection pattern - do fix if pattern found
4799  */
4800 tSCC zRead_Ret_TypeSelect0[] =
4801        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4803 #define    READ_RET_TYPE_TEST_CT  1
4804 static tTestDesc aRead_Ret_TypeTests[] = {
4805   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4808  *  Fix Command Arguments for Read_Ret_Type
4809  */
4810 static const char* apzRead_Ret_TypePatch[] = {
4811     "format",
4812     "extern unsigned int fread(), fwrite();\n\
4813 %1%2",
4814     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4815     (char*)NULL };
4817 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4819  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4820  */
4821 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4822      "rpc_xdr_lvalue_cast_a";
4825  *  File name selection pattern
4826  */
4827 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4828   "|rpc/xdr.h|";
4830  *  Machine/OS name selection pattern
4831  */
4832 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4835  *  content selection pattern - do fix if pattern found
4836  */
4837 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4838        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4839 .*__extension__.*";
4841 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4842 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4843   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4846  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4847  */
4848 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4849     "format",
4850     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4851     (char*)NULL };
4853 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4855  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4856  */
4857 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4858      "rpc_xdr_lvalue_cast_b";
4861  *  File name selection pattern
4862  */
4863 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4864   "|rpc/xdr.h|";
4866  *  Machine/OS name selection pattern
4867  */
4868 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4871  *  content selection pattern - do fix if pattern found
4872  */
4873 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4874        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4875 .*__extension__.*";
4877 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4878 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4879   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4882  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4883  */
4884 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4885     "format",
4886     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4887     (char*)NULL };
4889 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4891  *  Description of Rs6000_Double fix
4892  */
4893 tSCC zRs6000_DoubleName[] =
4894      "rs6000_double";
4897  *  File name selection pattern
4898  */
4899 tSCC zRs6000_DoubleList[] =
4900   "|math.h|";
4902  *  Machine/OS name selection pattern
4903  */
4904 #define apzRs6000_DoubleMachs (const char**)NULL
4907  *  content selection pattern - do fix if pattern found
4908  */
4909 tSCC zRs6000_DoubleSelect0[] =
4910        "[^a-zA-Z_]class\\(";
4912 #define    RS6000_DOUBLE_TEST_CT  1
4913 static tTestDesc aRs6000_DoubleTests[] = {
4914   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4917  *  Fix Command Arguments for Rs6000_Double
4918  */
4919 static const char* apzRs6000_DoublePatch[] = {
4920     "format",
4921     "#ifndef __cplusplus\n\
4922 %0\n\
4923 #endif",
4924     "^.*[^a-zA-Z_]class\\(.*",
4925     (char*)NULL };
4927 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4929  *  Description of Rs6000_Fchmod fix
4930  */
4931 tSCC zRs6000_FchmodName[] =
4932      "rs6000_fchmod";
4935  *  File name selection pattern
4936  */
4937 tSCC zRs6000_FchmodList[] =
4938   "|sys/stat.h|";
4940  *  Machine/OS name selection pattern
4941  */
4942 #define apzRs6000_FchmodMachs (const char**)NULL
4945  *  content selection pattern - do fix if pattern found
4946  */
4947 tSCC zRs6000_FchmodSelect0[] =
4948        "fchmod\\(char \\*";
4950 #define    RS6000_FCHMOD_TEST_CT  1
4951 static tTestDesc aRs6000_FchmodTests[] = {
4952   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4955  *  Fix Command Arguments for Rs6000_Fchmod
4956  */
4957 static const char* apzRs6000_FchmodPatch[] = {
4958     "format",
4959     "fchmod(int",
4960     (char*)NULL };
4962 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4964  *  Description of Rs6000_Param fix
4965  */
4966 tSCC zRs6000_ParamName[] =
4967      "rs6000_param";
4970  *  File name selection pattern
4971  */
4972 tSCC zRs6000_ParamList[] =
4973   "|stdio.h|unistd.h|";
4975  *  Machine/OS name selection pattern
4976  */
4977 #define apzRs6000_ParamMachs (const char**)NULL
4980  *  content selection pattern - do fix if pattern found
4981  */
4982 tSCC zRs6000_ParamSelect0[] =
4983        "rename\\(const char \\*old, const char \\*new\\)";
4985 #define    RS6000_PARAM_TEST_CT  1
4986 static tTestDesc aRs6000_ParamTests[] = {
4987   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4990  *  Fix Command Arguments for Rs6000_Param
4991  */
4992 static const char* apzRs6000_ParamPatch[] = {
4993     "format",
4994     "rename(const char *_old, const char *_new)",
4995     (char*)NULL };
4997 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4999  *  Description of Sco_Math fix
5000  */
5001 tSCC zSco_MathName[] =
5002      "sco_math";
5005  *  File name selection pattern
5006  */
5007 tSCC zSco_MathList[] =
5008   "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
5010  *  Machine/OS name selection pattern
5011  */
5012 #define apzSco_MathMachs (const char**)NULL
5015  *  content selection pattern - do fix if pattern found
5016  */
5017 tSCC zSco_MathSelect0[] =
5018        "inline double abs";
5021  *  content bypass pattern - skip fix if pattern found
5022  */
5023 tSCC zSco_MathBypass0[] =
5024        "__GNUG__";
5026 #define    SCO_MATH_TEST_CT  2
5027 static tTestDesc aSco_MathTests[] = {
5028   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
5029   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
5032  *  Fix Command Arguments for Sco_Math
5033  */
5034 static const char* apzSco_MathPatch[] = { "sed",
5035     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
5036 #ifndef __GNUC__\n",
5037     "-e", "/.*__builtin_generic/a\\\n\
5038 #else\\\n\
5039 #define __fp_class(a) \\\\\\\n\
5040   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
5041    __fpclassifyl(a), \\\\\\\n\
5042     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
5043       __fpclassifyf(a),__fpclassify(a)))\\\n\
5044 #endif",
5045     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
5046 #ifndef __GNUC__\n",
5047     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
5048 #endif /* ! __GNUC__ */",
5049     (char*)NULL };
5051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5053  *  Description of Sco_Regset fix
5054  */
5055 tSCC zSco_RegsetName[] =
5056      "sco_regset";
5059  *  File name selection pattern
5060  */
5061 tSCC zSco_RegsetList[] =
5062   "|sys/regset.h|";
5064  *  Machine/OS name selection pattern
5065  */
5066 tSCC* apzSco_RegsetMachs[] = {
5067         "*-*-sco3.2v5*",
5068         (const char*)NULL };
5071  *  content selection pattern - do fix if pattern found
5072  */
5073 tSCC zSco_RegsetSelect0[] =
5074        "(struct[ \t]+.*)fpstate";
5076 #define    SCO_REGSET_TEST_CT  1
5077 static tTestDesc aSco_RegsetTests[] = {
5078   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
5081  *  Fix Command Arguments for Sco_Regset
5082  */
5083 static const char* apzSco_RegsetPatch[] = {
5084     "format",
5085     "%1rsfpstate",
5086     (char*)NULL };
5088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5090  *  Description of Sco_Static_Func fix
5091  */
5092 tSCC zSco_Static_FuncName[] =
5093      "sco_static_func";
5096  *  File name selection pattern
5097  */
5098 tSCC zSco_Static_FuncList[] =
5099   "|sys/stat.h|";
5101  *  Machine/OS name selection pattern
5102  */
5103 tSCC* apzSco_Static_FuncMachs[] = {
5104         "i?86-*-sco3.2*",
5105         (const char*)NULL };
5108  *  content selection pattern - do fix if pattern found
5109  */
5110 tSCC zSco_Static_FuncSelect0[] =
5111        "^static int";
5113 #define    SCO_STATIC_FUNC_TEST_CT  1
5114 static tTestDesc aSco_Static_FuncTests[] = {
5115   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
5118  *  Fix Command Arguments for Sco_Static_Func
5119  */
5120 static const char* apzSco_Static_FuncPatch[] = { "sed",
5121     "-e", "/^static int/i\\\n\
5122 #if __cplusplus\\\n\
5123 extern \"C\" {\\\n\
5124 #endif /* __cplusplus */",
5125     "-e", "/^}$/a\\\n\
5126 #if __cplusplus\\\n\
5127  }\\\n\
5128 #endif /* __cplusplus */",
5129     (char*)NULL };
5131 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5133  *  Description of Sco_Utime fix
5134  */
5135 tSCC zSco_UtimeName[] =
5136      "sco_utime";
5139  *  File name selection pattern
5140  */
5141 tSCC zSco_UtimeList[] =
5142   "|sys/times.h|";
5144  *  Machine/OS name selection pattern
5145  */
5146 tSCC* apzSco_UtimeMachs[] = {
5147         "i?86-*-sco3.2v4*",
5148         (const char*)NULL };
5151  *  content selection pattern - do fix if pattern found
5152  */
5153 tSCC zSco_UtimeSelect0[] =
5154        "\\(const char \\*, struct utimbuf \\*\\);";
5156 #define    SCO_UTIME_TEST_CT  1
5157 static tTestDesc aSco_UtimeTests[] = {
5158   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
5161  *  Fix Command Arguments for Sco_Utime
5162  */
5163 static const char* apzSco_UtimePatch[] = {
5164     "format",
5165     "(const char *, const struct utimbuf *);",
5166     (char*)NULL };
5168 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5170  *  Description of Solaris_Math_1 fix
5171  */
5172 tSCC zSolaris_Math_1Name[] =
5173      "solaris_math_1";
5176  *  File name selection pattern
5177  */
5178 tSCC zSolaris_Math_1List[] =
5179   "|iso/math_c99.h|";
5181  *  Machine/OS name selection pattern
5182  */
5183 #define apzSolaris_Math_1Machs (const char**)NULL
5186  *  content selection pattern - do fix if pattern found
5187  */
5188 tSCC zSolaris_Math_1Select0[] =
5189        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5192  *  content bypass pattern - skip fix if pattern found
5193  */
5194 tSCC zSolaris_Math_1Bypass0[] =
5195        "__GNUC__";
5197 #define    SOLARIS_MATH_1_TEST_CT  2
5198 static tTestDesc aSolaris_Math_1Tests[] = {
5199   { TT_NEGREP,   zSolaris_Math_1Bypass0, (regex_t*)NULL },
5200   { TT_EGREP,    zSolaris_Math_1Select0, (regex_t*)NULL }, };
5203  *  Fix Command Arguments for Solaris_Math_1
5204  */
5205 static const char* apzSolaris_Math_1Patch[] = {
5206     "format",
5207     "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
5208     "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
5209     (char*)NULL };
5211 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5213  *  Description of Solaris_Math_2 fix
5214  */
5215 tSCC zSolaris_Math_2Name[] =
5216      "solaris_math_2";
5219  *  File name selection pattern
5220  */
5221 tSCC zSolaris_Math_2List[] =
5222   "|iso/math_c99.h|";
5224  *  Machine/OS name selection pattern
5225  */
5226 #define apzSolaris_Math_2Machs (const char**)NULL
5229  *  content selection pattern - do fix if pattern found
5230  */
5231 tSCC zSolaris_Math_2Select0[] =
5232        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5235  *  content bypass pattern - skip fix if pattern found
5236  */
5237 tSCC zSolaris_Math_2Bypass0[] =
5238        "__GNUC__";
5240 #define    SOLARIS_MATH_2_TEST_CT  2
5241 static tTestDesc aSolaris_Math_2Tests[] = {
5242   { TT_NEGREP,   zSolaris_Math_2Bypass0, (regex_t*)NULL },
5243   { TT_EGREP,    zSolaris_Math_2Select0, (regex_t*)NULL }, };
5246  *  Fix Command Arguments for Solaris_Math_2
5247  */
5248 static const char* apzSolaris_Math_2Patch[] = {
5249     "format",
5250     "#define\tINFINITY\t(__builtin_inff())",
5251     "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
5252     (char*)NULL };
5254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5256  *  Description of Solaris_Math_3 fix
5257  */
5258 tSCC zSolaris_Math_3Name[] =
5259      "solaris_math_3";
5262  *  File name selection pattern
5263  */
5264 tSCC zSolaris_Math_3List[] =
5265   "|iso/math_c99.h|";
5267  *  Machine/OS name selection pattern
5268  */
5269 #define apzSolaris_Math_3Machs (const char**)NULL
5272  *  content selection pattern - do fix if pattern found
5273  */
5274 tSCC zSolaris_Math_3Select0[] =
5275        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5278  *  content bypass pattern - skip fix if pattern found
5279  */
5280 tSCC zSolaris_Math_3Bypass0[] =
5281        "__GNUC__";
5283 #define    SOLARIS_MATH_3_TEST_CT  2
5284 static tTestDesc aSolaris_Math_3Tests[] = {
5285   { TT_NEGREP,   zSolaris_Math_3Bypass0, (regex_t*)NULL },
5286   { TT_EGREP,    zSolaris_Math_3Select0, (regex_t*)NULL }, };
5289  *  Fix Command Arguments for Solaris_Math_3
5290  */
5291 static const char* apzSolaris_Math_3Patch[] = {
5292     "format",
5293     "#define\tNAN\t\t(__builtin_nanf(\"\"))",
5294     "^#define[ \t]+NAN[ \t]+__builtin_nan",
5295     (char*)NULL };
5297 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5299  *  Description of Solaris_Math_4 fix
5300  */
5301 tSCC zSolaris_Math_4Name[] =
5302      "solaris_math_4";
5305  *  File name selection pattern
5306  */
5307 tSCC zSolaris_Math_4List[] =
5308   "|iso/math_c99.h|";
5310  *  Machine/OS name selection pattern
5311  */
5312 #define apzSolaris_Math_4Machs (const char**)NULL
5315  *  content selection pattern - do fix if pattern found
5316  */
5317 tSCC zSolaris_Math_4Select0[] =
5318        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5321  *  content bypass pattern - skip fix if pattern found
5322  */
5323 tSCC zSolaris_Math_4Bypass0[] =
5324        "__GNUC__";
5326 #define    SOLARIS_MATH_4_TEST_CT  2
5327 static tTestDesc aSolaris_Math_4Tests[] = {
5328   { TT_NEGREP,   zSolaris_Math_4Bypass0, (regex_t*)NULL },
5329   { TT_EGREP,    zSolaris_Math_4Select0, (regex_t*)NULL }, };
5332  *  Fix Command Arguments for Solaris_Math_4
5333  */
5334 static const char* apzSolaris_Math_4Patch[] = {
5335     "format",
5336     "#define\tfpclassify(x) \\\n\
5337   __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
5338 \t\t   isnan(__x_fp) \\\n\
5339 \t\t     ? FP_NAN \\\n\
5340 \t\t     : isinf(__x_fp) \\\n\
5341 \t\t       ? FP_INFINITE \\\n\
5342 \t\t       : isnormal(__x_fp) \\\n\
5343 \t\t\t ? FP_NORMAL \\\n\
5344 \t\t\t : __x_fp == 0.0 \\\n\
5345 \t\t\t   ? FP_ZERO \\\n\
5346 \t\t\t   : FP_SUBNORMAL; })",
5347     "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
5348     (char*)NULL };
5350 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5352  *  Description of Solaris_Math_5 fix
5353  */
5354 tSCC zSolaris_Math_5Name[] =
5355      "solaris_math_5";
5358  *  File name selection pattern
5359  */
5360 tSCC zSolaris_Math_5List[] =
5361   "|iso/math_c99.h|";
5363  *  Machine/OS name selection pattern
5364  */
5365 #define apzSolaris_Math_5Machs (const char**)NULL
5368  *  content selection pattern - do fix if pattern found
5369  */
5370 tSCC zSolaris_Math_5Select0[] =
5371        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5374  *  content bypass pattern - skip fix if pattern found
5375  */
5376 tSCC zSolaris_Math_5Bypass0[] =
5377        "__GNUC__";
5379 #define    SOLARIS_MATH_5_TEST_CT  2
5380 static tTestDesc aSolaris_Math_5Tests[] = {
5381   { TT_NEGREP,   zSolaris_Math_5Bypass0, (regex_t*)NULL },
5382   { TT_EGREP,    zSolaris_Math_5Select0, (regex_t*)NULL }, };
5385  *  Fix Command Arguments for Solaris_Math_5
5386  */
5387 static const char* apzSolaris_Math_5Patch[] = {
5388     "format",
5389     "#define\tisfinite(x) \\\n\
5390   __extension__ ({ __typeof (x) __x_f = (x); \\\n\
5391 \t\t   __builtin_expect(!isnan(__x_f - __x_f), 1); })",
5392     "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
5393     (char*)NULL };
5395 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5397  *  Description of Solaris_Math_6 fix
5398  */
5399 tSCC zSolaris_Math_6Name[] =
5400      "solaris_math_6";
5403  *  File name selection pattern
5404  */
5405 tSCC zSolaris_Math_6List[] =
5406   "|iso/math_c99.h|";
5408  *  Machine/OS name selection pattern
5409  */
5410 #define apzSolaris_Math_6Machs (const char**)NULL
5413  *  content selection pattern - do fix if pattern found
5414  */
5415 tSCC zSolaris_Math_6Select0[] =
5416        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5419  *  content bypass pattern - skip fix if pattern found
5420  */
5421 tSCC zSolaris_Math_6Bypass0[] =
5422        "__GNUC__";
5424 #define    SOLARIS_MATH_6_TEST_CT  2
5425 static tTestDesc aSolaris_Math_6Tests[] = {
5426   { TT_NEGREP,   zSolaris_Math_6Bypass0, (regex_t*)NULL },
5427   { TT_EGREP,    zSolaris_Math_6Select0, (regex_t*)NULL }, };
5430  *  Fix Command Arguments for Solaris_Math_6
5431  */
5432 static const char* apzSolaris_Math_6Patch[] = {
5433     "format",
5434     "#define\tisinf(x) \\\n\
5435   __extension__ ({ __typeof (x) __x_i = (x); \\\n\
5436 \t\t   __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
5437     "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
5438     (char*)NULL };
5440 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5442  *  Description of Solaris_Math_7 fix
5443  */
5444 tSCC zSolaris_Math_7Name[] =
5445      "solaris_math_7";
5448  *  File name selection pattern
5449  */
5450 tSCC zSolaris_Math_7List[] =
5451   "|iso/math_c99.h|";
5453  *  Machine/OS name selection pattern
5454  */
5455 #define apzSolaris_Math_7Machs (const char**)NULL
5458  *  content selection pattern - do fix if pattern found
5459  */
5460 tSCC zSolaris_Math_7Select0[] =
5461        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5464  *  content bypass pattern - skip fix if pattern found
5465  */
5466 tSCC zSolaris_Math_7Bypass0[] =
5467        "__GNUC__";
5469 #define    SOLARIS_MATH_7_TEST_CT  2
5470 static tTestDesc aSolaris_Math_7Tests[] = {
5471   { TT_NEGREP,   zSolaris_Math_7Bypass0, (regex_t*)NULL },
5472   { TT_EGREP,    zSolaris_Math_7Select0, (regex_t*)NULL }, };
5475  *  Fix Command Arguments for Solaris_Math_7
5476  */
5477 static const char* apzSolaris_Math_7Patch[] = {
5478     "format",
5479     "#define\tisnormal(x) \\\n\
5480   __extension__ ({ __typeof(x) __x_n = (x); \\\n\
5481 \t\t   if (__x_n < 0.0) __x_n = -__x_n; \\\n\
5482 \t\t   __builtin_expect(isfinite(__x_n) \\\n\
5483 \t\t\t\t    && (sizeof(__x_n) == sizeof(float) \\\n\
5484 \t\t\t\t\t  ? __x_n >= __FLT_MIN__ \\\n\
5485 \t\t\t\t\t  : sizeof(__x_n) == sizeof(long double) \\\n\
5486 \t\t\t\t\t    ? __x_n >= __LDBL_MIN__ \\\n\
5487 \t\t\t\t\t    : __x_n >= __DBL_MIN__), 1); })",
5488     "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
5489     (char*)NULL };
5491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5493  *  Description of Solaris_Math_8 fix
5494  */
5495 tSCC zSolaris_Math_8Name[] =
5496      "solaris_math_8";
5499  *  File name selection pattern
5500  */
5501 tSCC zSolaris_Math_8List[] =
5502   "|iso/math_c99.h|";
5504  *  Machine/OS name selection pattern
5505  */
5506 #define apzSolaris_Math_8Machs (const char**)NULL
5509  *  content selection pattern - do fix if pattern found
5510  */
5511 tSCC zSolaris_Math_8Select0[] =
5512        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5515  *  content bypass pattern - skip fix if pattern found
5516  */
5517 tSCC zSolaris_Math_8Bypass0[] =
5518        "__GNUC__";
5520 #define    SOLARIS_MATH_8_TEST_CT  2
5521 static tTestDesc aSolaris_Math_8Tests[] = {
5522   { TT_NEGREP,   zSolaris_Math_8Bypass0, (regex_t*)NULL },
5523   { TT_EGREP,    zSolaris_Math_8Select0, (regex_t*)NULL }, };
5526  *  Fix Command Arguments for Solaris_Math_8
5527  */
5528 static const char* apzSolaris_Math_8Patch[] = {
5529     "format",
5530     "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
5531 \t\t\t   ? __builtin_signbitf(x) \\\n\
5532 \t\t\t   : sizeof(x) == sizeof(long double) \\\n\
5533 \t\t\t     ? __builtin_signbitl(x) \\\n\
5534 \t\t\t     : __builtin_signbit(x))",
5535     "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
5536     (char*)NULL };
5538 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5540  *  Description of Solaris_Math_9 fix
5541  */
5542 tSCC zSolaris_Math_9Name[] =
5543      "solaris_math_9";
5546  *  File name selection pattern
5547  */
5548 tSCC zSolaris_Math_9List[] =
5549   "|iso/math_c99.h|";
5551  *  Machine/OS name selection pattern
5552  */
5553 #define apzSolaris_Math_9Machs (const char**)NULL
5556  *  content selection pattern - do fix if pattern found
5557  */
5558 tSCC zSolaris_Math_9Select0[] =
5559        "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5562  *  content bypass pattern - skip fix if pattern found
5563  */
5564 tSCC zSolaris_Math_9Bypass0[] =
5565        "__GNUC__";
5567 #define    SOLARIS_MATH_9_TEST_CT  2
5568 static tTestDesc aSolaris_Math_9Tests[] = {
5569   { TT_NEGREP,   zSolaris_Math_9Bypass0, (regex_t*)NULL },
5570   { TT_EGREP,    zSolaris_Math_9Select0, (regex_t*)NULL }, };
5573  *  Fix Command Arguments for Solaris_Math_9
5574  */
5575 static const char* apzSolaris_Math_9Patch[] = {
5576     "format",
5577     "#define\t%1(x, y)%2__builtin_%1(x, y)",
5578     "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
5579     (char*)NULL };
5581 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5583  *  Description of Solaris_Mutex_Init_1 fix
5584  */
5585 tSCC zSolaris_Mutex_Init_1Name[] =
5586      "solaris_mutex_init_1";
5589  *  File name selection pattern
5590  */
5591 tSCC zSolaris_Mutex_Init_1List[] =
5592   "|pthread.h|";
5594  *  Machine/OS name selection pattern
5595  */
5596 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
5599  *  content selection pattern - do fix if pattern found
5600  */
5601 tSCC zSolaris_Mutex_Init_1Select0[] =
5602        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
5604 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
5605 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
5606   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
5609  *  Fix Command Arguments for Solaris_Mutex_Init_1
5610  */
5611 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
5612     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
5613 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
5614     (char*)NULL };
5616 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5618  *  Description of Solaris_Mutex_Init_2 fix
5619  */
5620 tSCC zSolaris_Mutex_Init_2Name[] =
5621      "solaris_mutex_init_2";
5624  *  File name selection pattern
5625  */
5626 tSCC zSolaris_Mutex_Init_2List[] =
5627   "|pthread.h|";
5629  *  Machine/OS name selection pattern
5630  */
5631 tSCC* apzSolaris_Mutex_Init_2Machs[] = {
5632         "*-*-solaris2.[0-9]",
5633         "*-*-solaris2.[0-9][!0-9]*",
5634         (const char*)NULL };
5637  *  content selection pattern - do fix if pattern found
5638  */
5639 tSCC zSolaris_Mutex_Init_2Select0[] =
5640        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5642 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
5643 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
5644   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
5647  *  Fix Command Arguments for Solaris_Mutex_Init_2
5648  */
5649 static const char* apzSolaris_Mutex_Init_2Patch[] = {
5650     "format",
5651     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5652 %0\n\
5653 #else\n\
5654 %1, {0}}%4\n\
5655 #endif",
5656     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
5657 [ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
5658     (char*)NULL };
5660 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5662  *  Description of Solaris_Rwlock_Init_1 fix
5663  */
5664 tSCC zSolaris_Rwlock_Init_1Name[] =
5665      "solaris_rwlock_init_1";
5668  *  File name selection pattern
5669  */
5670 tSCC zSolaris_Rwlock_Init_1List[] =
5671   "|pthread.h|";
5673  *  Machine/OS name selection pattern
5674  */
5675 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
5676         "*-*-solaris*",
5677         (const char*)NULL };
5680  *  content selection pattern - do fix if pattern found
5681  */
5682 tSCC zSolaris_Rwlock_Init_1Select0[] =
5683        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5685 #define    SOLARIS_RWLOCK_INIT_1_TEST_CT  1
5686 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
5687   { TT_EGREP,    zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
5690  *  Fix Command Arguments for Solaris_Rwlock_Init_1
5691  */
5692 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
5693     "format",
5694     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5695 %0\n\
5696 #else\n\
5697 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
5698 #endif",
5699     "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
5700     (char*)NULL };
5702 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5704  *  Description of Solaris_Once_Init_1 fix
5705  */
5706 tSCC zSolaris_Once_Init_1Name[] =
5707      "solaris_once_init_1";
5710  *  File name selection pattern
5711  */
5712 tSCC zSolaris_Once_Init_1List[] =
5713   "|pthread.h|";
5715  *  Machine/OS name selection pattern
5716  */
5717 tSCC* apzSolaris_Once_Init_1Machs[] = {
5718         "*-*-solaris*",
5719         (const char*)NULL };
5722  *  content selection pattern - do fix if pattern found
5723  */
5724 tSCC zSolaris_Once_Init_1Select0[] =
5725        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5727 #define    SOLARIS_ONCE_INIT_1_TEST_CT  1
5728 static tTestDesc aSolaris_Once_Init_1Tests[] = {
5729   { TT_EGREP,    zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
5732  *  Fix Command Arguments for Solaris_Once_Init_1
5733  */
5734 static const char* apzSolaris_Once_Init_1Patch[] = {
5735     "format",
5736     "%1{%2}%3",
5737     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
5738     (char*)NULL };
5740 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5742  *  Description of Solaris_Once_Init_2 fix
5743  */
5744 tSCC zSolaris_Once_Init_2Name[] =
5745      "solaris_once_init_2";
5748  *  File name selection pattern
5749  */
5750 tSCC zSolaris_Once_Init_2List[] =
5751   "|pthread.h|";
5753  *  Machine/OS name selection pattern
5754  */
5755 tSCC* apzSolaris_Once_Init_2Machs[] = {
5756         "*-*-solaris2.[0-9]",
5757         "*-*-solaris2.[0-9][!0-9]*",
5758         (const char*)NULL };
5761  *  content selection pattern - do fix if pattern found
5762  */
5763 tSCC zSolaris_Once_Init_2Select0[] =
5764        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5766 #define    SOLARIS_ONCE_INIT_2_TEST_CT  1
5767 static tTestDesc aSolaris_Once_Init_2Tests[] = {
5768   { TT_EGREP,    zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
5771  *  Fix Command Arguments for Solaris_Once_Init_2
5772  */
5773 static const char* apzSolaris_Once_Init_2Patch[] = {
5774     "format",
5775     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5776 %0\n\
5777 #else\n\
5778 %1{0}, {0}, {0}, {%3}%4\n\
5779 #endif",
5780     "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
5781     (char*)NULL };
5783 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5785  *  Description of Solaris_Socket fix
5786  */
5787 tSCC zSolaris_SocketName[] =
5788      "solaris_socket";
5791  *  File name selection pattern
5792  */
5793 tSCC zSolaris_SocketList[] =
5794   "|sys/socket.h|";
5796  *  Machine/OS name selection pattern
5797  */
5798 #define apzSolaris_SocketMachs (const char**)NULL
5801  *  content selection pattern - do fix if pattern found
5802  */
5803 tSCC zSolaris_SocketSelect0[] =
5804        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
5806 #define    SOLARIS_SOCKET_TEST_CT  1
5807 static tTestDesc aSolaris_SocketTests[] = {
5808   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
5811  *  Fix Command Arguments for Solaris_Socket
5812  */
5813 static const char* apzSolaris_SocketPatch[] = {
5814     "format",
5815     "extern int %1(int, %2void *, int, int);",
5816     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
5817     (char*)NULL };
5819 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5821  *  Description of Solaris_Stdio_Tag fix
5822  */
5823 tSCC zSolaris_Stdio_TagName[] =
5824      "solaris_stdio_tag";
5827  *  File name selection pattern
5828  */
5829 tSCC zSolaris_Stdio_TagList[] =
5830   "|stdio_tag.h|";
5832  *  Machine/OS name selection pattern
5833  */
5834 #define apzSolaris_Stdio_TagMachs (const char**)NULL
5837  *  content selection pattern - do fix if pattern found
5838  */
5839 tSCC zSolaris_Stdio_TagSelect0[] =
5840        "__cplusplus < 54321L";
5843  *  content bypass pattern - skip fix if pattern found
5844  */
5845 tSCC zSolaris_Stdio_TagBypass0[] =
5846        "__GNUC__";
5848 #define    SOLARIS_STDIO_TAG_TEST_CT  2
5849 static tTestDesc aSolaris_Stdio_TagTests[] = {
5850   { TT_NEGREP,   zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
5851   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
5854  *  Fix Command Arguments for Solaris_Stdio_Tag
5855  */
5856 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
5857     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
5858     (char*)NULL };
5860 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5862  *  Description of Solaris_Unistd fix
5863  */
5864 tSCC zSolaris_UnistdName[] =
5865      "solaris_unistd";
5868  *  File name selection pattern
5869  */
5870 tSCC zSolaris_UnistdList[] =
5871   "|unistd.h|";
5873  *  Machine/OS name selection pattern
5874  */
5875 #define apzSolaris_UnistdMachs (const char**)NULL
5878  *  content selection pattern - do fix if pattern found
5879  */
5880 tSCC zSolaris_UnistdSelect0[] =
5881        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
5884  *  content bypass pattern - skip fix if pattern found
5885  */
5886 tSCC zSolaris_UnistdBypass0[] =
5887        "getpagesize";
5889 #define    SOLARIS_UNISTD_TEST_CT  2
5890 static tTestDesc aSolaris_UnistdTests[] = {
5891   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
5892   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
5895  *  Fix Command Arguments for Solaris_Unistd
5896  */
5897 static const char* apzSolaris_UnistdPatch[] = {
5898     "format",
5899     "extern int getpagesize();\n\
5900 %0",
5901     "^extern (pid_t|int) getpgid\\(.*\\);",
5902     (char*)NULL };
5904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5906  *  Description of Solaris_Widec fix
5907  */
5908 tSCC zSolaris_WidecName[] =
5909      "solaris_widec";
5912  *  File name selection pattern
5913  */
5914 tSCC zSolaris_WidecList[] =
5915   "|widec.h|";
5917  *  Machine/OS name selection pattern
5918  */
5919 tSCC* apzSolaris_WidecMachs[] = {
5920         "*-*-solaris2.[0-5]",
5921         "*-*-solaris2.[0-5].*",
5922         (const char*)NULL };
5925  *  content selection pattern - do fix if pattern found
5926  */
5927 tSCC zSolaris_WidecSelect0[] =
5928        "#include <euc.h>";
5931  *  content bypass pattern - skip fix if pattern found
5932  */
5933 tSCC zSolaris_WidecBypass0[] =
5934        "include.*wchar\\.h";
5936 #define    SOLARIS_WIDEC_TEST_CT  2
5937 static tTestDesc aSolaris_WidecTests[] = {
5938   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
5939   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
5942  *  Fix Command Arguments for Solaris_Widec
5943  */
5944 static const char* apzSolaris_WidecPatch[] = {
5945     "format",
5946     "%0\n\
5947 #include <wchar.h>",
5948     (char*)NULL };
5950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5952  *  Description of Statsswtch fix
5953  */
5954 tSCC zStatsswtchName[] =
5955      "statsswtch";
5958  *  File name selection pattern
5959  */
5960 tSCC zStatsswtchList[] =
5961   "|rpcsvc/rstat.h|";
5963  *  Machine/OS name selection pattern
5964  */
5965 #define apzStatsswtchMachs (const char**)NULL
5968  *  content selection pattern - do fix if pattern found
5969  */
5970 tSCC zStatsswtchSelect0[] =
5971        "boottime$";
5973 #define    STATSSWTCH_TEST_CT  1
5974 static tTestDesc aStatsswtchTests[] = {
5975   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
5978  *  Fix Command Arguments for Statsswtch
5979  */
5980 static const char* apzStatsswtchPatch[] = {
5981     "format",
5982     "boottime;",
5983     (char*)NULL };
5985 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5987  *  Description of Stdio_Stdarg_H fix
5988  */
5989 tSCC zStdio_Stdarg_HName[] =
5990      "stdio_stdarg_h";
5993  *  File name selection pattern
5994  */
5995 tSCC zStdio_Stdarg_HList[] =
5996   "|stdio.h|";
5998  *  Machine/OS name selection pattern
5999  */
6000 tSCC* apzStdio_Stdarg_HMachs[] = {
6001         "*-*-solaris2.1[0-9]*",
6002         (const char*)NULL };
6005  *  content bypass pattern - skip fix if pattern found
6006  */
6007 tSCC zStdio_Stdarg_HBypass0[] =
6008        "include.*(stdarg.h|machine/ansi.h)";
6010 #define    STDIO_STDARG_H_TEST_CT  1
6011 static tTestDesc aStdio_Stdarg_HTests[] = {
6012   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
6015  *  Fix Command Arguments for Stdio_Stdarg_H
6016  */
6017 static const char* apzStdio_Stdarg_HPatch[] = {
6018     "wrap",
6019     "#define __need___va_list\n\
6020 #include <stdarg.h>\n",
6021     (char*)NULL };
6023 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6025  *  Description of Stdio_Va_List fix
6026  */
6027 tSCC zStdio_Va_ListName[] =
6028      "stdio_va_list";
6031  *  File name selection pattern
6032  */
6033 tSCC zStdio_Va_ListList[] =
6034   "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
6036  *  Machine/OS name selection pattern
6037  */
6038 tSCC* apzStdio_Va_ListMachs[] = {
6039         "*-*-solaris2.1[0-9]*",
6040         (const char*)NULL };
6043  *  content bypass pattern - skip fix if pattern found
6044  */
6045 tSCC zStdio_Va_ListBypass0[] =
6046        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
6048 #define    STDIO_VA_LIST_TEST_CT  1
6049 static tTestDesc aStdio_Va_ListTests[] = {
6050   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
6053  *  Fix Command Arguments for Stdio_Va_List
6054  */
6055 static const char* apzStdio_Va_ListPatch[] = { "sed",
6056     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
6057 s@(va_list)&@(__gnuc_va_list)\\&@\n\
6058 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
6059 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
6060 s@ va_list@ __not_va_list__@\n\
6061 s@\\*va_list@*__not_va_list__@\n\
6062 s@ __va_list)@ __gnuc_va_list)@\n\
6063 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
6064 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
6065 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
6066 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
6067 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
6068 s@VA_LIST@DUMMY_VA_LIST@\n\
6069 s@_Va_LIST@_VA_LIST@",
6070     (char*)NULL };
6072 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6074  *  Description of Stdio_Va_List_Clients fix
6075  */
6076 tSCC zStdio_Va_List_ClientsName[] =
6077      "stdio_va_list_clients";
6080  *  File name selection pattern
6081  */
6082 tSCC zStdio_Va_List_ClientsList[] =
6083   "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
6085  *  Machine/OS name selection pattern
6086  */
6087 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
6090  *  content bypass pattern - skip fix if pattern found
6091  */
6092 tSCC zStdio_Va_List_ClientsBypass0[] =
6093        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
6094 tSCC zStdio_Va_List_ClientsBypass1[] =
6095        "include <stdarg\\.h>|#ifdef va_start";
6097 #define    STDIO_VA_LIST_CLIENTS_TEST_CT  2
6098 static tTestDesc aStdio_Va_List_ClientsTests[] = {
6099   { TT_NEGREP,   zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
6100   { TT_NEGREP,   zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
6103  *  Fix Command Arguments for Stdio_Va_List_Clients
6104  */
6105 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
6106     "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
6107 s@(va_list)&@(__gnuc_va_list)\\&@\n\
6108 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
6109 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
6110 s@ va_list@ __not_va_list__@\n\
6111 s@\\*va_list@*__not_va_list__@\n\
6112 s@ __va_list)@ __gnuc_va_list)@\n\
6113 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
6114 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
6115 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
6116 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
6117 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
6118 s@VA_LIST@DUMMY_VA_LIST@\n\
6119 s@_Va_LIST@_VA_LIST@",
6120     (char*)NULL };
6122 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6124  *  Description of Strict_Ansi_Not fix
6125  */
6126 tSCC zStrict_Ansi_NotName[] =
6127      "strict_ansi_not";
6130  *  File name selection pattern
6131  */
6132 #define zStrict_Ansi_NotList (char*)NULL
6134  *  Machine/OS name selection pattern
6135  */
6136 #define apzStrict_Ansi_NotMachs (const char**)NULL
6139  *  content selection pattern - do fix if pattern found
6140  */
6141 tSCC zStrict_Ansi_NotSelect0[] =
6142        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
6145  *  content bypass pattern - skip fix if pattern found
6146  */
6147 tSCC zStrict_Ansi_NotBypass0[] =
6148        "GNU and MIPS C compilers define __STDC__ differently";
6149 tSCC zStrict_Ansi_NotBypass1[] =
6150        "__SCO_VERSION__.*__STDC__ != 1";
6153  *  perform the C function call test
6154  */
6155 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
6157 #define    STRICT_ANSI_NOT_TEST_CT  4
6158 static tTestDesc aStrict_Ansi_NotTests[] = {
6159   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
6160   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
6161   { TT_NEGREP,   zStrict_Ansi_NotBypass1, (regex_t*)NULL },
6162   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
6165  *  Fix Command Arguments for Strict_Ansi_Not
6166  */
6167 static const char* apzStrict_Ansi_NotPatch[] = {
6168     "format",
6169     "%1 !defined(__STRICT_ANSI__)",
6170     (char*)NULL };
6172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6174  *  Description of Strict_Ansi_Not_Ctd fix
6175  */
6176 tSCC zStrict_Ansi_Not_CtdName[] =
6177      "strict_ansi_not_ctd";
6180  *  File name selection pattern
6181  */
6182 tSCC zStrict_Ansi_Not_CtdList[] =
6183   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
6185  *  Machine/OS name selection pattern
6186  */
6187 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
6190  *  content selection pattern - do fix if pattern found
6191  */
6192 tSCC zStrict_Ansi_Not_CtdSelect0[] =
6193        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
6196  *  perform the C function call test
6197  */
6198 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
6200 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
6201 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
6202   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
6203   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
6206  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
6207  */
6208 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
6209     "format",
6210     "%1 !defined(__STRICT_ANSI__)",
6211     (char*)NULL };
6213 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6215  *  Description of Strict_Ansi_Only fix
6216  */
6217 tSCC zStrict_Ansi_OnlyName[] =
6218      "strict_ansi_only";
6221  *  File name selection pattern
6222  */
6223 #define zStrict_Ansi_OnlyList (char*)NULL
6225  *  Machine/OS name selection pattern
6226  */
6227 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
6230  *  content selection pattern - do fix if pattern found
6231  */
6232 tSCC zStrict_Ansi_OnlySelect0[] =
6233        "^([ \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)";
6236  *  perform the C function call test
6237  */
6238 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
6240 #define    STRICT_ANSI_ONLY_TEST_CT  2
6241 static tTestDesc aStrict_Ansi_OnlyTests[] = {
6242   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
6243   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
6246  *  Fix Command Arguments for Strict_Ansi_Only
6247  */
6248 static const char* apzStrict_Ansi_OnlyPatch[] = {
6249     "format",
6250     "%1 defined(__STRICT_ANSI__)",
6251     (char*)NULL };
6253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6255  *  Description of Struct_File fix
6256  */
6257 tSCC zStruct_FileName[] =
6258      "struct_file";
6261  *  File name selection pattern
6262  */
6263 tSCC zStruct_FileList[] =
6264   "|rpc/xdr.h|";
6266  *  Machine/OS name selection pattern
6267  */
6268 #define apzStruct_FileMachs (const char**)NULL
6271  *  content selection pattern - do fix if pattern found
6272  */
6273 tSCC zStruct_FileSelect0[] =
6274        "^.*xdrstdio_create.*struct __file_s";
6276 #define    STRUCT_FILE_TEST_CT  1
6277 static tTestDesc aStruct_FileTests[] = {
6278   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
6281  *  Fix Command Arguments for Struct_File
6282  */
6283 static const char* apzStruct_FilePatch[] = {
6284     "format",
6285     "struct __file_s;\n\
6286 %0",
6287     (char*)NULL };
6289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6291  *  Description of Struct_Sockaddr fix
6292  */
6293 tSCC zStruct_SockaddrName[] =
6294      "struct_sockaddr";
6297  *  File name selection pattern
6298  */
6299 tSCC zStruct_SockaddrList[] =
6300   "|rpc/auth.h|";
6302  *  Machine/OS name selection pattern
6303  */
6304 #define apzStruct_SockaddrMachs (const char**)NULL
6307  *  content selection pattern - do fix if pattern found
6308  */
6309 tSCC zStruct_SockaddrSelect0[] =
6310        "^.*authdes_create.*struct sockaddr[^_]";
6313  *  content bypass pattern - skip fix if pattern found
6314  */
6315 tSCC zStruct_SockaddrBypass0[] =
6316        "<sys/socket.h>";
6317 tSCC zStruct_SockaddrBypass1[] =
6318        "struct sockaddr;\n";
6320 #define    STRUCT_SOCKADDR_TEST_CT  3
6321 static tTestDesc aStruct_SockaddrTests[] = {
6322   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
6323   { TT_NEGREP,   zStruct_SockaddrBypass1, (regex_t*)NULL },
6324   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
6327  *  Fix Command Arguments for Struct_Sockaddr
6328  */
6329 static const char* apzStruct_SockaddrPatch[] = {
6330     "format",
6331     "struct sockaddr;\n\
6332 %0",
6333     (char*)NULL };
6335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6337  *  Description of Sun_Auth_Proto fix
6338  */
6339 tSCC zSun_Auth_ProtoName[] =
6340      "sun_auth_proto";
6343  *  File name selection pattern
6344  */
6345 tSCC zSun_Auth_ProtoList[] =
6346   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
6348  *  Machine/OS name selection pattern
6349  */
6350 #define apzSun_Auth_ProtoMachs (const char**)NULL
6353  *  content selection pattern - do fix if pattern found
6354  */
6355 tSCC zSun_Auth_ProtoSelect0[] =
6356        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
6359  *  content bypass pattern - skip fix if pattern found
6360  */
6361 tSCC zSun_Auth_ProtoBypass0[] =
6362        "__cplusplus";
6364 #define    SUN_AUTH_PROTO_TEST_CT  2
6365 static tTestDesc aSun_Auth_ProtoTests[] = {
6366   { TT_NEGREP,   zSun_Auth_ProtoBypass0, (regex_t*)NULL },
6367   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
6370  *  Fix Command Arguments for Sun_Auth_Proto
6371  */
6372 static const char* apzSun_Auth_ProtoPatch[] = {
6373     "format",
6374     "#ifdef __cplusplus\n\
6375 %1(...);%2\n\
6376 #else\n\
6377 %1();%2\n\
6378 #endif",
6379     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
6380     (char*)NULL };
6382 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6384  *  Description of Sun_Bogus_Ifdef fix
6385  */
6386 tSCC zSun_Bogus_IfdefName[] =
6387      "sun_bogus_ifdef";
6390  *  File name selection pattern
6391  */
6392 tSCC zSun_Bogus_IfdefList[] =
6393   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
6395  *  Machine/OS name selection pattern
6396  */
6397 #define apzSun_Bogus_IfdefMachs (const char**)NULL
6400  *  content selection pattern - do fix if pattern found
6401  */
6402 tSCC zSun_Bogus_IfdefSelect0[] =
6403        "#ifdef(.*\\|\\|.*)";
6405 #define    SUN_BOGUS_IFDEF_TEST_CT  1
6406 static tTestDesc aSun_Bogus_IfdefTests[] = {
6407   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
6410  *  Fix Command Arguments for Sun_Bogus_Ifdef
6411  */
6412 static const char* apzSun_Bogus_IfdefPatch[] = {
6413     "format",
6414     "#if%1",
6415     (char*)NULL };
6417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6419  *  Description of Sun_Catmacro fix
6420  */
6421 tSCC zSun_CatmacroName[] =
6422      "sun_catmacro";
6425  *  File name selection pattern
6426  */
6427 tSCC zSun_CatmacroList[] =
6428   "|pixrect/memvar.h|";
6430  *  Machine/OS name selection pattern
6431  */
6432 #define apzSun_CatmacroMachs (const char**)NULL
6435  *  content selection pattern - do fix if pattern found
6436  */
6437 tSCC zSun_CatmacroSelect0[] =
6438        "^#define[ \t]+CAT\\(a,b\\).*";
6440 #define    SUN_CATMACRO_TEST_CT  1
6441 static tTestDesc aSun_CatmacroTests[] = {
6442   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
6445  *  Fix Command Arguments for Sun_Catmacro
6446  */
6447 static const char* apzSun_CatmacroPatch[] = {
6448     "format",
6449     "#ifdef __STDC__\n\
6450 #  define CAT(a,b) a##b\n\
6451 #else\n\
6452 %0\n\
6453 #endif",
6454     (char*)NULL };
6456 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6458  *  Description of Sun_Malloc fix
6459  */
6460 tSCC zSun_MallocName[] =
6461      "sun_malloc";
6464  *  File name selection pattern
6465  */
6466 tSCC zSun_MallocList[] =
6467   "|malloc.h|";
6469  *  Machine/OS name selection pattern
6470  */
6471 #define apzSun_MallocMachs (const char**)NULL
6474  *  content bypass pattern - skip fix if pattern found
6475  */
6476 tSCC zSun_MallocBypass0[] =
6477        "_CLASSIC_ANSI_TYPES";
6479 #define    SUN_MALLOC_TEST_CT  1
6480 static tTestDesc aSun_MallocTests[] = {
6481   { TT_NEGREP,   zSun_MallocBypass0, (regex_t*)NULL }, };
6484  *  Fix Command Arguments for Sun_Malloc
6485  */
6486 static const char* apzSun_MallocPatch[] = { "sed",
6487     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
6488     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
6489     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
6490     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
6491     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
6492     (char*)NULL };
6494 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6496  *  Description of Sun_Rusers_Semi fix
6497  */
6498 tSCC zSun_Rusers_SemiName[] =
6499      "sun_rusers_semi";
6502  *  File name selection pattern
6503  */
6504 tSCC zSun_Rusers_SemiList[] =
6505   "|rpcsvc/rusers.h|";
6507  *  Machine/OS name selection pattern
6508  */
6509 #define apzSun_Rusers_SemiMachs (const char**)NULL
6512  *  content selection pattern - do fix if pattern found
6513  */
6514 tSCC zSun_Rusers_SemiSelect0[] =
6515        "_cnt$";
6517 #define    SUN_RUSERS_SEMI_TEST_CT  1
6518 static tTestDesc aSun_Rusers_SemiTests[] = {
6519   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
6522  *  Fix Command Arguments for Sun_Rusers_Semi
6523  */
6524 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
6525     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
6526     (char*)NULL };
6528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6530  *  Description of Sun_Signal fix
6531  */
6532 tSCC zSun_SignalName[] =
6533      "sun_signal";
6536  *  File name selection pattern
6537  */
6538 tSCC zSun_SignalList[] =
6539   "|sys/signal.h|signal.h|";
6541  *  Machine/OS name selection pattern
6542  */
6543 #define apzSun_SignalMachs (const char**)NULL
6546  *  content selection pattern - do fix if pattern found
6547  */
6548 tSCC zSun_SignalSelect0[] =
6549        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
6551 #define    SUN_SIGNAL_TEST_CT  1
6552 static tTestDesc aSun_SignalTests[] = {
6553   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
6556  *  Fix Command Arguments for Sun_Signal
6557  */
6558 static const char* apzSun_SignalPatch[] = {
6559     "format",
6560     "#ifdef __cplusplus\n\
6561 void\t(*signal(...))(...);\n\
6562 #else\n\
6563 %0\n\
6564 #endif",
6565     (char*)NULL };
6567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6569  *  Description of Sunos_Strlen fix
6570  */
6571 tSCC zSunos_StrlenName[] =
6572      "sunos_strlen";
6575  *  File name selection pattern
6576  */
6577 tSCC zSunos_StrlenList[] =
6578   "|strings.h|";
6580  *  Machine/OS name selection pattern
6581  */
6582 #define apzSunos_StrlenMachs (const char**)NULL
6585  *  content selection pattern - do fix if pattern found
6586  */
6587 tSCC zSunos_StrlenSelect0[] =
6588        "int[ \t]*strlen\\(\\);(.*)";
6590 #define    SUNOS_STRLEN_TEST_CT  1
6591 static tTestDesc aSunos_StrlenTests[] = {
6592   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
6595  *  Fix Command Arguments for Sunos_Strlen
6596  */
6597 static const char* apzSunos_StrlenPatch[] = {
6598     "format",
6599     "__SIZE_TYPE__ strlen();%1",
6600     (char*)NULL };
6602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6604  *  Description of Svr4_Disable_Opt fix
6605  */
6606 tSCC zSvr4_Disable_OptName[] =
6607      "svr4_disable_opt";
6610  *  File name selection pattern
6611  */
6612 tSCC zSvr4_Disable_OptList[] =
6613   "|string.h|";
6615  *  Machine/OS name selection pattern
6616  */
6617 #define apzSvr4_Disable_OptMachs (const char**)NULL
6620  *  content selection pattern - do fix if pattern found
6621  */
6622 tSCC zSvr4_Disable_OptSelect0[] =
6623        "#define.*__std_hdr_";
6625 #define    SVR4_DISABLE_OPT_TEST_CT  1
6626 static tTestDesc aSvr4_Disable_OptTests[] = {
6627   { TT_EGREP,    zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
6630  *  Fix Command Arguments for Svr4_Disable_Opt
6631  */
6632 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
6633     "-e", "/#define.*__std_hdr_/d",
6634     (char*)NULL };
6636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6638  *  Description of Svr4_Getcwd fix
6639  */
6640 tSCC zSvr4_GetcwdName[] =
6641      "svr4_getcwd";
6644  *  File name selection pattern
6645  */
6646 tSCC zSvr4_GetcwdList[] =
6647   "|stdlib.h|unistd.h|prototypes.h|";
6649  *  Machine/OS name selection pattern
6650  */
6651 #define apzSvr4_GetcwdMachs (const char**)NULL
6654  *  content selection pattern - do fix if pattern found
6655  */
6656 tSCC zSvr4_GetcwdSelect0[] =
6657        "getcwd\\(char \\*, int\\)";
6659 #define    SVR4_GETCWD_TEST_CT  1
6660 static tTestDesc aSvr4_GetcwdTests[] = {
6661   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
6664  *  Fix Command Arguments for Svr4_Getcwd
6665  */
6666 static const char* apzSvr4_GetcwdPatch[] = {
6667     "format",
6668     "getcwd(char *, size_t)",
6669     (char*)NULL };
6671 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6673  *  Description of Svr4_Krnl fix
6674  */
6675 tSCC zSvr4_KrnlName[] =
6676      "svr4_krnl";
6679  *  File name selection pattern
6680  */
6681 tSCC zSvr4_KrnlList[] =
6682   "|fs/rfs/rf_cache.h|sys/erec.h|sys/err.h|sys/char.h|sys/getpages.h|sys/map.h|sys/cmn_err.h|sys/kdebugger.h|";
6684  *  Machine/OS name selection pattern
6685  */
6686 tSCC* apzSvr4_KrnlMachs[] = {
6687         "*-*-sysv4*",
6688         "i?86-sequent-ptx*",
6689         (const char*)NULL };
6692  *  content bypass pattern - skip fix if pattern found
6693  */
6694 tSCC zSvr4_KrnlBypass0[] =
6695        "_KERNEL";
6697 #define    SVR4_KRNL_TEST_CT  1
6698 static tTestDesc aSvr4_KrnlTests[] = {
6699   { TT_NEGREP,   zSvr4_KrnlBypass0, (regex_t*)NULL }, };
6702  *  Fix Command Arguments for Svr4_Krnl
6703  */
6704 static const char* apzSvr4_KrnlPatch[] = {
6705     "wrap",
6706     "#ifdef _KERNEL\n",
6707     "#endif /* _KERNEL */\n",
6708     (char*)NULL };
6710 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6712  *  Description of Svr4_Profil fix
6713  */
6714 tSCC zSvr4_ProfilName[] =
6715      "svr4_profil";
6718  *  File name selection pattern
6719  */
6720 tSCC zSvr4_ProfilList[] =
6721   "|stdlib.h|unistd.h|";
6723  *  Machine/OS name selection pattern
6724  */
6725 #define apzSvr4_ProfilMachs (const char**)NULL
6728  *  content selection pattern - do fix if pattern found
6729  */
6730 tSCC zSvr4_ProfilSelect0[] =
6731        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
6734  *  content bypass pattern - skip fix if pattern found
6735  */
6736 tSCC zSvr4_ProfilBypass0[] =
6737        "Silicon Graphics";
6739 #define    SVR4_PROFIL_TEST_CT  2
6740 static tTestDesc aSvr4_ProfilTests[] = {
6741   { TT_NEGREP,   zSvr4_ProfilBypass0, (regex_t*)NULL },
6742   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
6745  *  Fix Command Arguments for Svr4_Profil
6746  */
6747 static const char* apzSvr4_ProfilPatch[] = {
6748     "format",
6749     "profil(unsigned short *, size_t, int, unsigned int)",
6750     (char*)NULL };
6752 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6754  *  Description of Svr4_Sighandler_Type fix
6755  */
6756 tSCC zSvr4_Sighandler_TypeName[] =
6757      "svr4_sighandler_type";
6760  *  File name selection pattern
6761  */
6762 tSCC zSvr4_Sighandler_TypeList[] =
6763   "|sys/signal.h|";
6765  *  Machine/OS name selection pattern
6766  */
6767 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
6770  *  content selection pattern - do fix if pattern found
6771  */
6772 tSCC zSvr4_Sighandler_TypeSelect0[] =
6773        "void *\\(\\*\\)\\(\\)";
6775 #define    SVR4_SIGHANDLER_TYPE_TEST_CT  1
6776 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
6777   { TT_EGREP,    zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
6780  *  Fix Command Arguments for Svr4_Sighandler_Type
6781  */
6782 static const char* apzSvr4_Sighandler_TypePatch[] = {
6783     "format",
6784     "void (*)(int)",
6785     (char*)NULL };
6787 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6789  *  Description of Svr4_Undeclared_Getrnge fix
6790  */
6791 tSCC zSvr4_Undeclared_GetrngeName[] =
6792      "svr4_undeclared_getrnge";
6795  *  File name selection pattern
6796  */
6797 tSCC zSvr4_Undeclared_GetrngeList[] =
6798   "|regexp.h|";
6800  *  Machine/OS name selection pattern
6801  */
6802 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
6805  *  content selection pattern - do fix if pattern found
6806  */
6807 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
6808        "getrnge";
6811  *  content bypass pattern - skip fix if pattern found
6812  */
6813 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
6814        "static void getrnge";
6816 #define    SVR4_UNDECLARED_GETRNGE_TEST_CT  2
6817 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
6818   { TT_NEGREP,   zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
6819   { TT_EGREP,    zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
6822  *  Fix Command Arguments for Svr4_Undeclared_Getrnge
6823  */
6824 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
6825     "format",
6826     "%0\n\
6827 static int getrnge ();",
6828     "^static int[ \t]+size;",
6829     (char*)NULL };
6831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6833  *  Description of Sysv68_String fix
6834  */
6835 tSCC zSysv68_StringName[] =
6836      "sysv68_string";
6839  *  File name selection pattern
6840  */
6841 tSCC zSysv68_StringList[] =
6842   "|testing.h|string.h|";
6844  *  Machine/OS name selection pattern
6845  */
6846 #define apzSysv68_StringMachs (const char**)NULL
6849  *  content bypass pattern - skip fix if pattern found
6850  */
6851 tSCC zSysv68_StringBypass0[] =
6852        "_CLASSIC_ANSI_TYPES";
6854 #define    SYSV68_STRING_TEST_CT  1
6855 static tTestDesc aSysv68_StringTests[] = {
6856   { TT_NEGREP,   zSysv68_StringBypass0, (regex_t*)NULL }, };
6859  *  Fix Command Arguments for Sysv68_String
6860  */
6861 static const char* apzSysv68_StringPatch[] = { "sed",
6862     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
6863     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
6864     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
6865     "-e", "/^extern char$/N",
6866     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
6867     "-e", "/^extern int$/N",
6868     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
6869     "-e", "/^\tstrncmp(),$/N",
6870     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
6871 extern unsigned int\\\n\
6872 \\2/",
6873     (char*)NULL };
6875 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6877  *  Description of Sysz_Stdlib_For_Sun fix
6878  */
6879 tSCC zSysz_Stdlib_For_SunName[] =
6880      "sysz_stdlib_for_sun";
6883  *  File name selection pattern
6884  */
6885 tSCC zSysz_Stdlib_For_SunList[] =
6886   "|stdlib.h|";
6888  *  Machine/OS name selection pattern
6889  */
6890 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
6893  *  content selection pattern - do fix if pattern found
6894  */
6895 tSCC zSysz_Stdlib_For_SunSelect0[] =
6896        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
6899  *  content bypass pattern - skip fix if pattern found
6900  */
6901 tSCC zSysz_Stdlib_For_SunBypass0[] =
6902        "_CLASSIC_ANSI_TYPES";
6904 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  2
6905 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
6906   { TT_NEGREP,   zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
6907   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
6910  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
6911  */
6912 static const char* apzSysz_Stdlib_For_SunPatch[] = {
6913     "format",
6914     "void *\t%1(",
6915     (char*)NULL };
6917 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6919  *  Description of Thread_Keyword fix
6920  */
6921 tSCC zThread_KeywordName[] =
6922      "thread_keyword";
6925  *  File name selection pattern
6926  */
6927 tSCC zThread_KeywordList[] =
6928   "|pthread.h|bits/sigthread.h|";
6930  *  Machine/OS name selection pattern
6931  */
6932 #define apzThread_KeywordMachs (const char**)NULL
6935  *  content selection pattern - do fix if pattern found
6936  */
6937 tSCC zThread_KeywordSelect0[] =
6938        "([* ])__thread([,)])";
6940 #define    THREAD_KEYWORD_TEST_CT  1
6941 static tTestDesc aThread_KeywordTests[] = {
6942   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
6945  *  Fix Command Arguments for Thread_Keyword
6946  */
6947 static const char* apzThread_KeywordPatch[] = {
6948     "format",
6949     "%1__thr%2",
6950     (char*)NULL };
6952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6954  *  Description of Tinfo_Cplusplus fix
6955  */
6956 tSCC zTinfo_CplusplusName[] =
6957      "tinfo_cplusplus";
6960  *  File name selection pattern
6961  */
6962 tSCC zTinfo_CplusplusList[] =
6963   "|tinfo.h|";
6965  *  Machine/OS name selection pattern
6966  */
6967 #define apzTinfo_CplusplusMachs (const char**)NULL
6970  *  content selection pattern - do fix if pattern found
6971  */
6972 tSCC zTinfo_CplusplusSelect0[] =
6973        "[ \t]_cplusplus";
6975 #define    TINFO_CPLUSPLUS_TEST_CT  1
6976 static tTestDesc aTinfo_CplusplusTests[] = {
6977   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
6980  *  Fix Command Arguments for Tinfo_Cplusplus
6981  */
6982 static const char* apzTinfo_CplusplusPatch[] = {
6983     "format",
6984     " __cplusplus",
6985     (char*)NULL };
6987 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6989  *  Description of Ultrix_Atexit_Param fix
6990  */
6991 tSCC zUltrix_Atexit_ParamName[] =
6992      "ultrix_atexit_param";
6995  *  File name selection pattern
6996  */
6997 tSCC zUltrix_Atexit_ParamList[] =
6998   "|stdlib.h|";
7000  *  Machine/OS name selection pattern
7001  */
7002 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
7005  *  content selection pattern - do fix if pattern found
7006  */
7007 tSCC zUltrix_Atexit_ParamSelect0[] =
7008        "atexit\\(.*\\(\\)";
7010 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
7011 static tTestDesc aUltrix_Atexit_ParamTests[] = {
7012   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
7015  *  Fix Command Arguments for Ultrix_Atexit_Param
7016  */
7017 static const char* apzUltrix_Atexit_ParamPatch[] = {
7018     "format",
7019     "atexit( void (*__func)( void )",
7020     (char*)NULL };
7022 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7024  *  Description of Ultrix_Atof_Param fix
7025  */
7026 tSCC zUltrix_Atof_ParamName[] =
7027      "ultrix_atof_param";
7030  *  File name selection pattern
7031  */
7032 tSCC zUltrix_Atof_ParamList[] =
7033   "|math.h|";
7035  *  Machine/OS name selection pattern
7036  */
7037 #define apzUltrix_Atof_ParamMachs (const char**)NULL
7040  *  content selection pattern - do fix if pattern found
7041  */
7042 tSCC zUltrix_Atof_ParamSelect0[] =
7043        "atof\\([ \t]*char";
7045 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
7046 static tTestDesc aUltrix_Atof_ParamTests[] = {
7047   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
7050  *  Fix Command Arguments for Ultrix_Atof_Param
7051  */
7052 static const char* apzUltrix_Atof_ParamPatch[] = {
7053     "format",
7054     "atof(const char",
7055     (char*)NULL };
7057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7059  *  Description of Ultrix_Const fix
7060  */
7061 tSCC zUltrix_ConstName[] =
7062      "ultrix_const";
7065  *  File name selection pattern
7066  */
7067 tSCC zUltrix_ConstList[] =
7068   "|stdio.h|";
7070  *  Machine/OS name selection pattern
7071  */
7072 #define apzUltrix_ConstMachs (const char**)NULL
7075  *  content selection pattern - do fix if pattern found
7076  */
7077 tSCC zUltrix_ConstSelect0[] =
7078        "perror\\( char \\*";
7080 #define    ULTRIX_CONST_TEST_CT  1
7081 static tTestDesc aUltrix_ConstTests[] = {
7082   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
7085  *  Fix Command Arguments for Ultrix_Const
7086  */
7087 static const char* apzUltrix_ConstPatch[] = {
7088     "format",
7089     "%1 const %3 *__",
7090     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
7091     (char*)NULL };
7093 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7095  *  Description of Ultrix_Const2 fix
7096  */
7097 tSCC zUltrix_Const2Name[] =
7098      "ultrix_const2";
7101  *  File name selection pattern
7102  */
7103 tSCC zUltrix_Const2List[] =
7104   "|stdio.h|";
7106  *  Machine/OS name selection pattern
7107  */
7108 #define apzUltrix_Const2Machs (const char**)NULL
7111  *  content selection pattern - do fix if pattern found
7112  */
7113 tSCC zUltrix_Const2Select0[] =
7114        "\\*fopen\\( char \\*";
7116 #define    ULTRIX_CONST2_TEST_CT  1
7117 static tTestDesc aUltrix_Const2Tests[] = {
7118   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
7121  *  Fix Command Arguments for Ultrix_Const2
7122  */
7123 static const char* apzUltrix_Const2Patch[] = {
7124     "format",
7125     "%1( const char *%3, const char *",
7126     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
7127     (char*)NULL };
7129 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7131  *  Description of Ultrix_Const3 fix
7132  */
7133 tSCC zUltrix_Const3Name[] =
7134      "ultrix_const3";
7137  *  File name selection pattern
7138  */
7139 tSCC zUltrix_Const3List[] =
7140   "|stdio.h|";
7142  *  Machine/OS name selection pattern
7143  */
7144 #define apzUltrix_Const3Machs (const char**)NULL
7147  *  content selection pattern - do fix if pattern found
7148  */
7149 tSCC zUltrix_Const3Select0[] =
7150        "fdopen\\( .*, char \\*";
7152 #define    ULTRIX_CONST3_TEST_CT  1
7153 static tTestDesc aUltrix_Const3Tests[] = {
7154   { TT_EGREP,    zUltrix_Const3Select0, (regex_t*)NULL }, };
7157  *  Fix Command Arguments for Ultrix_Const3
7158  */
7159 static const char* apzUltrix_Const3Patch[] = {
7160     "format",
7161     "%1 const %3 *__",
7162     "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
7163     (char*)NULL };
7165 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7167  *  Description of Ultrix_Fix_Fixproto fix
7168  */
7169 tSCC zUltrix_Fix_FixprotoName[] =
7170      "ultrix_fix_fixproto";
7173  *  File name selection pattern
7174  */
7175 tSCC zUltrix_Fix_FixprotoList[] =
7176   "|sys/utsname.h|";
7178  *  Machine/OS name selection pattern
7179  */
7180 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
7183  *  content selection pattern - do fix if pattern found
7184  */
7185 tSCC zUltrix_Fix_FixprotoSelect0[] =
7186        "ULTRIX";
7188 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
7189 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
7190   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
7193  *  Fix Command Arguments for Ultrix_Fix_Fixproto
7194  */
7195 static const char* apzUltrix_Fix_FixprotoPatch[] = {
7196     "format",
7197     "struct utsname;\n\
7198 %0",
7199     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
7200     (char*)NULL };
7202 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7204  *  Description of Ultrix_Ifdef fix
7205  */
7206 tSCC zUltrix_IfdefName[] =
7207      "ultrix_ifdef";
7210  *  File name selection pattern
7211  */
7212 tSCC zUltrix_IfdefList[] =
7213   "|sys/file.h|";
7215  *  Machine/OS name selection pattern
7216  */
7217 #define apzUltrix_IfdefMachs (const char**)NULL
7220  *  content selection pattern - do fix if pattern found
7221  */
7222 tSCC zUltrix_IfdefSelect0[] =
7223        "^#ifdef KERNEL[ \t]+&&";
7225 #define    ULTRIX_IFDEF_TEST_CT  1
7226 static tTestDesc aUltrix_IfdefTests[] = {
7227   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
7230  *  Fix Command Arguments for Ultrix_Ifdef
7231  */
7232 static const char* apzUltrix_IfdefPatch[] = {
7233     "format",
7234     "#if defined(KERNEL) &&",
7235     (char*)NULL };
7237 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7239  *  Description of Ultrix_Locale fix
7240  */
7241 tSCC zUltrix_LocaleName[] =
7242      "ultrix_locale";
7245  *  File name selection pattern
7246  */
7247 tSCC zUltrix_LocaleList[] =
7248   "|locale.h|";
7250  *  Machine/OS name selection pattern
7251  */
7252 #define apzUltrix_LocaleMachs (const char**)NULL
7255  *  content selection pattern - do fix if pattern found
7256  */
7257 tSCC zUltrix_LocaleSelect0[] =
7258        "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
7260 #define    ULTRIX_LOCALE_TEST_CT  1
7261 static tTestDesc aUltrix_LocaleTests[] = {
7262   { TT_EGREP,    zUltrix_LocaleSelect0, (regex_t*)NULL }, };
7265  *  Fix Command Arguments for Ultrix_Locale
7266  */
7267 static const char* apzUltrix_LocalePatch[] = {
7268     "wrap",
7269     (char*)NULL };
7271 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7273  *  Description of Ultrix_Math_Ifdef fix
7274  */
7275 tSCC zUltrix_Math_IfdefName[] =
7276      "ultrix_math_ifdef";
7279  *  File name selection pattern
7280  */
7281 tSCC zUltrix_Math_IfdefList[] =
7282   "|sys/limits.h|float.h|math.h|";
7284  *  Machine/OS name selection pattern
7285  */
7286 #define apzUltrix_Math_IfdefMachs (const char**)NULL
7289  *  content selection pattern - do fix if pattern found
7290  */
7291 tSCC zUltrix_Math_IfdefSelect0[] =
7292        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
7294 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
7295 static tTestDesc aUltrix_Math_IfdefTests[] = {
7296   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
7299  *  Fix Command Arguments for Ultrix_Math_Ifdef
7300  */
7301 static const char* apzUltrix_Math_IfdefPatch[] = {
7302     "format",
7303     "%1",
7304     (char*)NULL };
7306 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7308  *  Description of Ultrix_Nested_Ioctl fix
7309  */
7310 tSCC zUltrix_Nested_IoctlName[] =
7311      "ultrix_nested_ioctl";
7314  *  File name selection pattern
7315  */
7316 tSCC zUltrix_Nested_IoctlList[] =
7317   "|sys/ioctl.h|";
7319  *  Machine/OS name selection pattern
7320  */
7321 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
7324  *  content selection pattern - do fix if pattern found
7325  */
7326 tSCC zUltrix_Nested_IoctlSelect0[] =
7327        "^/\\* #define SIOCSCREEN";
7329 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
7330 static tTestDesc aUltrix_Nested_IoctlTests[] = {
7331   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
7334  *  Fix Command Arguments for Ultrix_Nested_Ioctl
7335  */
7336 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
7337     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
7338     (char*)NULL };
7340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7342  *  Description of Ultrix_Nested_Svc fix
7343  */
7344 tSCC zUltrix_Nested_SvcName[] =
7345      "ultrix_nested_svc";
7348  *  File name selection pattern
7349  */
7350 tSCC zUltrix_Nested_SvcList[] =
7351   "|rpc/svc.h|";
7353  *  Machine/OS name selection pattern
7354  */
7355 #define apzUltrix_Nested_SvcMachs (const char**)NULL
7358  *  content selection pattern - do fix if pattern found
7359  */
7360 tSCC zUltrix_Nested_SvcSelect0[] =
7361        "^ \\*[ \t]*int protocol;  */\\*";
7363 #define    ULTRIX_NESTED_SVC_TEST_CT  1
7364 static tTestDesc aUltrix_Nested_SvcTests[] = {
7365   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
7368  *  Fix Command Arguments for Ultrix_Nested_Svc
7369  */
7370 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
7371     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
7372     (char*)NULL };
7374 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7376  *  Description of Ultrix_Stat fix
7377  */
7378 tSCC zUltrix_StatName[] =
7379      "ultrix_stat";
7382  *  File name selection pattern
7383  */
7384 tSCC zUltrix_StatList[] =
7385   "|sys/stat.h|";
7387  *  Machine/OS name selection pattern
7388  */
7389 #define apzUltrix_StatMachs (const char**)NULL
7392  *  content selection pattern - do fix if pattern found
7393  */
7394 tSCC zUltrix_StatSelect0[] =
7395        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
7397 #define    ULTRIX_STAT_TEST_CT  1
7398 static tTestDesc aUltrix_StatTests[] = {
7399   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
7402  *  Fix Command Arguments for Ultrix_Stat
7403  */
7404 static const char* apzUltrix_StatPatch[] = { "sed",
7405     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
7406 \\\n\
7407 /* macro to test for symbolic link */\\\n\
7408 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
7409     "-e", "/^[ \t]*fstat(),$/a\\\n\
7410 \tlstat(),\n",
7411     (char*)NULL };
7413 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7415  *  Description of Ultrix_Static fix
7416  */
7417 tSCC zUltrix_StaticName[] =
7418      "ultrix_static";
7421  *  File name selection pattern
7422  */
7423 tSCC zUltrix_StaticList[] =
7424   "|machine/cpu.h|";
7426  *  Machine/OS name selection pattern
7427  */
7428 #define apzUltrix_StaticMachs (const char**)NULL
7431  *  content selection pattern - do fix if pattern found
7432  */
7433 tSCC zUltrix_StaticSelect0[] =
7434        "#include \"r[34]_cpu";
7436 #define    ULTRIX_STATIC_TEST_CT  1
7437 static tTestDesc aUltrix_StaticTests[] = {
7438   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
7441  *  Fix Command Arguments for Ultrix_Static
7442  */
7443 static const char* apzUltrix_StaticPatch[] = { "sed",
7444     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
7445     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
7446     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
7447     (char*)NULL };
7449 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7451  *  Description of Ultrix_Stdlib fix
7452  */
7453 tSCC zUltrix_StdlibName[] =
7454      "ultrix_stdlib";
7457  *  File name selection pattern
7458  */
7459 tSCC zUltrix_StdlibList[] =
7460   "|stdlib.h|";
7462  *  Machine/OS name selection pattern
7463  */
7464 #define apzUltrix_StdlibMachs (const char**)NULL
7467  *  content selection pattern - do fix if pattern found
7468  */
7469 tSCC zUltrix_StdlibSelect0[] =
7470        "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
7472 #define    ULTRIX_STDLIB_TEST_CT  1
7473 static tTestDesc aUltrix_StdlibTests[] = {
7474   { TT_EGREP,    zUltrix_StdlibSelect0, (regex_t*)NULL }, };
7477  *  Fix Command Arguments for Ultrix_Stdlib
7478  */
7479 static const char* apzUltrix_StdlibPatch[] = { "sed",
7480     "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
7481 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
7482 void\t\tunsetenv( const char *__name );\\\n\
7483 int\t\tputenv( char *__s );\n",
7484     "-e", "/^char.*getenv();.*$/a\\\n\
7485 int\tsetenv();\\\n\
7486 void\tunsetenv();\\\n\
7487 int\tputenv();\n",
7488     (char*)NULL };
7490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7492  *  Description of Ultrix_Strings fix
7493  */
7494 tSCC zUltrix_StringsName[] =
7495      "ultrix_strings";
7498  *  File name selection pattern
7499  */
7500 tSCC zUltrix_StringsList[] =
7501   "|strings.h|";
7503  *  Machine/OS name selection pattern
7504  */
7505 #define apzUltrix_StringsMachs (const char**)NULL
7508  *  content selection pattern - do fix if pattern found
7509  */
7510 tSCC zUltrix_StringsSelect0[] =
7511        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7513 #define    ULTRIX_STRINGS_TEST_CT  1
7514 static tTestDesc aUltrix_StringsTests[] = {
7515   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
7518  *  Fix Command Arguments for Ultrix_Strings
7519  */
7520 static const char* apzUltrix_StringsPatch[] = {
7521     "wrap",
7522     (char*)NULL };
7524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7526  *  Description of Ultrix_Strings2 fix
7527  */
7528 tSCC zUltrix_Strings2Name[] =
7529      "ultrix_strings2";
7532  *  File name selection pattern
7533  */
7534 tSCC zUltrix_Strings2List[] =
7535   "|strings.h|";
7537  *  Machine/OS name selection pattern
7538  */
7539 #define apzUltrix_Strings2Machs (const char**)NULL
7542  *  content selection pattern - do fix if pattern found
7543  */
7544 tSCC zUltrix_Strings2Select0[] =
7545        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7547 #define    ULTRIX_STRINGS2_TEST_CT  1
7548 static tTestDesc aUltrix_Strings2Tests[] = {
7549   { TT_EGREP,    zUltrix_Strings2Select0, (regex_t*)NULL }, };
7552  *  Fix Command Arguments for Ultrix_Strings2
7553  */
7554 static const char* apzUltrix_Strings2Patch[] = { "sed",
7555     "-e", "/^.*strncmp( const .* );.*/a\\\n\
7556 \\\n\
7557 extern int\\\n\
7558 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
7559 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
7560     "-e", "/^.*strncmp();.*/a\\\n\
7561 extern int\\\n\
7562 \tstrcasecmp(),\\\n\
7563 \tstrncasecmp();\n",
7564     (char*)NULL };
7566 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7568  *  Description of Ultrix_Sys_Time fix
7569  */
7570 tSCC zUltrix_Sys_TimeName[] =
7571      "ultrix_sys_time";
7574  *  File name selection pattern
7575  */
7576 tSCC zUltrix_Sys_TimeList[] =
7577   "|sys/time.h|";
7579  *  Machine/OS name selection pattern
7580  */
7581 #define apzUltrix_Sys_TimeMachs (const char**)NULL
7584  *  content selection pattern - do fix if pattern found
7585  */
7586 tSCC zUltrix_Sys_TimeSelect0[] =
7587        "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
7589 #define    ULTRIX_SYS_TIME_TEST_CT  1
7590 static tTestDesc aUltrix_Sys_TimeTests[] = {
7591   { TT_EGREP,    zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
7594  *  Fix Command Arguments for Ultrix_Sys_Time
7595  */
7596 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
7597     "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
7598 \\\n\
7599 extern int adjtime(struct timeval *, struct timeval *);\\\n\
7600 extern int getitimer(int, struct itimerval *);\\\n\
7601 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
7602 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
7603 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
7604 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
7605 extern int stime(const time_t *);\\\n\
7606 extern int utimes(const char *, const struct timeval[2]);\\\n\
7607 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
7608     "-e", "/^extern.*double.*difftime();.*$/a\\\n\
7609 extern\tint adjtime();\\\n\
7610 extern\tint getitimer();\\\n\
7611 extern\tint setitimer();\\\n\
7612 extern\tint gettimeofday();\\\n\
7613 extern\tint settimeofday();\\\n\
7614 extern\tvoid profil();\\\n\
7615 extern\tint stime();\\\n\
7616 extern\tint utimes();\\\n\
7617 extern\tint select();\n",
7618     (char*)NULL };
7620 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7622  *  Description of Ultrix_Unistd fix
7623  */
7624 tSCC zUltrix_UnistdName[] =
7625      "ultrix_unistd";
7628  *  File name selection pattern
7629  */
7630 tSCC zUltrix_UnistdList[] =
7631   "|unistd.h|";
7633  *  Machine/OS name selection pattern
7634  */
7635 #define apzUltrix_UnistdMachs (const char**)NULL
7638  *  content selection pattern - do fix if pattern found
7639  */
7640 tSCC zUltrix_UnistdSelect0[] =
7641        "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
7643 #define    ULTRIX_UNISTD_TEST_CT  1
7644 static tTestDesc aUltrix_UnistdTests[] = {
7645   { TT_EGREP,    zUltrix_UnistdSelect0, (regex_t*)NULL }, };
7648  *  Fix Command Arguments for Ultrix_Unistd
7649  */
7650 static const char* apzUltrix_UnistdPatch[] = { "sed",
7651     "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
7652 \tgetpagesize(),\n",
7653     "-e", "/^[ \t]*fork(),.*$/a\\\n\
7654 \tvfork(),\n",
7655     (char*)NULL };
7657 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7659  *  Description of Unicosmk_Restrict fix
7660  */
7661 tSCC zUnicosmk_RestrictName[] =
7662      "unicosmk_restrict";
7665  *  File name selection pattern
7666  */
7667 tSCC zUnicosmk_RestrictList[] =
7668   "|stdio.h|stdlib.h|wchar.h|";
7670  *  Machine/OS name selection pattern
7671  */
7672 tSCC* apzUnicosmk_RestrictMachs[] = {
7673         "*-*-unicosmk*",
7674         (const char*)NULL };
7677  *  content selection pattern - do fix if pattern found
7678  */
7679 tSCC zUnicosmk_RestrictSelect0[] =
7680        "(\\*[ \t]*)restrict([ \t]+)";
7682 #define    UNICOSMK_RESTRICT_TEST_CT  1
7683 static tTestDesc aUnicosmk_RestrictTests[] = {
7684   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
7687  *  Fix Command Arguments for Unicosmk_Restrict
7688  */
7689 static const char* apzUnicosmk_RestrictPatch[] = {
7690     "format",
7691     "%1__restrict__%2",
7692     (char*)NULL };
7694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7696  *  Description of Uw7_Byteorder_Fix fix
7697  */
7698 tSCC zUw7_Byteorder_FixName[] =
7699      "uw7_byteorder_fix";
7702  *  File name selection pattern
7703  */
7704 tSCC zUw7_Byteorder_FixList[] =
7705   "|arpa/inet.h|";
7707  *  Machine/OS name selection pattern
7708  */
7709 tSCC* apzUw7_Byteorder_FixMachs[] = {
7710         "*-*-sysv4*",
7711         "i?86-*-sysv5*",
7712         "i?86-*-udk*",
7713         "i?86-*-solaris2.[0-4]",
7714         "powerpcle-*-solaris2.[0-4]",
7715         "sparc-*-solaris2.[0-4]",
7716         (const char*)NULL };
7719  *  content selection pattern - do fix if pattern found
7720  */
7721 tSCC zUw7_Byteorder_FixSelect0[] =
7722        "in_port_t";
7725  *  perform the 'test' shell command - do fix on success
7726  */
7727 tSCC zUw7_Byteorder_FixTest0[] =
7728        "-f sys/byteorder.h";
7730 #define    UW7_BYTEORDER_FIX_TEST_CT  2
7731 static tTestDesc aUw7_Byteorder_FixTests[] = {
7732   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
7733   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
7736  *  Fix Command Arguments for Uw7_Byteorder_Fix
7737  */
7738 static const char* apzUw7_Byteorder_FixPatch[] = {
7739     "format",
7740     "",
7741     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
7742     (char*)NULL };
7744 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7746  *  Description of Va_I960_Macro fix
7747  */
7748 tSCC zVa_I960_MacroName[] =
7749      "va_i960_macro";
7752  *  File name selection pattern
7753  */
7754 tSCC zVa_I960_MacroList[] =
7755   "|arch/i960/archI960.h|";
7757  *  Machine/OS name selection pattern
7758  */
7759 #define apzVa_I960_MacroMachs (const char**)NULL
7762  *  content selection pattern - do fix if pattern found
7763  */
7764 tSCC zVa_I960_MacroSelect0[] =
7765        "__(vsiz|vali|vpad|alignof__)";
7767 #define    VA_I960_MACRO_TEST_CT  1
7768 static tTestDesc aVa_I960_MacroTests[] = {
7769   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7772  *  Fix Command Arguments for Va_I960_Macro
7773  */
7774 static const char* apzVa_I960_MacroPatch[] = {
7775     "format",
7776     "__vx%1",
7777     (char*)NULL };
7779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7781  *  Description of Void_Null fix
7782  */
7783 tSCC zVoid_NullName[] =
7784      "void_null";
7787  *  File name selection pattern
7788  */
7789 tSCC zVoid_NullList[] =
7790   "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
7792  *  Machine/OS name selection pattern
7793  */
7794 #define apzVoid_NullMachs (const char**)NULL
7797  *  content selection pattern - do fix if pattern found
7798  */
7799 tSCC zVoid_NullSelect0[] =
7800        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
7803  *  content bypass pattern - skip fix if pattern found
7804  */
7805 tSCC zVoid_NullBypass0[] =
7806        "__cplusplus";
7808 #define    VOID_NULL_TEST_CT  2
7809 static tTestDesc aVoid_NullTests[] = {
7810   { TT_NEGREP,   zVoid_NullBypass0, (regex_t*)NULL },
7811   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
7814  *  Fix Command Arguments for Void_Null
7815  */
7816 static const char* apzVoid_NullPatch[] = {
7817     "format",
7818     "#define NULL 0",
7819     (char*)NULL };
7821 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7823  *  Description of Vxworks_Gcc_Problem fix
7824  */
7825 tSCC zVxworks_Gcc_ProblemName[] =
7826      "vxworks_gcc_problem";
7829  *  File name selection pattern
7830  */
7831 tSCC zVxworks_Gcc_ProblemList[] =
7832   "|types/vxTypesBase.h|";
7834  *  Machine/OS name selection pattern
7835  */
7836 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
7839  *  content selection pattern - do fix if pattern found
7840  */
7841 tSCC zVxworks_Gcc_ProblemSelect0[] =
7842        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
7844 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
7845 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
7846   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
7849  *  Fix Command Arguments for Vxworks_Gcc_Problem
7850  */
7851 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
7852     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
7853     "-e", "/[ \t]size_t/i\\\n\
7854 #ifndef _GCC_SIZE_T\\\n\
7855 #define _GCC_SIZE_T\n",
7856     "-e", "/[ \t]size_t/a\\\n\
7857 #endif\n",
7858     "-e", "/[ \t]ptrdiff_t/i\\\n\
7859 #ifndef _GCC_PTRDIFF_T\\\n\
7860 #define _GCC_PTRDIFF_T\n",
7861     "-e", "/[ \t]ptrdiff_t/a\\\n\
7862 #endif\n",
7863     "-e", "/[ \t]wchar_t/i\\\n\
7864 #ifndef _GCC_WCHAR_T\\\n\
7865 #define _GCC_WCHAR_T\n",
7866     "-e", "/[ \t]wchar_t/a\\\n\
7867 #endif\n",
7868     (char*)NULL };
7870 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7872  *  Description of Vxworks_Needs_Vxtypes fix
7873  */
7874 tSCC zVxworks_Needs_VxtypesName[] =
7875      "vxworks_needs_vxtypes";
7878  *  File name selection pattern
7879  */
7880 tSCC zVxworks_Needs_VxtypesList[] =
7881   "|time.h|";
7883  *  Machine/OS name selection pattern
7884  */
7885 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
7888  *  content selection pattern - do fix if pattern found
7889  */
7890 tSCC zVxworks_Needs_VxtypesSelect0[] =
7891        "uint_t([ \t]+_clocks_per_sec)";
7893 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
7894 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
7895   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
7898  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
7899  */
7900 static const char* apzVxworks_Needs_VxtypesPatch[] = {
7901     "format",
7902     "unsigned int%1",
7903     (char*)NULL };
7905 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7907  *  Description of Vxworks_Needs_Vxworks fix
7908  */
7909 tSCC zVxworks_Needs_VxworksName[] =
7910      "vxworks_needs_vxworks";
7913  *  File name selection pattern
7914  */
7915 tSCC zVxworks_Needs_VxworksList[] =
7916   "|sys/stat.h|";
7918  *  Machine/OS name selection pattern
7919  */
7920 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
7923  *  content selection pattern - do fix if pattern found
7924  */
7925 tSCC zVxworks_Needs_VxworksSelect0[] =
7926        "#[ \t]define[ \t]+__INCstath";
7929  *  perform the 'test' shell command - do fix on success
7930  */
7931 tSCC zVxworks_Needs_VxworksTest0[] =
7932        " -r types/vxTypesOld.h";
7933 tSCC zVxworks_Needs_VxworksTest1[] =
7934        " -n \"`egrep '#include' $file`\"";
7935 tSCC zVxworks_Needs_VxworksTest2[] =
7936        " -n \"`egrep ULONG $file`\"";
7938 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
7939 static tTestDesc aVxworks_Needs_VxworksTests[] = {
7940   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
7941   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
7942   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
7943   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
7946  *  Fix Command Arguments for Vxworks_Needs_Vxworks
7947  */
7948 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
7949     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
7950 #include <types/vxTypesOld.h>\n",
7951     (char*)NULL };
7953 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7955  *  Description of Vxworks_Time fix
7956  */
7957 tSCC zVxworks_TimeName[] =
7958      "vxworks_time";
7961  *  File name selection pattern
7962  */
7963 tSCC zVxworks_TimeList[] =
7964   "|time.h|";
7966  *  Machine/OS name selection pattern
7967  */
7968 #define apzVxworks_TimeMachs (const char**)NULL
7971  *  content selection pattern - do fix if pattern found
7972  */
7973 tSCC zVxworks_TimeSelect0[] =
7974        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
7977  *  perform the 'test' shell command - do fix on success
7978  */
7979 tSCC zVxworks_TimeTest0[] =
7980        " -r vxWorks.h";
7982 #define    VXWORKS_TIME_TEST_CT  2
7983 static tTestDesc aVxworks_TimeTests[] = {
7984   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
7985   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
7988  *  Fix Command Arguments for Vxworks_Time
7989  */
7990 static const char* apzVxworks_TimePatch[] = {
7991     "format",
7992     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
7993 #ifdef __cplusplus\n\
7994 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
7995 #else\n\
7996 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
7997 #endif\n\
7998 #define __gcc_VOIDFUNCPTR_defined\n\
7999 #endif\n\
8000 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
8001     (char*)NULL };
8003 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8005  *  Description of Windiss_Math1 fix
8006  */
8007 tSCC zWindiss_Math1Name[] =
8008      "windiss_math1";
8011  *  File name selection pattern
8012  */
8013 tSCC zWindiss_Math1List[] =
8014   "|math.h|";
8016  *  Machine/OS name selection pattern
8017  */
8018 tSCC* apzWindiss_Math1Machs[] = {
8019         "*-*-windiss",
8020         (const char*)NULL };
8021 #define WINDISS_MATH1_TEST_CT  0
8022 #define aWindiss_Math1Tests   (tTestDesc*)NULL
8025  *  Fix Command Arguments for Windiss_Math1
8026  */
8027 static const char* apzWindiss_Math1Patch[] = { "sed",
8028     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
8029     (char*)NULL };
8031 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8033  *  Description of Windiss_Math2 fix
8034  */
8035 tSCC zWindiss_Math2Name[] =
8036      "windiss_math2";
8039  *  File name selection pattern
8040  */
8041 tSCC zWindiss_Math2List[] =
8042   "|math.h|";
8044  *  Machine/OS name selection pattern
8045  */
8046 tSCC* apzWindiss_Math2Machs[] = {
8047         "*-*-windiss",
8048         (const char*)NULL };
8049 #define WINDISS_MATH2_TEST_CT  0
8050 #define aWindiss_Math2Tests   (tTestDesc*)NULL
8053  *  Fix Command Arguments for Windiss_Math2
8054  */
8055 static const char* apzWindiss_Math2Patch[] = { "sed",
8056     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
8057     (char*)NULL };
8059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8061  *  Description of Windiss_Valist fix
8062  */
8063 tSCC zWindiss_ValistName[] =
8064      "windiss_valist";
8067  *  File name selection pattern
8068  */
8069 #define zWindiss_ValistList (char*)NULL
8071  *  Machine/OS name selection pattern
8072  */
8073 tSCC* apzWindiss_ValistMachs[] = {
8074         "*-*-windiss",
8075         (const char*)NULL };
8078  *  content selection pattern - do fix if pattern found
8079  */
8080 tSCC zWindiss_ValistSelect0[] =
8081        "(#include.*)diab/va_list.h";
8083 #define    WINDISS_VALIST_TEST_CT  1
8084 static tTestDesc aWindiss_ValistTests[] = {
8085   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
8088  *  Fix Command Arguments for Windiss_Valist
8089  */
8090 static const char* apzWindiss_ValistPatch[] = { "sed",
8091     "-e", "s|diab/va_list.h|stdarg.h|",
8092     (char*)NULL };
8094 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8096  *  Description of X11_Class fix
8097  */
8098 tSCC zX11_ClassName[] =
8099      "x11_class";
8102  *  File name selection pattern
8103  */
8104 tSCC zX11_ClassList[] =
8105   "|X11/ShellP.h|";
8107  *  Machine/OS name selection pattern
8108  */
8109 #define apzX11_ClassMachs (const char**)NULL
8112  *  content selection pattern - do fix if pattern found
8113  */
8114 tSCC zX11_ClassSelect0[] =
8115        "^([ \t]*char \\*)class;(.*)";
8118  *  content bypass pattern - skip fix if pattern found
8119  */
8120 tSCC zX11_ClassBypass0[] =
8121        "__cplusplus";
8123 #define    X11_CLASS_TEST_CT  2
8124 static tTestDesc aX11_ClassTests[] = {
8125   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
8126   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
8129  *  Fix Command Arguments for X11_Class
8130  */
8131 static const char* apzX11_ClassPatch[] = {
8132     "format",
8133     "#ifdef __cplusplus\n\
8134 %1c_class;%2\n\
8135 #else\n\
8136 %1class;%2\n\
8137 #endif",
8138     (char*)NULL };
8140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8142  *  Description of X11_Class_Usage fix
8143  */
8144 tSCC zX11_Class_UsageName[] =
8145      "x11_class_usage";
8148  *  File name selection pattern
8149  */
8150 tSCC zX11_Class_UsageList[] =
8151   "|Xm/BaseClassI.h|";
8153  *  Machine/OS name selection pattern
8154  */
8155 #define apzX11_Class_UsageMachs (const char**)NULL
8158  *  content selection pattern - do fix if pattern found
8159  */
8160 tSCC zX11_Class_UsageSelect0[] =
8161        " class\\)";
8164  *  content bypass pattern - skip fix if pattern found
8165  */
8166 tSCC zX11_Class_UsageBypass0[] =
8167        "__cplusplus";
8169 #define    X11_CLASS_USAGE_TEST_CT  2
8170 static tTestDesc aX11_Class_UsageTests[] = {
8171   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
8172   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
8175  *  Fix Command Arguments for X11_Class_Usage
8176  */
8177 static const char* apzX11_Class_UsagePatch[] = {
8178     "format",
8179     " c_class)",
8180     (char*)NULL };
8182 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8184  *  Description of X11_New fix
8185  */
8186 tSCC zX11_NewName[] =
8187      "x11_new";
8190  *  File name selection pattern
8191  */
8192 tSCC zX11_NewList[] =
8193   "|Xm/Traversal.h|";
8195  *  Machine/OS name selection pattern
8196  */
8197 #define apzX11_NewMachs (const char**)NULL
8200  *  content bypass pattern - skip fix if pattern found
8201  */
8202 tSCC zX11_NewBypass0[] =
8203        "__cplusplus";
8205 #define    X11_NEW_TEST_CT  1
8206 static tTestDesc aX11_NewTests[] = {
8207   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
8210  *  Fix Command Arguments for X11_New
8211  */
8212 static const char* apzX11_NewPatch[] = { "sed",
8213     "-e", "/Widget\told, new;/i\\\n\
8214 #ifdef __cplusplus\\\n\
8215 \tWidget\told, c_new;\\\n\
8216 #else\n",
8217     "-e", "/Widget\told, new;/a\\\n\
8218 #endif\n",
8219     "-e", "s/Widget new,/Widget c_new,/g",
8220     (char*)NULL };
8222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8224  *  Description of X11_Sprintf fix
8225  */
8226 tSCC zX11_SprintfName[] =
8227      "x11_sprintf";
8230  *  File name selection pattern
8231  */
8232 tSCC zX11_SprintfList[] =
8233   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
8235  *  Machine/OS name selection pattern
8236  */
8237 #define apzX11_SprintfMachs (const char**)NULL
8240  *  content selection pattern - do fix if pattern found
8241  */
8242 tSCC zX11_SprintfSelect0[] =
8243        "^extern char \\*\tsprintf\\(\\);$";
8245 #define    X11_SPRINTF_TEST_CT  1
8246 static tTestDesc aX11_SprintfTests[] = {
8247   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
8250  *  Fix Command Arguments for X11_Sprintf
8251  */
8252 static const char* apzX11_SprintfPatch[] = {
8253     "format",
8254     "#ifndef __STDC__\n\
8255 %0\n\
8256 #endif /* !defined __STDC__ */",
8257     (char*)NULL };
8260 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8262  *  List of all fixes
8263  */
8264 #define REGEX_COUNT          245
8265 #define MACH_LIST_SIZE_LIMIT 261
8266 #define FIX_COUNT            203
8269  *  Enumerate the fixes
8270  */
8271 typedef enum {
8272     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
8273     AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
8274     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
8275     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
8276     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
8277     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
8278     AAB_SUN_MEMCPY_FIXIDX,
8279     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
8280     AAB_ULTRIX_LIMITS_FIXIDX,
8281     AAB_ULTRIX_MEMORY_FIXIDX,
8282     AAB_ULTRIX_STRING_FIXIDX,
8283     AIX_PTHREAD_FIXIDX,
8284     AIX_SYSMACHINE_FIXIDX,
8285     AIX_SYSWAIT_FIXIDX,
8286     AIX_SYSWAIT_2_FIXIDX,
8287     AIX_VOLATILE_FIXIDX,
8288     ALPHA___ASSERT_FIXIDX,
8289     ALPHA___EXTERN_PREFIX_FIXIDX,
8290     ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
8291     ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
8292     ALPHA_ASSERT_FIXIDX,
8293     ALPHA_BAD_LVAL_FIXIDX,
8294     ALPHA_GETOPT_FIXIDX,
8295     ALPHA_PARENS_FIXIDX,
8296     ALPHA_PTHREAD_FIXIDX,
8297     ALPHA_PTHREAD_GCC_FIXIDX,
8298     ALPHA_PTHREAD_INIT_FIXIDX,
8299     ALPHA_SBRK_FIXIDX,
8300     ALPHA_WCHAR_FIXIDX,
8301     AVOID_BOOL_DEFINE_FIXIDX,
8302     AVOID_BOOL_TYPE_FIXIDX,
8303     AVOID_WCHAR_T_TYPE_FIXIDX,
8304     BAD_STRUCT_TERM_FIXIDX,
8305     BADQUOTE_FIXIDX,
8306     BROKEN_ASSERT_STDIO_FIXIDX,
8307     BROKEN_ASSERT_STDLIB_FIXIDX,
8308     BROKEN_CABS_FIXIDX,
8309     BROKEN_NAN_FIXIDX,
8310     BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
8311     CTRL_QUOTES_DEF_FIXIDX,
8312     CTRL_QUOTES_USE_FIXIDX,
8313     CXX_UNREADY_FIXIDX,
8314     DARWIN_GCC4_BREAKAGE_FIXIDX,
8315     DARWIN_PRIVATE_EXTERN_FIXIDX,
8316     DEC_INTERN_ASM_FIXIDX,
8317     DJGPP_WCHAR_H_FIXIDX,
8318     ECD_CURSOR_FIXIDX,
8319     EXCEPTION_STRUCTURE_FIXIDX,
8320     FREEBSD_GCC3_BREAKAGE_FIXIDX,
8321     FREEBSD_GCC4_BREAKAGE_FIXIDX,
8322     GLIBC_MUTEX_INIT_FIXIDX,
8323     GNU_TYPES_FIXIDX,
8324     HP_INLINE_FIXIDX,
8325     HP_SYSFILE_FIXIDX,
8326     HPUX10_CPP_POW_INLINE_FIXIDX,
8327     HPUX11_CPP_POW_INLINE_FIXIDX,
8328     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
8329     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
8330     HPUX10_STDIO_DECLARATIONS_FIXIDX,
8331     HPUX11_ABS_FIXIDX,
8332     HPUX11_FABSF_FIXIDX,
8333     HPUX11_SIZE_T_FIXIDX,
8334     HPUX11_SNPRINTF_FIXIDX,
8335     HPUX11_UINT32_C_FIXIDX,
8336     HPUX11_VSNPRINTF_FIXIDX,
8337     HPUX8_BOGUS_INLINES_FIXIDX,
8338     HPUX_CTYPE_MACROS_FIXIDX,
8339     HPUX_HTONL_FIXIDX,
8340     HPUX_LONG_DOUBLE_FIXIDX,
8341     HPUX_SYSTIME_FIXIDX,
8342     HPUX_SPU_INFO_FIXIDX,
8343     HPUX11_EXTERN_SENDFILE_FIXIDX,
8344     HPUX11_EXTERN_SENDPATH_FIXIDX,
8345     HPUX_EXTERN_ERRNO_FIXIDX,
8346     HPUX_PTHREAD_INITIALIZERS_FIXIDX,
8347     HUGE_VAL_HEX_FIXIDX,
8348     HUGE_VALF_HEX_FIXIDX,
8349     HUGE_VALL_HEX_FIXIDX,
8350     INT_ABORT_FREE_AND_EXIT_FIXIDX,
8351     IO_QUOTES_DEF_FIXIDX,
8352     IO_QUOTES_USE_FIXIDX,
8353     IP_MISSING_SEMI_FIXIDX,
8354     IRIX___RESTRICT_FIXIDX,
8355     IRIX___GENERIC1_FIXIDX,
8356     IRIX___GENERIC2_FIXIDX,
8357     IRIX_ASM_APOSTROPHE_FIXIDX,
8358     IRIX_LIMITS_CONST_FIXIDX,
8359     IRIX_SOCKLEN_T_FIXIDX,
8360     IRIX_STDIO_VA_LIST_FIXIDX,
8361     IRIX_WCSFTIME_FIXIDX,
8362     ISC_FMOD_FIXIDX,
8363     ISC_OMITS_WITH_STDC_FIXIDX,
8364     KANDR_CONCAT_FIXIDX,
8365     LIBC1_G_VA_LIST_FIXIDX,
8366     LIBC1_IFDEFD_MEMX_FIXIDX,
8367     LINUX_IA64_UCONTEXT_FIXIDX,
8368     LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
8369     LYNXOS_MISSING_PUTENV_FIXIDX,
8370     MACHINE_ANSI_H_VA_LIST_FIXIDX,
8371     MACHINE_NAME_FIXIDX,
8372     MATH_EXCEPTION_FIXIDX,
8373     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
8374     NESTED_AUTH_DES_FIXIDX,
8375     NESTED_MOTOROLA_FIXIDX,
8376     NESTED_SYS_LIMITS_FIXIDX,
8377     NETBSD_EXTRA_SEMICOLON_FIXIDX,
8378     NEXT_MATH_PREFIX_FIXIDX,
8379     NEXT_TEMPLATE_FIXIDX,
8380     NEXT_VOLITILE_FIXIDX,
8381     NEXT_WAIT_UNION_FIXIDX,
8382     NODEENT_SYNTAX_FIXIDX,
8383     OBSTACK_LVALUE_CAST_FIXIDX,
8384     OSF_NAMESPACE_A_FIXIDX,
8385     OSF_NAMESPACE_C_FIXIDX,
8386     PTHREAD_PAGE_SIZE_FIXIDX,
8387     PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
8388     READ_RET_TYPE_FIXIDX,
8389     RPC_XDR_LVALUE_CAST_A_FIXIDX,
8390     RPC_XDR_LVALUE_CAST_B_FIXIDX,
8391     RS6000_DOUBLE_FIXIDX,
8392     RS6000_FCHMOD_FIXIDX,
8393     RS6000_PARAM_FIXIDX,
8394     SCO_MATH_FIXIDX,
8395     SCO_REGSET_FIXIDX,
8396     SCO_STATIC_FUNC_FIXIDX,
8397     SCO_UTIME_FIXIDX,
8398     SOLARIS_MATH_1_FIXIDX,
8399     SOLARIS_MATH_2_FIXIDX,
8400     SOLARIS_MATH_3_FIXIDX,
8401     SOLARIS_MATH_4_FIXIDX,
8402     SOLARIS_MATH_5_FIXIDX,
8403     SOLARIS_MATH_6_FIXIDX,
8404     SOLARIS_MATH_7_FIXIDX,
8405     SOLARIS_MATH_8_FIXIDX,
8406     SOLARIS_MATH_9_FIXIDX,
8407     SOLARIS_MUTEX_INIT_1_FIXIDX,
8408     SOLARIS_MUTEX_INIT_2_FIXIDX,
8409     SOLARIS_RWLOCK_INIT_1_FIXIDX,
8410     SOLARIS_ONCE_INIT_1_FIXIDX,
8411     SOLARIS_ONCE_INIT_2_FIXIDX,
8412     SOLARIS_SOCKET_FIXIDX,
8413     SOLARIS_STDIO_TAG_FIXIDX,
8414     SOLARIS_UNISTD_FIXIDX,
8415     SOLARIS_WIDEC_FIXIDX,
8416     STATSSWTCH_FIXIDX,
8417     STDIO_STDARG_H_FIXIDX,
8418     STDIO_VA_LIST_FIXIDX,
8419     STDIO_VA_LIST_CLIENTS_FIXIDX,
8420     STRICT_ANSI_NOT_FIXIDX,
8421     STRICT_ANSI_NOT_CTD_FIXIDX,
8422     STRICT_ANSI_ONLY_FIXIDX,
8423     STRUCT_FILE_FIXIDX,
8424     STRUCT_SOCKADDR_FIXIDX,
8425     SUN_AUTH_PROTO_FIXIDX,
8426     SUN_BOGUS_IFDEF_FIXIDX,
8427     SUN_CATMACRO_FIXIDX,
8428     SUN_MALLOC_FIXIDX,
8429     SUN_RUSERS_SEMI_FIXIDX,
8430     SUN_SIGNAL_FIXIDX,
8431     SUNOS_STRLEN_FIXIDX,
8432     SVR4_DISABLE_OPT_FIXIDX,
8433     SVR4_GETCWD_FIXIDX,
8434     SVR4_KRNL_FIXIDX,
8435     SVR4_PROFIL_FIXIDX,
8436     SVR4_SIGHANDLER_TYPE_FIXIDX,
8437     SVR4_UNDECLARED_GETRNGE_FIXIDX,
8438     SYSV68_STRING_FIXIDX,
8439     SYSZ_STDLIB_FOR_SUN_FIXIDX,
8440     THREAD_KEYWORD_FIXIDX,
8441     TINFO_CPLUSPLUS_FIXIDX,
8442     ULTRIX_ATEXIT_PARAM_FIXIDX,
8443     ULTRIX_ATOF_PARAM_FIXIDX,
8444     ULTRIX_CONST_FIXIDX,
8445     ULTRIX_CONST2_FIXIDX,
8446     ULTRIX_CONST3_FIXIDX,
8447     ULTRIX_FIX_FIXPROTO_FIXIDX,
8448     ULTRIX_IFDEF_FIXIDX,
8449     ULTRIX_LOCALE_FIXIDX,
8450     ULTRIX_MATH_IFDEF_FIXIDX,
8451     ULTRIX_NESTED_IOCTL_FIXIDX,
8452     ULTRIX_NESTED_SVC_FIXIDX,
8453     ULTRIX_STAT_FIXIDX,
8454     ULTRIX_STATIC_FIXIDX,
8455     ULTRIX_STDLIB_FIXIDX,
8456     ULTRIX_STRINGS_FIXIDX,
8457     ULTRIX_STRINGS2_FIXIDX,
8458     ULTRIX_SYS_TIME_FIXIDX,
8459     ULTRIX_UNISTD_FIXIDX,
8460     UNICOSMK_RESTRICT_FIXIDX,
8461     UW7_BYTEORDER_FIX_FIXIDX,
8462     VA_I960_MACRO_FIXIDX,
8463     VOID_NULL_FIXIDX,
8464     VXWORKS_GCC_PROBLEM_FIXIDX,
8465     VXWORKS_NEEDS_VXTYPES_FIXIDX,
8466     VXWORKS_NEEDS_VXWORKS_FIXIDX,
8467     VXWORKS_TIME_FIXIDX,
8468     WINDISS_MATH1_FIXIDX,
8469     WINDISS_MATH2_FIXIDX,
8470     WINDISS_VALIST_FIXIDX,
8471     X11_CLASS_FIXIDX,
8472     X11_CLASS_USAGE_FIXIDX,
8473     X11_NEW_FIXIDX,
8474     X11_SPRINTF_FIXIDX
8475 } t_fixinc_idx;
8477 tFixDesc fixDescList[ FIX_COUNT ] = {
8478   {  zAab_Darwin7_9_Long_Double_FuncsName,    zAab_Darwin7_9_Long_Double_FuncsList,
8479      apzAab_Darwin7_9_Long_Double_FuncsMachs,
8480      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8481      aAab_Darwin7_9_Long_Double_FuncsTests,   apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
8483   {  zAab_Darwin7_9_Long_Double_Funcs_2Name,    zAab_Darwin7_9_Long_Double_Funcs_2List,
8484      apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
8485      AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8486      aAab_Darwin7_9_Long_Double_Funcs_2Tests,   apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
8488   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
8489      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
8490      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8491      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8493   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
8494      apzAab_Fd_Zero_Gnu_Types_HMachs,
8495      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8496      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8498   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
8499      apzAab_Fd_Zero_Selectbits_HMachs,
8500      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8501      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
8503   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
8504      apzAab_Solaris_Sys_Varargs_HMachs,
8505      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8506      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
8508   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
8509      apzAab_Sun_MemcpyMachs,
8510      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8511      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
8513   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
8514      apzAab_Ultrix_Ansi_CompatMachs,
8515      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8516      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
8518   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
8519      apzAab_Ultrix_LimitsMachs,
8520      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8521      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
8523   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
8524      apzAab_Ultrix_MemoryMachs,
8525      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8526      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
8528   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
8529      apzAab_Ultrix_StringMachs,
8530      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8531      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
8533   {  zAix_PthreadName,    zAix_PthreadList,
8534      apzAix_PthreadMachs,
8535      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8536      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
8538   {  zAix_SysmachineName,    zAix_SysmachineList,
8539      apzAix_SysmachineMachs,
8540      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8541      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
8543   {  zAix_SyswaitName,    zAix_SyswaitList,
8544      apzAix_SyswaitMachs,
8545      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8546      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
8548   {  zAix_Syswait_2Name,    zAix_Syswait_2List,
8549      apzAix_Syswait_2Machs,
8550      AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8551      aAix_Syswait_2Tests,   apzAix_Syswait_2Patch, 0 },
8553   {  zAix_VolatileName,    zAix_VolatileList,
8554      apzAix_VolatileMachs,
8555      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8556      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
8558   {  zAlpha___AssertName,    zAlpha___AssertList,
8559      apzAlpha___AssertMachs,
8560      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8561      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
8563   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
8564      apzAlpha___Extern_PrefixMachs,
8565      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8566      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
8568   {  zAlpha___Extern_Prefix_StandardsName,    zAlpha___Extern_Prefix_StandardsList,
8569      apzAlpha___Extern_Prefix_StandardsMachs,
8570      ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8571      aAlpha___Extern_Prefix_StandardsTests,   apzAlpha___Extern_Prefix_StandardsPatch, 0 },
8573   {  zAlpha___Extern_Prefix_Sys_StatName,    zAlpha___Extern_Prefix_Sys_StatList,
8574      apzAlpha___Extern_Prefix_Sys_StatMachs,
8575      ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8576      aAlpha___Extern_Prefix_Sys_StatTests,   apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
8578   {  zAlpha_AssertName,    zAlpha_AssertList,
8579      apzAlpha_AssertMachs,
8580      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8581      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
8583   {  zAlpha_Bad_LvalName,    zAlpha_Bad_LvalList,
8584      apzAlpha_Bad_LvalMachs,
8585      ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
8586      aAlpha_Bad_LvalTests,   apzAlpha_Bad_LvalPatch, 0 },
8588   {  zAlpha_GetoptName,    zAlpha_GetoptList,
8589      apzAlpha_GetoptMachs,
8590      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8591      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
8593   {  zAlpha_ParensName,    zAlpha_ParensList,
8594      apzAlpha_ParensMachs,
8595      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8596      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
8598   {  zAlpha_PthreadName,    zAlpha_PthreadList,
8599      apzAlpha_PthreadMachs,
8600      ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8601      aAlpha_PthreadTests,   apzAlpha_PthreadPatch, 0 },
8603   {  zAlpha_Pthread_GccName,    zAlpha_Pthread_GccList,
8604      apzAlpha_Pthread_GccMachs,
8605      ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8606      aAlpha_Pthread_GccTests,   apzAlpha_Pthread_GccPatch, 0 },
8608   {  zAlpha_Pthread_InitName,    zAlpha_Pthread_InitList,
8609      apzAlpha_Pthread_InitMachs,
8610      ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
8611      aAlpha_Pthread_InitTests,   apzAlpha_Pthread_InitPatch, 0 },
8613   {  zAlpha_SbrkName,    zAlpha_SbrkList,
8614      apzAlpha_SbrkMachs,
8615      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8616      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
8618   {  zAlpha_WcharName,    zAlpha_WcharList,
8619      apzAlpha_WcharMachs,
8620      ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
8621      aAlpha_WcharTests,   apzAlpha_WcharPatch, 0 },
8623   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
8624      apzAvoid_Bool_DefineMachs,
8625      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8626      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
8628   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
8629      apzAvoid_Bool_TypeMachs,
8630      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8631      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
8633   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
8634      apzAvoid_Wchar_T_TypeMachs,
8635      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8636      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
8638   {  zBad_Struct_TermName,    zBad_Struct_TermList,
8639      apzBad_Struct_TermMachs,
8640      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8641      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
8643   {  zBadquoteName,    zBadquoteList,
8644      apzBadquoteMachs,
8645      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8646      aBadquoteTests,   apzBadquotePatch, 0 },
8648   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
8649      apzBroken_Assert_StdioMachs,
8650      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8651      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
8653   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
8654      apzBroken_Assert_StdlibMachs,
8655      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8656      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
8658   {  zBroken_CabsName,    zBroken_CabsList,
8659      apzBroken_CabsMachs,
8660      BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
8661      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
8663   {  zBroken_NanName,    zBroken_NanList,
8664      apzBroken_NanMachs,
8665      BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8666      aBroken_NanTests,   apzBroken_NanPatch, 0 },
8668   {  zBsd_Stdio_Attrs_ConflictName,    zBsd_Stdio_Attrs_ConflictList,
8669      apzBsd_Stdio_Attrs_ConflictMachs,
8670      BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8671      aBsd_Stdio_Attrs_ConflictTests,   apzBsd_Stdio_Attrs_ConflictPatch, 0 },
8673   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
8674      apzCtrl_Quotes_DefMachs,
8675      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8676      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
8678   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
8679      apzCtrl_Quotes_UseMachs,
8680      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8681      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
8683   {  zCxx_UnreadyName,    zCxx_UnreadyList,
8684      apzCxx_UnreadyMachs,
8685      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8686      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
8688   {  zDarwin_Gcc4_BreakageName,    zDarwin_Gcc4_BreakageList,
8689      apzDarwin_Gcc4_BreakageMachs,
8690      DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8691      aDarwin_Gcc4_BreakageTests,   apzDarwin_Gcc4_BreakagePatch, 0 },
8693   {  zDarwin_Private_ExternName,    zDarwin_Private_ExternList,
8694      apzDarwin_Private_ExternMachs,
8695      DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8696      aDarwin_Private_ExternTests,   apzDarwin_Private_ExternPatch, 0 },
8698   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
8699      apzDec_Intern_AsmMachs,
8700      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
8701      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
8703   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
8704      apzDjgpp_Wchar_HMachs,
8705      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8706      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
8708   {  zEcd_CursorName,    zEcd_CursorList,
8709      apzEcd_CursorMachs,
8710      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8711      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
8713   {  zException_StructureName,    zException_StructureList,
8714      apzException_StructureMachs,
8715      EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8716      aException_StructureTests,   apzException_StructurePatch, 0 },
8718   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
8719      apzFreebsd_Gcc3_BreakageMachs,
8720      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8721      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
8723   {  zFreebsd_Gcc4_BreakageName,    zFreebsd_Gcc4_BreakageList,
8724      apzFreebsd_Gcc4_BreakageMachs,
8725      FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8726      aFreebsd_Gcc4_BreakageTests,   apzFreebsd_Gcc4_BreakagePatch, 0 },
8728   {  zGlibc_Mutex_InitName,    zGlibc_Mutex_InitList,
8729      apzGlibc_Mutex_InitMachs,
8730      GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
8731      aGlibc_Mutex_InitTests,   apzGlibc_Mutex_InitPatch, 0 },
8733   {  zGnu_TypesName,    zGnu_TypesList,
8734      apzGnu_TypesMachs,
8735      GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8736      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
8738   {  zHp_InlineName,    zHp_InlineList,
8739      apzHp_InlineMachs,
8740      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8741      aHp_InlineTests,   apzHp_InlinePatch, 0 },
8743   {  zHp_SysfileName,    zHp_SysfileList,
8744      apzHp_SysfileMachs,
8745      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8746      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
8748   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
8749      apzHpux10_Cpp_Pow_InlineMachs,
8750      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8751      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
8753   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
8754      apzHpux11_Cpp_Pow_InlineMachs,
8755      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8756      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
8758   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
8759      apzHpux10_Ctype_Declarations1Machs,
8760      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8761      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
8763   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
8764      apzHpux10_Ctype_Declarations2Machs,
8765      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8766      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
8768   {  zHpux10_Stdio_DeclarationsName,    zHpux10_Stdio_DeclarationsList,
8769      apzHpux10_Stdio_DeclarationsMachs,
8770      HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8771      aHpux10_Stdio_DeclarationsTests,   apzHpux10_Stdio_DeclarationsPatch, 0 },
8773   {  zHpux11_AbsName,    zHpux11_AbsList,
8774      apzHpux11_AbsMachs,
8775      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8776      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
8778   {  zHpux11_FabsfName,    zHpux11_FabsfList,
8779      apzHpux11_FabsfMachs,
8780      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8781      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
8783   {  zHpux11_Size_TName,    zHpux11_Size_TList,
8784      apzHpux11_Size_TMachs,
8785      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8786      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
8788   {  zHpux11_SnprintfName,    zHpux11_SnprintfList,
8789      apzHpux11_SnprintfMachs,
8790      HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8791      aHpux11_SnprintfTests,   apzHpux11_SnprintfPatch, 0 },
8793   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
8794      apzHpux11_Uint32_CMachs,
8795      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8796      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
8798   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
8799      apzHpux11_VsnprintfMachs,
8800      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8801      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
8803   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
8804      apzHpux8_Bogus_InlinesMachs,
8805      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
8806      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
8808   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
8809      apzHpux_Ctype_MacrosMachs,
8810      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8811      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
8813   {  zHpux_HtonlName,    zHpux_HtonlList,
8814      apzHpux_HtonlMachs,
8815      HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8816      aHpux_HtonlTests,   apzHpux_HtonlPatch, 0 },
8818   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
8819      apzHpux_Long_DoubleMachs,
8820      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
8821      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
8823   {  zHpux_SystimeName,    zHpux_SystimeList,
8824      apzHpux_SystimeMachs,
8825      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8826      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
8828   {  zHpux_Spu_InfoName,    zHpux_Spu_InfoList,
8829      apzHpux_Spu_InfoMachs,
8830      HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8831      aHpux_Spu_InfoTests,   apzHpux_Spu_InfoPatch, 0 },
8833   {  zHpux11_Extern_SendfileName,    zHpux11_Extern_SendfileList,
8834      apzHpux11_Extern_SendfileMachs,
8835      HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8836      aHpux11_Extern_SendfileTests,   apzHpux11_Extern_SendfilePatch, 0 },
8838   {  zHpux11_Extern_SendpathName,    zHpux11_Extern_SendpathList,
8839      apzHpux11_Extern_SendpathMachs,
8840      HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8841      aHpux11_Extern_SendpathTests,   apzHpux11_Extern_SendpathPatch, 0 },
8843   {  zHpux_Extern_ErrnoName,    zHpux_Extern_ErrnoList,
8844      apzHpux_Extern_ErrnoMachs,
8845      HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8846      aHpux_Extern_ErrnoTests,   apzHpux_Extern_ErrnoPatch, 0 },
8848   {  zHpux_Pthread_InitializersName,    zHpux_Pthread_InitializersList,
8849      apzHpux_Pthread_InitializersMachs,
8850      HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
8851      aHpux_Pthread_InitializersTests,   apzHpux_Pthread_InitializersPatch, 0 },
8853   {  zHuge_Val_HexName,    zHuge_Val_HexList,
8854      apzHuge_Val_HexMachs,
8855      HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8856      aHuge_Val_HexTests,   apzHuge_Val_HexPatch, 0 },
8858   {  zHuge_Valf_HexName,    zHuge_Valf_HexList,
8859      apzHuge_Valf_HexMachs,
8860      HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8861      aHuge_Valf_HexTests,   apzHuge_Valf_HexPatch, 0 },
8863   {  zHuge_Vall_HexName,    zHuge_Vall_HexList,
8864      apzHuge_Vall_HexMachs,
8865      HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8866      aHuge_Vall_HexTests,   apzHuge_Vall_HexPatch, 0 },
8868   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
8869      apzInt_Abort_Free_And_ExitMachs,
8870      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8871      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
8873   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
8874      apzIo_Quotes_DefMachs,
8875      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8876      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
8878   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
8879      apzIo_Quotes_UseMachs,
8880      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8881      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
8883   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
8884      apzIp_Missing_SemiMachs,
8885      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
8886      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
8888   {  zIrix___RestrictName,    zIrix___RestrictList,
8889      apzIrix___RestrictMachs,
8890      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8891      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
8893   {  zIrix___Generic1Name,    zIrix___Generic1List,
8894      apzIrix___Generic1Machs,
8895      IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8896      aIrix___Generic1Tests,   apzIrix___Generic1Patch, 0 },
8898   {  zIrix___Generic2Name,    zIrix___Generic2List,
8899      apzIrix___Generic2Machs,
8900      IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8901      aIrix___Generic2Tests,   apzIrix___Generic2Patch, 0 },
8903   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
8904      apzIrix_Asm_ApostropheMachs,
8905      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8906      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
8908   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
8909      apzIrix_Limits_ConstMachs,
8910      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8911      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
8913   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
8914      apzIrix_Socklen_TMachs,
8915      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8916      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
8918   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
8919      apzIrix_Stdio_Va_ListMachs,
8920      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8921      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
8923   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
8924      apzIrix_WcsftimeMachs,
8925      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8926      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
8928   {  zIsc_FmodName,    zIsc_FmodList,
8929      apzIsc_FmodMachs,
8930      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8931      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
8933   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
8934      apzIsc_Omits_With_StdcMachs,
8935      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8936      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
8938   {  zKandr_ConcatName,    zKandr_ConcatList,
8939      apzKandr_ConcatMachs,
8940      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8941      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
8943   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
8944      apzLibc1_G_Va_ListMachs,
8945      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8946      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
8948   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
8949      apzLibc1_Ifdefd_MemxMachs,
8950      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8951      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
8953   {  zLinux_Ia64_UcontextName,    zLinux_Ia64_UcontextList,
8954      apzLinux_Ia64_UcontextMachs,
8955      LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8956      aLinux_Ia64_UcontextTests,   apzLinux_Ia64_UcontextPatch, 0 },
8958   {  zLynxos_No_Warning_In_Sys_Time_HName,    zLynxos_No_Warning_In_Sys_Time_HList,
8959      apzLynxos_No_Warning_In_Sys_Time_HMachs,
8960      LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8961      aLynxos_No_Warning_In_Sys_Time_HTests,   apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
8963   {  zLynxos_Missing_PutenvName,    zLynxos_Missing_PutenvList,
8964      apzLynxos_Missing_PutenvMachs,
8965      LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8966      aLynxos_Missing_PutenvTests,   apzLynxos_Missing_PutenvPatch, 0 },
8968   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
8969      apzMachine_Ansi_H_Va_ListMachs,
8970      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8971      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
8973   {  zMachine_NameName,    zMachine_NameList,
8974      apzMachine_NameMachs,
8975      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8976      aMachine_NameTests,   apzMachine_NamePatch, 0 },
8978   {  zMath_ExceptionName,    zMath_ExceptionList,
8979      apzMath_ExceptionMachs,
8980      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8981      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
8983   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
8984      apzMath_Huge_Val_From_Dbl_MaxMachs,
8985      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
8986      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
8988   {  zNested_Auth_DesName,    zNested_Auth_DesList,
8989      apzNested_Auth_DesMachs,
8990      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8991      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
8993   {  zNested_MotorolaName,    zNested_MotorolaList,
8994      apzNested_MotorolaMachs,
8995      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
8996      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
8998   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
8999      apzNested_Sys_LimitsMachs,
9000      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
9001      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
9003   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
9004      apzNetbsd_Extra_SemicolonMachs,
9005      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9006      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
9008   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
9009      apzNext_Math_PrefixMachs,
9010      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9011      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
9013   {  zNext_TemplateName,    zNext_TemplateList,
9014      apzNext_TemplateMachs,
9015      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9016      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
9018   {  zNext_VolitileName,    zNext_VolitileList,
9019      apzNext_VolitileMachs,
9020      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9021      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
9023   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
9024      apzNext_Wait_UnionMachs,
9025      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9026      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
9028   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
9029      apzNodeent_SyntaxMachs,
9030      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9031      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
9033   {  zObstack_Lvalue_CastName,    zObstack_Lvalue_CastList,
9034      apzObstack_Lvalue_CastMachs,
9035      OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9036      aObstack_Lvalue_CastTests,   apzObstack_Lvalue_CastPatch, 0 },
9038   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
9039      apzOsf_Namespace_AMachs,
9040      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9041      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
9043   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
9044      apzOsf_Namespace_CMachs,
9045      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9046      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
9048   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
9049      apzPthread_Page_SizeMachs,
9050      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9051      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
9053   {  zPthread_Incomplete_Struct_ArgumentName,    zPthread_Incomplete_Struct_ArgumentList,
9054      apzPthread_Incomplete_Struct_ArgumentMachs,
9055      PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9056      aPthread_Incomplete_Struct_ArgumentTests,   apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
9058   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
9059      apzRead_Ret_TypeMachs,
9060      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9061      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
9063   {  zRpc_Xdr_Lvalue_Cast_AName,    zRpc_Xdr_Lvalue_Cast_AList,
9064      apzRpc_Xdr_Lvalue_Cast_AMachs,
9065      RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9066      aRpc_Xdr_Lvalue_Cast_ATests,   apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
9068   {  zRpc_Xdr_Lvalue_Cast_BName,    zRpc_Xdr_Lvalue_Cast_BList,
9069      apzRpc_Xdr_Lvalue_Cast_BMachs,
9070      RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9071      aRpc_Xdr_Lvalue_Cast_BTests,   apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
9073   {  zRs6000_DoubleName,    zRs6000_DoubleList,
9074      apzRs6000_DoubleMachs,
9075      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9076      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
9078   {  zRs6000_FchmodName,    zRs6000_FchmodList,
9079      apzRs6000_FchmodMachs,
9080      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9081      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
9083   {  zRs6000_ParamName,    zRs6000_ParamList,
9084      apzRs6000_ParamMachs,
9085      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9086      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
9088   {  zSco_MathName,    zSco_MathList,
9089      apzSco_MathMachs,
9090      SCO_MATH_TEST_CT, FD_MACH_ONLY,
9091      aSco_MathTests,   apzSco_MathPatch, 0 },
9093   {  zSco_RegsetName,    zSco_RegsetList,
9094      apzSco_RegsetMachs,
9095      SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9096      aSco_RegsetTests,   apzSco_RegsetPatch, 0 },
9098   {  zSco_Static_FuncName,    zSco_Static_FuncList,
9099      apzSco_Static_FuncMachs,
9100      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
9101      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
9103   {  zSco_UtimeName,    zSco_UtimeList,
9104      apzSco_UtimeMachs,
9105      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9106      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
9108   {  zSolaris_Math_1Name,    zSolaris_Math_1List,
9109      apzSolaris_Math_1Machs,
9110      SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9111      aSolaris_Math_1Tests,   apzSolaris_Math_1Patch, 0 },
9113   {  zSolaris_Math_2Name,    zSolaris_Math_2List,
9114      apzSolaris_Math_2Machs,
9115      SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9116      aSolaris_Math_2Tests,   apzSolaris_Math_2Patch, 0 },
9118   {  zSolaris_Math_3Name,    zSolaris_Math_3List,
9119      apzSolaris_Math_3Machs,
9120      SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9121      aSolaris_Math_3Tests,   apzSolaris_Math_3Patch, 0 },
9123   {  zSolaris_Math_4Name,    zSolaris_Math_4List,
9124      apzSolaris_Math_4Machs,
9125      SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9126      aSolaris_Math_4Tests,   apzSolaris_Math_4Patch, 0 },
9128   {  zSolaris_Math_5Name,    zSolaris_Math_5List,
9129      apzSolaris_Math_5Machs,
9130      SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9131      aSolaris_Math_5Tests,   apzSolaris_Math_5Patch, 0 },
9133   {  zSolaris_Math_6Name,    zSolaris_Math_6List,
9134      apzSolaris_Math_6Machs,
9135      SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9136      aSolaris_Math_6Tests,   apzSolaris_Math_6Patch, 0 },
9138   {  zSolaris_Math_7Name,    zSolaris_Math_7List,
9139      apzSolaris_Math_7Machs,
9140      SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9141      aSolaris_Math_7Tests,   apzSolaris_Math_7Patch, 0 },
9143   {  zSolaris_Math_8Name,    zSolaris_Math_8List,
9144      apzSolaris_Math_8Machs,
9145      SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9146      aSolaris_Math_8Tests,   apzSolaris_Math_8Patch, 0 },
9148   {  zSolaris_Math_9Name,    zSolaris_Math_9List,
9149      apzSolaris_Math_9Machs,
9150      SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9151      aSolaris_Math_9Tests,   apzSolaris_Math_9Patch, 0 },
9153   {  zSolaris_Mutex_Init_1Name,    zSolaris_Mutex_Init_1List,
9154      apzSolaris_Mutex_Init_1Machs,
9155      SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
9156      aSolaris_Mutex_Init_1Tests,   apzSolaris_Mutex_Init_1Patch, 0 },
9158   {  zSolaris_Mutex_Init_2Name,    zSolaris_Mutex_Init_2List,
9159      apzSolaris_Mutex_Init_2Machs,
9160      SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9161      aSolaris_Mutex_Init_2Tests,   apzSolaris_Mutex_Init_2Patch, 0 },
9163   {  zSolaris_Rwlock_Init_1Name,    zSolaris_Rwlock_Init_1List,
9164      apzSolaris_Rwlock_Init_1Machs,
9165      SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9166      aSolaris_Rwlock_Init_1Tests,   apzSolaris_Rwlock_Init_1Patch, 0 },
9168   {  zSolaris_Once_Init_1Name,    zSolaris_Once_Init_1List,
9169      apzSolaris_Once_Init_1Machs,
9170      SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9171      aSolaris_Once_Init_1Tests,   apzSolaris_Once_Init_1Patch, 0 },
9173   {  zSolaris_Once_Init_2Name,    zSolaris_Once_Init_2List,
9174      apzSolaris_Once_Init_2Machs,
9175      SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9176      aSolaris_Once_Init_2Tests,   apzSolaris_Once_Init_2Patch, 0 },
9178   {  zSolaris_SocketName,    zSolaris_SocketList,
9179      apzSolaris_SocketMachs,
9180      SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9181      aSolaris_SocketTests,   apzSolaris_SocketPatch, 0 },
9183   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
9184      apzSolaris_Stdio_TagMachs,
9185      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
9186      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
9188   {  zSolaris_UnistdName,    zSolaris_UnistdList,
9189      apzSolaris_UnistdMachs,
9190      SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9191      aSolaris_UnistdTests,   apzSolaris_UnistdPatch, 0 },
9193   {  zSolaris_WidecName,    zSolaris_WidecList,
9194      apzSolaris_WidecMachs,
9195      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9196      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
9198   {  zStatsswtchName,    zStatsswtchList,
9199      apzStatsswtchMachs,
9200      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9201      aStatsswtchTests,   apzStatsswtchPatch, 0 },
9203   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
9204      apzStdio_Stdarg_HMachs,
9205      STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
9206      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
9208   {  zStdio_Va_ListName,    zStdio_Va_ListList,
9209      apzStdio_Va_ListMachs,
9210      STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
9211      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
9213   {  zStdio_Va_List_ClientsName,    zStdio_Va_List_ClientsList,
9214      apzStdio_Va_List_ClientsMachs,
9215      STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
9216      aStdio_Va_List_ClientsTests,   apzStdio_Va_List_ClientsPatch, 0 },
9218   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
9219      apzStrict_Ansi_NotMachs,
9220      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9221      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
9223   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
9224      apzStrict_Ansi_Not_CtdMachs,
9225      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9226      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
9228   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
9229      apzStrict_Ansi_OnlyMachs,
9230      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9231      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
9233   {  zStruct_FileName,    zStruct_FileList,
9234      apzStruct_FileMachs,
9235      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9236      aStruct_FileTests,   apzStruct_FilePatch, 0 },
9238   {  zStruct_SockaddrName,    zStruct_SockaddrList,
9239      apzStruct_SockaddrMachs,
9240      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9241      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
9243   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
9244      apzSun_Auth_ProtoMachs,
9245      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9246      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
9248   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
9249      apzSun_Bogus_IfdefMachs,
9250      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9251      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
9253   {  zSun_CatmacroName,    zSun_CatmacroList,
9254      apzSun_CatmacroMachs,
9255      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9256      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
9258   {  zSun_MallocName,    zSun_MallocList,
9259      apzSun_MallocMachs,
9260      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
9261      aSun_MallocTests,   apzSun_MallocPatch, 0 },
9263   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
9264      apzSun_Rusers_SemiMachs,
9265      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
9266      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
9268   {  zSun_SignalName,    zSun_SignalList,
9269      apzSun_SignalMachs,
9270      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9271      aSun_SignalTests,   apzSun_SignalPatch, 0 },
9273   {  zSunos_StrlenName,    zSunos_StrlenList,
9274      apzSunos_StrlenMachs,
9275      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9276      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
9278   {  zSvr4_Disable_OptName,    zSvr4_Disable_OptList,
9279      apzSvr4_Disable_OptMachs,
9280      SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
9281      aSvr4_Disable_OptTests,   apzSvr4_Disable_OptPatch, 0 },
9283   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
9284      apzSvr4_GetcwdMachs,
9285      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9286      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
9288   {  zSvr4_KrnlName,    zSvr4_KrnlList,
9289      apzSvr4_KrnlMachs,
9290      SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9291      aSvr4_KrnlTests,   apzSvr4_KrnlPatch, 0 },
9293   {  zSvr4_ProfilName,    zSvr4_ProfilList,
9294      apzSvr4_ProfilMachs,
9295      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9296      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
9298   {  zSvr4_Sighandler_TypeName,    zSvr4_Sighandler_TypeList,
9299      apzSvr4_Sighandler_TypeMachs,
9300      SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9301      aSvr4_Sighandler_TypeTests,   apzSvr4_Sighandler_TypePatch, 0 },
9303   {  zSvr4_Undeclared_GetrngeName,    zSvr4_Undeclared_GetrngeList,
9304      apzSvr4_Undeclared_GetrngeMachs,
9305      SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9306      aSvr4_Undeclared_GetrngeTests,   apzSvr4_Undeclared_GetrngePatch, 0 },
9308   {  zSysv68_StringName,    zSysv68_StringList,
9309      apzSysv68_StringMachs,
9310      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
9311      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
9313   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
9314      apzSysz_Stdlib_For_SunMachs,
9315      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9316      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
9318   {  zThread_KeywordName,    zThread_KeywordList,
9319      apzThread_KeywordMachs,
9320      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9321      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
9323   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
9324      apzTinfo_CplusplusMachs,
9325      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9326      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
9328   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
9329      apzUltrix_Atexit_ParamMachs,
9330      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9331      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
9333   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
9334      apzUltrix_Atof_ParamMachs,
9335      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9336      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
9338   {  zUltrix_ConstName,    zUltrix_ConstList,
9339      apzUltrix_ConstMachs,
9340      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9341      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
9343   {  zUltrix_Const2Name,    zUltrix_Const2List,
9344      apzUltrix_Const2Machs,
9345      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9346      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
9348   {  zUltrix_Const3Name,    zUltrix_Const3List,
9349      apzUltrix_Const3Machs,
9350      ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9351      aUltrix_Const3Tests,   apzUltrix_Const3Patch, 0 },
9353   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
9354      apzUltrix_Fix_FixprotoMachs,
9355      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9356      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
9358   {  zUltrix_IfdefName,    zUltrix_IfdefList,
9359      apzUltrix_IfdefMachs,
9360      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9361      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
9363   {  zUltrix_LocaleName,    zUltrix_LocaleList,
9364      apzUltrix_LocaleMachs,
9365      ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9366      aUltrix_LocaleTests,   apzUltrix_LocalePatch, 0 },
9368   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
9369      apzUltrix_Math_IfdefMachs,
9370      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9371      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
9373   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
9374      apzUltrix_Nested_IoctlMachs,
9375      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
9376      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
9378   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
9379      apzUltrix_Nested_SvcMachs,
9380      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
9381      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
9383   {  zUltrix_StatName,    zUltrix_StatList,
9384      apzUltrix_StatMachs,
9385      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
9386      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
9388   {  zUltrix_StaticName,    zUltrix_StaticList,
9389      apzUltrix_StaticMachs,
9390      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
9391      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
9393   {  zUltrix_StdlibName,    zUltrix_StdlibList,
9394      apzUltrix_StdlibMachs,
9395      ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
9396      aUltrix_StdlibTests,   apzUltrix_StdlibPatch, 0 },
9398   {  zUltrix_StringsName,    zUltrix_StringsList,
9399      apzUltrix_StringsMachs,
9400      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9401      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
9403   {  zUltrix_Strings2Name,    zUltrix_Strings2List,
9404      apzUltrix_Strings2Machs,
9405      ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
9406      aUltrix_Strings2Tests,   apzUltrix_Strings2Patch, 0 },
9408   {  zUltrix_Sys_TimeName,    zUltrix_Sys_TimeList,
9409      apzUltrix_Sys_TimeMachs,
9410      ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
9411      aUltrix_Sys_TimeTests,   apzUltrix_Sys_TimePatch, 0 },
9413   {  zUltrix_UnistdName,    zUltrix_UnistdList,
9414      apzUltrix_UnistdMachs,
9415      ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
9416      aUltrix_UnistdTests,   apzUltrix_UnistdPatch, 0 },
9418   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
9419      apzUnicosmk_RestrictMachs,
9420      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9421      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
9423   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
9424      apzUw7_Byteorder_FixMachs,
9425      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9426      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
9428   {  zVa_I960_MacroName,    zVa_I960_MacroList,
9429      apzVa_I960_MacroMachs,
9430      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9431      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
9433   {  zVoid_NullName,    zVoid_NullList,
9434      apzVoid_NullMachs,
9435      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9436      aVoid_NullTests,   apzVoid_NullPatch, 0 },
9438   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
9439      apzVxworks_Gcc_ProblemMachs,
9440      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
9441      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
9443   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
9444      apzVxworks_Needs_VxtypesMachs,
9445      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9446      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
9448   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
9449      apzVxworks_Needs_VxworksMachs,
9450      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
9451      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
9453   {  zVxworks_TimeName,    zVxworks_TimeList,
9454      apzVxworks_TimeMachs,
9455      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9456      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
9458   {  zWindiss_Math1Name,    zWindiss_Math1List,
9459      apzWindiss_Math1Machs,
9460      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
9461      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
9463   {  zWindiss_Math2Name,    zWindiss_Math2List,
9464      apzWindiss_Math2Machs,
9465      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
9466      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
9468   {  zWindiss_ValistName,    zWindiss_ValistList,
9469      apzWindiss_ValistMachs,
9470      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
9471      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
9473   {  zX11_ClassName,    zX11_ClassList,
9474      apzX11_ClassMachs,
9475      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9476      aX11_ClassTests,   apzX11_ClassPatch, 0 },
9478   {  zX11_Class_UsageName,    zX11_Class_UsageList,
9479      apzX11_Class_UsageMachs,
9480      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9481      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
9483   {  zX11_NewName,    zX11_NewList,
9484      apzX11_NewMachs,
9485      X11_NEW_TEST_CT, FD_MACH_ONLY,
9486      aX11_NewTests,   apzX11_NewPatch, 0 },
9488   {  zX11_SprintfName,    zX11_SprintfList,
9489      apzX11_SprintfMachs,
9490      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9491      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }