OSDN Git Service

7d6979d564350eeba6d817811923d525e2baa01f
[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  * It has been AutoGen-ed  Monday March 21, 2005 at 05:22:01 PM CET
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Mon Mar 21 17:22:01 CET 2005
10  *
11  * You must regenerate it.  Use the ./genfixes script.
12  *
13  *
14  * This is part of the fixincl program used to install modified versions of
15  * certain ANSI-incompatible system header files which are fixed to work
16  * correctly with ANSI C and placed in a directory that GNU C will search.
17  *
18  * This file contains 179 fixup descriptions.
19  *
20  * See README for more information.
21  *
22  *  inclhack copyright (c) 1998, 1999, 2000, 2001
23  *  The Free Software Foundation, Inc.
24  *
25   *  inclhack is free software.
26  *  
27  *  You may redistribute it and/or modify it under the terms of the
28  *  GNU General Public License, as published by the Free Software
29  *  Foundation; either version 2, or (at your option) any later version.
30  *  
31  *  inclhack is distributed in the hope that it will be useful,
32  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
33  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34  *  See the GNU General Public License for more details.
35  *  
36  *  You should have received a copy of the GNU General Public License
37  *  along with inclhack.  See the file "COPYING".  If not,
38  *  write to:  The Free Software Foundation, Inc.,
39  *             59 Temple Place - Suite 330,
40  *             Boston,  MA  02111-1307, USA.
41  */
42
43 /* * * * * * * * * * * * * * * * * * * * * * * * * *
44  *
45  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
46  */
47 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
48      "AAB_fd_zero_asm_posix_types_h";
49
50 /*
51  *  File name selection pattern
52  */
53 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
54   "|asm/posix_types.h|";
55 /*
56  *  Machine/OS name selection pattern
57  */
58 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
59         "i[34567]86-*-linux*",
60         (const char*)NULL };
61
62 /*
63  *  content bypass pattern - skip fix if pattern found
64  */
65 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
66        "} while";
67
68 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
69 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
70   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
71
72 /*
73  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
74  */
75 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
76 "/* This file fixes a bug in the __FD_ZERO macro\n\
77    for older versions of the Linux kernel. */\n\
78 #ifndef _POSIX_TYPES_H_WRAPPER\n\
79 #include <features.h>\n\
80  #include_next <asm/posix_types.h>\n\n\
81 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
82 #undef __FD_ZERO\n\
83 #define __FD_ZERO(fdsetp) \\\n\
84   do { \\\n\
85     int __d0, __d1; \\\n\
86 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
87 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
88 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
89   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
90   } while (0)\n\
91 #endif\n\n\
92 #define _POSIX_TYPES_H_WRAPPER\n\
93 #endif /* _POSIX_TYPES_H_WRAPPER */",
94     (char*)NULL };
95
96 /* * * * * * * * * * * * * * * * * * * * * * * * * *
97  *
98  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
99  */
100 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
101      "AAB_fd_zero_gnu_types_h";
102
103 /*
104  *  File name selection pattern
105  */
106 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
107   "|gnu/types.h|";
108 /*
109  *  Machine/OS name selection pattern
110  */
111 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
112         "i[34567]86-*-linux*",
113         (const char*)NULL };
114 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
115 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
116
117 /*
118  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
119  */
120 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
121 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
122 #ifndef _TYPES_H_WRAPPER\n\
123 #include <features.h>\n\
124 #include_next <gnu/types.h>\n\n\
125 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
126 #undef __FD_ZERO\n\
127 # define __FD_ZERO(fdsetp) \\\\\n\
128   do { \\\\\n\
129     int __d0, __d1; \\\\\n\
130 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
131         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
132         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
133   \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
134   } while (0)\n\
135 #endif\n\n\
136 #define _TYPES_H_WRAPPER\n\
137 #endif /* _TYPES_H_WRAPPER */",
138     (char*)NULL };
139
140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
141  *
142  *  Description of Aab_Fd_Zero_Selectbits_H fix
143  */
144 tSCC zAab_Fd_Zero_Selectbits_HName[] =
145      "AAB_fd_zero_selectbits_h";
146
147 /*
148  *  File name selection pattern
149  */
150 tSCC zAab_Fd_Zero_Selectbits_HList[] =
151   "|selectbits.h|";
152 /*
153  *  Machine/OS name selection pattern
154  */
155 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
156         "i[34567]86-*-linux*",
157         (const char*)NULL };
158 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
159 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
160
161 /*
162  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
163  */
164 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
165 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
166 #ifndef _SELECTBITS_H_WRAPPER\n\
167   #include <features.h>\n\
168   #include_next <selectbits.h>\n\n\
169   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
170   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
171   && __GLIBC_MINOR__ == 0\n\
172      #undef __FD_ZERO\n\
173      #define __FD_ZERO(fdsetp) \\\\\n\
174      do { \\\\\n\
175         int __d0, __d1; \\\\\n\
176       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
177                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
178                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
179                                         / sizeof (__fd_mask)), \\\\\n\
180                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
181                         : \"memory\"); \\\\\n\
182       } while (0)\n\
183   #endif\n\n\
184   #define _SELECTBITS_H_WRAPPER\n\
185 #endif /* _SELECTBITS_H_WRAPPER */",
186     (char*)NULL };
187
188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
189  *
190  *  Description of Aab_Solaris_Sys_Varargs_H fix
191  */
192 tSCC zAab_Solaris_Sys_Varargs_HName[] =
193      "AAB_solaris_sys_varargs_h";
194
195 /*
196  *  File name selection pattern
197  */
198 tSCC zAab_Solaris_Sys_Varargs_HList[] =
199   "|sys/varargs.h|";
200 /*
201  *  Machine/OS name selection pattern
202  */
203 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
204         "*-*-solaris*",
205         (const char*)NULL };
206 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
207 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
208
209 /*
210  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
211  */
212 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
213 "#ifdef __STDC__\n\
214   #include <stdarg.h>\n\
215 #else\n\
216   #include <varargs.h>\n\
217 #endif",
218     (char*)NULL };
219
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
221  *
222  *  Description of Aab_Sun_Memcpy fix
223  */
224 tSCC zAab_Sun_MemcpyName[] =
225      "AAB_sun_memcpy";
226
227 /*
228  *  File name selection pattern
229  */
230 tSCC zAab_Sun_MemcpyList[] =
231   "|memory.h|";
232 /*
233  *  Machine/OS name selection pattern
234  */
235 #define apzAab_Sun_MemcpyMachs (const char**)NULL
236
237 /*
238  *  content selection pattern - do fix if pattern found
239  */
240 tSCC zAab_Sun_MemcpySelect0[] =
241        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
242
243 #define    AAB_SUN_MEMCPY_TEST_CT  1
244 static tTestDesc aAab_Sun_MemcpyTests[] = {
245   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
246
247 /*
248  *  Fix Command Arguments for Aab_Sun_Memcpy
249  */
250 static const char* apzAab_Sun_MemcpyPatch[] = {
251 "/* This file was generated by fixincludes */\n\
252 #ifndef __memory_h__\n\
253   #define __memory_h__\n\n\
254   #ifdef __STDC__\n\
255     extern void *memccpy();\n\
256     extern void *memchr();\n\
257     extern void *memcpy();\n\
258     extern void *memset();\n\
259   #else\n\
260     extern char *memccpy();\n\
261     extern char *memchr();\n\
262     extern char *memcpy();\n\
263     extern char *memset();\n\
264   #endif /* __STDC__ */\n\n\
265   extern int memcmp();\n\n\
266 #endif /* __memory_h__ */\n\
267 _EndOfHeader;\n\
268 };\n\n\n\
269 /*\n\
270  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
271  *  stdarg.h or varargs.h files as appropriate.\n\
272  */\n\
273 #ifdef SVR4\n\
274 fix = {\n\
275     hackname = AAB_svr4_no_varargs;\n\
276     files    = sys/varargs.h;\n\
277     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
278                \"#ifndef _SYS_VARARGS_H\\n\"\n\
279                \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
280                \"#ifdef __STDC__\\n\"\n\
281                \"#include <stdarg.h>\\n\"\n\
282                \"#else\\n\"\n\
283                \"#include <varargs.h>\\n\"\n\
284                \"#endif\\n\\n\"\n\n\
285                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
286 };\n\
287 #endif\n\n\n\
288 /*\n\
289  *  Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
290  *  optimized byteswapping.  (The original probably implemented some\n\
291  *  incompatible optimized byteswapping.)\n\
292  */\n\
293 fix = {\n\
294     hackname = AAB_svr4_replace_byteorder;\n\
295     mach     = \"*-*-sysv4*\";\n\
296     mach     = \"i[34567]86-*-sysv5*\";\n\
297     mach     = \"i[34567]86-*-sco3.2v5*\";\n\
298     mach     = \"i[34567]86-*-udk*\";\n\
299     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
300     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
301     mach     = \"sparc-*-solaris2.[0-4]\";\n\
302     mach     = \"i[34567]86-sequent-ptx*\";\n\
303     files    = sys/byteorder.h;\n\
304     replace  = <<-  _EndOfHeader_\n\
305 #ifndef _SYS_BYTEORDER_H\n\
306 #define _SYS_BYTEORDER_H\n\n\
307 /* Functions to convert `short' and `long' quantities from host byte order\n\
308    to (internet) network byte order (i.e. big-endian).\n\n\
309    Written by Ron Guilmette (rfg@ncd.com).\n\n\
310    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
311    For big-endian machines these functions are essentially no-ops.\n\n\
312    For little-endian machines, we define the functions using specialized\n\
313    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
314 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
315   #error You lose!  This file is only useful with GNU compilers.\n\
316 #endif\n\n\
317 #ifndef __BYTE_ORDER__\n\
318   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
319      double underscores added at the front and back.  */\n\
320   #define __LITTLE_ENDIAN__   1234\n\
321   #define __BIG_ENDIAN__      4321\n\
322   #define __PDP_ENDIAN__      3412\n\
323 #endif\n\n\
324 #ifdef __STDC__\n\
325   static __inline__ unsigned long htonl (unsigned long);\n\
326   static __inline__ unsigned short htons (unsigned int);\n\
327   static __inline__ unsigned long ntohl (unsigned long);\n\
328   static __inline__ unsigned short ntohs (unsigned int);\n\
329 #endif /* defined (__STDC__) */\n\n\
330 #if defined (__i386__)\n\n\
331   #ifndef __BYTE_ORDER__\n\
332     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
333   #endif\n\n\
334   /* Convert a host long to a network long.  */\n\n\
335   /* We must use a new-style function definition, so that this will also\n\
336      be valid for C++.  */\n\
337   static __inline__ unsigned long\n\
338   htonl (unsigned long __arg)\n\
339   {\n\
340     register unsigned long __result;\n\n\
341     __asm__ (\"xchg%B0 %b0,%h0\n\
342   ror%L0 $16,%0\n\
343   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
344     return __result;\n\
345   }\n\n\
346   /* Convert a host short to a network short.  */\n\n\
347   static __inline__ unsigned short\n\
348   htons (unsigned int __arg)\n\
349   {\n\
350     register unsigned short __result;\n\n\
351     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
352     return __result;\n\
353   }\n\n\
354 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
355   #ifndef __BYTE_ORDER__\n\
356     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
357   #endif\n\n\
358   /* For other little-endian machines, using C code is just as efficient as\n\
359      using assembly code.  */\n\n\
360   /* Convert a host long to a network long.  */\n\n\
361   static __inline__ unsigned long\n\
362   htonl (unsigned long __arg)\n\
363   {\n\
364     register unsigned long __result;\n\n\
365     __result = (__arg >> 24) & 0x000000ff;\n\
366     __result |= (__arg >> 8) & 0x0000ff00;\n\
367     __result |= (__arg << 8) & 0x00ff0000;\n\
368     __result |= (__arg << 24) & 0xff000000;\n\
369     return __result;\n\
370   }\n\n\
371   /* Convert a host short to a network short.  */\n\n\
372   static __inline__ unsigned short\n\
373   htons (unsigned int __arg)\n\
374   {\n\
375     register unsigned short __result;\n\n\
376     __result = (__arg << 8) & 0xff00;\n\
377     __result |= (__arg >> 8) & 0x00ff;\n\
378     return __result;\n\
379   }\n\n\
380 #else /* must be a big-endian machine */\n\n\
381   #ifndef __BYTE_ORDER__\n\
382     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
383   #endif\n\n\
384   /* Convert a host long to a network long.  */\n\n\
385   static __inline__ unsigned long\n\
386   htonl (unsigned long __arg)\n\
387   {\n\
388     return __arg;\n\
389   }\n\n\
390   /* Convert a host short to a network short.  */\n\n\
391   static __inline__ unsigned short\n\
392   htons (unsigned int __arg)\n\
393   {\n\
394     return __arg;\n\
395   }\n\n\
396 #endif /* big-endian */\n\n\
397 /* Convert a network long to a host long.  */\n\n\
398 static __inline__ unsigned long\n\
399 ntohl (unsigned long __arg)\n\
400 {\n\
401   return htonl (__arg);\n\
402 }\n\n\
403 /* Convert a network short to a host short.  */\n\n\
404 static __inline__ unsigned short\n\
405 ntohs (unsigned int __arg)\n\
406 {\n\
407   return htons (__arg);\n\
408 }\n\
409 #endif",
410     (char*)NULL };
411
412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
413  *
414  *  Description of Aab_Ultrix_Ansi_Compat fix
415  */
416 tSCC zAab_Ultrix_Ansi_CompatName[] =
417      "AAB_ultrix_ansi_compat";
418
419 /*
420  *  File name selection pattern
421  */
422 tSCC zAab_Ultrix_Ansi_CompatList[] =
423   "|ansi_compat.h|";
424 /*
425  *  Machine/OS name selection pattern
426  */
427 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
428
429 /*
430  *  content selection pattern - do fix if pattern found
431  */
432 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
433        "ULTRIX";
434
435 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
436 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
437   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
438
439 /*
440  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
441  */
442 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
443 "/* This file intentionally left blank.  */\n",
444     (char*)NULL };
445
446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
447  *
448  *  Description of Aab_Ultrix_Limits fix
449  */
450 tSCC zAab_Ultrix_LimitsName[] =
451      "AAB_ultrix_limits";
452
453 /*
454  *  File name selection pattern
455  */
456 tSCC zAab_Ultrix_LimitsList[] =
457   "|limits.h|";
458 /*
459  *  Machine/OS name selection pattern
460  */
461 tSCC* apzAab_Ultrix_LimitsMachs[] = {
462         "*-*-ultrix4.3",
463         (const char*)NULL };
464 #define AAB_ULTRIX_LIMITS_TEST_CT  0
465 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
466
467 /*
468  *  Fix Command Arguments for Aab_Ultrix_Limits
469  */
470 static const char* apzAab_Ultrix_LimitsPatch[] = {
471 "#ifndef _LIMITS_INCLUDED\n\
472   #define _LIMITS_INCLUDED\n\
473   #include <sys/limits.h>\n\
474 #endif /* _LIMITS_INCLUDED */",
475     (char*)NULL };
476
477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
478  *
479  *  Description of Aab_Ultrix_Memory fix
480  */
481 tSCC zAab_Ultrix_MemoryName[] =
482      "AAB_ultrix_memory";
483
484 /*
485  *  File name selection pattern
486  */
487 tSCC zAab_Ultrix_MemoryList[] =
488   "|memory.h|";
489 /*
490  *  Machine/OS name selection pattern
491  */
492 tSCC* apzAab_Ultrix_MemoryMachs[] = {
493         "*-*-ultrix4.3",
494         (const char*)NULL };
495 #define AAB_ULTRIX_MEMORY_TEST_CT  0
496 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
497
498 /*
499  *  Fix Command Arguments for Aab_Ultrix_Memory
500  */
501 static const char* apzAab_Ultrix_MemoryPatch[] = {
502 "#ifndef _MEMORY_INCLUDED\n\
503   #define _MEMORY_INCLUDED\n\
504   #include <strings.h>\n\
505 #endif /* _MEMORY_INCLUDED */",
506     (char*)NULL };
507
508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
509  *
510  *  Description of Aab_Ultrix_String fix
511  */
512 tSCC zAab_Ultrix_StringName[] =
513      "AAB_ultrix_string";
514
515 /*
516  *  File name selection pattern
517  */
518 tSCC zAab_Ultrix_StringList[] =
519   "|string.h|";
520 /*
521  *  Machine/OS name selection pattern
522  */
523 tSCC* apzAab_Ultrix_StringMachs[] = {
524         "*-*-ultrix4.3",
525         (const char*)NULL };
526 #define AAB_ULTRIX_STRING_TEST_CT  0
527 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
528
529 /*
530  *  Fix Command Arguments for Aab_Ultrix_String
531  */
532 static const char* apzAab_Ultrix_StringPatch[] = {
533 "#ifndef _STRING_INCLUDED\n\
534   #define _STRING_INCLUDED\n\
535   #include <strings.h>\n\
536 #endif /* _STRING_INCLUDED */",
537     (char*)NULL };
538
539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
540  *
541  *  Description of Aix_Pthread fix
542  */
543 tSCC zAix_PthreadName[] =
544      "aix_pthread";
545
546 /*
547  *  File name selection pattern
548  */
549 tSCC zAix_PthreadList[] =
550   "|pthread.h|";
551 /*
552  *  Machine/OS name selection pattern
553  */
554 #define apzAix_PthreadMachs (const char**)NULL
555
556 /*
557  *  content selection pattern - do fix if pattern found
558  */
559 tSCC zAix_PthreadSelect0[] =
560        "(#define [A-Za-z_0-9]+)(\\\\\n\
561 [^A-Za-z_0-9 \t\n\
562 (])";
563
564 #define    AIX_PTHREAD_TEST_CT  1
565 static tTestDesc aAix_PthreadTests[] = {
566   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
567
568 /*
569  *  Fix Command Arguments for Aix_Pthread
570  */
571 static const char* apzAix_PthreadPatch[] = {
572     "format",
573     "%1 %2",
574     (char*)NULL };
575
576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
577  *
578  *  Description of Aix_Sysmachine fix
579  */
580 tSCC zAix_SysmachineName[] =
581      "aix_sysmachine";
582
583 /*
584  *  File name selection pattern
585  */
586 tSCC zAix_SysmachineList[] =
587   "|sys/machine.h|";
588 /*
589  *  Machine/OS name selection pattern
590  */
591 #define apzAix_SysmachineMachs (const char**)NULL
592
593 /*
594  *  content selection pattern - do fix if pattern found
595  */
596 tSCC zAix_SysmachineSelect0[] =
597        "\\\\ +\n";
598
599 #define    AIX_SYSMACHINE_TEST_CT  1
600 static tTestDesc aAix_SysmachineTests[] = {
601   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
602
603 /*
604  *  Fix Command Arguments for Aix_Sysmachine
605  */
606 static const char* apzAix_SysmachinePatch[] = {
607     "format",
608     "\\\n",
609     (char*)NULL };
610
611 /* * * * * * * * * * * * * * * * * * * * * * * * * *
612  *
613  *  Description of Aix_Syswait fix
614  */
615 tSCC zAix_SyswaitName[] =
616      "aix_syswait";
617
618 /*
619  *  File name selection pattern
620  */
621 tSCC zAix_SyswaitList[] =
622   "|sys/wait.h|";
623 /*
624  *  Machine/OS name selection pattern
625  */
626 #define apzAix_SyswaitMachs (const char**)NULL
627
628 /*
629  *  content selection pattern - do fix if pattern found
630  */
631 tSCC zAix_SyswaitSelect0[] =
632        "^extern pid_t wait3\\(\\);\n";
633 tSCC zAix_SyswaitSelect1[] =
634        "bos325,";
635
636 #define    AIX_SYSWAIT_TEST_CT  2
637 static tTestDesc aAix_SyswaitTests[] = {
638   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
639   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
640
641 /*
642  *  Fix Command Arguments for Aix_Syswait
643  */
644 static const char* apzAix_SyswaitPatch[] = {
645     "format",
646     "struct rusage;\n\
647 %0",
648     (char*)NULL };
649
650 /* * * * * * * * * * * * * * * * * * * * * * * * * *
651  *
652  *  Description of Aix_Syswait_2 fix
653  */
654 tSCC zAix_Syswait_2Name[] =
655      "aix_syswait_2";
656
657 /*
658  *  File name selection pattern
659  */
660 tSCC zAix_Syswait_2List[] =
661   "|sys/wait.h|";
662 /*
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_Syswait_2Machs (const char**)NULL
666
667 /*
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_Syswait_2Select0[] =
671        "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
672
673 #define    AIX_SYSWAIT_2_TEST_CT  1
674 static tTestDesc aAix_Syswait_2Tests[] = {
675   { TT_EGREP,    zAix_Syswait_2Select0, (regex_t*)NULL }, };
676
677 /*
678  *  Fix Command Arguments for Aix_Syswait_2
679  */
680 static const char* apzAix_Syswait_2Patch[] = {
681     "format",
682     "? (int)%1",
683     (char*)NULL };
684
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
686  *
687  *  Description of Aix_Volatile fix
688  */
689 tSCC zAix_VolatileName[] =
690      "aix_volatile";
691
692 /*
693  *  File name selection pattern
694  */
695 tSCC zAix_VolatileList[] =
696   "|sys/signal.h|";
697 /*
698  *  Machine/OS name selection pattern
699  */
700 #define apzAix_VolatileMachs (const char**)NULL
701
702 /*
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAix_VolatileSelect0[] =
706        "typedef volatile int sig_atomic_t";
707
708 #define    AIX_VOLATILE_TEST_CT  1
709 static tTestDesc aAix_VolatileTests[] = {
710   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
711
712 /*
713  *  Fix Command Arguments for Aix_Volatile
714  */
715 static const char* apzAix_VolatilePatch[] = {
716     "format",
717     "typedef int sig_atomic_t",
718     (char*)NULL };
719
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
721  *
722  *  Description of Alpha___Assert fix
723  */
724 tSCC zAlpha___AssertName[] =
725      "alpha___assert";
726
727 /*
728  *  File name selection pattern
729  */
730 tSCC zAlpha___AssertList[] =
731   "|assert.h|";
732 /*
733  *  Machine/OS name selection pattern
734  */
735 #define apzAlpha___AssertMachs (const char**)NULL
736
737 /*
738  *  content selection pattern - do fix if pattern found
739  */
740 tSCC zAlpha___AssertSelect0[] =
741        "__assert\\(char \\*, char \\*, int\\)";
742
743 #define    ALPHA___ASSERT_TEST_CT  1
744 static tTestDesc aAlpha___AssertTests[] = {
745   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
746
747 /*
748  *  Fix Command Arguments for Alpha___Assert
749  */
750 static const char* apzAlpha___AssertPatch[] = {
751     "format",
752     "__assert(const char *, const char *, int)",
753     (char*)NULL };
754
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
756  *
757  *  Description of Alpha___Extern_Prefix fix
758  */
759 tSCC zAlpha___Extern_PrefixName[] =
760      "alpha___extern_prefix";
761
762 /*
763  *  File name selection pattern
764  */
765 #define zAlpha___Extern_PrefixList (char*)NULL
766 /*
767  *  Machine/OS name selection pattern
768  */
769 tSCC* apzAlpha___Extern_PrefixMachs[] = {
770         "alpha*-dec-osf*",
771         (const char*)NULL };
772
773 /*
774  *  content selection pattern - do fix if pattern found
775  */
776 tSCC zAlpha___Extern_PrefixSelect0[] =
777        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
778 (#[ \t]*pragma[ \t]*extern_prefix.*)";
779
780 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
781 static tTestDesc aAlpha___Extern_PrefixTests[] = {
782   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
783
784 /*
785  *  Fix Command Arguments for Alpha___Extern_Prefix
786  */
787 static const char* apzAlpha___Extern_PrefixPatch[] = {
788     "format",
789     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
790 %3",
791     (char*)NULL };
792
793 /* * * * * * * * * * * * * * * * * * * * * * * * * *
794  *
795  *  Description of Alpha___Extern_Prefix_Standards fix
796  */
797 tSCC zAlpha___Extern_Prefix_StandardsName[] =
798      "alpha___extern_prefix_standards";
799
800 /*
801  *  File name selection pattern
802  */
803 tSCC zAlpha___Extern_Prefix_StandardsList[] =
804   "|standards.h|";
805 /*
806  *  Machine/OS name selection pattern
807  */
808 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
809         "alpha*-dec-osf*",
810         (const char*)NULL };
811
812 /*
813  *  content selection pattern - do fix if pattern found
814  */
815 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
816        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
817
818 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
819 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
820   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
821
822 /*
823  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
824  */
825 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
826     "format",
827     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
828     (char*)NULL };
829
830 /* * * * * * * * * * * * * * * * * * * * * * * * * *
831  *
832  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
833  */
834 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
835      "alpha___extern_prefix_sys_stat";
836
837 /*
838  *  File name selection pattern
839  */
840 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
841   "|sys/stat.h|sys/mount.h|";
842 /*
843  *  Machine/OS name selection pattern
844  */
845 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
846         "alpha*-dec-osf5*",
847         (const char*)NULL };
848
849 /*
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
853        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
854
855 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
856 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
857   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
858
859 /*
860  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
861  */
862 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
863     "format",
864     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
865     (char*)NULL };
866
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
868  *
869  *  Description of Alpha_Assert fix
870  */
871 tSCC zAlpha_AssertName[] =
872      "alpha_assert";
873
874 /*
875  *  File name selection pattern
876  */
877 tSCC zAlpha_AssertList[] =
878   "|assert.h|";
879 /*
880  *  Machine/OS name selection pattern
881  */
882 #define apzAlpha_AssertMachs (const char**)NULL
883
884 /*
885  *  content selection pattern - do fix if pattern found
886  */
887 tSCC zAlpha_AssertSelect0[] =
888        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
889
890 #define    ALPHA_ASSERT_TEST_CT  1
891 static tTestDesc aAlpha_AssertTests[] = {
892   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
893
894 /*
895  *  Fix Command Arguments for Alpha_Assert
896  */
897 static const char* apzAlpha_AssertPatch[] = {
898     "format",
899     "%1(EX)",
900     (char*)NULL };
901
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
903  *
904  *  Description of Alpha_Bad_Lval fix
905  */
906 tSCC zAlpha_Bad_LvalName[] =
907      "alpha_bad_lval";
908
909 /*
910  *  File name selection pattern
911  */
912 #define zAlpha_Bad_LvalList (char*)NULL
913 /*
914  *  Machine/OS name selection pattern
915  */
916 tSCC* apzAlpha_Bad_LvalMachs[] = {
917         "alpha*-dec-osf*",
918         (const char*)NULL };
919
920 /*
921  *  content selection pattern - do fix if pattern found
922  */
923 tSCC zAlpha_Bad_LvalSelect0[] =
924        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
925
926 #define    ALPHA_BAD_LVAL_TEST_CT  1
927 static tTestDesc aAlpha_Bad_LvalTests[] = {
928   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
929
930 /*
931  *  Fix Command Arguments for Alpha_Bad_Lval
932  */
933 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
934     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
935     (char*)NULL };
936
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
938  *
939  *  Description of Alpha_Getopt fix
940  */
941 tSCC zAlpha_GetoptName[] =
942      "alpha_getopt";
943
944 /*
945  *  File name selection pattern
946  */
947 tSCC zAlpha_GetoptList[] =
948   "|stdio.h|stdlib.h|";
949 /*
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_GetoptMachs (const char**)NULL
953
954 /*
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_GetoptSelect0[] =
958        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
959
960 #define    ALPHA_GETOPT_TEST_CT  1
961 static tTestDesc aAlpha_GetoptTests[] = {
962   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
963
964 /*
965  *  Fix Command Arguments for Alpha_Getopt
966  */
967 static const char* apzAlpha_GetoptPatch[] = {
968     "format",
969     "getopt(int, char *const[], const char *)",
970     (char*)NULL };
971
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
973  *
974  *  Description of Alpha_Parens fix
975  */
976 tSCC zAlpha_ParensName[] =
977      "alpha_parens";
978
979 /*
980  *  File name selection pattern
981  */
982 tSCC zAlpha_ParensList[] =
983   "|sym.h|";
984 /*
985  *  Machine/OS name selection pattern
986  */
987 #define apzAlpha_ParensMachs (const char**)NULL
988
989 /*
990  *  content selection pattern - do fix if pattern found
991  */
992 tSCC zAlpha_ParensSelect0[] =
993        "#ifndef\\(__mips64\\)";
994
995 #define    ALPHA_PARENS_TEST_CT  1
996 static tTestDesc aAlpha_ParensTests[] = {
997   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
998
999 /*
1000  *  Fix Command Arguments for Alpha_Parens
1001  */
1002 static const char* apzAlpha_ParensPatch[] = {
1003     "format",
1004     "#ifndef __mips64",
1005     (char*)NULL };
1006
1007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1008  *
1009  *  Description of Alpha_Pthread fix
1010  */
1011 tSCC zAlpha_PthreadName[] =
1012      "alpha_pthread";
1013
1014 /*
1015  *  File name selection pattern
1016  */
1017 tSCC zAlpha_PthreadList[] =
1018   "|pthread.h|";
1019 /*
1020  *  Machine/OS name selection pattern
1021  */
1022 tSCC* apzAlpha_PthreadMachs[] = {
1023         "alpha*-dec-osf*",
1024         (const char*)NULL };
1025
1026 /*
1027  *  content selection pattern - do fix if pattern found
1028  */
1029 tSCC zAlpha_PthreadSelect0[] =
1030        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1031 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1032
1033 #define    ALPHA_PTHREAD_TEST_CT  1
1034 static tTestDesc aAlpha_PthreadTests[] = {
1035   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1036
1037 /*
1038  *  Fix Command Arguments for Alpha_Pthread
1039  */
1040 static const char* apzAlpha_PthreadPatch[] = {
1041     "format",
1042     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1043 %5",
1044     (char*)NULL };
1045
1046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1047  *
1048  *  Description of Alpha_Pthread_Gcc fix
1049  */
1050 tSCC zAlpha_Pthread_GccName[] =
1051      "alpha_pthread_gcc";
1052
1053 /*
1054  *  File name selection pattern
1055  */
1056 tSCC zAlpha_Pthread_GccList[] =
1057   "|pthread.h|";
1058 /*
1059  *  Machine/OS name selection pattern
1060  */
1061 tSCC* apzAlpha_Pthread_GccMachs[] = {
1062         "alpha*-dec-osf*",
1063         (const char*)NULL };
1064
1065 /*
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zAlpha_Pthread_GccSelect0[] =
1069        "#else\n\
1070 # error <pthread.h>: unrecognized compiler.";
1071
1072 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1073 static tTestDesc aAlpha_Pthread_GccTests[] = {
1074   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1075
1076 /*
1077  *  Fix Command Arguments for Alpha_Pthread_Gcc
1078  */
1079 static const char* apzAlpha_Pthread_GccPatch[] = {
1080     "format",
1081     "#elif defined (__GNUC__)\n\
1082 # define _PTHREAD_ENV_GCC\n\
1083 %0",
1084     (char*)NULL };
1085
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1087  *
1088  *  Description of Alpha_Pthread_Init fix
1089  */
1090 tSCC zAlpha_Pthread_InitName[] =
1091      "alpha_pthread_init";
1092
1093 /*
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_Pthread_InitList[] =
1097   "|pthread.h|";
1098 /*
1099  *  Machine/OS name selection pattern
1100  */
1101 tSCC* apzAlpha_Pthread_InitMachs[] = {
1102         "alpha*-dec-osf*",
1103         (const char*)NULL };
1104
1105 /*
1106  *  content selection pattern - do fix if pattern found
1107  */
1108 tSCC zAlpha_Pthread_InitSelect0[] =
1109        " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1110
1111 #define    ALPHA_PTHREAD_INIT_TEST_CT  1
1112 static tTestDesc aAlpha_Pthread_InitTests[] = {
1113   { TT_EGREP,    zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1114
1115 /*
1116  *  Fix Command Arguments for Alpha_Pthread_Init
1117  */
1118 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1119     "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1120 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1121 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1122 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1123 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1124 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1125     (char*)NULL };
1126
1127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1128  *
1129  *  Description of Alpha_Sbrk fix
1130  */
1131 tSCC zAlpha_SbrkName[] =
1132      "alpha_sbrk";
1133
1134 /*
1135  *  File name selection pattern
1136  */
1137 tSCC zAlpha_SbrkList[] =
1138   "|unistd.h|";
1139 /*
1140  *  Machine/OS name selection pattern
1141  */
1142 #define apzAlpha_SbrkMachs (const char**)NULL
1143
1144 /*
1145  *  content selection pattern - do fix if pattern found
1146  */
1147 tSCC zAlpha_SbrkSelect0[] =
1148        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1149
1150 #define    ALPHA_SBRK_TEST_CT  1
1151 static tTestDesc aAlpha_SbrkTests[] = {
1152   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1153
1154 /*
1155  *  Fix Command Arguments for Alpha_Sbrk
1156  */
1157 static const char* apzAlpha_SbrkPatch[] = {
1158     "format",
1159     "void *sbrk(",
1160     (char*)NULL };
1161
1162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1163  *
1164  *  Description of Alpha_Wchar fix
1165  */
1166 tSCC zAlpha_WcharName[] =
1167      "alpha_wchar";
1168
1169 /*
1170  *  File name selection pattern
1171  */
1172 tSCC zAlpha_WcharList[] =
1173   "|wchar.h|";
1174 /*
1175  *  Machine/OS name selection pattern
1176  */
1177 tSCC* apzAlpha_WcharMachs[] = {
1178         "alpha*-dec-osf4*",
1179         (const char*)NULL };
1180
1181 /*
1182  *  content selection pattern - do fix if pattern found
1183  */
1184 tSCC zAlpha_WcharSelect0[] =
1185        "#define wcstok wcstok_r";
1186
1187 #define    ALPHA_WCHAR_TEST_CT  1
1188 static tTestDesc aAlpha_WcharTests[] = {
1189   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1190
1191 /*
1192  *  Fix Command Arguments for Alpha_Wchar
1193  */
1194 static const char* apzAlpha_WcharPatch[] = { "sed",
1195     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1196     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1197     (char*)NULL };
1198
1199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1200  *
1201  *  Description of Avoid_Bool_Define fix
1202  */
1203 tSCC zAvoid_Bool_DefineName[] =
1204      "avoid_bool_define";
1205
1206 /*
1207  *  File name selection pattern
1208  */
1209 tSCC zAvoid_Bool_DefineList[] =
1210   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1211 /*
1212  *  Machine/OS name selection pattern
1213  */
1214 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1215
1216 /*
1217  *  content selection pattern - do fix if pattern found
1218  */
1219 tSCC zAvoid_Bool_DefineSelect0[] =
1220        "#[ \t]*define[ \t]+bool[ \t]";
1221
1222 /*
1223  *  content bypass pattern - skip fix if pattern found
1224  */
1225 tSCC zAvoid_Bool_DefineBypass0[] =
1226        "__cplusplus";
1227
1228 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1229 static tTestDesc aAvoid_Bool_DefineTests[] = {
1230   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1231   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1232
1233 /*
1234  *  Fix Command Arguments for Avoid_Bool_Define
1235  */
1236 static const char* apzAvoid_Bool_DefinePatch[] = {
1237     "format",
1238     "#ifndef __cplusplus\n\
1239 %0\n\
1240 #endif",
1241     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1242     (char*)NULL };
1243
1244 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1245  *
1246  *  Description of Avoid_Bool_Type fix
1247  */
1248 tSCC zAvoid_Bool_TypeName[] =
1249      "avoid_bool_type";
1250
1251 /*
1252  *  File name selection pattern
1253  */
1254 tSCC zAvoid_Bool_TypeList[] =
1255   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1256 /*
1257  *  Machine/OS name selection pattern
1258  */
1259 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1260
1261 /*
1262  *  content selection pattern - do fix if pattern found
1263  */
1264 tSCC zAvoid_Bool_TypeSelect0[] =
1265        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1266
1267 /*
1268  *  content bypass pattern - skip fix if pattern found
1269  */
1270 tSCC zAvoid_Bool_TypeBypass0[] =
1271        "__cplusplus";
1272
1273 #define    AVOID_BOOL_TYPE_TEST_CT  2
1274 static tTestDesc aAvoid_Bool_TypeTests[] = {
1275   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1276   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1277
1278 /*
1279  *  Fix Command Arguments for Avoid_Bool_Type
1280  */
1281 static const char* apzAvoid_Bool_TypePatch[] = {
1282     "format",
1283     "#ifndef __cplusplus\n\
1284 %0\n\
1285 #endif",
1286     (char*)NULL };
1287
1288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1289  *
1290  *  Description of Avoid_Wchar_T_Type fix
1291  */
1292 tSCC zAvoid_Wchar_T_TypeName[] =
1293      "avoid_wchar_t_type";
1294
1295 /*
1296  *  File name selection pattern
1297  */
1298 #define zAvoid_Wchar_T_TypeList (char*)NULL
1299 /*
1300  *  Machine/OS name selection pattern
1301  */
1302 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1303
1304 /*
1305  *  content selection pattern - do fix if pattern found
1306  */
1307 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1308        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1309
1310 /*
1311  *  content bypass pattern - skip fix if pattern found
1312  */
1313 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1314        "__cplusplus";
1315 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1316        "_LINUX_NLS_H";
1317 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1318        "XFree86: xc/lib/X11/Xlib\\.h";
1319
1320 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1321 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1322   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1323   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1324   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1325   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1326
1327 /*
1328  *  Fix Command Arguments for Avoid_Wchar_T_Type
1329  */
1330 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1331     "format",
1332     "#ifndef __cplusplus\n\
1333 %0\n\
1334 #endif",
1335     (char*)NULL };
1336
1337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1338  *
1339  *  Description of Bad_Struct_Term fix
1340  */
1341 tSCC zBad_Struct_TermName[] =
1342      "bad_struct_term";
1343
1344 /*
1345  *  File name selection pattern
1346  */
1347 tSCC zBad_Struct_TermList[] =
1348   "|curses.h|";
1349 /*
1350  *  Machine/OS name selection pattern
1351  */
1352 #define apzBad_Struct_TermMachs (const char**)NULL
1353
1354 /*
1355  *  content selection pattern - do fix if pattern found
1356  */
1357 tSCC zBad_Struct_TermSelect0[] =
1358        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1359
1360 #define    BAD_STRUCT_TERM_TEST_CT  1
1361 static tTestDesc aBad_Struct_TermTests[] = {
1362   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1363
1364 /*
1365  *  Fix Command Arguments for Bad_Struct_Term
1366  */
1367 static const char* apzBad_Struct_TermPatch[] = {
1368     "format",
1369     "struct term;",
1370     (char*)NULL };
1371
1372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1373  *
1374  *  Description of Badquote fix
1375  */
1376 tSCC zBadquoteName[] =
1377      "badquote";
1378
1379 /*
1380  *  File name selection pattern
1381  */
1382 tSCC zBadquoteList[] =
1383   "|sundev/vuid_event.h|";
1384 /*
1385  *  Machine/OS name selection pattern
1386  */
1387 #define apzBadquoteMachs (const char**)NULL
1388
1389 /*
1390  *  content selection pattern - do fix if pattern found
1391  */
1392 tSCC zBadquoteSelect0[] =
1393        "doesn't";
1394
1395 #define    BADQUOTE_TEST_CT  1
1396 static tTestDesc aBadquoteTests[] = {
1397   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1398
1399 /*
1400  *  Fix Command Arguments for Badquote
1401  */
1402 static const char* apzBadquotePatch[] = {
1403     "format",
1404     "does not",
1405     (char*)NULL };
1406
1407 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1408  *
1409  *  Description of Broken_Assert_Stdio fix
1410  */
1411 tSCC zBroken_Assert_StdioName[] =
1412      "broken_assert_stdio";
1413
1414 /*
1415  *  File name selection pattern
1416  */
1417 tSCC zBroken_Assert_StdioList[] =
1418   "|assert.h|";
1419 /*
1420  *  Machine/OS name selection pattern
1421  */
1422 #define apzBroken_Assert_StdioMachs (const char**)NULL
1423
1424 /*
1425  *  content selection pattern - do fix if pattern found
1426  */
1427 tSCC zBroken_Assert_StdioSelect0[] =
1428        "stderr";
1429
1430 /*
1431  *  content bypass pattern - skip fix if pattern found
1432  */
1433 tSCC zBroken_Assert_StdioBypass0[] =
1434        "include.*stdio\\.h";
1435
1436 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1437 static tTestDesc aBroken_Assert_StdioTests[] = {
1438   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1439   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1440
1441 /*
1442  *  Fix Command Arguments for Broken_Assert_Stdio
1443  */
1444 static const char* apzBroken_Assert_StdioPatch[] = {
1445     "wrap",
1446     "#include <stdio.h>\n",
1447     (char*)NULL };
1448
1449 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1450  *
1451  *  Description of Broken_Assert_Stdlib fix
1452  */
1453 tSCC zBroken_Assert_StdlibName[] =
1454      "broken_assert_stdlib";
1455
1456 /*
1457  *  File name selection pattern
1458  */
1459 tSCC zBroken_Assert_StdlibList[] =
1460   "|assert.h|";
1461 /*
1462  *  Machine/OS name selection pattern
1463  */
1464 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1465
1466 /*
1467  *  content selection pattern - do fix if pattern found
1468  */
1469 tSCC zBroken_Assert_StdlibSelect0[] =
1470        "exit *\\(|abort *\\(";
1471
1472 /*
1473  *  content bypass pattern - skip fix if pattern found
1474  */
1475 tSCC zBroken_Assert_StdlibBypass0[] =
1476        "include.*stdlib\\.h";
1477
1478 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1479 static tTestDesc aBroken_Assert_StdlibTests[] = {
1480   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1481   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1482
1483 /*
1484  *  Fix Command Arguments for Broken_Assert_Stdlib
1485  */
1486 static const char* apzBroken_Assert_StdlibPatch[] = {
1487     "wrap",
1488     "#ifdef __cplusplus\n\
1489 #include <stdlib.h>\n\
1490 #endif\n",
1491     (char*)NULL };
1492
1493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1494  *
1495  *  Description of Broken_Cabs fix
1496  */
1497 tSCC zBroken_CabsName[] =
1498      "broken_cabs";
1499
1500 /*
1501  *  File name selection pattern
1502  */
1503 tSCC zBroken_CabsList[] =
1504   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1505 /*
1506  *  Machine/OS name selection pattern
1507  */
1508 #define apzBroken_CabsMachs (const char**)NULL
1509
1510 /*
1511  *  content selection pattern - do fix if pattern found
1512  */
1513 tSCC zBroken_CabsSelect0[] =
1514        "^extern[ \\t]+double[ \\t]+cabs";
1515
1516 #define    BROKEN_CABS_TEST_CT  1
1517 static tTestDesc aBroken_CabsTests[] = {
1518   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1519
1520 /*
1521  *  Fix Command Arguments for Broken_Cabs
1522  */
1523 static const char* apzBroken_CabsPatch[] = {
1524     "format",
1525     "",
1526     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1527     (char*)NULL };
1528
1529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1530  *
1531  *  Description of Bsd_Stdio_Attrs_Conflict fix
1532  */
1533 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1534      "bsd_stdio_attrs_conflict";
1535
1536 /*
1537  *  File name selection pattern
1538  */
1539 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1540   "|stdio.h|";
1541 /*
1542  *  Machine/OS name selection pattern
1543  */
1544 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1545         "*-*-*bsd*",
1546         "*-*-*darwin*",
1547         (const char*)NULL };
1548
1549 /*
1550  *  content selection pattern - do fix if pattern found
1551  */
1552 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1553        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1554
1555 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1556 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1557   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1558
1559 /*
1560  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1561  */
1562 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1563     "format",
1564     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1565 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1566 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1567     (char*)NULL };
1568
1569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1570  *
1571  *  Description of Ctrl_Quotes_Def fix
1572  */
1573 tSCC zCtrl_Quotes_DefName[] =
1574      "ctrl_quotes_def";
1575
1576 /*
1577  *  File name selection pattern
1578  */
1579 #define zCtrl_Quotes_DefList (char*)NULL
1580 /*
1581  *  Machine/OS name selection pattern
1582  */
1583 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1584
1585 /*
1586  *  content selection pattern - do fix if pattern found
1587  */
1588 tSCC zCtrl_Quotes_DefSelect0[] =
1589        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1590
1591 #define    CTRL_QUOTES_DEF_TEST_CT  1
1592 static tTestDesc aCtrl_Quotes_DefTests[] = {
1593   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1594
1595 /*
1596  *  Fix Command Arguments for Ctrl_Quotes_Def
1597  */
1598 static const char* apzCtrl_Quotes_DefPatch[] = {
1599     "char_macro_def",
1600     "CTRL",
1601     (char*)NULL };
1602
1603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1604  *
1605  *  Description of Ctrl_Quotes_Use fix
1606  */
1607 tSCC zCtrl_Quotes_UseName[] =
1608      "ctrl_quotes_use";
1609
1610 /*
1611  *  File name selection pattern
1612  */
1613 #define zCtrl_Quotes_UseList (char*)NULL
1614 /*
1615  *  Machine/OS name selection pattern
1616  */
1617 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1618
1619 /*
1620  *  content selection pattern - do fix if pattern found
1621  */
1622 tSCC zCtrl_Quotes_UseSelect0[] =
1623        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1624
1625 #define    CTRL_QUOTES_USE_TEST_CT  1
1626 static tTestDesc aCtrl_Quotes_UseTests[] = {
1627   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1628
1629 /*
1630  *  Fix Command Arguments for Ctrl_Quotes_Use
1631  */
1632 static const char* apzCtrl_Quotes_UsePatch[] = {
1633     "char_macro_use",
1634     "CTRL",
1635     (char*)NULL };
1636
1637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1638  *
1639  *  Description of Cxx_Unready fix
1640  */
1641 tSCC zCxx_UnreadyName[] =
1642      "cxx_unready";
1643
1644 /*
1645  *  File name selection pattern
1646  */
1647 tSCC zCxx_UnreadyList[] =
1648   "|sys/mman.h|rpc/types.h|";
1649 /*
1650  *  Machine/OS name selection pattern
1651  */
1652 #define apzCxx_UnreadyMachs (const char**)NULL
1653
1654 /*
1655  *  content selection pattern - do fix if pattern found
1656  */
1657 tSCC zCxx_UnreadySelect0[] =
1658        "[^#]+malloc.*;";
1659
1660 /*
1661  *  content bypass pattern - skip fix if pattern found
1662  */
1663 tSCC zCxx_UnreadyBypass0[] =
1664        "\"C\"|__BEGIN_DECLS";
1665
1666 #define    CXX_UNREADY_TEST_CT  2
1667 static tTestDesc aCxx_UnreadyTests[] = {
1668   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1669   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1670
1671 /*
1672  *  Fix Command Arguments for Cxx_Unready
1673  */
1674 static const char* apzCxx_UnreadyPatch[] = {
1675     "wrap",
1676     "#ifdef __cplusplus\n\
1677 extern \"C\" {\n\
1678 #endif\n",
1679     "#ifdef __cplusplus\n\
1680 }\n\
1681 #endif\n",
1682     (char*)NULL };
1683
1684 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1685  *
1686  *  Description of Darwin_Gcc4_Breakage fix
1687  */
1688 tSCC zDarwin_Gcc4_BreakageName[] =
1689      "darwin_gcc4_breakage";
1690
1691 /*
1692  *  File name selection pattern
1693  */
1694 tSCC zDarwin_Gcc4_BreakageList[] =
1695   "|AvailabilityMacros.h|";
1696 /*
1697  *  Machine/OS name selection pattern
1698  */
1699 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1700         "*-*-darwin*",
1701         (const char*)NULL };
1702
1703 /*
1704  *  content selection pattern - do fix if pattern found
1705  */
1706 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1707        "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1708
1709 #define    DARWIN_GCC4_BREAKAGE_TEST_CT  1
1710 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1711   { TT_EGREP,    zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1712
1713 /*
1714  *  Fix Command Arguments for Darwin_Gcc4_Breakage
1715  */
1716 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1717     "format",
1718     "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1719     (char*)NULL };
1720
1721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1722  *
1723  *  Description of Darwin_Private_Extern fix
1724  */
1725 tSCC zDarwin_Private_ExternName[] =
1726      "darwin_private_extern";
1727
1728 /*
1729  *  File name selection pattern
1730  */
1731 tSCC zDarwin_Private_ExternList[] =
1732   "|mach-o/dyld.h|";
1733 /*
1734  *  Machine/OS name selection pattern
1735  */
1736 tSCC* apzDarwin_Private_ExternMachs[] = {
1737         "*-*-darwin*",
1738         (const char*)NULL };
1739
1740 /*
1741  *  content selection pattern - do fix if pattern found
1742  */
1743 tSCC zDarwin_Private_ExternSelect0[] =
1744        "__private_extern__ [a-z_]+ _dyld_";
1745
1746 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1747 static tTestDesc aDarwin_Private_ExternTests[] = {
1748   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1749
1750 /*
1751  *  Fix Command Arguments for Darwin_Private_Extern
1752  */
1753 static const char* apzDarwin_Private_ExternPatch[] = {
1754     "format",
1755     "extern",
1756     "__private_extern__",
1757     (char*)NULL };
1758
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1760  *
1761  *  Description of Dec_Intern_Asm fix
1762  */
1763 tSCC zDec_Intern_AsmName[] =
1764      "dec_intern_asm";
1765
1766 /*
1767  *  File name selection pattern
1768  */
1769 tSCC zDec_Intern_AsmList[] =
1770   "|c_asm.h|";
1771 /*
1772  *  Machine/OS name selection pattern
1773  */
1774 #define apzDec_Intern_AsmMachs (const char**)NULL
1775 #define DEC_INTERN_ASM_TEST_CT  0
1776 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1777
1778 /*
1779  *  Fix Command Arguments for Dec_Intern_Asm
1780  */
1781 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1782     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1783 #ifdef __DECC\n",
1784     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1785 #endif\n",
1786     (char*)NULL };
1787
1788 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1789  *
1790  *  Description of Djgpp_Wchar_H fix
1791  */
1792 tSCC zDjgpp_Wchar_HName[] =
1793      "djgpp_wchar_h";
1794
1795 /*
1796  *  File name selection pattern
1797  */
1798 #define zDjgpp_Wchar_HList (char*)NULL
1799 /*
1800  *  Machine/OS name selection pattern
1801  */
1802 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1803
1804 /*
1805  *  content selection pattern - do fix if pattern found
1806  */
1807 tSCC zDjgpp_Wchar_HSelect0[] =
1808        "__DJ_wint_t";
1809
1810 /*
1811  *  content bypass pattern - skip fix if pattern found
1812  */
1813 tSCC zDjgpp_Wchar_HBypass0[] =
1814        "sys/djtypes.h";
1815
1816 #define    DJGPP_WCHAR_H_TEST_CT  2
1817 static tTestDesc aDjgpp_Wchar_HTests[] = {
1818   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1819   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1820
1821 /*
1822  *  Fix Command Arguments for Djgpp_Wchar_H
1823  */
1824 static const char* apzDjgpp_Wchar_HPatch[] = {
1825     "format",
1826     "%0\n\
1827 #include <sys/djtypes.h>",
1828     "#include <stddef.h>",
1829     (char*)NULL };
1830
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1832  *
1833  *  Description of Ecd_Cursor fix
1834  */
1835 tSCC zEcd_CursorName[] =
1836      "ecd_cursor";
1837
1838 /*
1839  *  File name selection pattern
1840  */
1841 tSCC zEcd_CursorList[] =
1842   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1843 /*
1844  *  Machine/OS name selection pattern
1845  */
1846 #define apzEcd_CursorMachs (const char**)NULL
1847
1848 /*
1849  *  content selection pattern - do fix if pattern found
1850  */
1851 tSCC zEcd_CursorSelect0[] =
1852        "ecd\\.cursor";
1853
1854 #define    ECD_CURSOR_TEST_CT  1
1855 static tTestDesc aEcd_CursorTests[] = {
1856   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1857
1858 /*
1859  *  Fix Command Arguments for Ecd_Cursor
1860  */
1861 static const char* apzEcd_CursorPatch[] = {
1862     "format",
1863     "ecd_cursor",
1864     (char*)NULL };
1865
1866 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1867  *
1868  *  Description of Exception_Structure fix
1869  */
1870 tSCC zException_StructureName[] =
1871      "exception_structure";
1872
1873 /*
1874  *  File name selection pattern
1875  */
1876 tSCC zException_StructureList[] =
1877   "|math.h|";
1878 /*
1879  *  Machine/OS name selection pattern
1880  */
1881 #define apzException_StructureMachs (const char**)NULL
1882
1883 /*
1884  *  content selection pattern - do fix if pattern found
1885  */
1886 tSCC zException_StructureSelect0[] =
1887        "matherr";
1888
1889 /*
1890  *  content bypass pattern - skip fix if pattern found
1891  */
1892 tSCC zException_StructureBypass0[] =
1893        "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
1894
1895 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1896 static tTestDesc aException_StructureTests[] = {
1897   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1898   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1899
1900 /*
1901  *  Fix Command Arguments for Exception_Structure
1902  */
1903 static const char* apzException_StructurePatch[] = {
1904     "wrap",
1905     "struct exception;\n",
1906     (char*)NULL };
1907
1908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1909  *
1910  *  Description of Freebsd_Gcc3_Breakage fix
1911  */
1912 tSCC zFreebsd_Gcc3_BreakageName[] =
1913      "freebsd_gcc3_breakage";
1914
1915 /*
1916  *  File name selection pattern
1917  */
1918 tSCC zFreebsd_Gcc3_BreakageList[] =
1919   "|sys/cdefs.h|";
1920 /*
1921  *  Machine/OS name selection pattern
1922  */
1923 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1924         "*-*-freebsd*",
1925         (const char*)NULL };
1926
1927 /*
1928  *  content selection pattern - do fix if pattern found
1929  */
1930 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1931        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1932
1933 /*
1934  *  content bypass pattern - skip fix if pattern found
1935  */
1936 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1937        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1938
1939 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1940 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1941   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1942   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1943
1944 /*
1945  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1946  */
1947 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1948     "format",
1949     "%0 || __GNUC__ >= 3",
1950     (char*)NULL };
1951
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1953  *
1954  *  Description of Freebsd_Gcc4_Breakage fix
1955  */
1956 tSCC zFreebsd_Gcc4_BreakageName[] =
1957      "freebsd_gcc4_breakage";
1958
1959 /*
1960  *  File name selection pattern
1961  */
1962 tSCC zFreebsd_Gcc4_BreakageList[] =
1963   "|sys/cdefs.h|";
1964 /*
1965  *  Machine/OS name selection pattern
1966  */
1967 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
1968         "*-*-freebsd*",
1969         (const char*)NULL };
1970
1971 /*
1972  *  content selection pattern - do fix if pattern found
1973  */
1974 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
1975        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
1976
1977 #define    FREEBSD_GCC4_BREAKAGE_TEST_CT  1
1978 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
1979   { TT_EGREP,    zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1980
1981 /*
1982  *  Fix Command Arguments for Freebsd_Gcc4_Breakage
1983  */
1984 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
1985     "format",
1986     "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
1987     (char*)NULL };
1988
1989 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1990  *
1991  *  Description of Gnu_Types fix
1992  */
1993 tSCC zGnu_TypesName[] =
1994      "gnu_types";
1995
1996 /*
1997  *  File name selection pattern
1998  */
1999 tSCC zGnu_TypesList[] =
2000   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2001 /*
2002  *  Machine/OS name selection pattern
2003  */
2004 tSCC* apzGnu_TypesMachs[] = {
2005         "*-*-solaris2.1[0-9]*",
2006         (const char*)NULL };
2007
2008 /*
2009  *  content selection pattern - do fix if pattern found
2010  */
2011 tSCC zGnu_TypesSelect0[] =
2012        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2013
2014 /*
2015  *  content bypass pattern - skip fix if pattern found
2016  */
2017 tSCC zGnu_TypesBypass0[] =
2018        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2019
2020 #define    GNU_TYPES_TEST_CT  2
2021 static tTestDesc aGnu_TypesTests[] = {
2022   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
2023   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
2024
2025 /*
2026  *  Fix Command Arguments for Gnu_Types
2027  */
2028 static const char* apzGnu_TypesPatch[] = {
2029     "gnu_type",
2030     (char*)NULL };
2031
2032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2033  *
2034  *  Description of Hp_Inline fix
2035  */
2036 tSCC zHp_InlineName[] =
2037      "hp_inline";
2038
2039 /*
2040  *  File name selection pattern
2041  */
2042 tSCC zHp_InlineList[] =
2043   "|sys/spinlock.h|machine/machparam.h|";
2044 /*
2045  *  Machine/OS name selection pattern
2046  */
2047 #define apzHp_InlineMachs (const char**)NULL
2048
2049 /*
2050  *  content selection pattern - do fix if pattern found
2051  */
2052 tSCC zHp_InlineSelect0[] =
2053        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2054
2055 #define    HP_INLINE_TEST_CT  1
2056 static tTestDesc aHp_InlineTests[] = {
2057   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
2058
2059 /*
2060  *  Fix Command Arguments for Hp_Inline
2061  */
2062 static const char* apzHp_InlinePatch[] = {
2063     "format",
2064     "%1<machine/%2.h>",
2065     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2066     (char*)NULL };
2067
2068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2069  *
2070  *  Description of Hp_Sysfile fix
2071  */
2072 tSCC zHp_SysfileName[] =
2073      "hp_sysfile";
2074
2075 /*
2076  *  File name selection pattern
2077  */
2078 tSCC zHp_SysfileList[] =
2079   "|sys/file.h|";
2080 /*
2081  *  Machine/OS name selection pattern
2082  */
2083 #define apzHp_SysfileMachs (const char**)NULL
2084
2085 /*
2086  *  content selection pattern - do fix if pattern found
2087  */
2088 tSCC zHp_SysfileSelect0[] =
2089        "HPUX_SOURCE";
2090
2091 #define    HP_SYSFILE_TEST_CT  1
2092 static tTestDesc aHp_SysfileTests[] = {
2093   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
2094
2095 /*
2096  *  Fix Command Arguments for Hp_Sysfile
2097  */
2098 static const char* apzHp_SysfilePatch[] = {
2099     "format",
2100     "(struct file *, ...)",
2101     "\\(\\.\\.\\.\\)",
2102     (char*)NULL };
2103
2104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2105  *
2106  *  Description of Hpux10_Cpp_Pow_Inline fix
2107  */
2108 tSCC zHpux10_Cpp_Pow_InlineName[] =
2109      "hpux10_cpp_pow_inline";
2110
2111 /*
2112  *  File name selection pattern
2113  */
2114 tSCC zHpux10_Cpp_Pow_InlineList[] =
2115   "|fixinc-test-limits.h|math.h|";
2116 /*
2117  *  Machine/OS name selection pattern
2118  */
2119 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2120
2121 /*
2122  *  content selection pattern - do fix if pattern found
2123  */
2124 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2125        "^# +ifdef +__cplusplus\n\
2126  +\\}\n\
2127  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2128 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2129  +\\}\n\
2130  +extern +\"C\" +\\{\n\
2131 #else\n\
2132 # +endif";
2133
2134 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
2135 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2136   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2137
2138 /*
2139  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2140  */
2141 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2142     "format",
2143     "",
2144     (char*)NULL };
2145
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2147  *
2148  *  Description of Hpux11_Cpp_Pow_Inline fix
2149  */
2150 tSCC zHpux11_Cpp_Pow_InlineName[] =
2151      "hpux11_cpp_pow_inline";
2152
2153 /*
2154  *  File name selection pattern
2155  */
2156 tSCC zHpux11_Cpp_Pow_InlineList[] =
2157   "|math.h|";
2158 /*
2159  *  Machine/OS name selection pattern
2160  */
2161 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2162
2163 /*
2164  *  content selection pattern - do fix if pattern found
2165  */
2166 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2167        " +inline double pow\\(double d,int expon\\) \\{\n\
2168  +return pow\\(d, \\(double\\)expon\\);\n\
2169  +\\}\n";
2170
2171 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2172 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2173   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2174
2175 /*
2176  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2177  */
2178 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2179     "format",
2180     "",
2181     (char*)NULL };
2182
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2184  *
2185  *  Description of Hpux10_Ctype_Declarations1 fix
2186  */
2187 tSCC zHpux10_Ctype_Declarations1Name[] =
2188      "hpux10_ctype_declarations1";
2189
2190 /*
2191  *  File name selection pattern
2192  */
2193 tSCC zHpux10_Ctype_Declarations1List[] =
2194   "|ctype.h|";
2195 /*
2196  *  Machine/OS name selection pattern
2197  */
2198 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2199
2200 /*
2201  *  content selection pattern - do fix if pattern found
2202  */
2203 tSCC zHpux10_Ctype_Declarations1Select0[] =
2204        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2205
2206 /*
2207  *  content bypass pattern - skip fix if pattern found
2208  */
2209 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2210        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2211
2212 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2213 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2214   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2215   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2216
2217 /*
2218  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2219  */
2220 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2221     "format",
2222     "#ifdef _PROTOTYPES\n\
2223 extern int __tolower(int);\n\
2224 extern int __toupper(int);\n\
2225 #else /* NOT _PROTOTYPES */\n\
2226 extern int __tolower();\n\
2227 extern int __toupper();\n\
2228 #endif /* _PROTOTYPES */\n\n\
2229 %0\n",
2230     (char*)NULL };
2231
2232 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2233  *
2234  *  Description of Hpux10_Ctype_Declarations2 fix
2235  */
2236 tSCC zHpux10_Ctype_Declarations2Name[] =
2237      "hpux10_ctype_declarations2";
2238
2239 /*
2240  *  File name selection pattern
2241  */
2242 tSCC zHpux10_Ctype_Declarations2List[] =
2243   "|ctype.h|";
2244 /*
2245  *  Machine/OS name selection pattern
2246  */
2247 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2248
2249 /*
2250  *  content selection pattern - do fix if pattern found
2251  */
2252 tSCC zHpux10_Ctype_Declarations2Select0[] =
2253        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2254
2255 /*
2256  *  content bypass pattern - skip fix if pattern found
2257  */
2258 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2259        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2260
2261 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2262 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2263   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2264   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2265
2266 /*
2267  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2268  */
2269 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2270     "format",
2271     "%0\n\n\
2272 #ifdef _PROTOTYPES\n\
2273      extern int _isalnum(int);\n\
2274      extern int _isalpha(int);\n\
2275      extern int _iscntrl(int);\n\
2276      extern int _isdigit(int);\n\
2277      extern int _isgraph(int);\n\
2278      extern int _islower(int);\n\
2279      extern int _isprint(int);\n\
2280      extern int _ispunct(int);\n\
2281      extern int _isspace(int);\n\
2282      extern int _isupper(int);\n\
2283      extern int _isxdigit(int);\n\
2284 #  else /* not _PROTOTYPES */\n\
2285      extern int _isalnum();\n\
2286      extern int _isalpha();\n\
2287      extern int _iscntrl();\n\
2288      extern int _isdigit();\n\
2289      extern int _isgraph();\n\
2290      extern int _islower();\n\
2291      extern int _isprint();\n\
2292      extern int _ispunct();\n\
2293      extern int _isspace();\n\
2294      extern int _isupper();\n\
2295      extern int _isxdigit();\n\
2296 #endif /* _PROTOTYPES */\n",
2297     (char*)NULL };
2298
2299 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2300  *
2301  *  Description of Hpux10_Stdio_Declarations fix
2302  */
2303 tSCC zHpux10_Stdio_DeclarationsName[] =
2304      "hpux10_stdio_declarations";
2305
2306 /*
2307  *  File name selection pattern
2308  */
2309 tSCC zHpux10_Stdio_DeclarationsList[] =
2310   "|stdio.h|";
2311 /*
2312  *  Machine/OS name selection pattern
2313  */
2314 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2315
2316 /*
2317  *  content selection pattern - do fix if pattern found
2318  */
2319 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2320        "^#[ \t]*define _iob[ \t]*__iob";
2321
2322 /*
2323  *  content bypass pattern - skip fix if pattern found
2324  */
2325 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2326        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2327
2328 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2329 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2330   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2331   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2332
2333 /*
2334  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2335  */
2336 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2337     "format",
2338     "%0\n\n\
2339 #  if defined(__STDC__) || defined(__cplusplus)\n\
2340      extern int snprintf(char *, size_t, const char *, ...);\n\
2341      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2342 #  else /* not __STDC__) || __cplusplus */\n\
2343      extern int snprintf();\n\
2344      extern int vsnprintf();\n\
2345 #  endif /* __STDC__) || __cplusplus */\n",
2346     (char*)NULL };
2347
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2349  *
2350  *  Description of Hpux11_Abs fix
2351  */
2352 tSCC zHpux11_AbsName[] =
2353      "hpux11_abs";
2354
2355 /*
2356  *  File name selection pattern
2357  */
2358 tSCC zHpux11_AbsList[] =
2359   "|stdlib.h|";
2360 /*
2361  *  Machine/OS name selection pattern
2362  */
2363 tSCC* apzHpux11_AbsMachs[] = {
2364         "ia64-hp-hpux11*",
2365         (const char*)NULL };
2366
2367 /*
2368  *  content selection pattern - do fix if pattern found
2369  */
2370 tSCC zHpux11_AbsSelect0[] =
2371        "ifndef _MATH_INCLUDED";
2372
2373 #define    HPUX11_ABS_TEST_CT  1
2374 static tTestDesc aHpux11_AbsTests[] = {
2375   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2376
2377 /*
2378  *  Fix Command Arguments for Hpux11_Abs
2379  */
2380 static const char* apzHpux11_AbsPatch[] = {
2381     "format",
2382     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2383     (char*)NULL };
2384
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2386  *
2387  *  Description of Hpux11_Fabsf fix
2388  */
2389 tSCC zHpux11_FabsfName[] =
2390      "hpux11_fabsf";
2391
2392 /*
2393  *  File name selection pattern
2394  */
2395 tSCC zHpux11_FabsfList[] =
2396   "|math.h|";
2397 /*
2398  *  Machine/OS name selection pattern
2399  */
2400 #define apzHpux11_FabsfMachs (const char**)NULL
2401
2402 /*
2403  *  content selection pattern - do fix if pattern found
2404  */
2405 tSCC zHpux11_FabsfSelect0[] =
2406        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2407
2408 /*
2409  *  content bypass pattern - skip fix if pattern found
2410  */
2411 tSCC zHpux11_FabsfBypass0[] =
2412        "__cplusplus";
2413
2414 #define    HPUX11_FABSF_TEST_CT  2
2415 static tTestDesc aHpux11_FabsfTests[] = {
2416   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2417   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2418
2419 /*
2420  *  Fix Command Arguments for Hpux11_Fabsf
2421  */
2422 static const char* apzHpux11_FabsfPatch[] = {
2423     "format",
2424     "#ifndef __cplusplus\n\
2425 %0\n\
2426 #endif",
2427     (char*)NULL };
2428
2429 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2430  *
2431  *  Description of Hpux11_Size_T fix
2432  */
2433 tSCC zHpux11_Size_TName[] =
2434      "hpux11_size_t";
2435
2436 /*
2437  *  File name selection pattern
2438  */
2439 #define zHpux11_Size_TList (char*)NULL
2440 /*
2441  *  Machine/OS name selection pattern
2442  */
2443 tSCC* apzHpux11_Size_TMachs[] = {
2444         "*-hp-hpux11*",
2445         (const char*)NULL };
2446
2447 /*
2448  *  content selection pattern - do fix if pattern found
2449  */
2450 tSCC zHpux11_Size_TSelect0[] =
2451        "__size_t";
2452
2453 #define    HPUX11_SIZE_T_TEST_CT  1
2454 static tTestDesc aHpux11_Size_TTests[] = {
2455   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2456
2457 /*
2458  *  Fix Command Arguments for Hpux11_Size_T
2459  */
2460 static const char* apzHpux11_Size_TPatch[] = {
2461     "format",
2462     "_hpux_size_t",
2463     (char*)NULL };
2464
2465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2466  *
2467  *  Description of Hpux11_Snprintf fix
2468  */
2469 tSCC zHpux11_SnprintfName[] =
2470      "hpux11_snprintf";
2471
2472 /*
2473  *  File name selection pattern
2474  */
2475 tSCC zHpux11_SnprintfList[] =
2476   "|stdio.h|";
2477 /*
2478  *  Machine/OS name selection pattern
2479  */
2480 #define apzHpux11_SnprintfMachs (const char**)NULL
2481
2482 /*
2483  *  content selection pattern - do fix if pattern found
2484  */
2485 tSCC zHpux11_SnprintfSelect0[] =
2486        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2487
2488 #define    HPUX11_SNPRINTF_TEST_CT  1
2489 static tTestDesc aHpux11_SnprintfTests[] = {
2490   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2491
2492 /*
2493  *  Fix Command Arguments for Hpux11_Snprintf
2494  */
2495 static const char* apzHpux11_SnprintfPatch[] = {
2496     "format",
2497     "%1 const %3",
2498     (char*)NULL };
2499
2500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2501  *
2502  *  Description of Hpux11_Uint32_C fix
2503  */
2504 tSCC zHpux11_Uint32_CName[] =
2505      "hpux11_uint32_c";
2506
2507 /*
2508  *  File name selection pattern
2509  */
2510 tSCC zHpux11_Uint32_CList[] =
2511   "|inttypes.h|";
2512 /*
2513  *  Machine/OS name selection pattern
2514  */
2515 #define apzHpux11_Uint32_CMachs (const char**)NULL
2516
2517 /*
2518  *  content selection pattern - do fix if pattern found
2519  */
2520 tSCC zHpux11_Uint32_CSelect0[] =
2521        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2522
2523 #define    HPUX11_UINT32_C_TEST_CT  1
2524 static tTestDesc aHpux11_Uint32_CTests[] = {
2525   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2526
2527 /*
2528  *  Fix Command Arguments for Hpux11_Uint32_C
2529  */
2530 static const char* apzHpux11_Uint32_CPatch[] = {
2531     "format",
2532     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2533     (char*)NULL };
2534
2535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2536  *
2537  *  Description of Hpux11_Vsnprintf fix
2538  */
2539 tSCC zHpux11_VsnprintfName[] =
2540      "hpux11_vsnprintf";
2541
2542 /*
2543  *  File name selection pattern
2544  */
2545 tSCC zHpux11_VsnprintfList[] =
2546   "|stdio.h|";
2547 /*
2548  *  Machine/OS name selection pattern
2549  */
2550 #define apzHpux11_VsnprintfMachs (const char**)NULL
2551
2552 /*
2553  *  content selection pattern - do fix if pattern found
2554  */
2555 tSCC zHpux11_VsnprintfSelect0[] =
2556        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2557
2558 #define    HPUX11_VSNPRINTF_TEST_CT  1
2559 static tTestDesc aHpux11_VsnprintfTests[] = {
2560   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2561
2562 /*
2563  *  Fix Command Arguments for Hpux11_Vsnprintf
2564  */
2565 static const char* apzHpux11_VsnprintfPatch[] = {
2566     "format",
2567     "%1 __va_list);",
2568     (char*)NULL };
2569
2570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2571  *
2572  *  Description of Hpux8_Bogus_Inlines fix
2573  */
2574 tSCC zHpux8_Bogus_InlinesName[] =
2575      "hpux8_bogus_inlines";
2576
2577 /*
2578  *  File name selection pattern
2579  */
2580 tSCC zHpux8_Bogus_InlinesList[] =
2581   "|math.h|";
2582 /*
2583  *  Machine/OS name selection pattern
2584  */
2585 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2586
2587 /*
2588  *  content selection pattern - do fix if pattern found
2589  */
2590 tSCC zHpux8_Bogus_InlinesSelect0[] =
2591        "inline";
2592
2593 /*
2594  *  content bypass pattern - skip fix if pattern found
2595  */
2596 tSCC zHpux8_Bogus_InlinesBypass0[] =
2597        "__GNUG__";
2598
2599 #define    HPUX8_BOGUS_INLINES_TEST_CT  2
2600 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2601   { TT_NEGREP,   zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2602   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2603
2604 /*
2605  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2606  */
2607 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2608     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2609     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2610     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2611     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2612     (char*)NULL };
2613
2614 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2615  *
2616  *  Description of Hpux_Ctype_Macros fix
2617  */
2618 tSCC zHpux_Ctype_MacrosName[] =
2619      "hpux_ctype_macros";
2620
2621 /*
2622  *  File name selection pattern
2623  */
2624 tSCC zHpux_Ctype_MacrosList[] =
2625   "|ctype.h|";
2626 /*
2627  *  Machine/OS name selection pattern
2628  */
2629 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2630
2631 /*
2632  *  content selection pattern - do fix if pattern found
2633  */
2634 tSCC zHpux_Ctype_MacrosSelect0[] =
2635        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2636
2637 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2638 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2639   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2640
2641 /*
2642  *  Fix Command Arguments for Hpux_Ctype_Macros
2643  */
2644 static const char* apzHpux_Ctype_MacrosPatch[] = {
2645     "format",
2646     "%1(int)%3",
2647     (char*)NULL };
2648
2649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2650  *
2651  *  Description of Hpux_Htonl fix
2652  */
2653 tSCC zHpux_HtonlName[] =
2654      "hpux_htonl";
2655
2656 /*
2657  *  File name selection pattern
2658  */
2659 tSCC zHpux_HtonlList[] =
2660   "|netinet/in.h|";
2661 /*
2662  *  Machine/OS name selection pattern
2663  */
2664 #define apzHpux_HtonlMachs (const char**)NULL
2665
2666 /*
2667  *  content selection pattern - do fix if pattern found
2668  */
2669 tSCC zHpux_HtonlSelect0[] =
2670        "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2671 (/\\*\n\
2672  \\* Macros for number representation conversion\\.\n\
2673  \\*/\n\
2674 #ifndef ntohl)";
2675
2676 #define    HPUX_HTONL_TEST_CT  1
2677 static tTestDesc aHpux_HtonlTests[] = {
2678   { TT_EGREP,    zHpux_HtonlSelect0, (regex_t*)NULL }, };
2679
2680 /*
2681  *  Fix Command Arguments for Hpux_Htonl
2682  */
2683 static const char* apzHpux_HtonlPatch[] = {
2684     "format",
2685     "#if 1\n\
2686 %1",
2687     (char*)NULL };
2688
2689 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2690  *
2691  *  Description of Hpux_Long_Double fix
2692  */
2693 tSCC zHpux_Long_DoubleName[] =
2694      "hpux_long_double";
2695
2696 /*
2697  *  File name selection pattern
2698  */
2699 tSCC zHpux_Long_DoubleList[] =
2700   "|stdlib.h|";
2701 /*
2702  *  Machine/OS name selection pattern
2703  */
2704 #define apzHpux_Long_DoubleMachs (const char**)NULL
2705
2706 /*
2707  *  content selection pattern - do fix if pattern found
2708  */
2709 tSCC zHpux_Long_DoubleSelect0[] =
2710        "extern[ \t]long_double[ \t]strtold";
2711
2712 /*
2713  *  content bypass pattern - skip fix if pattern found
2714  */
2715 tSCC zHpux_Long_DoubleBypass0[] =
2716        "long_double_t";
2717
2718 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2719 static tTestDesc aHpux_Long_DoubleTests[] = {
2720   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2721   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2722
2723 /*
2724  *  Fix Command Arguments for Hpux_Long_Double
2725  */
2726 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2727     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2728     "-e", "s/long_double/long double/g",
2729     (char*)NULL };
2730
2731 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2732  *
2733  *  Description of Hpux_Systime fix
2734  */
2735 tSCC zHpux_SystimeName[] =
2736      "hpux_systime";
2737
2738 /*
2739  *  File name selection pattern
2740  */
2741 tSCC zHpux_SystimeList[] =
2742   "|sys/time.h|";
2743 /*
2744  *  Machine/OS name selection pattern
2745  */
2746 #define apzHpux_SystimeMachs (const char**)NULL
2747
2748 /*
2749  *  content selection pattern - do fix if pattern found
2750  */
2751 tSCC zHpux_SystimeSelect0[] =
2752        "^extern struct sigevent;";
2753
2754 #define    HPUX_SYSTIME_TEST_CT  1
2755 static tTestDesc aHpux_SystimeTests[] = {
2756   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2757
2758 /*
2759  *  Fix Command Arguments for Hpux_Systime
2760  */
2761 static const char* apzHpux_SystimePatch[] = {
2762     "format",
2763     "struct sigevent;",
2764     (char*)NULL };
2765
2766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2767  *
2768  *  Description of Int_Abort_Free_And_Exit fix
2769  */
2770 tSCC zInt_Abort_Free_And_ExitName[] =
2771      "int_abort_free_and_exit";
2772
2773 /*
2774  *  File name selection pattern
2775  */
2776 tSCC zInt_Abort_Free_And_ExitList[] =
2777   "|stdlib.h|";
2778 /*
2779  *  Machine/OS name selection pattern
2780  */
2781 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2782
2783 /*
2784  *  content selection pattern - do fix if pattern found
2785  */
2786 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2787        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2788
2789 /*
2790  *  content bypass pattern - skip fix if pattern found
2791  */
2792 tSCC zInt_Abort_Free_And_ExitBypass0[] =
2793        "_CLASSIC_ANSI_TYPES";
2794
2795 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  2
2796 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2797   { TT_NEGREP,   zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
2798   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2799
2800 /*
2801  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2802  */
2803 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2804     "format",
2805     "void\t%1(",
2806     (char*)NULL };
2807
2808 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2809  *
2810  *  Description of Io_Quotes_Def fix
2811  */
2812 tSCC zIo_Quotes_DefName[] =
2813      "io_quotes_def";
2814
2815 /*
2816  *  File name selection pattern
2817  */
2818 #define zIo_Quotes_DefList (char*)NULL
2819 /*
2820  *  Machine/OS name selection pattern
2821  */
2822 #define apzIo_Quotes_DefMachs (const char**)NULL
2823
2824 /*
2825  *  content selection pattern - do fix if pattern found
2826  */
2827 tSCC zIo_Quotes_DefSelect0[] =
2828        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2829
2830 #define    IO_QUOTES_DEF_TEST_CT  1
2831 static tTestDesc aIo_Quotes_DefTests[] = {
2832   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2833
2834 /*
2835  *  Fix Command Arguments for Io_Quotes_Def
2836  */
2837 static const char* apzIo_Quotes_DefPatch[] = {
2838     "char_macro_def",
2839     "IO",
2840     (char*)NULL };
2841
2842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2843  *
2844  *  Description of Io_Quotes_Use fix
2845  */
2846 tSCC zIo_Quotes_UseName[] =
2847      "io_quotes_use";
2848
2849 /*
2850  *  File name selection pattern
2851  */
2852 #define zIo_Quotes_UseList (char*)NULL
2853 /*
2854  *  Machine/OS name selection pattern
2855  */
2856 #define apzIo_Quotes_UseMachs (const char**)NULL
2857
2858 /*
2859  *  content selection pattern - do fix if pattern found
2860  */
2861 tSCC zIo_Quotes_UseSelect0[] =
2862        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2863
2864 #define    IO_QUOTES_USE_TEST_CT  1
2865 static tTestDesc aIo_Quotes_UseTests[] = {
2866   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2867
2868 /*
2869  *  Fix Command Arguments for Io_Quotes_Use
2870  */
2871 static const char* apzIo_Quotes_UsePatch[] = {
2872     "char_macro_use",
2873     "IO",
2874     (char*)NULL };
2875
2876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2877  *
2878  *  Description of Ip_Missing_Semi fix
2879  */
2880 tSCC zIp_Missing_SemiName[] =
2881      "ip_missing_semi";
2882
2883 /*
2884  *  File name selection pattern
2885  */
2886 tSCC zIp_Missing_SemiList[] =
2887   "|netinet/ip.h|";
2888 /*
2889  *  Machine/OS name selection pattern
2890  */
2891 #define apzIp_Missing_SemiMachs (const char**)NULL
2892
2893 /*
2894  *  content selection pattern - do fix if pattern found
2895  */
2896 tSCC zIp_Missing_SemiSelect0[] =
2897        "}$";
2898
2899 #define    IP_MISSING_SEMI_TEST_CT  1
2900 static tTestDesc aIp_Missing_SemiTests[] = {
2901   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2902
2903 /*
2904  *  Fix Command Arguments for Ip_Missing_Semi
2905  */
2906 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2907     "-e", "/^struct/,/^};/s/}$/};/",
2908     (char*)NULL };
2909
2910 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2911  *
2912  *  Description of Irix___Restrict fix
2913  */
2914 tSCC zIrix___RestrictName[] =
2915      "irix___restrict";
2916
2917 /*
2918  *  File name selection pattern
2919  */
2920 tSCC zIrix___RestrictList[] =
2921   "|internal/sgimacros.h|";
2922 /*
2923  *  Machine/OS name selection pattern
2924  */
2925 tSCC* apzIrix___RestrictMachs[] = {
2926         "mips-sgi-irix6.5",
2927         (const char*)NULL };
2928
2929 /*
2930  *  content selection pattern - do fix if pattern found
2931  */
2932 tSCC zIrix___RestrictSelect0[] =
2933        "(#ifdef __c99\n\
2934 )(#[ \t]*define __restrict restrict)";
2935
2936 #define    IRIX___RESTRICT_TEST_CT  1
2937 static tTestDesc aIrix___RestrictTests[] = {
2938   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2939
2940 /*
2941  *  Fix Command Arguments for Irix___Restrict
2942  */
2943 static const char* apzIrix___RestrictPatch[] = {
2944     "format",
2945     "%1#  ifndef __cplusplus\n\
2946 %2\n\
2947 #  endif",
2948     (char*)NULL };
2949
2950 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2951  *
2952  *  Description of Irix___Generic1 fix
2953  */
2954 tSCC zIrix___Generic1Name[] =
2955      "irix___generic1";
2956
2957 /*
2958  *  File name selection pattern
2959  */
2960 tSCC zIrix___Generic1List[] =
2961   "|internal/math_core.h|";
2962 /*
2963  *  Machine/OS name selection pattern
2964  */
2965 tSCC* apzIrix___Generic1Machs[] = {
2966         "mips-sgi-irix6.5",
2967         (const char*)NULL };
2968
2969 /*
2970  *  content selection pattern - do fix if pattern found
2971  */
2972 tSCC zIrix___Generic1Select0[] =
2973        "#define ([a-z]+)\\(x\\) *__generic.*";
2974
2975 #define    IRIX___GENERIC1_TEST_CT  1
2976 static tTestDesc aIrix___Generic1Tests[] = {
2977   { TT_EGREP,    zIrix___Generic1Select0, (regex_t*)NULL }, };
2978
2979 /*
2980  *  Fix Command Arguments for Irix___Generic1
2981  */
2982 static const char* apzIrix___Generic1Patch[] = {
2983     "format",
2984     "extern int %1(double);\n\
2985 extern int %1f(float);\n\
2986 extern int %1l(long double);\n\
2987 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
2988                : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
2989                : _%1l(x))\n",
2990     (char*)NULL };
2991
2992 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2993  *
2994  *  Description of Irix___Generic2 fix
2995  */
2996 tSCC zIrix___Generic2Name[] =
2997      "irix___generic2";
2998
2999 /*
3000  *  File name selection pattern
3001  */
3002 tSCC zIrix___Generic2List[] =
3003   "|internal/math_core.h|";
3004 /*
3005  *  Machine/OS name selection pattern
3006  */
3007 tSCC* apzIrix___Generic2Machs[] = {
3008         "mips-sgi-irix6.5",
3009         (const char*)NULL };
3010
3011 /*
3012  *  content selection pattern - do fix if pattern found
3013  */
3014 tSCC zIrix___Generic2Select0[] =
3015        "#define ([a-z]+)\\(x,y\\) *__generic.*";
3016
3017 #define    IRIX___GENERIC2_TEST_CT  1
3018 static tTestDesc aIrix___Generic2Tests[] = {
3019   { TT_EGREP,    zIrix___Generic2Select0, (regex_t*)NULL }, };
3020
3021 /*
3022  *  Fix Command Arguments for Irix___Generic2
3023  */
3024 static const char* apzIrix___Generic2Patch[] = {
3025     "format",
3026     "#define %1(x,y) \\\n\
3027   ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3028    : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3029    : _%1l(x,y))\n",
3030     (char*)NULL };
3031
3032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3033  *
3034  *  Description of Irix_Asm_Apostrophe fix
3035  */
3036 tSCC zIrix_Asm_ApostropheName[] =
3037      "irix_asm_apostrophe";
3038
3039 /*
3040  *  File name selection pattern
3041  */
3042 tSCC zIrix_Asm_ApostropheList[] =
3043   "|sys/asm.h|";
3044 /*
3045  *  Machine/OS name selection pattern
3046  */
3047 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3048
3049 /*
3050  *  content selection pattern - do fix if pattern found
3051  */
3052 tSCC zIrix_Asm_ApostropheSelect0[] =
3053        "^[ \t]*#.*[Ww]e're";
3054
3055 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
3056 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3057   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3058
3059 /*
3060  *  Fix Command Arguments for Irix_Asm_Apostrophe
3061  */
3062 static const char* apzIrix_Asm_ApostrophePatch[] = {
3063     "format",
3064     "%1 are",
3065     "^([ \t]*#.*[Ww]e)'re",
3066     (char*)NULL };
3067
3068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3069  *
3070  *  Description of Irix_Limits_Const fix
3071  */
3072 tSCC zIrix_Limits_ConstName[] =
3073      "irix_limits_const";
3074
3075 /*
3076  *  File name selection pattern
3077  */
3078 tSCC zIrix_Limits_ConstList[] =
3079   "|fixinc-test-limits.h|limits.h|";
3080 /*
3081  *  Machine/OS name selection pattern
3082  */
3083 #define apzIrix_Limits_ConstMachs (const char**)NULL
3084
3085 /*
3086  *  content selection pattern - do fix if pattern found
3087  */
3088 tSCC zIrix_Limits_ConstSelect0[] =
3089        "^extern const ";
3090
3091 #define    IRIX_LIMITS_CONST_TEST_CT  1
3092 static tTestDesc aIrix_Limits_ConstTests[] = {
3093   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3094
3095 /*
3096  *  Fix Command Arguments for Irix_Limits_Const
3097  */
3098 static const char* apzIrix_Limits_ConstPatch[] = {
3099     "format",
3100     "extern __const ",
3101     (char*)NULL };
3102
3103 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3104  *
3105  *  Description of Irix_Socklen_T fix
3106  */
3107 tSCC zIrix_Socklen_TName[] =
3108      "irix_socklen_t";
3109
3110 /*
3111  *  File name selection pattern
3112  */
3113 tSCC zIrix_Socklen_TList[] =
3114   "|sys/socket.h|";
3115 /*
3116  *  Machine/OS name selection pattern
3117  */
3118 tSCC* apzIrix_Socklen_TMachs[] = {
3119         "mips-sgi-irix6.5",
3120         (const char*)NULL };
3121
3122 /*
3123  *  content selection pattern - do fix if pattern found
3124  */
3125 tSCC zIrix_Socklen_TSelect0[] =
3126        "(#define _SOCKLEN_T\n\
3127 )(typedef u_int32_t socklen_t;)";
3128
3129 #define    IRIX_SOCKLEN_T_TEST_CT  1
3130 static tTestDesc aIrix_Socklen_TTests[] = {
3131   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3132
3133 /*
3134  *  Fix Command Arguments for Irix_Socklen_T
3135  */
3136 static const char* apzIrix_Socklen_TPatch[] = {
3137     "format",
3138     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3139 typedef int socklen_t;\n\
3140 #else\n\
3141 %2\n\
3142 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3143     (char*)NULL };
3144
3145 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3146  *
3147  *  Description of Irix_Stdio_Va_List fix
3148  */
3149 tSCC zIrix_Stdio_Va_ListName[] =
3150      "irix_stdio_va_list";
3151
3152 /*
3153  *  File name selection pattern
3154  */
3155 tSCC zIrix_Stdio_Va_ListList[] =
3156   "|stdio.h|internal/stdio_core.h|";
3157 /*
3158  *  Machine/OS name selection pattern
3159  */
3160 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3161
3162 /*
3163  *  content selection pattern - do fix if pattern found
3164  */
3165 tSCC zIrix_Stdio_Va_ListSelect0[] =
3166        "/\\* va_list \\*/ char \\*";
3167
3168 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
3169 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3170   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3171
3172 /*
3173  *  Fix Command Arguments for Irix_Stdio_Va_List
3174  */
3175 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3176     "format",
3177     "__gnuc_va_list",
3178     (char*)NULL };
3179
3180 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3181  *
3182  *  Description of Irix_Wcsftime fix
3183  */
3184 tSCC zIrix_WcsftimeName[] =
3185      "irix_wcsftime";
3186
3187 /*
3188  *  File name selection pattern
3189  */
3190 tSCC zIrix_WcsftimeList[] =
3191   "|internal/wchar_core.h|";
3192 /*
3193  *  Machine/OS name selection pattern
3194  */
3195 tSCC* apzIrix_WcsftimeMachs[] = {
3196         "mips-sgi-irix6.5",
3197         (const char*)NULL };
3198
3199 /*
3200  *  content selection pattern - do fix if pattern found
3201  */
3202 tSCC zIrix_WcsftimeSelect0[] =
3203        "#if _NO_XOPEN5\n\
3204 (extern size_t[ \t]+wcsftime.*const char *.*)";
3205
3206 #define    IRIX_WCSFTIME_TEST_CT  1
3207 static tTestDesc aIrix_WcsftimeTests[] = {
3208   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3209
3210 /*
3211  *  Fix Command Arguments for Irix_Wcsftime
3212  */
3213 static const char* apzIrix_WcsftimePatch[] = {
3214     "format",
3215     "#if _NO_XOPEN5 && !defined(__c99)\n\
3216 %1",
3217     (char*)NULL };
3218
3219 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3220  *
3221  *  Description of Isc_Fmod fix
3222  */
3223 tSCC zIsc_FmodName[] =
3224      "isc_fmod";
3225
3226 /*
3227  *  File name selection pattern
3228  */
3229 tSCC zIsc_FmodList[] =
3230   "|math.h|";
3231 /*
3232  *  Machine/OS name selection pattern
3233  */
3234 #define apzIsc_FmodMachs (const char**)NULL
3235
3236 /*
3237  *  content selection pattern - do fix if pattern found
3238  */
3239 tSCC zIsc_FmodSelect0[] =
3240        "fmod\\(double\\)";
3241
3242 #define    ISC_FMOD_TEST_CT  1
3243 static tTestDesc aIsc_FmodTests[] = {
3244   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3245
3246 /*
3247  *  Fix Command Arguments for Isc_Fmod
3248  */
3249 static const char* apzIsc_FmodPatch[] = {
3250     "format",
3251     "fmod(double, double)",
3252     (char*)NULL };
3253
3254 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3255  *
3256  *  Description of Isc_Omits_With_Stdc fix
3257  */
3258 tSCC zIsc_Omits_With_StdcName[] =
3259      "isc_omits_with_stdc";
3260
3261 /*
3262  *  File name selection pattern
3263  */
3264 tSCC zIsc_Omits_With_StdcList[] =
3265   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3266 /*
3267  *  Machine/OS name selection pattern
3268  */
3269 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3270
3271 /*
3272  *  content selection pattern - do fix if pattern found
3273  */
3274 tSCC zIsc_Omits_With_StdcSelect0[] =
3275        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3276
3277 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3278 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3279   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3280
3281 /*
3282  *  Fix Command Arguments for Isc_Omits_With_Stdc
3283  */
3284 static const char* apzIsc_Omits_With_StdcPatch[] = {
3285     "format",
3286     "!defined(_POSIX_SOURCE)",
3287     (char*)NULL };
3288
3289 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3290  *
3291  *  Description of Kandr_Concat fix
3292  */
3293 tSCC zKandr_ConcatName[] =
3294      "kandr_concat";
3295
3296 /*
3297  *  File name selection pattern
3298  */
3299 tSCC zKandr_ConcatList[] =
3300   "|sparc/asm_linkage.h|sun3/asm_linkage.h|sun3x/asm_linkage.h|sun4/asm_linkage.h|sun4c/asm_linkage.h|sun4m/asm_linkage.h|sun4c/debug/asm_linkage.h|sun4m/debug/asm_linkage.h|arm/as_support.h|arm/mc_type.h|arm/xcb.h|dev/chardefmac.h|dev/ps_irq.h|dev/screen.h|dev/scsi.h|sys/tty.h|Xm.acorn/XmP.h|bsd43/bsd43_.h|";
3301 /*
3302  *  Machine/OS name selection pattern
3303  */
3304 #define apzKandr_ConcatMachs (const char**)NULL
3305
3306 /*
3307  *  content selection pattern - do fix if pattern found
3308  */
3309 tSCC zKandr_ConcatSelect0[] =
3310        "/\\*\\*/";
3311
3312 #define    KANDR_CONCAT_TEST_CT  1
3313 static tTestDesc aKandr_ConcatTests[] = {
3314   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3315
3316 /*
3317  *  Fix Command Arguments for Kandr_Concat
3318  */
3319 static const char* apzKandr_ConcatPatch[] = {
3320     "format",
3321     "##",
3322     (char*)NULL };
3323
3324 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3325  *
3326  *  Description of Libc1_G_Va_List fix
3327  */
3328 tSCC zLibc1_G_Va_ListName[] =
3329      "libc1_G_va_list";
3330
3331 /*
3332  *  File name selection pattern
3333  */
3334 tSCC zLibc1_G_Va_ListList[] =
3335   "|_G_config.h|";
3336 /*
3337  *  Machine/OS name selection pattern
3338  */
3339 tSCC* apzLibc1_G_Va_ListMachs[] = {
3340         "*-*-linux*libc1",
3341         (const char*)NULL };
3342
3343 /*
3344  *  content selection pattern - do fix if pattern found
3345  */
3346 tSCC zLibc1_G_Va_ListSelect0[] =
3347        "typedef void \\* _G_va_list;";
3348
3349 #define    LIBC1_G_VA_LIST_TEST_CT  1
3350 static tTestDesc aLibc1_G_Va_ListTests[] = {
3351   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3352
3353 /*
3354  *  Fix Command Arguments for Libc1_G_Va_List
3355  */
3356 static const char* apzLibc1_G_Va_ListPatch[] = {
3357     "format",
3358     "typedef __builtin_va_list _G_va_list;",
3359     (char*)NULL };
3360
3361 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3362  *
3363  *  Description of Libc1_Ifdefd_Memx fix
3364  */
3365 tSCC zLibc1_Ifdefd_MemxName[] =
3366      "libc1_ifdefd_memx";
3367
3368 /*
3369  *  File name selection pattern
3370  */
3371 tSCC zLibc1_Ifdefd_MemxList[] =
3372   "|testing.h|string.h|";
3373 /*
3374  *  Machine/OS name selection pattern
3375  */
3376 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3377
3378 /*
3379  *  content selection pattern - do fix if pattern found
3380  */
3381 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3382        "' is a built-in function for gcc 2\\.x\\. \\*/";
3383
3384 /*
3385  *  content bypass pattern - skip fix if pattern found
3386  */
3387 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3388        "__cplusplus";
3389
3390 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3391 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3392   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3393   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3394
3395 /*
3396  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3397  */
3398 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3399     "format",
3400     "%1",
3401     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3402 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3403 (/\\* .* \\*/\n\
3404 extern [a-z_]+ mem.*(\n\
3405 [^#].*)*;)\n\
3406 #endif",
3407     (char*)NULL };
3408
3409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3410  *
3411  *  Description of Linux_Ia64_Ucontext fix
3412  */
3413 tSCC zLinux_Ia64_UcontextName[] =
3414      "linux_ia64_ucontext";
3415
3416 /*
3417  *  File name selection pattern
3418  */
3419 tSCC zLinux_Ia64_UcontextList[] =
3420   "|sys/ucontext.h|";
3421 /*
3422  *  Machine/OS name selection pattern
3423  */
3424 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3425         "ia64-*-linux*",
3426         (const char*)NULL };
3427
3428 /*
3429  *  content selection pattern - do fix if pattern found
3430  */
3431 tSCC zLinux_Ia64_UcontextSelect0[] =
3432        "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3433
3434 #define    LINUX_IA64_UCONTEXT_TEST_CT  1
3435 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3436   { TT_EGREP,    zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3437
3438 /*
3439  *  Fix Command Arguments for Linux_Ia64_Ucontext
3440  */
3441 static const char* apzLinux_Ia64_UcontextPatch[] = {
3442     "format",
3443     "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3444     (char*)NULL };
3445
3446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3447  *
3448  *  Description of Lynxos_No_Warning_In_Sys_Time_H fix
3449  */
3450 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3451      "lynxos_no_warning_in_sys_time_h";
3452
3453 /*
3454  *  File name selection pattern
3455  */
3456 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3457   "|sys/time.h|";
3458 /*
3459  *  Machine/OS name selection pattern
3460  */
3461 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3462
3463 /*
3464  *  content selection pattern - do fix if pattern found
3465  */
3466 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3467        "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3468
3469 #define    LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT  1
3470 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3471   { TT_EGREP,    zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3472
3473 /*
3474  *  Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3475  */
3476 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3477     "format",
3478     "",
3479     (char*)NULL };
3480
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3482  *
3483  *  Description of Lynxos_Missing_Putenv fix
3484  */
3485 tSCC zLynxos_Missing_PutenvName[] =
3486      "lynxos_missing_putenv";
3487
3488 /*
3489  *  File name selection pattern
3490  */
3491 tSCC zLynxos_Missing_PutenvList[] =
3492   "|stdlib.h|";
3493 /*
3494  *  Machine/OS name selection pattern
3495  */
3496 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3497         "*-*-lynxos*",
3498         (const char*)NULL };
3499
3500 /*
3501  *  content selection pattern - do fix if pattern found
3502  */
3503 tSCC zLynxos_Missing_PutenvSelect0[] =
3504        "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3505
3506 /*
3507  *  content bypass pattern - skip fix if pattern found
3508  */
3509 tSCC zLynxos_Missing_PutenvBypass0[] =
3510        "putenv[ \\t]*\\(";
3511
3512 #define    LYNXOS_MISSING_PUTENV_TEST_CT  2
3513 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3514   { TT_NEGREP,   zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3515   { TT_EGREP,    zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3516
3517 /*
3518  *  Fix Command Arguments for Lynxos_Missing_Putenv
3519  */
3520 static const char* apzLynxos_Missing_PutenvPatch[] = {
3521     "format",
3522     "%0\n\
3523 extern int putenv\t\t\t\t_AP((char *));",
3524     "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3525     (char*)NULL };
3526
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *
3529  *  Description of Machine_Ansi_H_Va_List fix
3530  */
3531 tSCC zMachine_Ansi_H_Va_ListName[] =
3532      "machine_ansi_h_va_list";
3533
3534 /*
3535  *  File name selection pattern
3536  */
3537 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3538 /*
3539  *  Machine/OS name selection pattern
3540  */
3541 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3542
3543 /*
3544  *  content selection pattern - do fix if pattern found
3545  */
3546 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3547        "define[ \t]+_BSD_VA_LIST_[ \t]";
3548
3549 /*
3550  *  content bypass pattern - skip fix if pattern found
3551  */
3552 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3553        "__builtin_va_list";
3554
3555 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3556 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3557   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3558   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3559
3560 /*
3561  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3562  */
3563 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3564     "format",
3565     "%1__builtin_va_list",
3566     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3567     (char*)NULL };
3568
3569 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3570  *
3571  *  Description of Machine_Name fix
3572  */
3573 tSCC zMachine_NameName[] =
3574      "machine_name";
3575
3576 /*
3577  *  File name selection pattern
3578  */
3579 #define zMachine_NameList (char*)NULL
3580 /*
3581  *  Machine/OS name selection pattern
3582  */
3583 #define apzMachine_NameMachs (const char**)NULL
3584
3585 /*
3586  *  perform the C function call test
3587  */
3588 tSCC zMachine_NameFTst0[] = "machine_name";
3589
3590 #define    MACHINE_NAME_TEST_CT  1
3591 static tTestDesc aMachine_NameTests[] = {
3592   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3593
3594 /*
3595  *  Fix Command Arguments for Machine_Name
3596  */
3597 static const char* apzMachine_NamePatch[] = {
3598     "machine_name",
3599     (char*)NULL };
3600
3601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3602  *
3603  *  Description of Math_Exception fix
3604  */
3605 tSCC zMath_ExceptionName[] =
3606      "math_exception";
3607
3608 /*
3609  *  File name selection pattern
3610  */
3611 tSCC zMath_ExceptionList[] =
3612   "|math.h|";
3613 /*
3614  *  Machine/OS name selection pattern
3615  */
3616 #define apzMath_ExceptionMachs (const char**)NULL
3617
3618 /*
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zMath_ExceptionSelect0[] =
3622        "struct exception";
3623
3624 /*
3625  *  content bypass pattern - skip fix if pattern found
3626  */
3627 tSCC zMath_ExceptionBypass0[] =
3628        "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3629
3630 #define    MATH_EXCEPTION_TEST_CT  2
3631 static tTestDesc aMath_ExceptionTests[] = {
3632   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3633   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3634
3635 /*
3636  *  Fix Command Arguments for Math_Exception
3637  */
3638 static const char* apzMath_ExceptionPatch[] = {
3639     "wrap",
3640     "#ifdef __cplusplus\n\
3641 #define exception __math_exception\n\
3642 #endif\n",
3643     "#ifdef __cplusplus\n\
3644 #undef exception\n\
3645 #endif\n",
3646     (char*)NULL };
3647
3648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3649  *
3650  *  Description of Math_Huge_Val_From_Dbl_Max fix
3651  */
3652 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3653      "math_huge_val_from_dbl_max";
3654
3655 /*
3656  *  File name selection pattern
3657  */
3658 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3659   "|math.h|";
3660 /*
3661  *  Machine/OS name selection pattern
3662  */
3663 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3664
3665 /*
3666  *  content selection pattern - do fix if pattern found
3667  */
3668 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3669        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3670
3671 /*
3672  *  content bypass pattern - skip fix if pattern found
3673  */
3674 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3675        "define[ \t]+DBL_MAX";
3676
3677 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3678 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3679   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3680   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3681
3682 /*
3683  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3684  */
3685 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3686     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3687 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3688 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3689 \telse cat\n\
3690 \tfi",
3691     (char*)NULL };
3692
3693 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3694  *
3695  *  Description of Nested_Auth_Des fix
3696  */
3697 tSCC zNested_Auth_DesName[] =
3698      "nested_auth_des";
3699
3700 /*
3701  *  File name selection pattern
3702  */
3703 tSCC zNested_Auth_DesList[] =
3704   "|rpc/rpc.h|";
3705 /*
3706  *  Machine/OS name selection pattern
3707  */
3708 #define apzNested_Auth_DesMachs (const char**)NULL
3709
3710 /*
3711  *  content selection pattern - do fix if pattern found
3712  */
3713 tSCC zNested_Auth_DesSelect0[] =
3714        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3715
3716 #define    NESTED_AUTH_DES_TEST_CT  1
3717 static tTestDesc aNested_Auth_DesTests[] = {
3718   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3719
3720 /*
3721  *  Fix Command Arguments for Nested_Auth_Des
3722  */
3723 static const char* apzNested_Auth_DesPatch[] = {
3724     "format",
3725     "%1*/ /*",
3726     (char*)NULL };
3727
3728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3729  *
3730  *  Description of Nested_Motorola fix
3731  */
3732 tSCC zNested_MotorolaName[] =
3733      "nested_motorola";
3734
3735 /*
3736  *  File name selection pattern
3737  */
3738 tSCC zNested_MotorolaList[] =
3739   "|sys/limits.h|limits.h|";
3740 /*
3741  *  Machine/OS name selection pattern
3742  */
3743 tSCC* apzNested_MotorolaMachs[] = {
3744         "m68k-motorola-sysv*",
3745         (const char*)NULL };
3746
3747 /*
3748  *  content selection pattern - do fix if pattern found
3749  */
3750 tSCC zNested_MotorolaSelect0[] =
3751        "max # bytes atomic in write|error value returned by Math lib";
3752
3753 #define    NESTED_MOTOROLA_TEST_CT  1
3754 static tTestDesc aNested_MotorolaTests[] = {
3755   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3756
3757 /*
3758  *  Fix Command Arguments for Nested_Motorola
3759  */
3760 static const char* apzNested_MotorolaPatch[] = { "sed",
3761     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3762     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3763     (char*)NULL };
3764
3765 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3766  *
3767  *  Description of Nested_Sys_Limits fix
3768  */
3769 tSCC zNested_Sys_LimitsName[] =
3770      "nested_sys_limits";
3771
3772 /*
3773  *  File name selection pattern
3774  */
3775 tSCC zNested_Sys_LimitsList[] =
3776   "|sys/limits.h|";
3777 /*
3778  *  Machine/OS name selection pattern
3779  */
3780 #define apzNested_Sys_LimitsMachs (const char**)NULL
3781
3782 /*
3783  *  content selection pattern - do fix if pattern found
3784  */
3785 tSCC zNested_Sys_LimitsSelect0[] =
3786        "CHILD_MAX";
3787
3788 #define    NESTED_SYS_LIMITS_TEST_CT  1
3789 static tTestDesc aNested_Sys_LimitsTests[] = {
3790   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3791
3792 /*
3793  *  Fix Command Arguments for Nested_Sys_Limits
3794  */
3795 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3796     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3797     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3798     (char*)NULL };
3799
3800 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3801  *
3802  *  Description of Netbsd_Extra_Semicolon fix
3803  */
3804 tSCC zNetbsd_Extra_SemicolonName[] =
3805      "netbsd_extra_semicolon";
3806
3807 /*
3808  *  File name selection pattern
3809  */
3810 tSCC zNetbsd_Extra_SemicolonList[] =
3811   "|sys/cdefs.h|";
3812 /*
3813  *  Machine/OS name selection pattern
3814  */
3815 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3816         "*-*-netbsd*",
3817         (const char*)NULL };
3818
3819 /*
3820  *  content selection pattern - do fix if pattern found
3821  */
3822 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3823        "#define[ \t]*__END_DECLS[ \t]*};";
3824
3825 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3826 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3827   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3828
3829 /*
3830  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3831  */
3832 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3833     "format",
3834     "#define __END_DECLS }",
3835     (char*)NULL };
3836
3837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3838  *
3839  *  Description of Next_Math_Prefix fix
3840  */
3841 tSCC zNext_Math_PrefixName[] =
3842      "next_math_prefix";
3843
3844 /*
3845  *  File name selection pattern
3846  */
3847 tSCC zNext_Math_PrefixList[] =
3848   "|ansi/math.h|";
3849 /*
3850  *  Machine/OS name selection pattern
3851  */
3852 #define apzNext_Math_PrefixMachs (const char**)NULL
3853
3854 /*
3855  *  content selection pattern - do fix if pattern found
3856  */
3857 tSCC zNext_Math_PrefixSelect0[] =
3858        "^extern[ \t]+double[ \t]+__const__[ \t]";
3859
3860 #define    NEXT_MATH_PREFIX_TEST_CT  1
3861 static tTestDesc aNext_Math_PrefixTests[] = {
3862   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3863
3864 /*
3865  *  Fix Command Arguments for Next_Math_Prefix
3866  */
3867 static const char* apzNext_Math_PrefixPatch[] = {
3868     "format",
3869     "extern double %1(",
3870     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3871     (char*)NULL };
3872
3873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3874  *
3875  *  Description of Next_Template fix
3876  */
3877 tSCC zNext_TemplateName[] =
3878      "next_template";
3879
3880 /*
3881  *  File name selection pattern
3882  */
3883 tSCC zNext_TemplateList[] =
3884   "|bsd/libc.h|";
3885 /*
3886  *  Machine/OS name selection pattern
3887  */
3888 #define apzNext_TemplateMachs (const char**)NULL
3889
3890 /*
3891  *  content selection pattern - do fix if pattern found
3892  */
3893 tSCC zNext_TemplateSelect0[] =
3894        "[ \t]template\\)";
3895
3896 #define    NEXT_TEMPLATE_TEST_CT  1
3897 static tTestDesc aNext_TemplateTests[] = {
3898   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3899
3900 /*
3901  *  Fix Command Arguments for Next_Template
3902  */
3903 static const char* apzNext_TemplatePatch[] = {
3904     "format",
3905     "(%1)",
3906     "\\(([^)]*)[ \t]template\\)",
3907     (char*)NULL };
3908
3909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3910  *
3911  *  Description of Next_Volitile fix
3912  */
3913 tSCC zNext_VolitileName[] =
3914      "next_volitile";
3915
3916 /*
3917  *  File name selection pattern
3918  */
3919 tSCC zNext_VolitileList[] =
3920   "|ansi/stdlib.h|";
3921 /*
3922  *  Machine/OS name selection pattern
3923  */
3924 #define apzNext_VolitileMachs (const char**)NULL
3925
3926 /*
3927  *  content selection pattern - do fix if pattern found
3928  */
3929 tSCC zNext_VolitileSelect0[] =
3930        "^extern[ \t]+volatile[ \t]+void[ \t]";
3931
3932 #define    NEXT_VOLITILE_TEST_CT  1
3933 static tTestDesc aNext_VolitileTests[] = {
3934   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3935
3936 /*
3937  *  Fix Command Arguments for Next_Volitile
3938  */
3939 static const char* apzNext_VolitilePatch[] = {
3940     "format",
3941     "extern void %1(",
3942     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3943     (char*)NULL };
3944
3945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3946  *
3947  *  Description of Next_Wait_Union fix
3948  */
3949 tSCC zNext_Wait_UnionName[] =
3950      "next_wait_union";
3951
3952 /*
3953  *  File name selection pattern
3954  */
3955 tSCC zNext_Wait_UnionList[] =
3956   "|sys/wait.h|";
3957 /*
3958  *  Machine/OS name selection pattern
3959  */
3960 #define apzNext_Wait_UnionMachs (const char**)NULL
3961
3962 /*
3963  *  content selection pattern - do fix if pattern found
3964  */
3965 tSCC zNext_Wait_UnionSelect0[] =
3966        "wait\\(union wait";
3967
3968 #define    NEXT_WAIT_UNION_TEST_CT  1
3969 static tTestDesc aNext_Wait_UnionTests[] = {
3970   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3971
3972 /*
3973  *  Fix Command Arguments for Next_Wait_Union
3974  */
3975 static const char* apzNext_Wait_UnionPatch[] = {
3976     "format",
3977     "wait(void",
3978     (char*)NULL };
3979
3980 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3981  *
3982  *  Description of Nodeent_Syntax fix
3983  */
3984 tSCC zNodeent_SyntaxName[] =
3985      "nodeent_syntax";
3986
3987 /*
3988  *  File name selection pattern
3989  */
3990 tSCC zNodeent_SyntaxList[] =
3991   "|netdnet/dnetdb.h|";
3992 /*
3993  *  Machine/OS name selection pattern
3994  */
3995 #define apzNodeent_SyntaxMachs (const char**)NULL
3996
3997 /*
3998  *  content selection pattern - do fix if pattern found
3999  */
4000 tSCC zNodeent_SyntaxSelect0[] =
4001        "char[ \t]*\\*na_addr[ \t]*$";
4002
4003 #define    NODEENT_SYNTAX_TEST_CT  1
4004 static tTestDesc aNodeent_SyntaxTests[] = {
4005   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4006
4007 /*
4008  *  Fix Command Arguments for Nodeent_Syntax
4009  */
4010 static const char* apzNodeent_SyntaxPatch[] = {
4011     "format",
4012     "%0;",
4013     (char*)NULL };
4014
4015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4016  *
4017  *  Description of Obstack_Lvalue_Cast fix
4018  */
4019 tSCC zObstack_Lvalue_CastName[] =
4020      "obstack_lvalue_cast";
4021
4022 /*
4023  *  File name selection pattern
4024  */
4025 tSCC zObstack_Lvalue_CastList[] =
4026   "|obstack.h|";
4027 /*
4028  *  Machine/OS name selection pattern
4029  */
4030 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4031
4032 /*
4033  *  content selection pattern - do fix if pattern found
4034  */
4035 tSCC zObstack_Lvalue_CastSelect0[] =
4036        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4037
4038 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
4039 static tTestDesc aObstack_Lvalue_CastTests[] = {
4040   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4041
4042 /*
4043  *  Fix Command Arguments for Obstack_Lvalue_Cast
4044  */
4045 static const char* apzObstack_Lvalue_CastPatch[] = {
4046     "format",
4047     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4048     (char*)NULL };
4049
4050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4051  *
4052  *  Description of Osf_Namespace_A fix
4053  */
4054 tSCC zOsf_Namespace_AName[] =
4055      "osf_namespace_a";
4056
4057 /*
4058  *  File name selection pattern
4059  */
4060 tSCC zOsf_Namespace_AList[] =
4061   "|reg_types.h|sys/lc_core.h|";
4062 /*
4063  *  Machine/OS name selection pattern
4064  */
4065 #define apzOsf_Namespace_AMachs (const char**)NULL
4066
4067 /*
4068  *  perform the 'test' shell command - do fix on success
4069  */
4070 tSCC zOsf_Namespace_ATest0[] =
4071        " -r reg_types.h";
4072 tSCC zOsf_Namespace_ATest1[] =
4073        " -r sys/lc_core.h";
4074 tSCC zOsf_Namespace_ATest2[] =
4075        " -n \"`grep '} regex_t;' reg_types.h`\"";
4076 tSCC zOsf_Namespace_ATest3[] =
4077        " -z \"`grep __regex_t regex.h`\"";
4078
4079 #define    OSF_NAMESPACE_A_TEST_CT  4
4080 static tTestDesc aOsf_Namespace_ATests[] = {
4081   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
4082   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
4083   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
4084   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
4085
4086 /*
4087  *  Fix Command Arguments for Osf_Namespace_A
4088  */
4089 static const char* apzOsf_Namespace_APatch[] = {
4090     "format",
4091     "__%0",
4092     "reg(ex|off|match)_t",
4093     (char*)NULL };
4094
4095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4096  *
4097  *  Description of Osf_Namespace_C fix
4098  */
4099 tSCC zOsf_Namespace_CName[] =
4100      "osf_namespace_c";
4101
4102 /*
4103  *  File name selection pattern
4104  */
4105 tSCC zOsf_Namespace_CList[] =
4106   "|regex.h|";
4107 /*
4108  *  Machine/OS name selection pattern
4109  */
4110 #define apzOsf_Namespace_CMachs (const char**)NULL
4111
4112 /*
4113  *  content selection pattern - do fix if pattern found
4114  */
4115 tSCC zOsf_Namespace_CSelect0[] =
4116        "#include <reg_types.h>.*";
4117
4118 /*
4119  *  perform the 'test' shell command - do fix on success
4120  */
4121 tSCC zOsf_Namespace_CTest0[] =
4122        " -r reg_types.h";
4123 tSCC zOsf_Namespace_CTest1[] =
4124        " -r sys/lc_core.h";
4125 tSCC zOsf_Namespace_CTest2[] =
4126        " -n \"`grep '} regex_t;' reg_types.h`\"";
4127 tSCC zOsf_Namespace_CTest3[] =
4128        " -z \"`grep __regex_t regex.h`\"";
4129
4130 #define    OSF_NAMESPACE_C_TEST_CT  5
4131 static tTestDesc aOsf_Namespace_CTests[] = {
4132   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
4133   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
4134   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
4135   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
4136   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4137
4138 /*
4139  *  Fix Command Arguments for Osf_Namespace_C
4140  */
4141 static const char* apzOsf_Namespace_CPatch[] = {
4142     "format",
4143     "%0\n\
4144 typedef __regex_t\tregex_t;\n\
4145 typedef __regoff_t\tregoff_t;\n\
4146 typedef __regmatch_t\tregmatch_t;",
4147     (char*)NULL };
4148
4149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4150  *
4151  *  Description of Pthread_Page_Size fix
4152  */
4153 tSCC zPthread_Page_SizeName[] =
4154      "pthread_page_size";
4155
4156 /*
4157  *  File name selection pattern
4158  */
4159 tSCC zPthread_Page_SizeList[] =
4160   "|pthread.h|";
4161 /*
4162  *  Machine/OS name selection pattern
4163  */
4164 #define apzPthread_Page_SizeMachs (const char**)NULL
4165
4166 /*
4167  *  content selection pattern - do fix if pattern found
4168  */
4169 tSCC zPthread_Page_SizeSelect0[] =
4170        "^int __page_size";
4171
4172 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
4173 static tTestDesc aPthread_Page_SizeTests[] = {
4174   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4175
4176 /*
4177  *  Fix Command Arguments for Pthread_Page_Size
4178  */
4179 static const char* apzPthread_Page_SizePatch[] = {
4180     "format",
4181     "extern %0",
4182     (char*)NULL };
4183
4184 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4185  *
4186  *  Description of Pthread_Incomplete_Struct_Argument fix
4187  */
4188 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4189      "pthread_incomplete_struct_argument";
4190
4191 /*
4192  *  File name selection pattern
4193  */
4194 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4195   "|pthread.h|";
4196 /*
4197  *  Machine/OS name selection pattern
4198  */
4199 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4200
4201 /*
4202  *  content selection pattern - do fix if pattern found
4203  */
4204 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4205        "struct __jmp_buf_tag";
4206
4207 #define    PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT  1
4208 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4209   { TT_EGREP,    zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4210
4211 /*
4212  *  Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4213  */
4214 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4215     "format",
4216     "%1 *%2%3",
4217     "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4218     (char*)NULL };
4219
4220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4221  *
4222  *  Description of Read_Ret_Type fix
4223  */
4224 tSCC zRead_Ret_TypeName[] =
4225      "read_ret_type";
4226
4227 /*
4228  *  File name selection pattern
4229  */
4230 tSCC zRead_Ret_TypeList[] =
4231   "|stdio.h|";
4232 /*
4233  *  Machine/OS name selection pattern
4234  */
4235 #define apzRead_Ret_TypeMachs (const char**)NULL
4236
4237 /*
4238  *  content selection pattern - do fix if pattern found
4239  */
4240 tSCC zRead_Ret_TypeSelect0[] =
4241        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4242
4243 #define    READ_RET_TYPE_TEST_CT  1
4244 static tTestDesc aRead_Ret_TypeTests[] = {
4245   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4246
4247 /*
4248  *  Fix Command Arguments for Read_Ret_Type
4249  */
4250 static const char* apzRead_Ret_TypePatch[] = {
4251     "format",
4252     "extern unsigned int fread(), fwrite();\n\
4253 %1%2",
4254     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4255     (char*)NULL };
4256
4257 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4258  *
4259  *  Description of Rpc_Xdr_Lvalue_Cast_A fix
4260  */
4261 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4262      "rpc_xdr_lvalue_cast_a";
4263
4264 /*
4265  *  File name selection pattern
4266  */
4267 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4268   "|rpc/xdr.h|";
4269 /*
4270  *  Machine/OS name selection pattern
4271  */
4272 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4273
4274 /*
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4278        "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4279 .*__extension__.*";
4280
4281 #define    RPC_XDR_LVALUE_CAST_A_TEST_CT  1
4282 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4283   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4284
4285 /*
4286  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4287  */
4288 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4289     "format",
4290     "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4291     (char*)NULL };
4292
4293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4294  *
4295  *  Description of Rpc_Xdr_Lvalue_Cast_B fix
4296  */
4297 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4298      "rpc_xdr_lvalue_cast_b";
4299
4300 /*
4301  *  File name selection pattern
4302  */
4303 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4304   "|rpc/xdr.h|";
4305 /*
4306  *  Machine/OS name selection pattern
4307  */
4308 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4309
4310 /*
4311  *  content selection pattern - do fix if pattern found
4312  */
4313 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4314        "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4315 .*__extension__.*";
4316
4317 #define    RPC_XDR_LVALUE_CAST_B_TEST_CT  1
4318 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4319   { TT_EGREP,    zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4320
4321 /*
4322  *  Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4323  */
4324 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4325     "format",
4326     "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4327     (char*)NULL };
4328
4329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4330  *
4331  *  Description of Rs6000_Double fix
4332  */
4333 tSCC zRs6000_DoubleName[] =
4334      "rs6000_double";
4335
4336 /*
4337  *  File name selection pattern
4338  */
4339 tSCC zRs6000_DoubleList[] =
4340   "|math.h|";
4341 /*
4342  *  Machine/OS name selection pattern
4343  */
4344 #define apzRs6000_DoubleMachs (const char**)NULL
4345
4346 /*
4347  *  content selection pattern - do fix if pattern found
4348  */
4349 tSCC zRs6000_DoubleSelect0[] =
4350        "[^a-zA-Z_]class\\(";
4351
4352 #define    RS6000_DOUBLE_TEST_CT  1
4353 static tTestDesc aRs6000_DoubleTests[] = {
4354   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4355
4356 /*
4357  *  Fix Command Arguments for Rs6000_Double
4358  */
4359 static const char* apzRs6000_DoublePatch[] = {
4360     "format",
4361     "#ifndef __cplusplus\n\
4362 %0\n\
4363 #endif",
4364     "^.*[^a-zA-Z_]class\\(.*",
4365     (char*)NULL };
4366
4367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4368  *
4369  *  Description of Rs6000_Fchmod fix
4370  */
4371 tSCC zRs6000_FchmodName[] =
4372      "rs6000_fchmod";
4373
4374 /*
4375  *  File name selection pattern
4376  */
4377 tSCC zRs6000_FchmodList[] =
4378   "|sys/stat.h|";
4379 /*
4380  *  Machine/OS name selection pattern
4381  */
4382 #define apzRs6000_FchmodMachs (const char**)NULL
4383
4384 /*
4385  *  content selection pattern - do fix if pattern found
4386  */
4387 tSCC zRs6000_FchmodSelect0[] =
4388        "fchmod\\(char \\*";
4389
4390 #define    RS6000_FCHMOD_TEST_CT  1
4391 static tTestDesc aRs6000_FchmodTests[] = {
4392   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4393
4394 /*
4395  *  Fix Command Arguments for Rs6000_Fchmod
4396  */
4397 static const char* apzRs6000_FchmodPatch[] = {
4398     "format",
4399     "fchmod(int",
4400     (char*)NULL };
4401
4402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4403  *
4404  *  Description of Rs6000_Param fix
4405  */
4406 tSCC zRs6000_ParamName[] =
4407      "rs6000_param";
4408
4409 /*
4410  *  File name selection pattern
4411  */
4412 tSCC zRs6000_ParamList[] =
4413   "|stdio.h|unistd.h|";
4414 /*
4415  *  Machine/OS name selection pattern
4416  */
4417 #define apzRs6000_ParamMachs (const char**)NULL
4418
4419 /*
4420  *  content selection pattern - do fix if pattern found
4421  */
4422 tSCC zRs6000_ParamSelect0[] =
4423        "rename\\(const char \\*old, const char \\*new\\)";
4424
4425 #define    RS6000_PARAM_TEST_CT  1
4426 static tTestDesc aRs6000_ParamTests[] = {
4427   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4428
4429 /*
4430  *  Fix Command Arguments for Rs6000_Param
4431  */
4432 static const char* apzRs6000_ParamPatch[] = {
4433     "format",
4434     "rename(const char *_old, const char *_new)",
4435     (char*)NULL };
4436
4437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4438  *
4439  *  Description of Sco_Math fix
4440  */
4441 tSCC zSco_MathName[] =
4442      "sco_math";
4443
4444 /*
4445  *  File name selection pattern
4446  */
4447 tSCC zSco_MathList[] =
4448   "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
4449 /*
4450  *  Machine/OS name selection pattern
4451  */
4452 #define apzSco_MathMachs (const char**)NULL
4453
4454 /*
4455  *  content selection pattern - do fix if pattern found
4456  */
4457 tSCC zSco_MathSelect0[] =
4458        "inline double abs";
4459
4460 /*
4461  *  content bypass pattern - skip fix if pattern found
4462  */
4463 tSCC zSco_MathBypass0[] =
4464        "__GNUG__";
4465
4466 #define    SCO_MATH_TEST_CT  2
4467 static tTestDesc aSco_MathTests[] = {
4468   { TT_NEGREP,   zSco_MathBypass0, (regex_t*)NULL },
4469   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4470
4471 /*
4472  *  Fix Command Arguments for Sco_Math
4473  */
4474 static const char* apzSco_MathPatch[] = { "sed",
4475     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4476 #ifndef __GNUC__\n",
4477     "-e", "/.*__builtin_generic/a\\\n\
4478 #else\\\n\
4479 #define __fp_class(a) \\\\\\\n\
4480   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4481    __fpclassifyl(a), \\\\\\\n\
4482     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4483       __fpclassifyf(a),__fpclassify(a)))\\\n\
4484 #endif",
4485     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4486 #ifndef __GNUC__\n",
4487     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4488 #endif /* ! __GNUC__ */",
4489     (char*)NULL };
4490
4491 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4492  *
4493  *  Description of Sco_Regset fix
4494  */
4495 tSCC zSco_RegsetName[] =
4496      "sco_regset";
4497
4498 /*
4499  *  File name selection pattern
4500  */
4501 tSCC zSco_RegsetList[] =
4502   "|sys/regset.h|";
4503 /*
4504  *  Machine/OS name selection pattern
4505  */
4506 tSCC* apzSco_RegsetMachs[] = {
4507         "*-*-sco3.2v5*",
4508         (const char*)NULL };
4509
4510 /*
4511  *  content selection pattern - do fix if pattern found
4512  */
4513 tSCC zSco_RegsetSelect0[] =
4514        "(struct[ \t]+.*)fpstate";
4515
4516 #define    SCO_REGSET_TEST_CT  1
4517 static tTestDesc aSco_RegsetTests[] = {
4518   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4519
4520 /*
4521  *  Fix Command Arguments for Sco_Regset
4522  */
4523 static const char* apzSco_RegsetPatch[] = {
4524     "format",
4525     "%1rsfpstate",
4526     (char*)NULL };
4527
4528 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4529  *
4530  *  Description of Sco_Static_Func fix
4531  */
4532 tSCC zSco_Static_FuncName[] =
4533      "sco_static_func";
4534
4535 /*
4536  *  File name selection pattern
4537  */
4538 tSCC zSco_Static_FuncList[] =
4539   "|sys/stat.h|";
4540 /*
4541  *  Machine/OS name selection pattern
4542  */
4543 tSCC* apzSco_Static_FuncMachs[] = {
4544         "i?86-*-sco3.2*",
4545         (const char*)NULL };
4546
4547 /*
4548  *  content selection pattern - do fix if pattern found
4549  */
4550 tSCC zSco_Static_FuncSelect0[] =
4551        "^static int";
4552
4553 #define    SCO_STATIC_FUNC_TEST_CT  1
4554 static tTestDesc aSco_Static_FuncTests[] = {
4555   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4556
4557 /*
4558  *  Fix Command Arguments for Sco_Static_Func
4559  */
4560 static const char* apzSco_Static_FuncPatch[] = { "sed",
4561     "-e", "/^static int/i\\\n\
4562 #if __cplusplus\\\n\
4563 extern \"C\" {\\\n\
4564 #endif /* __cplusplus */",
4565     "-e", "/^}$/a\\\n\
4566 #if __cplusplus\\\n\
4567  }\\\n\
4568 #endif /* __cplusplus */",
4569     (char*)NULL };
4570
4571 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4572  *