OSDN Git Service

572637e84543a0ff4ee5587a279eaf87d232bb6f
[pf3gnuchains/gcc-fork.git] / fixincludes / fixincl.x
1 /*  -*- buffer-read-only: t -*- vi: set ro:
2  * 
3  * DO NOT EDIT THIS FILE   (fixincl.x)
4  * 
5 <<<<<<< .mine
6  * It has been AutoGen-ed  September  5, 2009 at 01:31:09 PM by AutoGen 5.9.9
7 =======
8  * It has been AutoGen-ed  Friday January 29, 2010 at 04:49:43 PM MET
9 >>>>>>> .r157397
10  * From the definitions    inclhack.def
11  * and the template file   fixincl
12  */
13 <<<<<<< .mine
14 /* DO NOT SVN-MERGE THIS FILE, EITHER Sat Sep  5 13:31:09 PDT 2009
15 =======
16 /* DO NOT SVN-MERGE THIS FILE, EITHER Fri Jan 29 16:49:43 MET 2010
17 >>>>>>> .r157397
18  *
19  * You must regenerate it.  Use the ./genfixes script.
20  *
21  *
22  * This is part of the fixincl program used to install modified versions of
23  * certain ANSI-incompatible system header files which are fixed to work
24  * correctly with ANSI C and placed in a directory that GNU C will search.
25  *
26  * This file contains 205 fixup descriptions.
27  *
28  * See README for more information.
29  *
30  *  inclhack copyright (c) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
31  *                         2006, 2007, 2008
32  *  The Free Software Foundation, Inc.
33  *
34  *  inclhack is free software: you can redistribute it and/or modify it
35  *  under the terms of the GNU General Public License as published by the
36  *  Free Software Foundation, either version 3 of the License, or
37  *  (at your option) any later version.
38  *  
39  *  inclhack is distributed in the hope that it will be useful, but
40  *  WITHOUT ANY WARRANTY; without even the implied warranty of
41  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
42  *  See the GNU General Public License for more details.
43  *  
44  *  You should have received a copy of the GNU General Public License along
45  *  with this program.  If not, see <http://www.gnu.org/licenses/>.
46  */
47 #ifndef SED_PROGRAM
48 #define SED_PROGRAM "/usr/bin/sed"
49 #endif
50 static char const sed_cmd_z[] = SED_PROGRAM;
51
52 /* * * * * * * * * * * * * * * * * * * * * * * * * *
53  *
54  *  Description of Aab_Aix_Stdio fix
55  */
56 tSCC zAab_Aix_StdioName[] =
57      "AAB_aix_stdio";
58
59 /*
60  *  File name selection pattern
61  */
62 tSCC zAab_Aix_StdioList[] =
63   "stdio.h\0";
64 /*
65  *  Machine/OS name selection pattern
66  */
67 tSCC* apzAab_Aix_StdioMachs[] = {
68         "*-*-aix*",
69         (const char*)NULL };
70
71 /*
72  *  content selection pattern - do fix if pattern found
73  */
74 tSCC zAab_Aix_StdioSelect0[] =
75        "define fopen fopen64";
76
77 #define    AAB_AIX_STDIO_TEST_CT  1
78 static tTestDesc aAab_Aix_StdioTests[] = {
79   { TT_EGREP,    zAab_Aix_StdioSelect0, (regex_t*)NULL }, };
80
81 /*
82  *  Fix Command Arguments for Aab_Aix_Stdio
83  */
84 static const char* apzAab_Aix_StdioPatch[] = {
85     "wrap",
86     "",
87     "\n\
88 #if defined __GNUG__ && defined _LARGE_FILES && defined __cplusplus\n\
89 #define __need__aix_stdio_h_fix\n\
90 #ifdef __need__aix_stdio_h_fix\n\
91 #undef fseeko\n\
92 #undef ftello\n\
93 #undef fgetpos\n\
94 #undef fsetpos\n\
95 #undef fopen\n\
96 #undef freopen\n\
97 /* Alias the symbols using asm */\n\
98 extern \"C\" {\n\
99 extern int fgetpos(FILE *, fpos64_t *) __asm__(\"fgetpos64\");\n\
100 extern FILE *fopen(const char *, const char *) __asm__(\"fopen64\");\n\
101 extern FILE *freopen(const char *, const char *, FILE *) __asm__(\"freopen64\");\n\
102 extern int fseeko(FILE *, off64_t, int) __asm__(\"fseeko64\");\n\
103 extern int fsetpos(FILE *, const fpos64_t *) __asm__(\"fsetpos64\");\n\
104 extern off64_t ftello(FILE *) __asm__(\"ftello64\");\n\
105 }\n\
106 #endif\n\
107 #endif\n",
108     (char*)NULL };
109
110 /* * * * * * * * * * * * * * * * * * * * * * * * * *
111  *
112  *  Description of Aab_Darwin7_9_Long_Double_Funcs fix
113  */
114 tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
115      "AAB_darwin7_9_long_double_funcs";
116
117 /*
118  *  File name selection pattern
119  */
120 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
121   "architecture/ppc/math.h\0";
122 /*
123  *  Machine/OS name selection pattern
124  */
125 tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
126         "*-*-darwin7.9*",
127         (const char*)NULL };
128
129 /*
130  *  content bypass pattern - skip fix if pattern found
131  */
132 tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
133        "powl";
134
135 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT  1
136 static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
137   { TT_NEGREP,   zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
138
139 /*
140  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
141  */
142 static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
143 "/* This file prototypes the long double functions available on Mac OS\n\
144    10.3.9.  */\n\
145 #ifndef __MATH__\n\
146 # undef __APPLE_CC__\n\
147 # define __APPLE_CC__  1345\n\
148 # include_next <architecture/ppc/math.h>\n\
149 # undef __APPLE_CC__\n\
150 # define __APPLE_CC__ 1\n\
151 # ifndef __LIBMLDBL_COMPAT\n\
152 #  ifdef __LONG_DOUBLE_128__\n\
153 #   define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
154 #  else\n\
155 #   define __LIBMLDBL_COMPAT(sym)\n\
156 #  endif /* __LONG_DOUBLE_128__ */\n\
157 # endif /* __LIBMLDBL_COMPAT */\n\
158 # ifdef __cplusplus\n\
159    extern \"C\" {\n\
160 # endif\n\
161   extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
162   extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
163   extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
164   extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
165   extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
166   extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
167   extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
168   extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
169   extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
170   extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
171   extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
172   extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
173   extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
174   extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
175   extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
176   extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
177   extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
178   extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
179   extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
180   extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
181   extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
182   extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
183   extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
184   extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
185   extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
186   extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
187   extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
188   extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
189   extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
190   extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
191   extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
192   extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
193   extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
194   extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
195   extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
196   extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
197   extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
198   extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
199   extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
200   extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
201   extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
202   extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
203   extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
204   extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
205   extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
206   extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
207   extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
208   extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
209   extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
210   extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
211   extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
212   extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
213   extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
214   extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
215   extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
216   extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
217   extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
218 # ifdef __cplusplus\n\
219    }\n\
220 # endif\n\
221 #endif /* __MATH__ */",
222     (char*)NULL };
223
224 /* * * * * * * * * * * * * * * * * * * * * * * * * *
225  *
226  *  Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
227  */
228 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
229      "AAB_darwin7_9_long_double_funcs_2";
230
231 /*
232  *  File name selection pattern
233  */
234 tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
235   "math.h\0";
236 /*
237  *  Machine/OS name selection pattern
238  */
239 tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
240         "*-*-darwin7.9*",
241         (const char*)NULL };
242
243 /*
244  *  content selection pattern - do fix if pattern found
245  */
246 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
247        "#include[ \\t]+\\\"";
248
249 #define    AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT  1
250 static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
251   { TT_EGREP,    zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
252
253 /*
254  *  Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
255  */
256 static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
257     "format",
258     "%1<%2.h>",
259     "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
260     (char*)NULL };
261
262 /* * * * * * * * * * * * * * * * * * * * * * * * * *
263  *
264  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
265  */
266 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
267      "AAB_fd_zero_asm_posix_types_h";
268
269 /*
270  *  File name selection pattern
271  */
272 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
273   "asm/posix_types.h\0";
274 /*
275  *  Machine/OS name selection pattern
276  */
277 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
278         "i[34567]86-*-linux*",
279         (const char*)NULL };
280
281 /*
282  *  content bypass pattern - skip fix if pattern found
283  */
284 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
285        "} while";
286 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass1[] =
287        "x86_64";
288 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass2[] =
289        "posix_types_64";
290
291 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  3
292 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
293   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL },
294   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass1, (regex_t*)NULL },
295   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass2, (regex_t*)NULL }, };
296
297 /*
298  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
299  */
300 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
301 "/* This file fixes a bug in the __FD_ZERO macro\n\
302    for older versions of the Linux kernel. */\n\
303 #ifndef _POSIX_TYPES_H_WRAPPER\n\
304 #include <features.h>\n\
305  #include_next <asm/posix_types.h>\n\n\
306 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
307 #undef __FD_ZERO\n\
308 #define __FD_ZERO(fdsetp) \\\n\
309   do { \\\n\
310     int __d0, __d1; \\\n\
311 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
312 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
313 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
314   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
315   } while (0)\n\
316 #endif\n\n\
317 #define _POSIX_TYPES_H_WRAPPER\n\
318 #endif /* _POSIX_TYPES_H_WRAPPER */",
319     (char*)NULL };
320
321 /* * * * * * * * * * * * * * * * * * * * * * * * * *
322  *
323  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
324  */
325 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
326      "AAB_fd_zero_gnu_types_h";
327
328 /*
329  *  File name selection pattern
330  */
331 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
332   "gnu/types.h\0";
333 /*
334  *  Machine/OS name selection pattern
335  */
336 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
337         "i[34567]86-*-linux*",
338         (const char*)NULL };
339 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
340 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
341
342 /*
343  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
344  */
345 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
346 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
347 #ifndef _TYPES_H_WRAPPER\n\
348 #include <features.h>\n\
349 #include_next <gnu/types.h>\n\n\
350 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
351 #undef __FD_ZERO\n\
352 # define __FD_ZERO(fdsetp) \\\n\
353   do { \\\n\
354     int __d0, __d1; \\\n\
355         __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
356         : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
357         : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
358           \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
359   } while (0)\n\
360 #endif\n\n\
361 #define _TYPES_H_WRAPPER\n\
362 #endif /* _TYPES_H_WRAPPER */",
363     (char*)NULL };
364
365 /* * * * * * * * * * * * * * * * * * * * * * * * * *
366  *
367  *  Description of Aab_Fd_Zero_Selectbits_H fix
368  */
369 tSCC zAab_Fd_Zero_Selectbits_HName[] =
370      "AAB_fd_zero_selectbits_h";
371
372 /*
373  *  File name selection pattern
374  */
375 tSCC zAab_Fd_Zero_Selectbits_HList[] =
376   "selectbits.h\0";
377 /*
378  *  Machine/OS name selection pattern
379  */
380 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
381         "i[34567]86-*-linux*",
382         (const char*)NULL };
383 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
384 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
385
386 /*
387  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
388  */
389 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
390 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
391 #ifndef _SELECTBITS_H_WRAPPER\n\
392   #include <features.h>\n\
393   #include_next <selectbits.h>\n\n\
394   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
395   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
396   && __GLIBC_MINOR__ == 0\n\
397      #undef __FD_ZERO\n\
398      #define __FD_ZERO(fdsetp) \\\\\n\
399      do { \\\\\n\
400         int __d0, __d1; \\\\\n\
401       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
402                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
403                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
404                                         / sizeof (__fd_mask)), \\\\\n\
405                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
406                         : \"memory\"); \\\\\n\
407       } while (0)\n\
408   #endif\n\n\
409   #define _SELECTBITS_H_WRAPPER\n\
410 #endif /* _SELECTBITS_H_WRAPPER */",
411     (char*)NULL };
412
413 /* * * * * * * * * * * * * * * * * * * * * * * * * *
414  *
415  *  Description of Aab_Solaris_Sys_Varargs_H fix
416  */
417 tSCC zAab_Solaris_Sys_Varargs_HName[] =
418      "AAB_solaris_sys_varargs_h";
419
420 /*
421  *  File name selection pattern
422  */
423 tSCC zAab_Solaris_Sys_Varargs_HList[] =
424   "sys/varargs.h\0";
425 /*
426  *  Machine/OS name selection pattern
427  */
428 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
429         "*-*-solaris*",
430         (const char*)NULL };
431 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
432 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
433
434 /*
435  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
436  */
437 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
438 "#ifdef __STDC__\n\
439   #include <stdarg.h>\n\
440 #else\n\
441   #include <varargs.h>\n\
442 #endif",
443     (char*)NULL };
444
445 /* * * * * * * * * * * * * * * * * * * * * * * * * *
446  *
447  *  Description of Aab_Sun_Memcpy fix
448  */
449 tSCC zAab_Sun_MemcpyName[] =
450      "AAB_sun_memcpy";
451
452 /*
453  *  File name selection pattern
454  */
455 tSCC zAab_Sun_MemcpyList[] =
456   "memory.h\0";
457 /*
458  *  Machine/OS name selection pattern
459  */
460 #define apzAab_Sun_MemcpyMachs (const char**)NULL
461
462 /*
463  *  content selection pattern - do fix if pattern found
464  */
465 tSCC zAab_Sun_MemcpySelect0[] =
466        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
467
468 #define    AAB_SUN_MEMCPY_TEST_CT  1
469 static tTestDesc aAab_Sun_MemcpyTests[] = {
470   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
471
472 /*
473  *  Fix Command Arguments for Aab_Sun_Memcpy
474  */
475 static const char* apzAab_Sun_MemcpyPatch[] = {
476 "/* This file was generated by fixincludes */\n\
477 #ifndef __memory_h__\n\
478   #define __memory_h__\n\n\
479   #ifdef __STDC__\n\
480     extern void *memccpy();\n\
481     extern void *memchr();\n\
482     extern void *memcpy();\n\
483     extern void *memset();\n\
484   #else\n\
485     extern char *memccpy();\n\
486     extern char *memchr();\n\
487     extern char *memcpy();\n\
488     extern char *memset();\n\
489   #endif /* __STDC__ */\n\n\
490   extern int memcmp();\n\n\
491 #endif /* __memory_h__ */",
492     (char*)NULL };
493
494 /* * * * * * * * * * * * * * * * * * * * * * * * * *
495  *
496  *  Description of Aix_Complex fix
497  */
498 tSCC zAix_ComplexName[] =
499      "aix_complex";
500
501 /*
502  *  File name selection pattern
503  */
504 tSCC zAix_ComplexList[] =
505   "complex.h\0";
506 /*
507  *  Machine/OS name selection pattern
508  */
509 tSCC* apzAix_ComplexMachs[] = {
510         "*-*-aix*",
511         (const char*)NULL };
512
513 /*
514  *  content selection pattern - do fix if pattern found
515  */
516 tSCC zAix_ComplexSelect0[] =
517        "#define[ \t]_Complex_I[ \t]__I";
518
519 #define    AIX_COMPLEX_TEST_CT  1
520 static tTestDesc aAix_ComplexTests[] = {
521   { TT_EGREP,    zAix_ComplexSelect0, (regex_t*)NULL }, };
522
523 /*
524  *  Fix Command Arguments for Aix_Complex
525  */
526 static const char* apzAix_ComplexPatch[] = {
527     "format",
528     "#define _Complex_I (__extension__ 1.0iF)",
529     (char*)NULL };
530
531 /* * * * * * * * * * * * * * * * * * * * * * * * * *
532  *
533  *  Description of Aix_Pthread fix
534  */
535 tSCC zAix_PthreadName[] =
536      "aix_pthread";
537
538 /*
539  *  File name selection pattern
540  */
541 tSCC zAix_PthreadList[] =
542   "pthread.h\0";
543 /*
544  *  Machine/OS name selection pattern
545  */
546 #define apzAix_PthreadMachs (const char**)NULL
547
548 /*
549  *  content selection pattern - do fix if pattern found
550  */
551 tSCC zAix_PthreadSelect0[] =
552        "(#define [A-Za-z_0-9]+)(\\\\\n\
553 [^A-Za-z_0-9 \t\n\
554 (])";
555
556 #define    AIX_PTHREAD_TEST_CT  1
557 static tTestDesc aAix_PthreadTests[] = {
558   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
559
560 /*
561  *  Fix Command Arguments for Aix_Pthread
562  */
563 static const char* apzAix_PthreadPatch[] = {
564     "format",
565     "%1 %2",
566     (char*)NULL };
567
568 /* * * * * * * * * * * * * * * * * * * * * * * * * *
569  *
570  *  Description of Aix_Stdint_1 fix
571  */
572 tSCC zAix_Stdint_1Name[] =
573      "aix_stdint_1";
574
575 /*
576  *  File name selection pattern
577  */
578 tSCC zAix_Stdint_1List[] =
579   "stdint-aix.h\0stdint.h\0";
580 /*
581  *  Machine/OS name selection pattern
582  */
583 tSCC* apzAix_Stdint_1Machs[] = {
584         "*-*-aix*",
585         (const char*)NULL };
586
587 /*
588  *  content selection pattern - do fix if pattern found
589  */
590 tSCC zAix_Stdint_1Select0[] =
591        "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
592 #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
593
594 #define    AIX_STDINT_1_TEST_CT  1
595 static tTestDesc aAix_Stdint_1Tests[] = {
596   { TT_EGREP,    zAix_Stdint_1Select0, (regex_t*)NULL }, };
597
598 /*
599  *  Fix Command Arguments for Aix_Stdint_1
600  */
601 static const char* apzAix_Stdint_1Patch[] = {
602     "format",
603     "#define UINT8_MAX\t(255)\n\
604 #define UINT16_MAX\t(65535)",
605     (char*)NULL };
606
607 /* * * * * * * * * * * * * * * * * * * * * * * * * *
608  *
609  *  Description of Aix_Stdint_2 fix
610  */
611 tSCC zAix_Stdint_2Name[] =
612      "aix_stdint_2";
613
614 /*
615  *  File name selection pattern
616  */
617 tSCC zAix_Stdint_2List[] =
618   "stdint-aix.h\0stdint.h\0";
619 /*
620  *  Machine/OS name selection pattern
621  */
622 tSCC* apzAix_Stdint_2Machs[] = {
623         "*-*-aix*",
624         (const char*)NULL };
625
626 /*
627  *  content selection pattern - do fix if pattern found
628  */
629 tSCC zAix_Stdint_2Select0[] =
630        "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
631 #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
632 #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
633 #else\n\
634 #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
635 #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
636 #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
637
638 #define    AIX_STDINT_2_TEST_CT  1
639 static tTestDesc aAix_Stdint_2Tests[] = {
640   { TT_EGREP,    zAix_Stdint_2Select0, (regex_t*)NULL }, };
641
642 /*
643  *  Fix Command Arguments for Aix_Stdint_2
644  */
645 static const char* apzAix_Stdint_2Patch[] = {
646     "format",
647     "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
648 #define INTPTR_MAX\t9223372036854775807L\n\
649 #define UINTPTR_MAX\t18446744073709551615UL\n\
650 #else\n\
651 #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
652 #define INTPTR_MAX\t2147483647L\n\
653 #define UINTPTR_MAX\t4294967295UL",
654     (char*)NULL };
655
656 /* * * * * * * * * * * * * * * * * * * * * * * * * *
657  *
658  *  Description of Aix_Stdint_3 fix
659  */
660 tSCC zAix_Stdint_3Name[] =
661      "aix_stdint_3";
662
663 /*
664  *  File name selection pattern
665  */
666 tSCC zAix_Stdint_3List[] =
667   "stdint-aix.h\0stdint.h\0";
668 /*
669  *  Machine/OS name selection pattern
670  */
671 tSCC* apzAix_Stdint_3Machs[] = {
672         "*-*-aix*",
673         (const char*)NULL };
674
675 /*
676  *  content selection pattern - do fix if pattern found
677  */
678 tSCC zAix_Stdint_3Select0[] =
679        "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
680 #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
681 #else\n\
682 #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
683 #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
684
685 #define    AIX_STDINT_3_TEST_CT  1
686 static tTestDesc aAix_Stdint_3Tests[] = {
687   { TT_EGREP,    zAix_Stdint_3Select0, (regex_t*)NULL }, };
688
689 /*
690  *  Fix Command Arguments for Aix_Stdint_3
691  */
692 static const char* apzAix_Stdint_3Patch[] = {
693     "format",
694     "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
695 #define PTRDIFF_MAX\t9223372036854775807L\n\
696 #else\n\
697 #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
698 #define PTRDIFF_MAX\t2147483647L",
699     (char*)NULL };
700
701 /* * * * * * * * * * * * * * * * * * * * * * * * * *
702  *
703  *  Description of Aix_Stdint_4 fix
704  */
705 tSCC zAix_Stdint_4Name[] =
706      "aix_stdint_4";
707
708 /*
709  *  File name selection pattern
710  */
711 tSCC zAix_Stdint_4List[] =
712   "stdint-aix.h\0stdint.h\0";
713 /*
714  *  Machine/OS name selection pattern
715  */
716 tSCC* apzAix_Stdint_4Machs[] = {
717         "*-*-aix*",
718         (const char*)NULL };
719
720 /*
721  *  content selection pattern - do fix if pattern found
722  */
723 tSCC zAix_Stdint_4Select0[] =
724        "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
725 #else\n\
726 #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
727
728 #define    AIX_STDINT_4_TEST_CT  1
729 static tTestDesc aAix_Stdint_4Tests[] = {
730   { TT_EGREP,    zAix_Stdint_4Select0, (regex_t*)NULL }, };
731
732 /*
733  *  Fix Command Arguments for Aix_Stdint_4
734  */
735 static const char* apzAix_Stdint_4Patch[] = {
736     "format",
737     "#define SIZE_MAX\t18446744073709551615UL\n\
738 #else\n\
739 #define SIZE_MAX\t4294967295UL",
740     (char*)NULL };
741
742 /* * * * * * * * * * * * * * * * * * * * * * * * * *
743  *
744  *  Description of Aix_Stdint_5 fix
745  */
746 tSCC zAix_Stdint_5Name[] =
747      "aix_stdint_5";
748
749 /*
750  *  File name selection pattern
751  */
752 tSCC zAix_Stdint_5List[] =
753   "stdint-aix.h\0stdint.h\0";
754 /*
755  *  Machine/OS name selection pattern
756  */
757 tSCC* apzAix_Stdint_5Machs[] = {
758         "*-*-aix*",
759         (const char*)NULL };
760
761 /*
762  *  content selection pattern - do fix if pattern found
763  */
764 tSCC zAix_Stdint_5Select0[] =
765        "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
766 #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
767
768 #define    AIX_STDINT_5_TEST_CT  1
769 static tTestDesc aAix_Stdint_5Tests[] = {
770   { TT_EGREP,    zAix_Stdint_5Select0, (regex_t*)NULL }, };
771
772 /*
773  *  Fix Command Arguments for Aix_Stdint_5
774  */
775 static const char* apzAix_Stdint_5Patch[] = {
776     "format",
777     "#define UINT8_C(c)\tc\n\
778 #define UINT16_C(c)\tc",
779     (char*)NULL };
780
781 /* * * * * * * * * * * * * * * * * * * * * * * * * *
782  *
783  *  Description of Aix_Sysmachine fix
784  */
785 tSCC zAix_SysmachineName[] =
786      "aix_sysmachine";
787
788 /*
789  *  File name selection pattern
790  */
791 tSCC zAix_SysmachineList[] =
792   "sys/machine.h\0";
793 /*
794  *  Machine/OS name selection pattern
795  */
796 #define apzAix_SysmachineMachs (const char**)NULL
797
798 /*
799  *  content selection pattern - do fix if pattern found
800  */
801 tSCC zAix_SysmachineSelect0[] =
802        "\\\\ +\n";
803
804 #define    AIX_SYSMACHINE_TEST_CT  1
805 static tTestDesc aAix_SysmachineTests[] = {
806   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
807
808 /*
809  *  Fix Command Arguments for Aix_Sysmachine
810  */
811 static const char* apzAix_SysmachinePatch[] = {
812     "format",
813     "\\\n",
814     (char*)NULL };
815
816 /* * * * * * * * * * * * * * * * * * * * * * * * * *
817  *
818  *  Description of Aix_Syswait_2 fix
819  */
820 tSCC zAix_Syswait_2Name[] =
821      "aix_syswait_2";
822
823 /*
824  *  File name selection pattern
825  */
826 tSCC zAix_Syswait_2List[] =
827   "sys/wait.h\0";
828 /*
829  *  Machine/OS name selection pattern
830  */
831 #define apzAix_Syswait_2Machs (const char**)NULL
832
833 /*
834  *  content selection pattern - do fix if pattern found
835  */
836 tSCC zAix_Syswait_2Select0[] =
837        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
838
839 #define    AIX_SYSWAIT_2_TEST_CT  1
840 static tTestDesc aAix_Syswait_2Tests[] = {
841   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
842
843 /*
844  *  Fix Command Arguments for Aix_Syswait_2
845  */
846 static const char* apzAix_Syswait_2Patch[] = {
847     "format",
848     "? (int)%1",
849     (char*)NULL };
850
851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
852  *
853  *  Description of Aix_Volatile fix
854  */
855 tSCC zAix_VolatileName[] =
856      "aix_volatile";
857
858 /*
859  *  File name selection pattern
860  */
861 tSCC zAix_VolatileList[] =
862   "sys/signal.h\0";
863 /*
864  *  Machine/OS name selection pattern
865  */
866 #define apzAix_VolatileMachs (const char**)NULL
867
868 /*
869  *  content selection pattern - do fix if pattern found
870  */
871 tSCC zAix_VolatileSelect0[] =
872        "typedef volatile int sig_atomic_t";
873
874 #define    AIX_VOLATILE_TEST_CT  1
875 static tTestDesc aAix_VolatileTests[] = {
876   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
877
878 /*
879  *  Fix Command Arguments for Aix_Volatile
880  */
881 static const char* apzAix_VolatilePatch[] = {
882     "format",
883     "typedef int sig_atomic_t",
884     (char*)NULL };
885
886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
887  *
888  *  Description of Alpha___Assert fix
889  */
890 tSCC zAlpha___AssertName[] =
891      "alpha___assert";
892
893 /*
894  *  File name selection pattern
895  */
896 tSCC zAlpha___AssertList[] =
897   "assert.h\0";
898 /*
899  *  Machine/OS name selection pattern
900  */
901 #define apzAlpha___AssertMachs (const char**)NULL
902
903 /*
904  *  content selection pattern - do fix if pattern found
905  */
906 tSCC zAlpha___AssertSelect0[] =
907        "__assert\\(char \\*, char \\*, int\\)";
908
909 #define    ALPHA___ASSERT_TEST_CT  1
910 static tTestDesc aAlpha___AssertTests[] = {
911   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
912
913 /*
914  *  Fix Command Arguments for Alpha___Assert
915  */
916 static const char* apzAlpha___AssertPatch[] = {
917     "format",
918     "__assert(const char *, const char *, int)",
919     (char*)NULL };
920
921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
922  *
923  *  Description of Alpha___Extern_Prefix fix
924  */
925 tSCC zAlpha___Extern_PrefixName[] =
926      "alpha___extern_prefix";
927
928 /*
929  *  File name selection pattern
930  */
931 #define zAlpha___Extern_PrefixList (char*)NULL
932 /*
933  *  Machine/OS name selection pattern
934  */
935 tSCC* apzAlpha___Extern_PrefixMachs[] = {
936         "alpha*-dec-osf*",
937         (const char*)NULL };
938
939 /*
940  *  content selection pattern - do fix if pattern found
941  */
942 tSCC zAlpha___Extern_PrefixSelect0[] =
943        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
944 (#[ \t]*pragma[ \t]*extern_prefix.*)";
945
946 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
947 static tTestDesc aAlpha___Extern_PrefixTests[] = {
948   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
949
950 /*
951  *  Fix Command Arguments for Alpha___Extern_Prefix
952  */
953 static const char* apzAlpha___Extern_PrefixPatch[] = {
954     "format",
955     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
956 %3",
957     (char*)NULL };
958
959 /* * * * * * * * * * * * * * * * * * * * * * * * * *
960  *
961  *  Description of Alpha___Extern_Prefix_Standards fix
962  */
963 tSCC zAlpha___Extern_Prefix_StandardsName[] =
964      "alpha___extern_prefix_standards";
965
966 /*
967  *  File name selection pattern
968  */
969 tSCC zAlpha___Extern_Prefix_StandardsList[] =
970   "standards.h\0";
971 /*
972  *  Machine/OS name selection pattern
973  */
974 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
975         "alpha*-dec-osf*",
976         (const char*)NULL };
977
978 /*
979  *  content selection pattern - do fix if pattern found
980  */
981 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
982        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
983
984 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
985 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
986   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
987
988 /*
989  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
990  */
991 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
992     "format",
993     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
994     (char*)NULL };
995
996 /* * * * * * * * * * * * * * * * * * * * * * * * * *
997  *
998  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
999  */
1000 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
1001      "alpha___extern_prefix_sys_stat";
1002
1003 /*
1004  *  File name selection pattern
1005  */
1006 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
1007   "sys/stat.h\0sys/mount.h\0";
1008 /*
1009  *  Machine/OS name selection pattern
1010  */
1011 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
1012         "alpha*-dec-osf5*",
1013         (const char*)NULL };
1014
1015 /*
1016  *  content selection pattern - do fix if pattern found
1017  */
1018 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
1019        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
1020
1021 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
1022 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
1023   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
1024
1025 /*
1026  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
1027  */
1028 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
1029     "format",
1030     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
1031     (char*)NULL };
1032
1033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1034  *
1035  *  Description of Alpha_Assert fix
1036  */
1037 tSCC zAlpha_AssertName[] =
1038      "alpha_assert";
1039
1040 /*
1041  *  File name selection pattern
1042  */
1043 tSCC zAlpha_AssertList[] =
1044   "assert.h\0";
1045 /*
1046  *  Machine/OS name selection pattern
1047  */
1048 #define apzAlpha_AssertMachs (const char**)NULL
1049
1050 /*
1051  *  content selection pattern - do fix if pattern found
1052  */
1053 tSCC zAlpha_AssertSelect0[] =
1054        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1055
1056 #define    ALPHA_ASSERT_TEST_CT  1
1057 static tTestDesc aAlpha_AssertTests[] = {
1058   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
1059
1060 /*
1061  *  Fix Command Arguments for Alpha_Assert
1062  */
1063 static const char* apzAlpha_AssertPatch[] = {
1064     "format",
1065     "%1(EX)",
1066     (char*)NULL };
1067
1068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1069  *
1070  *  Description of Alpha_Bad_Lval fix
1071  */
1072 tSCC zAlpha_Bad_LvalName[] =
1073      "alpha_bad_lval";
1074
1075 /*
1076  *  File name selection pattern
1077  */
1078 #define zAlpha_Bad_LvalList (char*)NULL
1079 /*
1080  *  Machine/OS name selection pattern
1081  */
1082 tSCC* apzAlpha_Bad_LvalMachs[] = {
1083         "alpha*-dec-osf*",
1084         (const char*)NULL };
1085
1086 /*
1087  *  content selection pattern - do fix if pattern found
1088  */
1089 tSCC zAlpha_Bad_LvalSelect0[] =
1090        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1091
1092 #define    ALPHA_BAD_LVAL_TEST_CT  1
1093 static tTestDesc aAlpha_Bad_LvalTests[] = {
1094   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
1095
1096 /*
1097  *  Fix Command Arguments for Alpha_Bad_Lval
1098  */
1099 static const char* apzAlpha_Bad_LvalPatch[] = { sed_cmd_z,
1100     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1101     (char*)NULL };
1102
1103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1104  *
1105  *  Description of Alpha_Getopt fix
1106  */
1107 tSCC zAlpha_GetoptName[] =
1108      "alpha_getopt";
1109
1110 /*
1111  *  File name selection pattern
1112  */
1113 tSCC zAlpha_GetoptList[] =
1114   "stdio.h\0stdlib.h\0";
1115 /*
1116  *  Machine/OS name selection pattern
1117  */
1118 #define apzAlpha_GetoptMachs (const char**)NULL
1119
1120 /*
1121  *  content selection pattern - do fix if pattern found
1122  */
1123 tSCC zAlpha_GetoptSelect0[] =
1124        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1125
1126 #define    ALPHA_GETOPT_TEST_CT  1
1127 static tTestDesc aAlpha_GetoptTests[] = {
1128   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1129
1130 /*
1131  *  Fix Command Arguments for Alpha_Getopt
1132  */
1133 static const char* apzAlpha_GetoptPatch[] = {
1134     "format",
1135     "getopt(int, char *const[], const char *)",
1136     (char*)NULL };
1137
1138 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1139  *
1140  *  Description of Alpha_If_Semicolon fix
1141  */
1142 tSCC zAlpha_If_SemicolonName[] =
1143      "alpha_if_semicolon";
1144
1145 /*
1146  *  File name selection pattern
1147  */
1148 tSCC zAlpha_If_SemicolonList[] =
1149   "net/if.h\0";
1150 /*
1151  *  Machine/OS name selection pattern
1152  */
1153 #define apzAlpha_If_SemicolonMachs (const char**)NULL
1154
1155 /*
1156  *  content selection pattern - do fix if pattern found
1157  */
1158 tSCC zAlpha_If_SemicolonSelect0[] =
1159        "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
1160
1161 #define    ALPHA_IF_SEMICOLON_TEST_CT  1
1162 static tTestDesc aAlpha_If_SemicolonTests[] = {
1163   { TT_EGREP,    zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
1164
1165 /*
1166  *  Fix Command Arguments for Alpha_If_Semicolon
1167  */
1168 static const char* apzAlpha_If_SemicolonPatch[] = {
1169     "format",
1170     "struct sockaddr vmif_paddr;\t/*",
1171     (char*)NULL };
1172
1173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1174  *
1175  *  Description of Alpha_Parens fix
1176  */
1177 tSCC zAlpha_ParensName[] =
1178      "alpha_parens";
1179
1180 /*
1181  *  File name selection pattern
1182  */
1183 tSCC zAlpha_ParensList[] =
1184   "sym.h\0";
1185 /*
1186  *  Machine/OS name selection pattern
1187  */
1188 #define apzAlpha_ParensMachs (const char**)NULL
1189
1190 /*
1191  *  content selection pattern - do fix if pattern found
1192  */
1193 tSCC zAlpha_ParensSelect0[] =
1194        "#ifndef\\(__mips64\\)";
1195
1196 #define    ALPHA_PARENS_TEST_CT  1
1197 static tTestDesc aAlpha_ParensTests[] = {
1198   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
1199
1200 /*
1201  *  Fix Command Arguments for Alpha_Parens
1202  */
1203 static const char* apzAlpha_ParensPatch[] = {
1204     "format",
1205     "#ifndef __mips64",
1206     (char*)NULL };
1207
1208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1209  *
1210  *  Description of Alpha_Pthread fix
1211  */
1212 tSCC zAlpha_PthreadName[] =
1213      "alpha_pthread";
1214
1215 /*
1216  *  File name selection pattern
1217  */
1218 tSCC zAlpha_PthreadList[] =
1219   "pthread.h\0";
1220 /*
1221  *  Machine/OS name selection pattern
1222  */
1223 tSCC* apzAlpha_PthreadMachs[] = {
1224         "alpha*-dec-osf*",
1225         (const char*)NULL };
1226
1227 /*
1228  *  content selection pattern - do fix if pattern found
1229  */
1230 tSCC zAlpha_PthreadSelect0[] =
1231        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1232 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1233
1234 #define    ALPHA_PTHREAD_TEST_CT  1
1235 static tTestDesc aAlpha_PthreadTests[] = {
1236   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1237
1238 /*
1239  *  Fix Command Arguments for Alpha_Pthread
1240  */
1241 static const char* apzAlpha_PthreadPatch[] = {
1242     "format",
1243     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1244 %5",
1245     (char*)NULL };
1246
1247 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1248  *
1249  *  Description of Alpha_Pthread_Gcc fix
1250  */
1251 tSCC zAlpha_Pthread_GccName[] =
1252      "alpha_pthread_gcc";
1253
1254 /*
1255  *  File name selection pattern
1256  */
1257 tSCC zAlpha_Pthread_GccList[] =
1258   "pthread.h\0";
1259 /*
1260  *  Machine/OS name selection pattern
1261  */
1262 tSCC* apzAlpha_Pthread_GccMachs[] = {
1263         "alpha*-dec-osf*",
1264         (const char*)NULL };
1265
1266 /*
1267  *  content selection pattern - do fix if pattern found
1268  */
1269 tSCC zAlpha_Pthread_GccSelect0[] =
1270        "#else\n\
1271 # error <pthread.h>: unrecognized compiler.";
1272
1273 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1274 static tTestDesc aAlpha_Pthread_GccTests[] = {
1275   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1276
1277 /*
1278  *  Fix Command Arguments for Alpha_Pthread_Gcc
1279  */
1280 static const char* apzAlpha_Pthread_GccPatch[] = {
1281     "format",
1282     "#elif defined (__GNUC__)\n\
1283 # define _PTHREAD_ENV_GCC\n\
1284 %0",
1285     (char*)NULL };
1286
1287 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1288  *
1289  *  Description of Alpha_Pthread_Init fix
1290  */
1291 tSCC zAlpha_Pthread_InitName[] =
1292      "alpha_pthread_init";
1293
1294 /*
1295  *  File name selection pattern
1296  */
1297 tSCC zAlpha_Pthread_InitList[] =
1298   "pthread.h\0";
1299 /*
1300  *  Machine/OS name selection pattern
1301  */
1302 tSCC* apzAlpha_Pthread_InitMachs[] = {
1303         "alpha*-dec-osf*",
1304         (const char*)NULL };
1305
1306 /*
1307  *  content selection pattern - do fix if pattern found
1308  */
1309 tSCC zAlpha_Pthread_InitSelect0[] =
1310        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1311
1312 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1313 static tTestDesc aAlpha_Pthread_InitTests[] = {
1314   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1315
1316 /*
1317  *  Fix Command Arguments for Alpha_Pthread_Init
1318  */
1319 static const char* apzAlpha_Pthread_InitPatch[] = { sed_cmd_z,
1320     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1321 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1322 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1323 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1324 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1325 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1326     (char*)NULL };
1327
1328 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1329  *
1330  *  Description of Alpha_Sbrk fix
1331  */
1332 tSCC zAlpha_SbrkName[] =
1333      "alpha_sbrk";
1334
1335 /*
1336  *  File name selection pattern
1337  */
1338 tSCC zAlpha_SbrkList[] =
1339   "unistd.h\0";
1340 /*
1341  *  Machine/OS name selection pattern
1342  */
1343 #define apzAlpha_SbrkMachs (const char**)NULL
1344
1345 /*
1346  *  content selection pattern - do fix if pattern found
1347  */
1348 tSCC zAlpha_SbrkSelect0[] =
1349        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1350
1351 #define    ALPHA_SBRK_TEST_CT  1
1352 static tTestDesc aAlpha_SbrkTests[] = {
1353   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1354
1355 /*
1356  *  Fix Command Arguments for Alpha_Sbrk
1357  */
1358 static const char* apzAlpha_SbrkPatch[] = {
1359     "format",
1360     "void *sbrk(",
1361     (char*)NULL };
1362
1363 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1364  *
1365  *  Description of Alpha_Wchar fix
1366  */
1367 tSCC zAlpha_WcharName[] =
1368      "alpha_wchar";
1369
1370 /*
1371  *  File name selection pattern
1372  */
1373 tSCC zAlpha_WcharList[] =
1374   "wchar.h\0";
1375 /*
1376  *  Machine/OS name selection pattern
1377  */
1378 tSCC* apzAlpha_WcharMachs[] = {
1379         "alpha*-dec-osf4*",
1380         (const char*)NULL };
1381
1382 /*
1383  *  content selection pattern - do fix if pattern found
1384  */
1385 tSCC zAlpha_WcharSelect0[] =
1386        "#define wcstok wcstok_r";
1387
1388 #define    ALPHA_WCHAR_TEST_CT  1
1389 static tTestDesc aAlpha_WcharTests[] = {
1390   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1391
1392 /*
1393  *  Fix Command Arguments for Alpha_Wchar
1394  */
1395 static const char* apzAlpha_WcharPatch[] = { sed_cmd_z,
1396     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1397     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1398     (char*)NULL };
1399
1400 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1401  *
1402  *  Description of Avoid_Bool_Define fix
1403  */
1404 tSCC zAvoid_Bool_DefineName[] =
1405      "avoid_bool_define";
1406
1407 /*
1408  *  File name selection pattern
1409  */
1410 tSCC zAvoid_Bool_DefineList[] =
1411   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1412 /*
1413  *  Machine/OS name selection pattern
1414  */
1415 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1416
1417 /*
1418  *  content selection pattern - do fix if pattern found
1419  */
1420 tSCC zAvoid_Bool_DefineSelect0[] =
1421        "#[ \t]*define[ \t]+bool[ \t]";
1422
1423 /*
1424  *  content bypass pattern - skip fix if pattern found
1425  */
1426 tSCC zAvoid_Bool_DefineBypass0[] =
1427        "__cplusplus";
1428
1429 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1430 static tTestDesc aAvoid_Bool_DefineTests[] = {
1431   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1432   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1433
1434 /*
1435  *  Fix Command Arguments for Avoid_Bool_Define
1436  */
1437 static const char* apzAvoid_Bool_DefinePatch[] = {
1438     "format",
1439     "#ifndef __cplusplus\n\
1440 %0\n\
1441 #endif",
1442     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1443     (char*)NULL };
1444
1445 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1446  *
1447  *  Description of Avoid_Bool_Type fix
1448  */
1449 tSCC zAvoid_Bool_TypeName[] =
1450      "avoid_bool_type";
1451
1452 /*
1453  *  File name selection pattern
1454  */
1455 tSCC zAvoid_Bool_TypeList[] =
1456   "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1457 /*
1458  *  Machine/OS name selection pattern
1459  */
1460 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1461
1462 /*
1463  *  content selection pattern - do fix if pattern found
1464  */
1465 tSCC zAvoid_Bool_TypeSelect0[] =
1466        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1467
1468 /*
1469  *  content bypass pattern - skip fix if pattern found
1470  */
1471 tSCC zAvoid_Bool_TypeBypass0[] =
1472        "__cplusplus";
1473
1474 #define    AVOID_BOOL_TYPE_TEST_CT  2
1475 static tTestDesc aAvoid_Bool_TypeTests[] = {
1476   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1477   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1478
1479 /*
1480  *  Fix Command Arguments for Avoid_Bool_Type
1481  */
1482 static const char* apzAvoid_Bool_TypePatch[] = {
1483     "format",
1484     "#ifndef __cplusplus\n\
1485 %0\n\
1486 #endif",
1487     (char*)NULL };
1488
1489 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1490  *
1491  *  Description of Avoid_Wchar_T_Type fix
1492  */
1493 tSCC zAvoid_Wchar_T_TypeName[] =
1494      "avoid_wchar_t_type";
1495
1496 /*
1497  *  File name selection pattern
1498  */
1499 #define zAvoid_Wchar_T_TypeList (char*)NULL
1500 /*
1501  *  Machine/OS name selection pattern
1502  */
1503 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1504
1505 /*
1506  *  content selection pattern - do fix if pattern found
1507  */
1508 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1509        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1510
1511 /*
1512  *  content bypass pattern - skip fix if pattern found
1513  */
1514 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1515        "__cplusplus";
1516 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1517        "_LINUX_NLS_H";
1518 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1519        "XFree86: xc/lib/X11/Xlib\\.h";
1520
1521 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1522 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1523   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1524   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1525   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1526   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1527
1528 /*
1529  *  Fix Command Arguments for Avoid_Wchar_T_Type
1530  */
1531 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1532     "format",
1533     "#ifndef __cplusplus\n\
1534 %0\n\
1535 #endif",
1536     (char*)NULL };
1537
1538 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1539  *
1540  *  Description of Bad_Struct_Term fix
1541  */
1542 tSCC zBad_Struct_TermName[] =
1543      "bad_struct_term";
1544
1545 /*
1546  *  File name selection pattern
1547  */
1548 tSCC zBad_Struct_TermList[] =
1549   "curses.h\0";
1550 /*
1551  *  Machine/OS name selection pattern
1552  */
1553 #define apzBad_Struct_TermMachs (const char**)NULL
1554
1555 /*
1556  *  content selection pattern - do fix if pattern found
1557  */
1558 tSCC zBad_Struct_TermSelect0[] =
1559        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1560
1561 #define    BAD_STRUCT_TERM_TEST_CT  1
1562 static tTestDesc aBad_Struct_TermTests[] = {
1563   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1564
1565 /*
1566  *  Fix Command Arguments for Bad_Struct_Term
1567  */
1568 static const char* apzBad_Struct_TermPatch[] = {
1569     "format",
1570     "struct term;",
1571     (char*)NULL };
1572
1573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1574  *
1575  *  Description of Badquote fix
1576  */
1577 tSCC zBadquoteName[] =
1578      "badquote";
1579
1580 /*
1581  *  File name selection pattern
1582  */
1583 tSCC zBadquoteList[] =
1584   "sundev/vuid_event.h\0";
1585 /*
1586  *  Machine/OS name selection pattern
1587  */
1588 #define apzBadquoteMachs (const char**)NULL
1589
1590 /*
1591  *  content selection pattern - do fix if pattern found
1592  */
1593 tSCC zBadquoteSelect0[] =
1594        "doesn't";
1595
1596 #define    BADQUOTE_TEST_CT  1
1597 static tTestDesc aBadquoteTests[] = {
1598   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1599
1600 /*
1601  *  Fix Command Arguments for Badquote
1602  */
1603 static const char* apzBadquotePatch[] = {
1604     "format",
1605     "does not",
1606     (char*)NULL };
1607
1608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1609  *
1610  *  Description of Broken_Assert_Stdio fix
1611  */
1612 tSCC zBroken_Assert_StdioName[] =
1613      "broken_assert_stdio";
1614
1615 /*
1616  *  File name selection pattern
1617  */
1618 tSCC zBroken_Assert_StdioList[] =
1619   "assert.h\0";
1620 /*
1621  *  Machine/OS name selection pattern
1622  */
1623 #define apzBroken_Assert_StdioMachs (const char**)NULL
1624
1625 /*
1626  *  content selection pattern - do fix if pattern found
1627  */
1628 tSCC zBroken_Assert_StdioSelect0[] =
1629        "stderr";
1630
1631 /*
1632  *  content bypass pattern - skip fix if pattern found
1633  */
1634 tSCC zBroken_Assert_StdioBypass0[] =
1635        "include.*stdio\\.h";
1636
1637 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1638 static tTestDesc aBroken_Assert_StdioTests[] = {
1639   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1640   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1641
1642 /*
1643  *  Fix Command Arguments for Broken_Assert_Stdio
1644  */
1645 static const char* apzBroken_Assert_StdioPatch[] = {
1646     "wrap",
1647     "#include <stdio.h>\n",
1648     (char*)NULL };
1649
1650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1651  *
1652  *  Description of Broken_Assert_Stdlib fix
1653  */
1654 tSCC zBroken_Assert_StdlibName[] =
1655      "broken_assert_stdlib";
1656
1657 /*
1658  *  File name selection pattern
1659  */
1660 tSCC zBroken_Assert_StdlibList[] =
1661   "assert.h\0";
1662 /*
1663  *  Machine/OS name selection pattern
1664  */
1665 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1666
1667 /*
1668  *  content selection pattern - do fix if pattern found
1669  */
1670 tSCC zBroken_Assert_StdlibSelect0[] =
1671        "exit *\\(|abort *\\(";
1672
1673 /*
1674  *  content bypass pattern - skip fix if pattern found
1675  */
1676 tSCC zBroken_Assert_StdlibBypass0[] =
1677        "include.*stdlib\\.h";
1678
1679 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1680 static tTestDesc aBroken_Assert_StdlibTests[] = {
1681   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1682   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1683
1684 /*
1685  *  Fix Command Arguments for Broken_Assert_Stdlib
1686  */
1687 static const char* apzBroken_Assert_StdlibPatch[] = {
1688     "wrap",
1689     "#ifdef __cplusplus\n\
1690 #include <stdlib.h>\n\
1691 #endif\n",
1692     (char*)NULL };
1693
1694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1695  *
1696  *  Description of Broken_Cabs fix
1697  */
1698 tSCC zBroken_CabsName[] =
1699      "broken_cabs";
1700
1701 /*
1702  *  File name selection pattern
1703  */
1704 tSCC zBroken_CabsList[] =
1705   "math.h\0architecture/*/math.h\0";
1706 /*
1707  *  Machine/OS name selection pattern
1708  */
1709 #define apzBroken_CabsMachs (const char**)NULL
1710
1711 /*
1712  *  content selection pattern - do fix if pattern found
1713  */
1714 tSCC zBroken_CabsSelect0[] =
1715        "^extern[ \t]+double[ \t]+cabs";
1716
1717 #define    BROKEN_CABS_TEST_CT  1
1718 static tTestDesc aBroken_CabsTests[] = {
1719   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1720
1721 /*
1722  *  Fix Command Arguments for Broken_Cabs
1723  */
1724 static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
1725     "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
1726     "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
1727     (char*)NULL };
1728
1729 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1730  *
1731  *  Description of Broken_Nan fix
1732  */
1733 tSCC zBroken_NanName[] =
1734      "broken_nan";
1735
1736 /*
1737  *  File name selection pattern
1738  */
1739 tSCC zBroken_NanList[] =
1740   "architecture/ppc/math.h\0architecture/*/math.h\0";
1741 /*
1742  *  Machine/OS name selection pattern
1743  */
1744 #define apzBroken_NanMachs (const char**)NULL
1745
1746 /*
1747  *  content selection pattern - do fix if pattern found
1748  */
1749 tSCC zBroken_NanSelect0[] =
1750        "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
1751
1752 /*
1753  *  content bypass pattern - skip fix if pattern found
1754  */
1755 tSCC zBroken_NanBypass0[] =
1756        "powl";
1757
1758 #define    BROKEN_NAN_TEST_CT  2
1759 static tTestDesc aBroken_NanTests[] = {
1760   { TT_NEGREP,   zBroken_NanBypass0, (regex_t*)NULL },
1761   { TT_EGREP,    zBroken_NanSelect0, (regex_t*)NULL }, };
1762
1763 /*
1764  *  Fix Command Arguments for Broken_Nan
1765  */
1766 static const char* apzBroken_NanPatch[] = {
1767     "format",
1768     "#if 1",
1769     (char*)NULL };
1770
1771 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1772  *
1773  *  Description of Bsd_Stdio_Attrs_Conflict fix
1774  */
1775 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1776      "bsd_stdio_attrs_conflict";
1777
1778 /*
1779  *  File name selection pattern
1780  */
1781 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1782   "stdio.h\0";
1783 /*
1784  *  Machine/OS name selection pattern
1785  */
1786 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1787         "*-*-*bsd*",
1788         "*-*-*darwin*",
1789         (const char*)NULL };
1790
1791 /*
1792  *  content selection pattern - do fix if pattern found
1793  */
1794 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1795        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1796
1797 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1798 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1799   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1800
1801 /*
1802  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1803  */
1804 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1805     "format",
1806     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1807 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1808 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1809     (char*)NULL };
1810
1811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1812  *
1813  *  Description of Ctrl_Quotes_Def fix
1814  */
1815 tSCC zCtrl_Quotes_DefName[] =
1816      "ctrl_quotes_def";
1817
1818 /*
1819  *  File name selection pattern
1820  */
1821 #define zCtrl_Quotes_DefList (char*)NULL
1822 /*
1823  *  Machine/OS name selection pattern
1824  */
1825 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1826
1827 /*
1828  *  content selection pattern - do fix if pattern found
1829  */
1830 tSCC zCtrl_Quotes_DefSelect0[] =
1831        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1832
1833 #define    CTRL_QUOTES_DEF_TEST_CT  1
1834 static tTestDesc aCtrl_Quotes_DefTests[] = {
1835   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1836
1837 /*
1838  *  Fix Command Arguments for Ctrl_Quotes_Def
1839  */
1840 static const char* apzCtrl_Quotes_DefPatch[] = {
1841     "char_macro_def",
1842     "CTRL",
1843     (char*)NULL };
1844
1845 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1846  *
1847  *  Description of Ctrl_Quotes_Use fix
1848  */
1849 tSCC zCtrl_Quotes_UseName[] =
1850      "ctrl_quotes_use";
1851
1852 /*
1853  *  File name selection pattern
1854  */
1855 #define zCtrl_Quotes_UseList (char*)NULL
1856 /*
1857  *  Machine/OS name selection pattern
1858  */
1859 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1860
1861 /*
1862  *  content selection pattern - do fix if pattern found
1863  */
1864 tSCC zCtrl_Quotes_UseSelect0[] =
1865        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1866
1867 #define    CTRL_QUOTES_USE_TEST_CT  1
1868 static tTestDesc aCtrl_Quotes_UseTests[] = {
1869   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1870
1871 /*
1872  *  Fix Command Arguments for Ctrl_Quotes_Use
1873  */
1874 static const char* apzCtrl_Quotes_UsePatch[] = {
1875     "char_macro_use",
1876     "CTRL",
1877     (char*)NULL };
1878
1879 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1880  *
1881  *  Description of Cxx_Unready fix
1882  */
1883 tSCC zCxx_UnreadyName[] =
1884      "cxx_unready";
1885
1886 /*
1887  *  File name selection pattern
1888  */
1889 tSCC zCxx_UnreadyList[] =
1890   "sys/mman.h\0rpc/types.h\0";
1891 /*
1892  *  Machine/OS name selection pattern
1893  */
1894 #define apzCxx_UnreadyMachs (const char**)NULL
1895
1896 /*
1897  *  content selection pattern - do fix if pattern found
1898  */
1899 tSCC zCxx_UnreadySelect0[] =
1900        "[^#]+malloc.*;";
1901
1902 /*
1903  *  content bypass pattern - skip fix if pattern found
1904  */
1905 tSCC zCxx_UnreadyBypass0[] =
1906        "\"C\"|__BEGIN_DECLS";
1907
1908 #define    CXX_UNREADY_TEST_CT  2
1909 static tTestDesc aCxx_UnreadyTests[] = {
1910   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1911   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1912
1913 /*
1914  *  Fix Command Arguments for Cxx_Unready
1915  */
1916 static const char* apzCxx_UnreadyPatch[] = {
1917     "wrap",
1918     "#ifdef __cplusplus\n\
1919 extern \"C\" {\n\
1920 #endif\n",
1921     "#ifdef __cplusplus\n\
1922 }\n\
1923 #endif\n",
1924     (char*)NULL };
1925
1926 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1927  *
1928  *  Description of Darwin_Externc fix
1929  */
1930 tSCC zDarwin_ExterncName[] =
1931      "darwin_externc";
1932
1933 /*
1934  *  File name selection pattern
1935  */
1936 tSCC zDarwin_ExterncList[] =
1937   "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
1938 /*
1939  *  Machine/OS name selection pattern
1940  */
1941 tSCC* apzDarwin_ExterncMachs[] = {
1942         "*-*-darwin*",
1943         (const char*)NULL };
1944
1945 /*
1946  *  content bypass pattern - skip fix if pattern found
1947  */
1948 tSCC zDarwin_ExterncBypass0[] =
1949        "extern \"C\"";
1950 tSCC zDarwin_ExterncBypass1[] =
1951        "__BEGIN_DECLS";
1952
1953 #define    DARWIN_EXTERNC_TEST_CT  2
1954 static tTestDesc aDarwin_ExterncTests[] = {
1955   { TT_NEGREP,   zDarwin_ExterncBypass0, (regex_t*)NULL },
1956   { TT_NEGREP,   zDarwin_ExterncBypass1, (regex_t*)NULL }, };
1957
1958 /*
1959  *  Fix Command Arguments for Darwin_Externc
1960  */
1961 static const char* apzDarwin_ExterncPatch[] = {
1962     "wrap",
1963     "#ifdef __cplusplus\n\
1964 extern \"C\" {\n\
1965 #endif\n",
1966     "#ifdef __cplusplus\n\
1967 }\n\
1968 #endif\n",
1969     (char*)NULL };
1970
1971 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1972  *
1973  *  Description of Darwin_Gcc4_Breakage fix
1974  */
1975 tSCC zDarwin_Gcc4_BreakageName[] =
1976      "darwin_gcc4_breakage";
1977
1978 /*
1979  *  File name selection pattern
1980  */
1981 tSCC zDarwin_Gcc4_BreakageList[] =
1982   "AvailabilityMacros.h\0";
1983 /*
1984  *  Machine/OS name selection pattern
1985  */
1986 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1987         "*-*-darwin*",
1988         (const char*)NULL };
1989
1990 /*
1991  *  content selection pattern - do fix if pattern found
1992  */
1993 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1994        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1995
1996 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1997 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1998   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1999
2000 /*
2001  *  Fix Command Arguments for Darwin_Gcc4_Breakage
2002  */
2003 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
2004     "format",
2005     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
2006     (char*)NULL };
2007
2008 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2009  *
2010  *  Description of Darwin_Private_Extern fix
2011  */
2012 tSCC zDarwin_Private_ExternName[] =
2013      "darwin_private_extern";
2014
2015 /*
2016  *  File name selection pattern
2017  */
2018 tSCC zDarwin_Private_ExternList[] =
2019   "mach-o/dyld.h\0";
2020 /*
2021  *  Machine/OS name selection pattern
2022  */
2023 tSCC* apzDarwin_Private_ExternMachs[] = {
2024         "*-*-darwin*",
2025         (const char*)NULL };
2026
2027 /*
2028  *  content selection pattern - do fix if pattern found
2029  */
2030 tSCC zDarwin_Private_ExternSelect0[] =
2031        "__private_extern__ [a-z_]+ _dyld_";
2032
2033 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
2034 static tTestDesc aDarwin_Private_ExternTests[] = {
2035   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2036
2037 /*
2038  *  Fix Command Arguments for Darwin_Private_Extern
2039  */
2040 static const char* apzDarwin_Private_ExternPatch[] = {
2041     "format",
2042     "extern",
2043     "__private_extern__",
2044     (char*)NULL };
2045
2046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2047  *
2048  *  Description of Darwin_Stdint_1 fix
2049  */
2050 tSCC zDarwin_Stdint_1Name[] =
2051      "darwin_stdint_1";
2052
2053 /*
2054  *  File name selection pattern
2055  */
2056 tSCC zDarwin_Stdint_1List[] =
2057   "stdint-darwin.h\0stdint.h\0";
2058 /*
2059  *  Machine/OS name selection pattern
2060  */
2061 tSCC* apzDarwin_Stdint_1Machs[] = {
2062         "*-*-darwin*",
2063         (const char*)NULL };
2064
2065 /*
2066  *  content selection pattern - do fix if pattern found
2067  */
2068 tSCC zDarwin_Stdint_1Select0[] =
2069        "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2070 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2071
2072 #define    DARWIN_STDINT_1_TEST_CT  1
2073 static tTestDesc aDarwin_Stdint_1Tests[] = {
2074   { TT_EGREP,    zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2075
2076 /*
2077  *  Fix Command Arguments for Darwin_Stdint_1
2078  */
2079 static const char* apzDarwin_Stdint_1Patch[] = {
2080     "format",
2081     "#define UINT8_C(v)\tv\n\
2082 #define UINT16_C(v)\tv",
2083     (char*)NULL };
2084
2085 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2086  *
2087  *  Description of Darwin_Stdint_2 fix
2088  */
2089 tSCC zDarwin_Stdint_2Name[] =
2090      "darwin_stdint_2";
2091
2092 /*
2093  *  File name selection pattern
2094  */
2095 tSCC zDarwin_Stdint_2List[] =
2096   "stdint-darwin.h\0stdint.h\0";
2097 /*
2098  *  Machine/OS name selection pattern
2099  */
2100 tSCC* apzDarwin_Stdint_2Machs[] = {
2101         "*-*-darwin*",
2102         (const char*)NULL };
2103
2104 /*
2105  *  content selection pattern - do fix if pattern found
2106  */
2107 tSCC zDarwin_Stdint_2Select0[] =
2108        "#if __WORDSIZE == 64\n\
2109 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2110 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2111 #else\n\
2112 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2113 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2114 #endif";
2115
2116 #define    DARWIN_STDINT_2_TEST_CT  1
2117 static tTestDesc aDarwin_Stdint_2Tests[] = {
2118   { TT_EGREP,    zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2119
2120 /*
2121  *  Fix Command Arguments for Darwin_Stdint_2
2122  */
2123 static const char* apzDarwin_Stdint_2Patch[] = {
2124     "format",
2125     "#if __WORDSIZE == 64\n\
2126 #define INTPTR_MAX 9223372036854775807L\n\
2127 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2128 #else\n\
2129 #define INTPTR_MAX 2147483647L\n\
2130 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2131 #endif",
2132     (char*)NULL };
2133
2134 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2135  *
2136  *  Description of Darwin_Stdint_3 fix
2137  */
2138 tSCC zDarwin_Stdint_3Name[] =
2139      "darwin_stdint_3";
2140
2141 /*
2142  *  File name selection pattern
2143  */
2144 tSCC zDarwin_Stdint_3List[] =
2145   "stdint-darwin.h\0stdint.h\0";
2146 /*
2147  *  Machine/OS name selection pattern
2148  */
2149 tSCC* apzDarwin_Stdint_3Machs[] = {
2150         "*-*-darwin*",
2151         (const char*)NULL };
2152
2153 /*
2154  *  content selection pattern - do fix if pattern found
2155  */
2156 tSCC zDarwin_Stdint_3Select0[] =
2157        "#if __WORDSIZE == 64\n\
2158 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
2159 #else\n\
2160 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
2161 #endif";
2162
2163 #define    DARWIN_STDINT_3_TEST_CT  1
2164 static tTestDesc aDarwin_Stdint_3Tests[] = {
2165   { TT_EGREP,    zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
2166
2167 /*
2168  *  Fix Command Arguments for Darwin_Stdint_3
2169  */
2170 static const char* apzDarwin_Stdint_3Patch[] = {
2171     "format",
2172     "#if __WORDSIZE == 64\n\
2173 #define UINTPTR_MAX 18446744073709551615UL\n\
2174 #else\n\
2175 #define UINTPTR_MAX 4294967295UL\n\
2176 #endif",
2177     (char*)NULL };
2178
2179 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2180  *
2181  *  Description of Darwin_Stdint_4 fix
2182  */
2183 tSCC zDarwin_Stdint_4Name[] =
2184      "darwin_stdint_4";
2185
2186 /*
2187  *  File name selection pattern
2188  */
2189 tSCC zDarwin_Stdint_4List[] =
2190   "stdint-darwin.h\0stdint.h\0";
2191 /*
2192  *  Machine/OS name selection pattern
2193  */
2194 tSCC* apzDarwin_Stdint_4Machs[] = {
2195         "*-*-darwin*",
2196         (const char*)NULL };
2197
2198 /*
2199  *  content selection pattern - do fix if pattern found
2200  */
2201 tSCC zDarwin_Stdint_4Select0[] =
2202        "#if __WORDSIZE == 64\n\
2203 #define SIZE_MAX[ \t]+UINT64_MAX\n\
2204 #else\n\
2205 #define SIZE_MAX[ \t]+UINT32_MAX\n\
2206 #endif";
2207
2208 #define    DARWIN_STDINT_4_TEST_CT  1
2209 static tTestDesc aDarwin_Stdint_4Tests[] = {
2210   { TT_EGREP,    zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
2211
2212 /*
2213  *  Fix Command Arguments for Darwin_Stdint_4
2214  */
2215 static const char* apzDarwin_Stdint_4Patch[] = {
2216     "format",
2217     "#if __WORDSIZE == 64\n\
2218 #define SIZE_MAX 18446744073709551615UL\n\
2219 #else\n\
2220 #define SIZE_MAX 4294967295UL\n\
2221 #endif",
2222     (char*)NULL };
2223
2224 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2225  *
2226  *  Description of Darwin_Stdint_5 fix
2227  */
2228 tSCC zDarwin_Stdint_5Name[] =
2229      "darwin_stdint_5";
2230
2231 /*
2232  *  File name selection pattern
2233  */
2234 tSCC zDarwin_Stdint_5List[] =
2235   "stdint-darwin.h\0stdint.h\0";
2236 /*
2237  *  Machine/OS name selection pattern
2238  */
2239 tSCC* apzDarwin_Stdint_5Machs[] = {
2240         "*-*-darwin*",
2241         (const char*)NULL };
2242
2243 /*
2244  *  content selection pattern - do fix if pattern found
2245  */
2246 tSCC zDarwin_Stdint_5Select0[] =
2247        "#define INTMAX_MIN[ \t]+INT64_MIN\n\
2248 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
2249 #define UINTMAX_MAX[ \t]+UINT64_MAX";
2250
2251 #define    DARWIN_STDINT_5_TEST_CT  1
2252 static tTestDesc aDarwin_Stdint_5Tests[] = {
2253   { TT_EGREP,    zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
2254
2255 /*
2256  *  Fix Command Arguments for Darwin_Stdint_5
2257  */
2258 static const char* apzDarwin_Stdint_5Patch[] = {
2259     "format",
2260     "#if __WORDSIZE == 64\n\
2261 #define INTMAX_MIN   (-9223372036854775807L - 1)\n\
2262 #define INTMAX_MAX   9223372036854775807L\n\
2263 #define UINTMAX_MAX  18446744073709551615UL\n\
2264 #else\n\
2265 #define INTMAX_MIN   (-9223372036854775807LL - 1)\n\
2266 #define INTMAX_MAX   9223372036854775807LL\n\
2267 #define UINTMAX_MAX  18446744073709551615ULL\n\
2268 #endif",
2269     (char*)NULL };
2270
2271 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2272  *
2273  *  Description of Darwin_Stdint_6 fix
2274  */
2275 tSCC zDarwin_Stdint_6Name[] =
2276      "darwin_stdint_6";
2277
2278 /*
2279  *  File name selection pattern
2280  */
2281 tSCC zDarwin_Stdint_6List[] =
2282   "stdint-darwin.h\0stdint.h\0";
2283 /*
2284  *  Machine/OS name selection pattern
2285  */
2286 tSCC* apzDarwin_Stdint_6Machs[] = {
2287         "*-*-darwin*",
2288         (const char*)NULL };
2289
2290 /*
2291  *  content selection pattern - do fix if pattern found
2292  */
2293 tSCC zDarwin_Stdint_6Select0[] =
2294        "#if __WORDSIZE == 64\n\
2295 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
2296 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
2297 #else\n\
2298 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
2299 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
2300 #endif";
2301
2302 #define    DARWIN_STDINT_6_TEST_CT  1
2303 static tTestDesc aDarwin_Stdint_6Tests[] = {
2304   { TT_EGREP,    zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
2305
2306 /*
2307  *  Fix Command Arguments for Darwin_Stdint_6
2308  */
2309 static const char* apzDarwin_Stdint_6Patch[] = {
2310     "format",
2311     "#if __WORDSIZE == 64\n\
2312 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
2313 #define PTRDIFF_MAX 9223372036854775807L\n\
2314 #else\n\
2315 #define PTRDIFF_MIN (-2147483647 - 1)\n\
2316 #define PTRDIFF_MAX 2147483647\n\
2317 #endif",
2318     (char*)NULL };
2319
2320 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2321  *
2322  *  Description of Darwin_Stdint_7 fix
2323  */
2324 tSCC zDarwin_Stdint_7Name[] =
2325      "darwin_stdint_7";
2326
2327 /*
2328  *  File name selection pattern
2329  */
2330 tSCC zDarwin_Stdint_7List[] =
2331   "stdint-darwin.h\0stdint.h\0";
2332 /*
2333  *  Machine/OS name selection pattern
2334  */
2335 tSCC* apzDarwin_Stdint_7Machs[] = {
2336         "*-*-darwin*",
2337         (const char*)NULL };
2338
2339 /*
2340  *  content selection pattern - do fix if pattern found
2341  */
2342 tSCC zDarwin_Stdint_7Select0[] =
2343        "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
2344 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
2345
2346 #define    DARWIN_STDINT_7_TEST_CT  1
2347 static tTestDesc aDarwin_Stdint_7Tests[] = {
2348   { TT_EGREP,    zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
2349
2350 /*
2351  *  Fix Command Arguments for Darwin_Stdint_7
2352  */
2353 static const char* apzDarwin_Stdint_7Patch[] = {
2354     "format",
2355     "#if __WORDSIZE == 64\n\
2356 #define INTMAX_C(v)  (v ## L)\n\
2357 #define UINTMAX_C(v) (v ## UL)\n\
2358 #else\n\
2359 #define INTMAX_C(v)  (v ## LL)\n\
2360 #define UINTMAX_C(v) (v ## ULL)\n\
2361 #endif",
2362     (char*)NULL };
2363
2364 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2365  *
2366  *  Description of Dec_Intern_Asm fix
2367  */
2368 tSCC zDec_Intern_AsmName[] =
2369      "dec_intern_asm";
2370
2371 /*
2372  *  File name selection pattern
2373  */
2374 tSCC zDec_Intern_AsmList[] =
2375   "c_asm.h\0";
2376 /*
2377  *  Machine/OS name selection pattern
2378  */
2379 #define apzDec_Intern_AsmMachs (const char**)NULL
2380 #define DEC_INTERN_ASM_TEST_CT  0
2381 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
2382
2383 /*
2384  *  Fix Command Arguments for Dec_Intern_Asm
2385  */
2386 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
2387     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
2388 #ifdef __DECC\n",
2389     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
2390 #endif\n",
2391     (char*)NULL };
2392
2393 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2394  *
2395  *  Description of Djgpp_Wchar_H fix
2396  */
2397 tSCC zDjgpp_Wchar_HName[] =
2398      "djgpp_wchar_h";
2399
2400 /*
2401  *  File name selection pattern
2402  */
2403 #define zDjgpp_Wchar_HList (char*)NULL
2404 /*
2405  *  Machine/OS name selection pattern
2406  */
2407 #define apzDjgpp_Wchar_HMachs (const char**)NULL
2408
2409 /*
2410  *  content selection pattern - do fix if pattern found
2411  */
2412 tSCC zDjgpp_Wchar_HSelect0[] =
2413        "__DJ_wint_t";
2414
2415 /*
2416  *  content bypass pattern - skip fix if pattern found
2417  */
2418 tSCC zDjgpp_Wchar_HBypass0[] =
2419        "sys/djtypes.h";
2420
2421 #define    DJGPP_WCHAR_H_TEST_CT  2
2422 static tTestDesc aDjgpp_Wchar_HTests[] = {
2423   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2424   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2425
2426 /*
2427  *  Fix Command Arguments for Djgpp_Wchar_H
2428  */
2429 static const char* apzDjgpp_Wchar_HPatch[] = {
2430     "format",
2431     "%0\n\
2432 #include <sys/djtypes.h>",
2433     "#include <stddef.h>",
2434     (char*)NULL };
2435
2436 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2437  *
2438  *  Description of Ecd_Cursor fix
2439  */
2440 tSCC zEcd_CursorName[] =
2441      "ecd_cursor";
2442
2443 /*
2444  *  File name selection pattern
2445  */
2446 tSCC zEcd_CursorList[] =
2447   "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
2448 /*
2449  *  Machine/OS name selection pattern
2450  */
2451 #define apzEcd_CursorMachs (const char**)NULL
2452
2453 /*
2454  *  content selection pattern - do fix if pattern found
2455  */
2456 tSCC zEcd_CursorSelect0[] =
2457        "ecd\\.cursor";
2458
2459 #define    ECD_CURSOR_TEST_CT  1
2460 static tTestDesc aEcd_CursorTests[] = {
2461   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
2462
2463 /*
2464  *  Fix Command Arguments for Ecd_Cursor
2465  */
2466 static const char* apzEcd_CursorPatch[] = {
2467     "format",
2468     "ecd_cursor",
2469     (char*)NULL };
2470
2471 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2472  *
2473  *  Description of Freebsd_Gcc3_Breakage fix
2474  */
2475 tSCC zFreebsd_Gcc3_BreakageName[] =
2476      "freebsd_gcc3_breakage";
2477
2478 /*
2479  *  File name selection pattern
2480  */
2481 tSCC zFreebsd_Gcc3_BreakageList[] =
2482   "sys/cdefs.h\0";
2483 /*
2484  *  Machine/OS name selection pattern
2485  */
2486 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2487         "*-*-freebsd*",
2488         (const char*)NULL };
2489
2490 /*
2491  *  content selection pattern - do fix if pattern found
2492  */
2493 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2494        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2495
2496 /*
2497  *  content bypass pattern - skip fix if pattern found
2498  */
2499 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2500        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2501
2502 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
2503 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2504   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2505   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2506
2507 /*
2508  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
2509  */
2510 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2511     "format",
2512     "%0 || __GNUC__ >= 3",
2513     (char*)NULL };
2514
2515 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2516  *
2517  *  Description of Freebsd_Gcc4_Breakage fix
2518  */
2519 tSCC zFreebsd_Gcc4_BreakageName[] =
2520      "freebsd_gcc4_breakage";
2521
2522 /*
2523  *  File name selection pattern
2524  */
2525 tSCC zFreebsd_Gcc4_BreakageList[] =
2526   "sys/cdefs.h\0";
2527 /*
2528  *  Machine/OS name selection pattern
2529  */
2530 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2531         "*-*-freebsd*",
2532         (const char*)NULL };
2533
2534 /*
2535  *  content selection pattern - do fix if pattern found
2536  */
2537 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2538        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2539
2540 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
2541 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2542   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2543
2544 /*
2545  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
2546  */
2547 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2548     "format",
2549     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2550     (char*)NULL };
2551
2552 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2553  *
2554  *  Description of Glibc_C99_Inline_1 fix
2555  */
2556 tSCC zGlibc_C99_Inline_1Name[] =
2557      "glibc_c99_inline_1";
2558
2559 /*
2560  *  File name selection pattern
2561  */
2562 tSCC zGlibc_C99_Inline_1List[] =
2563   "features.h\0*/features.h\0";
2564 /*
2565  *  Machine/OS name selection pattern
2566  */
2567 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
2568
2569 /*
2570  *  content selection pattern - do fix if pattern found
2571  */
2572 tSCC zGlibc_C99_Inline_1Select0[] =
2573        "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
2574
2575 #define    GLIBC_C99_INLINE_1_TEST_CT  1
2576 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
2577   { TT_EGREP,    zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
2578
2579 /*
2580  *  Fix Command Arguments for Glibc_C99_Inline_1
2581  */
2582 static const char* apzGlibc_C99_Inline_1Patch[] = {
2583     "format",
2584     "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
2585     (char*)NULL };
2586
2587 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2588  *
2589  *  Description of Glibc_C99_Inline_1a fix
2590  */
2591 tSCC zGlibc_C99_Inline_1aName[] =
2592      "glibc_c99_inline_1a";
2593
2594 /*
2595  *  File name selection pattern
2596  */
2597 tSCC zGlibc_C99_Inline_1aList[] =
2598   "features.h\0*/features.h\0";
2599 /*
2600  *  Machine/OS name selection pattern
2601  */
2602 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
2603
2604 /*
2605  *  content selection pattern - do fix if pattern found
2606  */
2607 tSCC zGlibc_C99_Inline_1aSelect0[] =
2608        "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
2609 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
2610
2611 #define    GLIBC_C99_INLINE_1A_TEST_CT  1
2612 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
2613   { TT_EGREP,    zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
2614
2615 /*
2616  *  Fix Command Arguments for Glibc_C99_Inline_1a
2617  */
2618 static const char* apzGlibc_C99_Inline_1aPatch[] = {
2619     "format",
2620     "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
2621 %2",
2622     (char*)NULL };
2623
2624 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2625  *
2626  *  Description of Glibc_C99_Inline_2 fix
2627  */
2628 tSCC zGlibc_C99_Inline_2Name[] =
2629      "glibc_c99_inline_2";
2630
2631 /*
2632  *  File name selection pattern
2633  */
2634 tSCC zGlibc_C99_Inline_2List[] =
2635   "sys/stat.h\0*/sys/stat.h\0";
2636 /*
2637  *  Machine/OS name selection pattern
2638  */
2639 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
2640
2641 /*
2642  *  content selection pattern - do fix if pattern found
2643  */
2644 tSCC zGlibc_C99_Inline_2Select0[] =
2645        "extern __inline__ int";
2646
2647 #define    GLIBC_C99_INLINE_2_TEST_CT  1
2648 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
2649   { TT_EGREP,    zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
2650
2651 /*
2652  *  Fix Command Arguments for Glibc_C99_Inline_2
2653  */
2654 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
2655     "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2656 extern\\\n\
2657 #endif\\\n\
2658 __inline__ int \\1/",
2659     "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2660 extern\\\n\
2661 #endif\\\n\
2662 __inline__ int \\1/",
2663     "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2664 extern\\\n\
2665 #endif\\\n\
2666 __inline__ int \\1/",
2667     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2668 extern\\\n\
2669 #endif\\\n\
2670 __inline__ int __REDIRECT\\1 (\\2/",
2671     "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2672 extern\\\n\
2673 #endif\\\n\
2674 __inline__ int __REDIRECT\\1 (\\2/",
2675     "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
2676 extern\\\n\
2677 #endif\\\n\
2678 __inline__ int/",
2679     (char*)NULL };
2680
2681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2682  *
2683  *  Description of Glibc_C99_Inline_3 fix
2684  */
2685 tSCC zGlibc_C99_Inline_3Name[] =
2686      "glibc_c99_inline_3";
2687
2688 /*
2689  *  File name selection pattern
2690  */
2691 tSCC zGlibc_C99_Inline_3List[] =
2692   "bits/string2.h\0*/bits/string2.h\0";
2693 /*
2694  *  Machine/OS name selection pattern
2695  */
2696 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
2697
2698 /*
2699  *  content selection pattern - do fix if pattern found
2700  */
2701 tSCC zGlibc_C99_Inline_3Select0[] =
2702        "extern __inline";
2703
2704 /*
2705  *  content bypass pattern - skip fix if pattern found
2706  */
2707 tSCC zGlibc_C99_Inline_3Bypass0[] =
2708        "__extern_inline|__GNU_STDC_INLINE__";
2709
2710 #define    GLIBC_C99_INLINE_3_TEST_CT  2
2711 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
2712   { TT_NEGREP,   zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
2713   { TT_EGREP,    zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
2714
2715 /*
2716  *  Fix Command Arguments for Glibc_C99_Inline_3
2717  */
2718 static const char* apzGlibc_C99_Inline_3Patch[] = {
2719     "format",
2720     "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
2721     "^# ifdef __cplusplus$",
2722     (char*)NULL };
2723
2724 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2725  *
2726  *  Description of Glibc_C99_Inline_4 fix
2727  */
2728 tSCC zGlibc_C99_Inline_4Name[] =
2729      "glibc_c99_inline_4";
2730
2731 /*
2732  *  File name selection pattern
2733  */
2734 tSCC zGlibc_C99_Inline_4List[] =
2735   "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0";
2736 /*
2737  *  Machine/OS name selection pattern
2738  */
2739 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
2740
2741 /*
2742  *  content selection pattern - do fix if pattern found
2743  */
2744 tSCC zGlibc_C99_Inline_4Select0[] =
2745        "(^| )extern __inline";
2746
2747 /*
2748  *  content bypass pattern - skip fix if pattern found
2749  */
2750 tSCC zGlibc_C99_Inline_4Bypass0[] =
2751        "__extern_inline|__gnu_inline__";
2752
2753 #define    GLIBC_C99_INLINE_4_TEST_CT  2
2754 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
2755   { TT_NEGREP,   zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
2756   { TT_EGREP,    zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
2757
2758 /*
2759  *  Fix Command Arguments for Glibc_C99_Inline_4
2760  */
2761 static const char* apzGlibc_C99_Inline_4Patch[] = {
2762     "format",
2763     "%0 __attribute__ ((__gnu_inline__))",
2764     (char*)NULL };
2765
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2767  *
2768  *  Description of Glibc_Mutex_Init fix
2769  */
2770 tSCC zGlibc_Mutex_InitName[] =
2771      "glibc_mutex_init";
2772
2773 /*
2774  *  File name selection pattern
2775  */
2776 tSCC zGlibc_Mutex_InitList[] =
2777   "pthread.h\0";
2778 /*
2779  *  Machine/OS name selection pattern
2780  */
2781 #define apzGlibc_Mutex_InitMachs (const char**)NULL
2782
2783 /*
2784  *  content selection pattern - do fix if pattern found
2785  */
2786 tSCC zGlibc_Mutex_InitSelect0[] =
2787        "\\{ *\\{ *0, *\\} *\\}";
2788
2789 #define    GLIBC_MUTEX_INIT_TEST_CT  1
2790 static tTestDesc aGlibc_Mutex_InitTests[] = {
2791   { TT_EGREP,    zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
2792
2793 /*
2794  *  Fix Command Arguments for Glibc_Mutex_Init
2795  */
2796 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
2797     "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
2798 N\n\
2799 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
2800 }",
2801     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
2802     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
2803     "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
2804     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
2805     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
2806     "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
2807     "-e", "/define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\\n\
2808 #  \\1\\\n\
2809   { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
2810 # else\\\n\
2811 #  \\1\\\n\
2812   { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
2813 # endif/",
2814     "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
2815     "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
2816     (char*)NULL };
2817
2818 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2819  *
2820  *  Description of Glibc_Stdint fix
2821  */
2822 tSCC zGlibc_StdintName[] =
2823      "glibc_stdint";
2824
2825 /*
2826  *  File name selection pattern
2827  */
2828 tSCC zGlibc_StdintList[] =
2829   "stdint.h\0";
2830 /*
2831  *  Machine/OS name selection pattern
2832  */
2833 #define apzGlibc_StdintMachs (const char**)NULL
2834
2835 /*
2836  *  content selection pattern - do fix if pattern found
2837  */
2838 tSCC zGlibc_StdintSelect0[] =
2839        "GNU C Library";
2840
2841 #define    GLIBC_STDINT_TEST_CT  1
2842 static tTestDesc aGlibc_StdintTests[] = {
2843   { TT_EGREP,    zGlibc_StdintSelect0, (regex_t*)NULL }, };
2844
2845 /*
2846  *  Fix Command Arguments for Glibc_Stdint
2847  */
2848 static const char* apzGlibc_StdintPatch[] = {
2849     "format",
2850     "# define UINT8_C(c)\tc\n\
2851 # define UINT16_C(c)\tc",
2852     "# define UINT8_C\\(c\\)\tc ## U\n\
2853 # define UINT16_C\\(c\\)\tc ## U",
2854     (char*)NULL };
2855
2856 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2857  *
2858  *  Description of Glibc_Tgmath fix
2859  */
2860 tSCC zGlibc_TgmathName[] =
2861      "glibc_tgmath";
2862
2863 /*
2864  *  File name selection pattern
2865  */
2866 tSCC zGlibc_TgmathList[] =
2867   "tgmath.h\0";
2868 /*
2869  *  Machine/OS name selection pattern
2870  */
2871 #define apzGlibc_TgmathMachs (const char**)NULL
2872
2873 /*
2874  *  content selection pattern - do fix if pattern found
2875  */
2876 tSCC zGlibc_TgmathSelect0[] =
2877        "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
2878
2879 /*
2880  *  content bypass pattern - skip fix if pattern found
2881  */
2882 tSCC zGlibc_TgmathBypass0[] =
2883        "__floating_type\\(type\\) \\\\\n\
2884 .*__builtin_classify_type";
2885
2886 #define    GLIBC_TGMATH_TEST_CT  2
2887 static tTestDesc aGlibc_TgmathTests[] = {
2888   { TT_NEGREP,   zGlibc_TgmathBypass0, (regex_t*)NULL },
2889   { TT_EGREP,    zGlibc_TgmathSelect0, (regex_t*)NULL }, };
2890
2891 /*
2892  *  Fix Command Arguments for Glibc_Tgmath
2893  */
2894 static const char* apzGlibc_TgmathPatch[] = {
2895     "format",
2896     "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
2897     (char*)NULL };
2898
2899 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2900  *
2901  *  Description of Gnu_Types fix
2902  */
2903 tSCC zGnu_TypesName[] =
2904      "gnu_types";
2905
2906 /*
2907  *  File name selection pattern
2908  */
2909 tSCC zGnu_TypesList[] =
2910   "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
2911 /*
2912  *  Machine/OS name selection pattern
2913  */
2914 tSCC* apzGnu_TypesMachs[] = {
2915         "*-*-solaris2.1[0-9]*",
2916         (const char*)NULL };
2917
2918 /*
2919  *  content selection pattern - do fix if pattern found
2920  */
2921 tSCC zGnu_TypesSelect0[] =
2922        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2923
2924 /*
2925  *  content bypass pattern - skip fix if pattern found
2926  */
2927 tSCC zGnu_TypesBypass0[] =
2928        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2929
2930 #define    GNU_TYPES_TEST_CT  2
2931 static tTestDesc aGnu_TypesTests[] = {
2932   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2933   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2934
2935 /*
2936  *  Fix Command Arguments for Gnu_Types
2937  */
2938 static const char* apzGnu_TypesPatch[] = {
2939     "gnu_type",
2940     (char*)NULL };
2941
2942 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2943  *
2944  *  Description of Hp_Inline fix
2945  */
2946 tSCC zHp_InlineName[] =
2947      "hp_inline";
2948
2949 /*
2950  *  File name selection pattern
2951  */
2952 tSCC zHp_InlineList[] =
2953   "sys/spinlock.h\0machine/machparam.h\0";
2954 /*
2955  *  Machine/OS name selection pattern
2956  */
2957 #define apzHp_InlineMachs (const char**)NULL
2958
2959 /*
2960  *  content selection pattern - do fix if pattern found
2961  */
2962 tSCC zHp_InlineSelect0[] =
2963        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2964
2965 #define    HP_INLINE_TEST_CT  1
2966 static tTestDesc aHp_InlineTests[] = {
2967   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2968
2969 /*
2970  *  Fix Command Arguments for Hp_Inline
2971  */
2972 static const char* apzHp_InlinePatch[] = {
2973     "format",
2974     "%1<machine/%2.h>",
2975     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2976     (char*)NULL };
2977
2978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2979  *
2980  *  Description of Hp_Sysfile fix
2981  */
2982 tSCC zHp_SysfileName[] =
2983      "hp_sysfile";
2984
2985 /*
2986  *  File name selection pattern
2987  */
2988 tSCC zHp_SysfileList[] =
2989   "sys/file.h\0";
2990 /*
2991  *  Machine/OS name selection pattern
2992  */
2993 #define apzHp_SysfileMachs (const char**)NULL
2994
2995 /*
2996  *  content selection pattern - do fix if pattern found
2997  */
2998 tSCC zHp_SysfileSelect0[] =
2999        "HPUX_SOURCE";
3000
3001 #define    HP_SYSFILE_TEST_CT  1
3002 static tTestDesc aHp_SysfileTests[] = {
3003   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
3004
3005 /*
3006  *  Fix Command Arguments for Hp_Sysfile
3007  */
3008 static const char* apzHp_SysfilePatch[] = {
3009     "format",
3010     "(struct file *, ...)",
3011     "\\(\\.\\.\\.\\)",
3012     (char*)NULL };
3013
3014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3015  *
3016  *  Description of Hppa_Hpux_Fp_Macros fix
3017  */
3018 tSCC zHppa_Hpux_Fp_MacrosName[] =
3019      "hppa_hpux_fp_macros";
3020
3021 /*
3022  *  File name selection pattern
3023  */
3024 tSCC zHppa_Hpux_Fp_MacrosList[] =
3025   "math.h\0";
3026 /*
3027  *  Machine/OS name selection pattern
3028  */
3029 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
3030         "hppa*-hp-hpux11*",
3031         (const char*)NULL };
3032
3033 /*
3034  *  content selection pattern - do fix if pattern found
3035  */
3036 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
3037        "#[ \t]*define[ \t]*FP_NORMAL.*\n\
3038 #[ \t]*define[ \t]*FP_ZERO.*\n\
3039 #[ \t]*define[ \t]*FP_INFINITE.*\n\
3040 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
3041 #[ \t]*define[ \t]*FP_NAN.*\n";
3042
3043 #define    HPPA_HPUX_FP_MACROS_TEST_CT  1
3044 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
3045   { TT_EGREP,    zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
3046
3047 /*
3048  *  Fix Command Arguments for Hppa_Hpux_Fp_Macros
3049  */
3050 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
3051     "format",
3052     "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
3053 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
3054    (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
3055 %0#endif\n\n\
3056 #ifdef _INCLUDE_HPUX_SOURCE\n",
3057     (char*)NULL };
3058
3059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3060  *
3061  *  Description of Hpux10_Cpp_Pow_Inline fix
3062  */
3063 tSCC zHpux10_Cpp_Pow_InlineName[] =
3064      "hpux10_cpp_pow_inline";
3065
3066 /*
3067  *  File name selection pattern
3068  */
3069 tSCC zHpux10_Cpp_Pow_InlineList[] =
3070   "fixinc-test-limits.h\0math.h\0";
3071 /*
3072  *  Machine/OS name selection pattern
3073  */
3074 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
3075
3076 /*
3077  *  content selection pattern - do fix if pattern found
3078  */
3079 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
3080        "^# +ifdef +__cplusplus\n\
3081  +\\}\n\
3082  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
3083 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
3084  +\\}\n\
3085  +extern +\"C\" +\\{\n\
3086 #else\n\
3087 # +endif";
3088
3089 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
3090 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
3091   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3092
3093 /*
3094  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
3095  */
3096 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
3097     "format",
3098     "",
3099     (char*)NULL };
3100
3101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3102  *
3103  *  Description of Hpux11_Cpp_Pow_Inline fix
3104  */
3105 tSCC zHpux11_Cpp_Pow_InlineName[] =
3106      "hpux11_cpp_pow_inline";
3107
3108 /*
3109  *  File name selection pattern
3110  */
3111 tSCC zHpux11_Cpp_Pow_InlineList[] =
3112   "math.h\0";
3113 /*
3114  *  Machine/OS name selection pattern
3115  */
3116 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
3117
3118 /*
3119  *  content selection pattern - do fix if pattern found
3120  */
3121 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
3122        " +inline double pow\\(double d,int expon\\) \\{\n\
3123  +return pow\\(d, \\(double\\)expon\\);\n\
3124  +\\}\n";
3125
3126 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
3127 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
3128   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3129
3130 /*
3131  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
3132  */
3133 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
3134     "format",
3135     "",
3136     (char*)NULL };
3137
3138 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3139  *
3140  *  Description of Hpux10_Ctype_Declarations1 fix
3141  */
3142 tSCC zHpux10_Ctype_Declarations1Name[] =
3143      "hpux10_ctype_declarations1";
3144
3145 /*
3146  *  File name selection pattern
3147  */
3148 tSCC zHpux10_Ctype_Declarations1List[] =
3149   "ctype.h\0";
3150 /*
3151  *  Machine/OS name selection pattern
3152  */
3153 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
3154
3155 /*
3156  *  content selection pattern - do fix if pattern found
3157  */
3158 tSCC zHpux10_Ctype_Declarations1Select0[] =
3159        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
3160
3161 /*
3162  *  content bypass pattern - skip fix if pattern found
3163  */
3164 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
3165        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
3166
3167 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
3168 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
3169   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
3170   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
3171
3172 /*
3173  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
3174  */
3175 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
3176     "format",
3177     "#ifdef _PROTOTYPES\n\
3178 extern int __tolower(int);\n\
3179 extern int __toupper(int);\n\
3180 #else /* NOT _PROTOTYPES */\n\
3181 extern int __tolower();\n\
3182 extern int __toupper();\n\
3183 #endif /* _PROTOTYPES */\n\n\
3184 %0\n",
3185     (char*)NULL };
3186
3187 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3188  *
3189  *  Description of Hpux10_Ctype_Declarations2 fix
3190  */
3191 tSCC zHpux10_Ctype_Declarations2Name[] =
3192      "hpux10_ctype_declarations2";
3193
3194 /*
3195  *  File name selection pattern
3196  */
3197 tSCC zHpux10_Ctype_Declarations2List[] =
3198   "ctype.h\0";
3199 /*
3200  *  Machine/OS name selection pattern
3201  */
3202 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
3203
3204 /*
3205  *  content selection pattern - do fix if pattern found
3206  */
3207 tSCC zHpux10_Ctype_Declarations2Select0[] =
3208        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
3209
3210 /*
3211  *  content bypass pattern - skip fix if pattern found
3212  */
3213 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
3214        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
3215
3216 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
3217 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
3218   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
3219   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
3220
3221 /*
3222  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
3223  */
3224 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
3225     "format",
3226     "%0\n\n\
3227 #ifdef _PROTOTYPES\n\
3228      extern int _isalnum(int);\n\
3229      extern int _isalpha(int);\n\
3230      extern int _iscntrl(int);\n\
3231      extern int _isdigit(int);\n\
3232      extern int _isgraph(int);\n\
3233      extern int _islower(int);\n\
3234      extern int _isprint(int);\n\
3235      extern int _ispunct(int);\n\
3236      extern int _isspace(int);\n\
3237      extern int _isupper(int);\n\
3238      extern int _isxdigit(int);\n\
3239 #  else /* not _PROTOTYPES */\n\
3240      extern int _isalnum();\n\
3241      extern int _isalpha();\n\
3242      extern int _iscntrl();\n\
3243      extern int _isdigit();\n\
3244      extern int _isgraph();\n\
3245      extern int _islower();\n\
3246      extern int _isprint();\n\
3247      extern int _ispunct();\n\
3248      extern int _isspace();\n\
3249      extern int _isupper();\n\
3250      extern int _isxdigit();\n\
3251 #endif /* _PROTOTYPES */\n",
3252     (char*)NULL };
3253
3254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3255  *
3256  *  Description of Hpux10_Stdio_Declarations fix
3257  */
3258 tSCC zHpux10_Stdio_DeclarationsName[] =
3259      "hpux10_stdio_declarations";
3260
3261 /*
3262  *  File name selection pattern
3263  */
3264 tSCC zHpux10_Stdio_DeclarationsList[] =
3265   "stdio.h\0";
3266 /*
3267  *  Machine/OS name selection pattern
3268  */
3269 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
3270
3271 /*
3272  *  content selection pattern - do fix if pattern found
3273  */
3274 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
3275        "^#[ \t]*define _iob[ \t]*__iob";
3276
3277 /*
3278  *  content bypass pattern - skip fix if pattern found
3279  */
3280 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
3281        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
3282
3283 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
3284 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
3285   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
3286   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
3287
3288 /*
3289  *  Fix Command Arguments for Hpux10_Stdio_Declarations
3290  */
3291 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
3292     "format",
3293     "%0\n\n\
3294 #  if defined(__STDC__) || defined(__cplusplus)\n\
3295      extern int snprintf(char *, size_t, const char *, ...);\n\
3296      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
3297 #  else /* not __STDC__) || __cplusplus */\n\
3298      extern int snprintf();\n\
3299      extern int vsnprintf();\n\
3300 #  endif /* __STDC__) || __cplusplus */\n",
3301     (char*)NULL };
3302
3303 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3304  *
3305  *  Description of Hpux11_Abs fix
3306  */
3307 tSCC zHpux11_AbsName[] =
3308      "hpux11_abs";
3309
3310 /*
3311  *  File name selection pattern
3312  */
3313 tSCC zHpux11_AbsList[] =
3314   "stdlib.h\0";
3315 /*
3316  *  Machine/OS name selection pattern
3317  */
3318 tSCC* apzHpux11_AbsMachs[] = {
3319         "ia64-hp-hpux11*",
3320         (const char*)NULL };
3321
3322 /*
3323  *  content selection pattern - do fix if pattern found
3324  */
3325 tSCC zHpux11_AbsSelect0[] =
3326        "ifndef _MATH_INCLUDED";
3327
3328 #define    HPUX11_ABS_TEST_CT  1
3329 static tTestDesc aHpux11_AbsTests[] = {
3330   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
3331
3332 /*
3333  *  Fix Command Arguments for Hpux11_Abs
3334  */
3335 static const char* apzHpux11_AbsPatch[] = {
3336     "format",
3337     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
3338     (char*)NULL };
3339
3340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3341  *
3342  *  Description of Hpux11_Fabsf fix
3343  */
3344 tSCC zHpux11_FabsfName[] =
3345      "hpux11_fabsf";
3346
3347 /*
3348  *  File name selection pattern
3349  */
3350 tSCC zHpux11_FabsfList[] =
3351   "math.h\0";
3352 /*
3353  *  Machine/OS name selection pattern
3354  */
3355 #define apzHpux11_FabsfMachs (const char**)NULL
3356
3357 /*
3358  *  content selection pattern - do fix if pattern found
3359  */
3360 tSCC zHpux11_FabsfSelect0[] =
3361        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
3362
3363 /*
3364  *  content bypass pattern - skip fix if pattern found
3365  */
3366 tSCC zHpux11_FabsfBypass0[] =
3367        "__cplusplus";
3368
3369 #define    HPUX11_FABSF_TEST_CT  2
3370 static tTestDesc aHpux11_FabsfTests[] = {
3371   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
3372   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
3373
3374 /*
3375  *  Fix Command Arguments for Hpux11_Fabsf
3376  */
3377 static const char* apzHpux11_FabsfPatch[] = {
3378     "format",
3379     "#ifndef __cplusplus\n\
3380 %0\n\
3381 #endif",
3382     (char*)NULL };
3383
3384 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3385  *
3386  *  Description of Hpux11_Pthread_Const fix
3387  */
3388 tSCC zHpux11_Pthread_ConstName[] =
3389      "hpux11_pthread_const";
3390
3391 /*
3392  *  File name selection pattern
3393  */
3394 tSCC zHpux11_Pthread_ConstList[] =
3395   "sys/pthread.h\0";
3396 /*
3397  *  Machine/OS name selection pattern
3398  */
3399 tSCC* apzHpux11_Pthread_ConstMachs[] = {
3400         "*-hp-hpux11.[0-3]*",
3401         (const char*)NULL };
3402
3403 /*
3404  *  content selection pattern - do fix if pattern found
3405  */
3406 tSCC zHpux11_Pthread_ConstSelect0[] =
3407        "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
3408
3409 #define    HPUX11_PTHREAD_CONST_TEST_CT  1
3410 static tTestDesc aHpux11_Pthread_ConstTests[] = {
3411   { TT_EGREP,    zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
3412
3413 /*
3414  *  Fix Command Arguments for Hpux11_Pthread_Const
3415  */
3416 static const char* apzHpux11_Pthread_ConstPatch[] = {
3417     "format",
3418     "#define __POINTER_SET\t\t((void *) 1L)",
3419     (char*)NULL };
3420
3421 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3422  *
3423  *  Description of Hpux11_Size_T fix
3424  */
3425 tSCC zHpux11_Size_TName[] =
3426      "hpux11_size_t";
3427
3428 /*
3429  *  File name selection pattern
3430  */
3431 #define zHpux11_Size_TList (char*)NULL
3432 /*
3433  *  Machine/OS name selection pattern
3434  */
3435 tSCC* apzHpux11_Size_TMachs[] = {
3436         "*-hp-hpux11*",
3437         (const char*)NULL };
3438
3439 /*
3440  *  content selection pattern - do fix if pattern found
3441  */
3442 tSCC zHpux11_Size_TSelect0[] =
3443        "__size_t";
3444
3445 #define    HPUX11_SIZE_T_TEST_CT  1
3446 static tTestDesc aHpux11_Size_TTests[] = {
3447   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
3448
3449 /*
3450  *  Fix Command Arguments for Hpux11_Size_T
3451  */
3452 static const char* apzHpux11_Size_TPatch[] = {
3453     "format",
3454     "_hpux_size_t",
3455     (char*)NULL };
3456
3457 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3458  *
3459  *  Description of Hpux11_Snprintf fix
3460  */
3461 tSCC zHpux11_SnprintfName[] =
3462      "hpux11_snprintf";
3463
3464 /*
3465  *  File name selection pattern
3466  */
3467 tSCC zHpux11_SnprintfList[] =
3468   "stdio.h\0";
3469 /*
3470  *  Machine/OS name selection pattern
3471  */
3472 #define apzHpux11_SnprintfMachs (const char**)NULL
3473
3474 /*
3475  *  content selection pattern - do fix if pattern found
3476  */
3477 tSCC zHpux11_SnprintfSelect0[] =
3478        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
3479
3480 #define    HPUX11_SNPRINTF_TEST_CT  1
3481 static tTestDesc aHpux11_SnprintfTests[] = {
3482   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
3483
3484 /*
3485  *  Fix Command Arguments for Hpux11_Snprintf
3486  */
3487 static const char* apzHpux11_SnprintfPatch[] = {
3488     "format",
3489     "%1 const %3",
3490     (char*)NULL };
3491
3492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3493  *
3494  *  Description of Hpux11_Vsnprintf fix
3495  */
3496 tSCC zHpux11_VsnprintfName[] =
3497      "hpux11_vsnprintf";
3498
3499 /*
3500  *  File name selection pattern
3501  */
3502 tSCC zHpux11_VsnprintfList[] =
3503   "stdio.h\0";
3504 /*
3505  *  Machine/OS name selection pattern
3506  */
3507 #define apzHpux11_VsnprintfMachs (const char**)NULL
3508
3509 /*
3510  *  content selection pattern - do fix if pattern found
3511  */
3512 tSCC zHpux11_VsnprintfSelect0[] =
3513        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
3514
3515 #define    HPUX11_VSNPRINTF_TEST_CT  1
3516 static tTestDesc aHpux11_VsnprintfTests[] = {
3517   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
3518
3519 /*
3520  *  Fix Command Arguments for Hpux11_Vsnprintf
3521  */
3522 static const char* apzHpux11_VsnprintfPatch[] = {
3523     "format",
3524     "%1 __va_list);",
3525     (char*)NULL };
3526
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *
3529  *  Description of Hpux8_Bogus_Inlines fix
3530  */
3531 tSCC zHpux8_Bogus_InlinesName[] =
3532      "hpux8_bogus_inlines";
3533
3534 /*
3535  *  File name selection pattern
3536  */
3537 tSCC zHpux8_Bogus_InlinesList[] =
3538   "math.h\0";
3539 /*
3540  *  Machine/OS name selection pattern
3541  */
3542 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
3543
3544 /*
3545  *  content selection pattern - do fix if pattern found
3546  */
3547 tSCC zHpux8_Bogus_InlinesSelect0[] =
3548        "inline";
3549
3550 /*
3551  *  content bypass pattern - skip fix if pattern found
3552  */
3553 tSCC zHpux8_Bogus_InlinesBypass0[] =
3554        "__GNUG__";
3555
3556 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
3557 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
3558   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
3559   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
3560
3561 /*
3562  *  Fix Command Arguments for Hpux8_Bogus_Inlines
3563  */
3564 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
3565     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
3566     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
3567     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
3568     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
3569     (char*)NULL };
3570
3571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3572  *
3573  *  Description of Hpux_Ctype_Macros fix
3574  */
3575 tSCC zHpux_Ctype_MacrosName[] =
3576      "hpux_ctype_macros";
3577
3578 /*
3579  *  File name selection pattern
3580  */
3581 tSCC zHpux_Ctype_MacrosList[] =
3582   "ctype.h\0";
3583 /*
3584  *  Machine/OS name selection pattern
3585  */
3586 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
3587
3588 /*
3589  *  content selection pattern - do fix if pattern found
3590  */
3591 tSCC zHpux_Ctype_MacrosSelect0[] =
3592        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
3593
3594 #define    HPUX_CTYPE_MACROS_TEST_CT  1
3595 static tTestDesc aHpux_Ctype_MacrosTests[] = {
3596   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
3597
3598 /*
3599  *  Fix Command Arguments for Hpux_Ctype_Macros
3600  */
3601 static const char* apzHpux_Ctype_MacrosPatch[] = {
3602     "format",
3603     "%1(int)%3",
3604     (char*)NULL };
3605
3606 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3607  *
3608  *  Description of Hpux_Htonl fix
3609  */
3610 tSCC zHpux_HtonlName[] =
3611      "hpux_htonl";
3612
3613 /*
3614  *  File name selection pattern
3615  */
3616 tSCC zHpux_HtonlList[] =
3617   "netinet/in.h\0";
3618 /*
3619  *  Machine/OS name selection pattern
3620  */
3621 #define apzHpux_HtonlMachs (const char**)NULL
3622
3623 /*
3624  *  content selection pattern - do fix if pattern found
3625  */
3626 tSCC zHpux_HtonlSelect0[] =
3627        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
3628 (/\\*\n\
3629  \\* Macros for number representation conversion\\.\n\
3630  \\*/\n\
3631 #ifndef ntohl)";
3632
3633 #define    HPUX_HTONL_TEST_CT  1
3634 static tTestDesc aHpux_HtonlTests[] = {
3635   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
3636
3637 /*
3638  *  Fix Command Arguments for Hpux_Htonl
3639  */
3640 static const char* apzHpux_HtonlPatch[] = {
3641     "format",
3642     "#if 1\n\
3643 %1",
3644     (char*)NULL };
3645
3646 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3647  *
3648  *  Description of Hpux_Long_Double fix
3649  */
3650 tSCC zHpux_Long_DoubleName[] =
3651      "hpux_long_double";
3652
3653 /*
3654  *  File name selection pattern
3655  */
3656 tSCC zHpux_Long_DoubleList[] =
3657   "stdlib.h\0";
3658 /*
3659  *  Machine/OS name selection pattern
3660  */
3661 tSCC* apzHpux_Long_DoubleMachs[] = {
3662         "*-*-hpux10*",
3663         "*-*-hpux11.[012]*",
3664         (const char*)NULL };
3665
3666 /*
3667  *  content selection pattern - do fix if pattern found
3668  */
3669 tSCC zHpux_Long_DoubleSelect0[] =
3670        "extern[ \t]long_double[ \t]strtold";
3671
3672 /*
3673  *  content bypass pattern - skip fix if pattern found
3674  */
3675 tSCC zHpux_Long_DoubleBypass0[] =
3676        "long_double_t";
3677
3678 #define    HPUX_LONG_DOUBLE_TEST_CT  2
3679 static tTestDesc aHpux_Long_DoubleTests[] = {
3680   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
3681   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
3682
3683 /*
3684  *  Fix Command Arguments for Hpux_Long_Double
3685  */
3686 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
3687     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
3688     "-e", "s/long_double/long double/g",
3689     (char*)NULL };
3690
3691 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3692  *
3693  *  Description of Hpux_Long_Double_2 fix
3694  */
3695 tSCC zHpux_Long_Double_2Name[] =
3696      "hpux_long_double_2";
3697
3698 /*
3699  *  File name selection pattern
3700  */
3701 tSCC zHpux_Long_Double_2List[] =
3702   "stdlib.h\0";
3703 /*
3704  *  Machine/OS name selection pattern
3705  */
3706 tSCC* apzHpux_Long_Double_2Machs[] = {
3707         "hppa*-*-hpux11.3*",
3708         (const char*)NULL };
3709
3710 /*
3711  *  content selection pattern - do fix if pattern found
3712  */
3713 tSCC zHpux_Long_Double_2Select0[] =
3714        "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
3715
3716 #define    HPUX_LONG_DOUBLE_2_TEST_CT  1
3717 static tTestDesc aHpux_Long_Double_2Tests[] = {
3718   { TT_EGREP,    zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
3719
3720 /*
3721  *  Fix Command Arguments for Hpux_Long_Double_2
3722  */
3723 static const char* apzHpux_Long_Double_2Patch[] = {
3724     "format",
3725     "#  if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
3726     (char*)NULL };
3727
3728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3729  *
3730  *  Description of Hpux_Systime fix
3731  */
3732 tSCC zHpux_SystimeName[] =
3733      "hpux_systime";
3734
3735 /*
3736  *  File name selection pattern
3737  */
3738 tSCC zHpux_SystimeList[] =
3739   "sys/time.h\0";
3740 /*
3741  *  Machine/OS name selection pattern
3742  */
3743 #define apzHpux_SystimeMachs (const char**)NULL
3744
3745 /*
3746  *  content selection pattern - do fix if pattern found
3747  */
3748 tSCC zHpux_SystimeSelect0[] =
3749        "^extern struct sigevent;";
3750
3751 #define    HPUX_SYSTIME_TEST_CT  1
3752 static tTestDesc aHpux_SystimeTests[] = {
3753   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
3754
3755 /*
3756  *  Fix Command Arguments for Hpux_Systime
3757  */
3758 static const char* apzHpux_SystimePatch[] = {
3759     "format",
3760     "struct sigevent;",
3761     (char*)NULL };
3762
3763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3764  *
3765  *  Description of Hpux_Spu_Info fix
3766  */
3767 tSCC zHpux_Spu_InfoName[] =
3768      "hpux_spu_info";
3769
3770 /*
3771  *  File name selection pattern
3772  */
3773 tSCC zHpux_Spu_InfoList[] =
3774   "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
3775 /*
3776  *  Machine/OS name selection pattern
3777  */
3778 tSCC* apzHpux_Spu_InfoMachs[] = {
3779         "*-hp-hpux*",
3780         (const char*)NULL };
3781
3782 /*
3783  *  content selection pattern - do fix if pattern found
3784  */
3785 tSCC zHpux_Spu_InfoSelect0[] =
3786        "^.*extern.*spu_info.*";
3787
3788 #define    HPUX_SPU_INFO_TEST_CT  1
3789 static tTestDesc aHpux_Spu_InfoTests[] = {
3790   { TT_EGREP,    zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
3791
3792 /*
3793  *  Fix Command Arguments for Hpux_Spu_Info
3794  */
3795 static const char* apzHpux_Spu_InfoPatch[] = {
3796     "format",
3797     "#ifdef _KERNEL\n\
3798 %0\n\
3799 #endif",
3800     (char*)NULL };
3801
3802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3803  *
3804  *  Description of Hpux11_Extern_Sendfile fix
3805  */
3806 tSCC zHpux11_Extern_SendfileName[] =
3807      "hpux11_extern_sendfile";
3808
3809 /*
3810  *  File name selection pattern
3811  */
3812 tSCC zHpux11_Extern_SendfileList[] =
3813   "sys/socket.h\0";
3814 /*
3815  *  Machine/OS name selection pattern
3816  */
3817 tSCC* apzHpux11_Extern_SendfileMachs[] = {
3818         "*-hp-hpux11.[12]*",
3819         (const char*)NULL };
3820
3821 /*
3822  *  content selection pattern - do fix if pattern found
3823  */
3824 tSCC zHpux11_Extern_SendfileSelect0[] =
3825        "^[ \t]*extern sbsize_t sendfile.*\n\
3826 .*, int\\)\\);\n";
3827
3828 #define    HPUX11_EXTERN_SENDFILE_TEST_CT  1
3829 static tTestDesc aHpux11_Extern_SendfileTests[] = {
3830   { TT_EGREP,    zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
3831
3832 /*
3833  *  Fix Command Arguments for Hpux11_Extern_Sendfile
3834  */
3835 static const char* apzHpux11_Extern_SendfilePatch[] = {
3836     "format",
3837     "#ifndef _APP32_64BIT_OFF_T\n\
3838 %0#endif\n",
3839     (char*)NULL };
3840
3841 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3842  *
3843  *  Description of Hpux11_Extern_Sendpath fix
3844  */
3845 tSCC zHpux11_Extern_SendpathName[] =
3846      "hpux11_extern_sendpath";
3847
3848 /*
3849  *  File name selection pattern
3850  */
3851 tSCC zHpux11_Extern_SendpathList[] =
3852   "sys/socket.h\0";
3853 /*
3854  *  Machine/OS name selection pattern
3855  */
3856 tSCC* apzHpux11_Extern_SendpathMachs[] = {
3857         "*-hp-hpux11.[12]*",
3858         (const char*)NULL };
3859
3860 /*
3861  *  content selection pattern - do fix if pattern found
3862  */
3863 tSCC zHpux11_Extern_SendpathSelect0[] =
3864        "^[ \t]*extern sbsize_t sendpath.*\n\
3865 .*, int\\)\\);\n";
3866
3867 #define    HPUX11_EXTERN_SENDPATH_TEST_CT  1
3868 static tTestDesc aHpux11_Extern_SendpathTests[] = {
3869   { TT_EGREP,    zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
3870
3871 /*
3872  *  Fix Command Arguments for Hpux11_Extern_Sendpath
3873  */
3874 static const char* apzHpux11_Extern_SendpathPatch[] = {
3875     "format",
3876     "#ifndef _APP32_64BIT_OFF_T\n\
3877 %0#endif\n",
3878     (char*)NULL };
3879
3880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3881  *
3882  *  Description of Hpux_Extern_Errno fix
3883  */
3884 tSCC zHpux_Extern_ErrnoName[] =
3885      "hpux_extern_errno";
3886
3887 /*
3888  *  File name selection pattern
3889  */
3890 tSCC zHpux_Extern_ErrnoList[] =
3891   "errno.h\0";
3892 /*
3893  *  Machine/OS name selection pattern
3894  */
3895 tSCC* apzHpux_Extern_ErrnoMachs[] = {
3896         "*-hp-hpux10.*",
3897         "*-hp-hpux11.[0-2]*",
3898         (const char*)NULL };
3899
3900 /*
3901  *  content selection pattern - do fix if pattern found
3902  */
3903 tSCC zHpux_Extern_ErrnoSelect0[] =
3904        "^[ \t]*extern int errno;$";
3905
3906 #define    HPUX_EXTERN_ERRNO_TEST_CT  1
3907 static tTestDesc aHpux_Extern_ErrnoTests[] = {
3908   { TT_EGREP,    zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
3909
3910 /*
3911  *  Fix Command Arguments for Hpux_Extern_Errno
3912  */
3913 static const char* apzHpux_Extern_ErrnoPatch[] = {
3914     "format",
3915     "#ifdef __cplusplus\n\
3916 extern \"C\" {\n\
3917 #endif\n\
3918 %0\n\
3919 #ifdef __cplusplus\n\
3920 }\n\
3921 #endif",
3922     (char*)NULL };
3923
3924 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3925  *
3926  *  Description of Hpux_Pthread_Initializers fix
3927  */
3928 tSCC zHpux_Pthread_InitializersName[] =
3929      "hpux_pthread_initializers";
3930
3931 /*
3932  *  File name selection pattern
3933  */
3934 tSCC zHpux_Pthread_InitializersList[] =
3935   "sys/pthread.h\0";
3936 /*
3937  *  Machine/OS name selection pattern
3938  */
3939 tSCC* apzHpux_Pthread_InitializersMachs[] = {
3940         "*-hp-hpux11.[0-3]*",
3941         (const char*)NULL };
3942 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT  0
3943 #define aHpux_Pthread_InitializersTests   (tTestDesc*)NULL
3944
3945 /*
3946  *  Fix Command Arguments for Hpux_Pthread_Initializers
3947  */
3948 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
3949     "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
3950     "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
3951     "-e", "/^[ \t]*0$/d",
3952     "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
3953     "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
3954     "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
3955     "-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\\\\@",
3956     "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
3957     "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
3958     "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
3959     "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
3960     "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
3961     "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
3962     (char*)NULL };
3963
3964 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3965  *
3966  *  Description of Hpux_C99_Intptr fix
3967  */
3968 tSCC zHpux_C99_IntptrName[] =
3969      "hpux_c99_intptr";
3970
3971 /*
3972  *  File name selection pattern
3973  */
3974 tSCC zHpux_C99_IntptrList[] =
3975   "stdint-hpux11.h\0stdint.h\0";
3976 /*
3977  *  Machine/OS name selection pattern
3978  */
3979 tSCC* apzHpux_C99_IntptrMachs[] = {
3980         "*-hp-hpux11.3*",
3981         (const char*)NULL };
3982 #define HPUX_C99_INTPTR_TEST_CT  0
3983 #define aHpux_C99_IntptrTests   (tTestDesc*)NULL
3984
3985 /*
3986  *  Fix Command Arguments for Hpux_C99_Intptr
3987  */
3988 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
3989     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
3990     "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
3991     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
3992     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
3993     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
3994     "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
3995     (char*)NULL };
3996
3997 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3998  *
3999  *  Description of Hpux_C99_Inttypes fix
4000  */
4001 tSCC zHpux_C99_InttypesName[] =
4002      "hpux_c99_inttypes";
4003
4004 /*
4005  *  File name selection pattern
4006  */
4007 tSCC zHpux_C99_InttypesList[] =
4008   "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4009 /*
4010  *  Machine/OS name selection pattern
4011  */
4012 tSCC* apzHpux_C99_InttypesMachs[] = {
4013         "*-hp-hpux11.[23]*",
4014         (const char*)NULL };
4015 #define HPUX_C99_INTTYPES_TEST_CT  0
4016 #define aHpux_C99_InttypesTests   (tTestDesc*)NULL
4017
4018 /*
4019  *  Fix Command Arguments for Hpux_C99_Inttypes
4020  */
4021 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4022     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4023     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4024     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4025     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4026     (char*)NULL };
4027
4028 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4029  *
4030  *  Description of Hpux_C99_Inttypes2 fix
4031  */
4032 tSCC zHpux_C99_Inttypes2Name[] =
4033      "hpux_c99_inttypes2";
4034
4035 /*
4036  *  File name selection pattern
4037  */
4038 tSCC zHpux_C99_Inttypes2List[] =
4039   "stdint-hpux11.h\0stdint.h\0";
4040 /*
4041  *  Machine/OS name selection pattern
4042  */
4043 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4044         "*-hp-hpux11.2*",
4045         (const char*)NULL };
4046 #define HPUX_C99_INTTYPES2_TEST_CT  0
4047 #define aHpux_C99_Inttypes2Tests   (tTestDesc*)NULL
4048
4049 /*
4050  *  Fix Command Arguments for Hpux_C99_Inttypes2
4051  */
4052 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4053     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4054     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4055     "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4056     "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4057     (char*)NULL };
4058
4059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4060  *
4061  *  Description of Hpux_Stdint_Least_Fast fix
4062  */
4063 tSCC zHpux_Stdint_Least_FastName[] =
4064      "hpux_stdint_least_fast";
4065
4066 /*
4067  *  File name selection pattern
4068  */
4069 tSCC zHpux_Stdint_Least_FastList[] =
4070   "stdint-hpux11.h\0stdint.h\0";
4071 /*
4072  *  Machine/OS name selection pattern
4073  */
4074 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
4075         "*-hp-hpux11.2*",
4076         (const char*)NULL };
4077
4078 /*
4079  *  content selection pattern - do fix if pattern found
4080  */
4081 tSCC zHpux_Stdint_Least_FastSelect0[] =
4082        "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
4083
4084 #define    HPUX_STDINT_LEAST_FAST_TEST_CT  1
4085 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
4086   { TT_EGREP,    zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
4087
4088 /*
4089  *  Fix Command Arguments for Hpux_Stdint_Least_Fast
4090  */
4091 static const char* apzHpux_Stdint_Least_FastPatch[] = {
4092     "format",
4093     "#  define\tUINT_%164_MAX\t__UINT64_MAX__",
4094     (char*)NULL };
4095
4096 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4097  *
4098  *  Description of Hpux_Inttype_Int8_T fix
4099  */
4100 tSCC zHpux_Inttype_Int8_TName[] =
4101      "hpux_inttype_int8_t";
4102
4103 /*
4104  *  File name selection pattern
4105  */
4106 tSCC zHpux_Inttype_Int8_TList[] =
4107   "sys/_inttypes.h\0";
4108 /*
4109  *  Machine/OS name selection pattern
4110  */
4111 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
4112         "*-hp-hpux1[01].*",
4113         (const char*)NULL };
4114
4115 /*
4116  *  content selection pattern - do fix if pattern found
4117  */
4118 tSCC zHpux_Inttype_Int8_TSelect0[] =
4119        "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
4120
4121 #define    HPUX_INTTYPE_INT8_T_TEST_CT  1
4122 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
4123   { TT_EGREP,    zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
4124
4125 /*
4126  *  Fix Command Arguments for Hpux_Inttype_Int8_T
4127  */
4128 static const char* apzHpux_Inttype_Int8_TPatch[] = {
4129     "format",
4130     "typedef signed char int%18_t;",
4131     (char*)NULL };
4132
4133 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4134  *
4135  *  Description of Hpux_Imaginary_I fix
4136  */
4137 tSCC zHpux_Imaginary_IName[] =
4138      "hpux_imaginary_i";
4139
4140 /*
4141  *  File name selection pattern
4142  */
4143 tSCC zHpux_Imaginary_IList[] =
4144   "complex.h\0";
4145 /*
4146  *  Machine/OS name selection pattern
4147  */
4148 tSCC* apzHpux_Imaginary_IMachs[] = {
4149         "ia64-hp-hpux11.*",
4150         (const char*)NULL };
4151
4152 /*
4153  *  content selection pattern - do fix if pattern found
4154  */
4155 tSCC zHpux_Imaginary_ISelect0[] =
4156        "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
4157
4158 #define    HPUX_IMAGINARY_I_TEST_CT  1
4159 static tTestDesc aHpux_Imaginary_ITests[] = {
4160   { TT_EGREP,    zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
4161
4162 /*
4163  *  Fix Command Arguments for Hpux_Imaginary_I
4164  */
4165 static const char* apzHpux_Imaginary_IPatch[] = {
4166     "format",
4167     "#define _Complex_I (__extension__ 1.0iF)",
4168     (char*)NULL };
4169
4170 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4171  *
4172  *  Description of Huge_Val_Hex fix
4173  */
4174 tSCC zHuge_Val_HexName[] =
4175      "huge_val_hex";
4176
4177 /*
4178  *  File name selection pattern
4179  */
4180 tSCC zHuge_Val_HexList[] =
4181   "bits/huge_val.h\0";
4182 /*
4183  *  Machine/OS name selection pattern
4184  */
4185 #define apzHuge_Val_HexMachs (const char**)NULL
4186
4187 /*
4188  *  content selection pattern - do fix if pattern found
4189  */
4190 tSCC zHuge_Val_HexSelect0[] =
4191        "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
4192
4193 /*
4194  *  content bypass pattern - skip fix if pattern found
4195  */
4196 tSCC zHuge_Val_HexBypass0[] =
4197        "__builtin_huge_val";
4198
4199 #define    HUGE_VAL_HEX_TEST_CT  2
4200 static tTestDesc aHuge_Val_HexTests[] = {
4201   { TT_NEGREP,   zHuge_Val_HexBypass0, (regex_t*)NULL },
4202   { TT_EGREP,    zHuge_Val_HexSelect0, (regex_t*)NULL }, };
4203
4204 /*
4205  *  Fix Command Arguments for Huge_Val_Hex
4206  */
4207 static const char* apzHuge_Val_HexPatch[] = {
4208     "format",
4209     "#define HUGE_VAL (__builtin_huge_val())\n",
4210     (char*)NULL };
4211
4212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4213  *
4214  *  Description of Huge_Valf_Hex fix
4215  */
4216 tSCC zHuge_Valf_HexName[] =
4217      "huge_valf_hex";
4218
4219 /*
4220  *  File name selection pattern
4221  */
4222 tSCC zHuge_Valf_HexList[] =
4223   "bits/huge_val.h\0";
4224 /*
4225  *  Machine/OS name selection pattern
4226  */
4227 #define apzHuge_Valf_HexMachs (const char**)NULL
4228
4229 /*
4230  *  content selection pattern - do fix if pattern found
4231  */
4232 tSCC zHuge_Valf_HexSelect0[] =
4233        "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
4234
4235 /*
4236  *  content bypass pattern - skip fix if pattern found
4237  */
4238 tSCC zHuge_Valf_HexBypass0[] =
4239        "__builtin_huge_valf";
4240
4241 #define    HUGE_VALF_HEX_TEST_CT  2
4242 static tTestDesc aHuge_Valf_HexTests[] = {
4243   { TT_NEGREP,   zHuge_Valf_HexBypass0, (regex_t*)NULL },
4244   { TT_EGREP,    zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
4245
4246 /*
4247  *  Fix Command Arguments for Huge_Valf_Hex
4248  */
4249 static const char* apzHuge_Valf_HexPatch[] = {
4250     "format",
4251     "#define HUGE_VALF (__builtin_huge_valf())\n",
4252     (char*)NULL };
4253
4254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4255  *
4256  *  Description of Huge_Vall_Hex fix
4257  */
4258 tSCC zHuge_Vall_HexName[] =
4259      "huge_vall_hex";
4260
4261 /*
4262  *  File name selection pattern
4263  */
4264 tSCC zHuge_Vall_HexList[] =
4265   "bits/huge_val.h\0";
4266 /*
4267  *  Machine/OS name selection pattern
4268  */
4269 #define apzHuge_Vall_HexMachs (const char**)NULL
4270
4271 /*
4272  *  content selection pattern - do fix if pattern found
4273  */
4274 tSCC zHuge_Vall_HexSelect0[] =
4275        "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
4276
4277 /*
4278  *  content bypass pattern - skip fix if pattern found
4279  */
4280 tSCC zHuge_Vall_HexBypass0[] =
4281        "__builtin_huge_vall";
4282
4283 #define    HUGE_VALL_HEX_TEST_CT  2
4284 static tTestDesc aHuge_Vall_HexTests[] = {
4285   { TT_NEGREP,   zHuge_Vall_HexBypass0, (regex_t*)NULL },
4286   { TT_EGREP,    zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
4287
4288 /*
4289  *  Fix Command Arguments for Huge_Vall_Hex
4290  */
4291 static const char* apzHuge_Vall_HexPatch[] = {
4292     "format",
4293     "#define HUGE_VALL (__builtin_huge_vall())\n",
4294     (char*)NULL };
4295
4296 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4297  *
4298  *  Description of Int_Abort_Free_And_Exit fix
4299  */
4300 tSCC zInt_Abort_Free_And_ExitName[] =
4301      "int_abort_free_and_exit";
4302
4303 /*
4304  *  File name selection pattern
4305  */
4306 tSCC zInt_Abort_Free_And_ExitList[] =
4307   "stdlib.h\0";
4308 /*
4309  *  Machine/OS name selection pattern
4310  */
4311 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
4312
4313 /*
4314  *  content selection pattern - do fix if pattern found
4315  */
4316 tSCC zInt_Abort_Free_And_ExitSelect0[] =
4317        "int[ \t]+(abort|free|exit)[ \t]*\\(";
4318
4319 /*
4320  *  content bypass pattern - skip fix if pattern found
4321  */
4322 tSCC zInt_Abort_Free_And_ExitBypass0[] =
4323        "_CLASSIC_ANSI_TYPES";
4324
4325 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
4326 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
4327   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
4328   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
4329
4330 /*
4331  *  Fix Command Arguments for Int_Abort_Free_And_Exit
4332  */
4333 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
4334     "format",
4335     "void\t%1(",
4336     (char*)NULL };
4337
4338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4339  *
4340  *  Description of Io_Quotes_Def fix
4341  */
4342 tSCC zIo_Quotes_DefName[] =
4343      "io_quotes_def";
4344
4345 /*
4346  *  File name selection pattern
4347  */
4348 #define zIo_Quotes_DefList (char*)NULL
4349 /*
4350  *  Machine/OS name selection pattern
4351  */
4352 #define apzIo_Quotes_DefMachs (const char**)NULL
4353
4354 /*
4355  *  content selection pattern - do fix if pattern found
4356  */
4357 tSCC zIo_Quotes_DefSelect0[] =
4358        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
4359
4360 #define    IO_QUOTES_DEF_TEST_CT  1
4361 static tTestDesc aIo_Quotes_DefTests[] = {
4362   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
4363
4364 /*
4365  *  Fix Command Arguments for Io_Quotes_Def
4366  */
4367 static const char* apzIo_Quotes_DefPatch[] = {
4368     "char_macro_def",
4369     "IO",
4370     (char*)NULL };
4371
4372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4373  *
4374  *  Description of Io_Quotes_Use fix
4375  */
4376 tSCC zIo_Quotes_UseName[] =
4377      "io_quotes_use";
4378
4379 /*
4380  *  File name selection pattern
4381  */
4382 #define zIo_Quotes_UseList (char*)NULL
4383 /*
4384  *  Machine/OS name selection pattern
4385  */
4386 #define apzIo_Quotes_UseMachs (const char**)NULL
4387
4388 /*
4389  *  content selection pattern - do fix if pattern found
4390  */
4391 tSCC zIo_Quotes_UseSelect0[] =
4392        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
4393
4394 #define    IO_QUOTES_USE_TEST_CT  1
4395 static tTestDesc aIo_Quotes_UseTests[] = {
4396   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
4397
4398 /*
4399  *  Fix Command Arguments for Io_Quotes_Use
4400  */
4401 static const char* apzIo_Quotes_UsePatch[] = {
4402     "char_macro_use",
4403     "IO",
4404     (char*)NULL };
4405
4406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4407  *
4408  *  Description of Ip_Missing_Semi fix
4409  */
4410 tSCC zIp_Missing_SemiName[] =
4411      "ip_missing_semi";
4412
4413 /*
4414  *  File name selection pattern
4415  */
4416 tSCC zIp_Missing_SemiList[] =
4417   "netinet/ip.h\0";
4418 /*
4419  *  Machine/OS name selection pattern
4420  */
4421 #define apzIp_Missing_SemiMachs (const char**)NULL
4422
4423 /*
4424  *  content selection pattern - do fix if pattern found
4425  */
4426 tSCC zIp_Missing_SemiSelect0[] =
4427        "}$";
4428
4429 #define    IP_MISSING_SEMI_TEST_CT  1
4430 static tTestDesc aIp_Missing_SemiTests[] = {
4431   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
4432
4433 /*
4434  *  Fix Command Arguments for Ip_Missing_Semi
4435  */
4436 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
4437     "-e", "/^struct/,/^};/s/}$/};/",
4438     (char*)NULL };
4439
4440 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4441  *
4442  *  Description of Irix___Restrict fix
4443  */
4444 tSCC zIrix___RestrictName[] =
4445      "irix___restrict";
4446
4447 /*
4448  *  File name selection pattern
4449  */
4450 tSCC zIrix___RestrictList[] =
4451   "internal/sgimacros.h\0";
4452 /*
4453  *  Machine/OS name selection pattern
4454  */
4455 tSCC* apzIrix___RestrictMachs[] = {
4456         "mips-sgi-irix6.5",
4457         (const char*)NULL };
4458
4459 /*
4460  *  content selection pattern - do fix if pattern found
4461  */
4462 tSCC zIrix___RestrictSelect0[] =
4463        "(#ifdef __c99\n\
4464 )(#[ \t]*define __restrict restrict)";
4465
4466 #define    IRIX___RESTRICT_TEST_CT  1
4467 static tTestDesc aIrix___RestrictTests[] = {
4468   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
4469
4470 /*
4471  *  Fix Command Arguments for Irix___Restrict
4472  */
4473 static const char* apzIrix___RestrictPatch[] = {
4474     "format",
4475     "%1#  ifndef __cplusplus\n\
4476 %2\n\
4477 #  endif",
4478     (char*)NULL };
4479
4480 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4481  *
4482  *  Description of Irix___Generic1 fix
4483  */
4484 tSCC zIrix___Generic1Name[] =
4485      "irix___generic1";
4486
4487 /*
4488  *  File name selection pattern
4489  */
4490 tSCC zIrix___Generic1List[] =
4491   "internal/math_core.h\0";
4492 /*
4493  *  Machine/OS name selection pattern
4494  */
4495 tSCC* apzIrix___Generic1Machs[] = {
4496         "mips-sgi-irix6.5",
4497         (const char*)NULL };
4498
4499 /*
4500  *  content selection pattern - do fix if pattern found
4501  */
4502 tSCC zIrix___Generic1Select0[] =
4503        "#define ([a-z]+)\\(x\\) *__generic.*";
4504
4505 #define    IRIX___GENERIC1_TEST_CT  1
4506 static tTestDesc aIrix___Generic1Tests[] = {
4507   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
4508
4509 /*
4510  *  Fix Command Arguments for Irix___Generic1
4511  */
4512 static const char* apzIrix___Generic1Patch[] = {
4513     "format",
4514     "extern int %1(double);\n\
4515 extern int %1f(float);\n\
4516 extern int %1l(long double);\n\
4517 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
4518                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
4519                : _%1l(x))\n",
4520     (char*)NULL };
4521
4522 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4523  *
4524  *  Description of Irix___Generic2 fix
4525  */
4526 tSCC zIrix___Generic2Name[] =
4527      "irix___generic2";
4528
4529 /*
4530  *  File name selection pattern
4531  */
4532 tSCC zIrix___Generic2List[] =
4533   "internal/math_core.h\0";
4534 /*
4535  *  Machine/OS name selection pattern
4536  */
4537 tSCC* apzIrix___Generic2Machs[] = {
4538         "mips-sgi-irix6.5",
4539         (const char*)NULL };
4540
4541 /*
4542  *  content selection pattern - do fix if pattern found
4543  */
4544 tSCC zIrix___Generic2Select0[] =
4545        "#define ([a-z]+)\\(x,y\\) *__generic.*";
4546
4547 #define    IRIX___GENERIC2_TEST_CT  1
4548 static tTestDesc aIrix___Generic2Tests[] = {