OSDN Git Service

620c934be8f73bf612b80df16792e094e9510f13
[pf3gnuchains/gcc-fork.git] / gcc / fixinc / 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  Thursday January 22, 2004 at 08:36:55 PM MET
6  * From the definitions    inclhack.def
7  * and the template file   fixincl
8  */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Jan 22 20:36:56 MET 2004
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 172 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_Volatile fix
653  */
654 tSCC zAix_VolatileName[] =
655      "aix_volatile";
656
657 /*
658  *  File name selection pattern
659  */
660 tSCC zAix_VolatileList[] =
661   "|sys/signal.h|";
662 /*
663  *  Machine/OS name selection pattern
664  */
665 #define apzAix_VolatileMachs (const char**)NULL
666
667 /*
668  *  content selection pattern - do fix if pattern found
669  */
670 tSCC zAix_VolatileSelect0[] =
671        "typedef volatile int sig_atomic_t";
672
673 #define    AIX_VOLATILE_TEST_CT  1
674 static tTestDesc aAix_VolatileTests[] = {
675   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
676
677 /*
678  *  Fix Command Arguments for Aix_Volatile
679  */
680 static const char* apzAix_VolatilePatch[] = {
681     "format",
682     "typedef int sig_atomic_t",
683     (char*)NULL };
684
685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
686  *
687  *  Description of Alpha___Assert fix
688  */
689 tSCC zAlpha___AssertName[] =
690      "alpha___assert";
691
692 /*
693  *  File name selection pattern
694  */
695 tSCC zAlpha___AssertList[] =
696   "|assert.h|";
697 /*
698  *  Machine/OS name selection pattern
699  */
700 #define apzAlpha___AssertMachs (const char**)NULL
701
702 /*
703  *  content selection pattern - do fix if pattern found
704  */
705 tSCC zAlpha___AssertSelect0[] =
706        "__assert\\(char \\*, char \\*, int\\)";
707
708 #define    ALPHA___ASSERT_TEST_CT  1
709 static tTestDesc aAlpha___AssertTests[] = {
710   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
711
712 /*
713  *  Fix Command Arguments for Alpha___Assert
714  */
715 static const char* apzAlpha___AssertPatch[] = {
716     "format",
717     "__assert(const char *, const char *, int)",
718     (char*)NULL };
719
720 /* * * * * * * * * * * * * * * * * * * * * * * * * *
721  *
722  *  Description of Alpha___Extern_Prefix fix
723  */
724 tSCC zAlpha___Extern_PrefixName[] =
725      "alpha___extern_prefix";
726
727 /*
728  *  File name selection pattern
729  */
730 #define zAlpha___Extern_PrefixList (char*)NULL
731 /*
732  *  Machine/OS name selection pattern
733  */
734 tSCC* apzAlpha___Extern_PrefixMachs[] = {
735         "alpha*-dec-osf*",
736         (const char*)NULL };
737
738 /*
739  *  content selection pattern - do fix if pattern found
740  */
741 tSCC zAlpha___Extern_PrefixSelect0[] =
742        "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
743 (#[ \t]*pragma[ \t]*extern_prefix.*)";
744
745 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
746 static tTestDesc aAlpha___Extern_PrefixTests[] = {
747   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
748
749 /*
750  *  Fix Command Arguments for Alpha___Extern_Prefix
751  */
752 static const char* apzAlpha___Extern_PrefixPatch[] = {
753     "format",
754     "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
755 %3",
756     (char*)NULL };
757
758 /* * * * * * * * * * * * * * * * * * * * * * * * * *
759  *
760  *  Description of Alpha___Extern_Prefix_Standards fix
761  */
762 tSCC zAlpha___Extern_Prefix_StandardsName[] =
763      "alpha___extern_prefix_standards";
764
765 /*
766  *  File name selection pattern
767  */
768 tSCC zAlpha___Extern_Prefix_StandardsList[] =
769   "|standards.h|";
770 /*
771  *  Machine/OS name selection pattern
772  */
773 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
774         "alpha*-dec-osf*",
775         (const char*)NULL };
776
777 /*
778  *  content selection pattern - do fix if pattern found
779  */
780 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
781        ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
782
783 #define    ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT  1
784 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
785   { TT_EGREP,    zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
786
787 /*
788  *  Fix Command Arguments for Alpha___Extern_Prefix_Standards
789  */
790 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
791     "format",
792     "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
793     (char*)NULL };
794
795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
796  *
797  *  Description of Alpha___Extern_Prefix_Sys_Stat fix
798  */
799 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
800      "alpha___extern_prefix_sys_stat";
801
802 /*
803  *  File name selection pattern
804  */
805 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
806   "|sys/stat.h|sys/mount.h|";
807 /*
808  *  Machine/OS name selection pattern
809  */
810 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
811         "alpha*-dec-osf5*",
812         (const char*)NULL };
813
814 /*
815  *  content selection pattern - do fix if pattern found
816  */
817 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
818        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
819
820 #define    ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT  1
821 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
822   { TT_EGREP,    zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
823
824 /*
825  *  Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
826  */
827 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
828     "format",
829     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
830     (char*)NULL };
831
832 /* * * * * * * * * * * * * * * * * * * * * * * * * *
833  *
834  *  Description of Alpha_Assert fix
835  */
836 tSCC zAlpha_AssertName[] =
837      "alpha_assert";
838
839 /*
840  *  File name selection pattern
841  */
842 tSCC zAlpha_AssertList[] =
843   "|assert.h|";
844 /*
845  *  Machine/OS name selection pattern
846  */
847 #define apzAlpha_AssertMachs (const char**)NULL
848
849 /*
850  *  content selection pattern - do fix if pattern found
851  */
852 tSCC zAlpha_AssertSelect0[] =
853        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
854
855 #define    ALPHA_ASSERT_TEST_CT  1
856 static tTestDesc aAlpha_AssertTests[] = {
857   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
858
859 /*
860  *  Fix Command Arguments for Alpha_Assert
861  */
862 static const char* apzAlpha_AssertPatch[] = {
863     "format",
864     "%1(EX)",
865     (char*)NULL };
866
867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
868  *
869  *  Description of Alpha_Bad_Lval fix
870  */
871 tSCC zAlpha_Bad_LvalName[] =
872      "alpha_bad_lval";
873
874 /*
875  *  File name selection pattern
876  */
877 #define zAlpha_Bad_LvalList (char*)NULL
878 /*
879  *  Machine/OS name selection pattern
880  */
881 tSCC* apzAlpha_Bad_LvalMachs[] = {
882         "alpha*-dec-osf*",
883         (const char*)NULL };
884
885 /*
886  *  content selection pattern - do fix if pattern found
887  */
888 tSCC zAlpha_Bad_LvalSelect0[] =
889        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
890
891 #define    ALPHA_BAD_LVAL_TEST_CT  1
892 static tTestDesc aAlpha_Bad_LvalTests[] = {
893   { TT_EGREP,    zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
894
895 /*
896  *  Fix Command Arguments for Alpha_Bad_Lval
897  */
898 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
899     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
900     (char*)NULL };
901
902 /* * * * * * * * * * * * * * * * * * * * * * * * * *
903  *
904  *  Description of Alpha_Getopt fix
905  */
906 tSCC zAlpha_GetoptName[] =
907      "alpha_getopt";
908
909 /*
910  *  File name selection pattern
911  */
912 tSCC zAlpha_GetoptList[] =
913   "|stdio.h|stdlib.h|";
914 /*
915  *  Machine/OS name selection pattern
916  */
917 #define apzAlpha_GetoptMachs (const char**)NULL
918
919 /*
920  *  content selection pattern - do fix if pattern found
921  */
922 tSCC zAlpha_GetoptSelect0[] =
923        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
924
925 #define    ALPHA_GETOPT_TEST_CT  1
926 static tTestDesc aAlpha_GetoptTests[] = {
927   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
928
929 /*
930  *  Fix Command Arguments for Alpha_Getopt
931  */
932 static const char* apzAlpha_GetoptPatch[] = {
933     "format",
934     "getopt(int, char *const[], const char *)",
935     (char*)NULL };
936
937 /* * * * * * * * * * * * * * * * * * * * * * * * * *
938  *
939  *  Description of Alpha_Parens fix
940  */
941 tSCC zAlpha_ParensName[] =
942      "alpha_parens";
943
944 /*
945  *  File name selection pattern
946  */
947 tSCC zAlpha_ParensList[] =
948   "|sym.h|";
949 /*
950  *  Machine/OS name selection pattern
951  */
952 #define apzAlpha_ParensMachs (const char**)NULL
953
954 /*
955  *  content selection pattern - do fix if pattern found
956  */
957 tSCC zAlpha_ParensSelect0[] =
958        "#ifndef\\(__mips64\\)";
959
960 #define    ALPHA_PARENS_TEST_CT  1
961 static tTestDesc aAlpha_ParensTests[] = {
962   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
963
964 /*
965  *  Fix Command Arguments for Alpha_Parens
966  */
967 static const char* apzAlpha_ParensPatch[] = {
968     "format",
969     "#ifndef __mips64",
970     (char*)NULL };
971
972 /* * * * * * * * * * * * * * * * * * * * * * * * * *
973  *
974  *  Description of Alpha_Pthread fix
975  */
976 tSCC zAlpha_PthreadName[] =
977      "alpha_pthread";
978
979 /*
980  *  File name selection pattern
981  */
982 tSCC zAlpha_PthreadList[] =
983   "|pthread.h|";
984 /*
985  *  Machine/OS name selection pattern
986  */
987 tSCC* apzAlpha_PthreadMachs[] = {
988         "alpha*-dec-osf*",
989         (const char*)NULL };
990
991 /*
992  *  content selection pattern - do fix if pattern found
993  */
994 tSCC zAlpha_PthreadSelect0[] =
995        "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
996 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
997
998 #define    ALPHA_PTHREAD_TEST_CT  1
999 static tTestDesc aAlpha_PthreadTests[] = {
1000   { TT_EGREP,    zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1001
1002 /*
1003  *  Fix Command Arguments for Alpha_Pthread
1004  */
1005 static const char* apzAlpha_PthreadPatch[] = {
1006     "format",
1007     "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1008 %5",
1009     (char*)NULL };
1010
1011 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1012  *
1013  *  Description of Alpha_Pthread_Gcc fix
1014  */
1015 tSCC zAlpha_Pthread_GccName[] =
1016      "alpha_pthread_gcc";
1017
1018 /*
1019  *  File name selection pattern
1020  */
1021 tSCC zAlpha_Pthread_GccList[] =
1022   "|pthread.h|";
1023 /*
1024  *  Machine/OS name selection pattern
1025  */
1026 tSCC* apzAlpha_Pthread_GccMachs[] = {
1027         "alpha*-dec-osf*",
1028         (const char*)NULL };
1029
1030 /*
1031  *  content selection pattern - do fix if pattern found
1032  */
1033 tSCC zAlpha_Pthread_GccSelect0[] =
1034        "#else\n\
1035 # error <pthread.h>: unrecognized compiler.";
1036
1037 #define    ALPHA_PTHREAD_GCC_TEST_CT  1
1038 static tTestDesc aAlpha_Pthread_GccTests[] = {
1039   { TT_EGREP,    zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1040
1041 /*
1042  *  Fix Command Arguments for Alpha_Pthread_Gcc
1043  */
1044 static const char* apzAlpha_Pthread_GccPatch[] = {
1045     "format",
1046     "#elif defined (__GNUC__)\n\
1047 # define _PTHREAD_ENV_GCC\n\
1048 %0",
1049     (char*)NULL };
1050
1051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1052  *
1053  *  Description of Alpha_Sbrk fix
1054  */
1055 tSCC zAlpha_SbrkName[] =
1056      "alpha_sbrk";
1057
1058 /*
1059  *  File name selection pattern
1060  */
1061 tSCC zAlpha_SbrkList[] =
1062   "|unistd.h|";
1063 /*
1064  *  Machine/OS name selection pattern
1065  */
1066 #define apzAlpha_SbrkMachs (const char**)NULL
1067
1068 /*
1069  *  content selection pattern - do fix if pattern found
1070  */
1071 tSCC zAlpha_SbrkSelect0[] =
1072        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1073
1074 #define    ALPHA_SBRK_TEST_CT  1
1075 static tTestDesc aAlpha_SbrkTests[] = {
1076   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1077
1078 /*
1079  *  Fix Command Arguments for Alpha_Sbrk
1080  */
1081 static const char* apzAlpha_SbrkPatch[] = {
1082     "format",
1083     "void *sbrk(",
1084     (char*)NULL };
1085
1086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1087  *
1088  *  Description of Alpha_Wchar fix
1089  */
1090 tSCC zAlpha_WcharName[] =
1091      "alpha_wchar";
1092
1093 /*
1094  *  File name selection pattern
1095  */
1096 tSCC zAlpha_WcharList[] =
1097   "|wchar.h|";
1098 /*
1099  *  Machine/OS name selection pattern
1100  */
1101 tSCC* apzAlpha_WcharMachs[] = {
1102         "alpha*-dec-osf4*",
1103         (const char*)NULL };
1104
1105 /*
1106  *  content selection pattern - do fix if pattern found
1107  */
1108 tSCC zAlpha_WcharSelect0[] =
1109        "#define wcstok wcstok_r";
1110
1111 #define    ALPHA_WCHAR_TEST_CT  1
1112 static tTestDesc aAlpha_WcharTests[] = {
1113   { TT_EGREP,    zAlpha_WcharSelect0, (regex_t*)NULL }, };
1114
1115 /*
1116  *  Fix Command Arguments for Alpha_Wchar
1117  */
1118 static const char* apzAlpha_WcharPatch[] = { "sed",
1119     "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1120     "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t   wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1121     (char*)NULL };
1122
1123 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1124  *
1125  *  Description of Avoid_Bool_Define fix
1126  */
1127 tSCC zAvoid_Bool_DefineName[] =
1128      "avoid_bool_define";
1129
1130 /*
1131  *  File name selection pattern
1132  */
1133 tSCC zAvoid_Bool_DefineList[] =
1134   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1135 /*
1136  *  Machine/OS name selection pattern
1137  */
1138 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1139
1140 /*
1141  *  content selection pattern - do fix if pattern found
1142  */
1143 tSCC zAvoid_Bool_DefineSelect0[] =
1144        "#[ \t]*define[ \t]+bool[ \t]";
1145
1146 /*
1147  *  content bypass pattern - skip fix if pattern found
1148  */
1149 tSCC zAvoid_Bool_DefineBypass0[] =
1150        "__cplusplus";
1151
1152 #define    AVOID_BOOL_DEFINE_TEST_CT  2
1153 static tTestDesc aAvoid_Bool_DefineTests[] = {
1154   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1155   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1156
1157 /*
1158  *  Fix Command Arguments for Avoid_Bool_Define
1159  */
1160 static const char* apzAvoid_Bool_DefinePatch[] = {
1161     "format",
1162     "#ifndef __cplusplus\n\
1163 %0\n\
1164 #endif",
1165     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1166     (char*)NULL };
1167
1168 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1169  *
1170  *  Description of Avoid_Bool_Type fix
1171  */
1172 tSCC zAvoid_Bool_TypeName[] =
1173      "avoid_bool_type";
1174
1175 /*
1176  *  File name selection pattern
1177  */
1178 tSCC zAvoid_Bool_TypeList[] =
1179   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1180 /*
1181  *  Machine/OS name selection pattern
1182  */
1183 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1184
1185 /*
1186  *  content selection pattern - do fix if pattern found
1187  */
1188 tSCC zAvoid_Bool_TypeSelect0[] =
1189        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1190
1191 /*
1192  *  content bypass pattern - skip fix if pattern found
1193  */
1194 tSCC zAvoid_Bool_TypeBypass0[] =
1195        "__cplusplus";
1196
1197 #define    AVOID_BOOL_TYPE_TEST_CT  2
1198 static tTestDesc aAvoid_Bool_TypeTests[] = {
1199   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1200   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1201
1202 /*
1203  *  Fix Command Arguments for Avoid_Bool_Type
1204  */
1205 static const char* apzAvoid_Bool_TypePatch[] = {
1206     "format",
1207     "#ifndef __cplusplus\n\
1208 %0\n\
1209 #endif",
1210     (char*)NULL };
1211
1212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1213  *
1214  *  Description of Avoid_Wchar_T_Type fix
1215  */
1216 tSCC zAvoid_Wchar_T_TypeName[] =
1217      "avoid_wchar_t_type";
1218
1219 /*
1220  *  File name selection pattern
1221  */
1222 #define zAvoid_Wchar_T_TypeList (char*)NULL
1223 /*
1224  *  Machine/OS name selection pattern
1225  */
1226 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1227
1228 /*
1229  *  content selection pattern - do fix if pattern found
1230  */
1231 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1232        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1233
1234 /*
1235  *  content bypass pattern - skip fix if pattern found
1236  */
1237 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1238        "__cplusplus";
1239 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1240        "_LINUX_NLS_H";
1241 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1242        "XFree86: xc/lib/X11/Xlib\\.h";
1243
1244 #define    AVOID_WCHAR_T_TYPE_TEST_CT  4
1245 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1246   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1247   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1248   { TT_NEGREP,   zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1249   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1250
1251 /*
1252  *  Fix Command Arguments for Avoid_Wchar_T_Type
1253  */
1254 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1255     "format",
1256     "#ifndef __cplusplus\n\
1257 %0\n\
1258 #endif",
1259     (char*)NULL };
1260
1261 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1262  *
1263  *  Description of Bad_Struct_Term fix
1264  */
1265 tSCC zBad_Struct_TermName[] =
1266      "bad_struct_term";
1267
1268 /*
1269  *  File name selection pattern
1270  */
1271 tSCC zBad_Struct_TermList[] =
1272   "|curses.h|";
1273 /*
1274  *  Machine/OS name selection pattern
1275  */
1276 #define apzBad_Struct_TermMachs (const char**)NULL
1277
1278 /*
1279  *  content selection pattern - do fix if pattern found
1280  */
1281 tSCC zBad_Struct_TermSelect0[] =
1282        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1283
1284 #define    BAD_STRUCT_TERM_TEST_CT  1
1285 static tTestDesc aBad_Struct_TermTests[] = {
1286   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1287
1288 /*
1289  *  Fix Command Arguments for Bad_Struct_Term
1290  */
1291 static const char* apzBad_Struct_TermPatch[] = {
1292     "format",
1293     "struct term;",
1294     (char*)NULL };
1295
1296 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1297  *
1298  *  Description of Badquote fix
1299  */
1300 tSCC zBadquoteName[] =
1301      "badquote";
1302
1303 /*
1304  *  File name selection pattern
1305  */
1306 tSCC zBadquoteList[] =
1307   "|sundev/vuid_event.h|";
1308 /*
1309  *  Machine/OS name selection pattern
1310  */
1311 #define apzBadquoteMachs (const char**)NULL
1312
1313 /*
1314  *  content selection pattern - do fix if pattern found
1315  */
1316 tSCC zBadquoteSelect0[] =
1317        "doesn't";
1318
1319 #define    BADQUOTE_TEST_CT  1
1320 static tTestDesc aBadquoteTests[] = {
1321   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1322
1323 /*
1324  *  Fix Command Arguments for Badquote
1325  */
1326 static const char* apzBadquotePatch[] = {
1327     "format",
1328     "does not",
1329     (char*)NULL };
1330
1331 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1332  *
1333  *  Description of Broken_Assert_Stdio fix
1334  */
1335 tSCC zBroken_Assert_StdioName[] =
1336      "broken_assert_stdio";
1337
1338 /*
1339  *  File name selection pattern
1340  */
1341 tSCC zBroken_Assert_StdioList[] =
1342   "|assert.h|";
1343 /*
1344  *  Machine/OS name selection pattern
1345  */
1346 #define apzBroken_Assert_StdioMachs (const char**)NULL
1347
1348 /*
1349  *  content selection pattern - do fix if pattern found
1350  */
1351 tSCC zBroken_Assert_StdioSelect0[] =
1352        "stderr";
1353
1354 /*
1355  *  content bypass pattern - skip fix if pattern found
1356  */
1357 tSCC zBroken_Assert_StdioBypass0[] =
1358        "include.*stdio\\.h";
1359
1360 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1361 static tTestDesc aBroken_Assert_StdioTests[] = {
1362   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1363   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1364
1365 /*
1366  *  Fix Command Arguments for Broken_Assert_Stdio
1367  */
1368 static const char* apzBroken_Assert_StdioPatch[] = {
1369     "wrap",
1370     "#include <stdio.h>\n",
1371     (char*)NULL };
1372
1373 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1374  *
1375  *  Description of Broken_Assert_Stdlib fix
1376  */
1377 tSCC zBroken_Assert_StdlibName[] =
1378      "broken_assert_stdlib";
1379
1380 /*
1381  *  File name selection pattern
1382  */
1383 tSCC zBroken_Assert_StdlibList[] =
1384   "|assert.h|";
1385 /*
1386  *  Machine/OS name selection pattern
1387  */
1388 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1389
1390 /*
1391  *  content selection pattern - do fix if pattern found
1392  */
1393 tSCC zBroken_Assert_StdlibSelect0[] =
1394        "exit *\\(|abort *\\(";
1395
1396 /*
1397  *  content bypass pattern - skip fix if pattern found
1398  */
1399 tSCC zBroken_Assert_StdlibBypass0[] =
1400        "include.*stdlib\\.h";
1401
1402 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1403 static tTestDesc aBroken_Assert_StdlibTests[] = {
1404   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1405   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1406
1407 /*
1408  *  Fix Command Arguments for Broken_Assert_Stdlib
1409  */
1410 static const char* apzBroken_Assert_StdlibPatch[] = {
1411     "wrap",
1412     "#ifdef __cplusplus\n\
1413 #include <stdlib.h>\n\
1414 #endif\n",
1415     (char*)NULL };
1416
1417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1418  *
1419  *  Description of Broken_Cabs fix
1420  */
1421 tSCC zBroken_CabsName[] =
1422      "broken_cabs";
1423
1424 /*
1425  *  File name selection pattern
1426  */
1427 tSCC zBroken_CabsList[] =
1428   "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1429 /*
1430  *  Machine/OS name selection pattern
1431  */
1432 #define apzBroken_CabsMachs (const char**)NULL
1433
1434 /*
1435  *  content selection pattern - do fix if pattern found
1436  */
1437 tSCC zBroken_CabsSelect0[] =
1438        "^extern[ \\t]+double[ \\t]+cabs";
1439
1440 #define    BROKEN_CABS_TEST_CT  1
1441 static tTestDesc aBroken_CabsTests[] = {
1442   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1443
1444 /*
1445  *  Fix Command Arguments for Broken_Cabs
1446  */
1447 static const char* apzBroken_CabsPatch[] = {
1448     "format",
1449     "",
1450     "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1451     (char*)NULL };
1452
1453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1454  *
1455  *  Description of Bsd_Stdio_Attrs_Conflict fix
1456  */
1457 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1458      "bsd_stdio_attrs_conflict";
1459
1460 /*
1461  *  File name selection pattern
1462  */
1463 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1464   "|stdio.h|";
1465 /*
1466  *  Machine/OS name selection pattern
1467  */
1468 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1469         "*-*-*bsd*",
1470         "*-*-*darwin*",
1471         (const char*)NULL };
1472
1473 /*
1474  *  content selection pattern - do fix if pattern found
1475  */
1476 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1477        "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1478
1479 #define    BSD_STDIO_ATTRS_CONFLICT_TEST_CT  1
1480 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1481   { TT_EGREP,    zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1482
1483 /*
1484  *  Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1485  */
1486 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1487     "format",
1488     "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1489 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1490 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1491     (char*)NULL };
1492
1493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1494  *
1495  *  Description of Ctrl_Quotes_Def fix
1496  */
1497 tSCC zCtrl_Quotes_DefName[] =
1498      "ctrl_quotes_def";
1499
1500 /*
1501  *  File name selection pattern
1502  */
1503 #define zCtrl_Quotes_DefList (char*)NULL
1504 /*
1505  *  Machine/OS name selection pattern
1506  */
1507 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1508
1509 /*
1510  *  content selection pattern - do fix if pattern found
1511  */
1512 tSCC zCtrl_Quotes_DefSelect0[] =
1513        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1514
1515 #define    CTRL_QUOTES_DEF_TEST_CT  1
1516 static tTestDesc aCtrl_Quotes_DefTests[] = {
1517   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1518
1519 /*
1520  *  Fix Command Arguments for Ctrl_Quotes_Def
1521  */
1522 static const char* apzCtrl_Quotes_DefPatch[] = {
1523     "char_macro_def",
1524     "CTRL",
1525     (char*)NULL };
1526
1527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1528  *
1529  *  Description of Ctrl_Quotes_Use fix
1530  */
1531 tSCC zCtrl_Quotes_UseName[] =
1532      "ctrl_quotes_use";
1533
1534 /*
1535  *  File name selection pattern
1536  */
1537 #define zCtrl_Quotes_UseList (char*)NULL
1538 /*
1539  *  Machine/OS name selection pattern
1540  */
1541 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1542
1543 /*
1544  *  content selection pattern - do fix if pattern found
1545  */
1546 tSCC zCtrl_Quotes_UseSelect0[] =
1547        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1548
1549 #define    CTRL_QUOTES_USE_TEST_CT  1
1550 static tTestDesc aCtrl_Quotes_UseTests[] = {
1551   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1552
1553 /*
1554  *  Fix Command Arguments for Ctrl_Quotes_Use
1555  */
1556 static const char* apzCtrl_Quotes_UsePatch[] = {
1557     "char_macro_use",
1558     "CTRL",
1559     (char*)NULL };
1560
1561 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1562  *
1563  *  Description of Cxx_Unready fix
1564  */
1565 tSCC zCxx_UnreadyName[] =
1566      "cxx_unready";
1567
1568 /*
1569  *  File name selection pattern
1570  */
1571 tSCC zCxx_UnreadyList[] =
1572   "|sys/mman.h|rpc/types.h|";
1573 /*
1574  *  Machine/OS name selection pattern
1575  */
1576 #define apzCxx_UnreadyMachs (const char**)NULL
1577
1578 /*
1579  *  content selection pattern - do fix if pattern found
1580  */
1581 tSCC zCxx_UnreadySelect0[] =
1582        "[^#]+malloc.*;";
1583
1584 /*
1585  *  content bypass pattern - skip fix if pattern found
1586  */
1587 tSCC zCxx_UnreadyBypass0[] =
1588        "\"C\"|__BEGIN_DECLS";
1589
1590 #define    CXX_UNREADY_TEST_CT  2
1591 static tTestDesc aCxx_UnreadyTests[] = {
1592   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1593   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1594
1595 /*
1596  *  Fix Command Arguments for Cxx_Unready
1597  */
1598 static const char* apzCxx_UnreadyPatch[] = {
1599     "wrap",
1600     "#ifdef __cplusplus\n\
1601 extern \"C\" {\n\
1602 #endif\n",
1603     "#ifdef __cplusplus\n\
1604 }\n\
1605 #endif\n",
1606     (char*)NULL };
1607
1608 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1609  *
1610  *  Description of Darwin_Private_Extern fix
1611  */
1612 tSCC zDarwin_Private_ExternName[] =
1613      "darwin_private_extern";
1614
1615 /*
1616  *  File name selection pattern
1617  */
1618 tSCC zDarwin_Private_ExternList[] =
1619   "|mach-o/dyld.h|";
1620 /*
1621  *  Machine/OS name selection pattern
1622  */
1623 tSCC* apzDarwin_Private_ExternMachs[] = {
1624         "*-*-darwin*",
1625         (const char*)NULL };
1626
1627 /*
1628  *  content selection pattern - do fix if pattern found
1629  */
1630 tSCC zDarwin_Private_ExternSelect0[] =
1631        "__private_extern__ [a-z_]+ _dyld_";
1632
1633 #define    DARWIN_PRIVATE_EXTERN_TEST_CT  1
1634 static tTestDesc aDarwin_Private_ExternTests[] = {
1635   { TT_EGREP,    zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1636
1637 /*
1638  *  Fix Command Arguments for Darwin_Private_Extern
1639  */
1640 static const char* apzDarwin_Private_ExternPatch[] = {
1641     "format",
1642     "extern",
1643     "__private_extern__",
1644     (char*)NULL };
1645
1646 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1647  *
1648  *  Description of Dec_Intern_Asm fix
1649  */
1650 tSCC zDec_Intern_AsmName[] =
1651      "dec_intern_asm";
1652
1653 /*
1654  *  File name selection pattern
1655  */
1656 tSCC zDec_Intern_AsmList[] =
1657   "|c_asm.h|";
1658 /*
1659  *  Machine/OS name selection pattern
1660  */
1661 #define apzDec_Intern_AsmMachs (const char**)NULL
1662 #define DEC_INTERN_ASM_TEST_CT  0
1663 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1664
1665 /*
1666  *  Fix Command Arguments for Dec_Intern_Asm
1667  */
1668 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1669     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1670 #ifdef __DECC\n",
1671     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1672 #endif\n",
1673     (char*)NULL };
1674
1675 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1676  *
1677  *  Description of Djgpp_Wchar_H fix
1678  */
1679 tSCC zDjgpp_Wchar_HName[] =
1680      "djgpp_wchar_h";
1681
1682 /*
1683  *  File name selection pattern
1684  */
1685 #define zDjgpp_Wchar_HList (char*)NULL
1686 /*
1687  *  Machine/OS name selection pattern
1688  */
1689 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1690
1691 /*
1692  *  content selection pattern - do fix if pattern found
1693  */
1694 tSCC zDjgpp_Wchar_HSelect0[] =
1695        "__DJ_wint_t";
1696
1697 /*
1698  *  content bypass pattern - skip fix if pattern found
1699  */
1700 tSCC zDjgpp_Wchar_HBypass0[] =
1701        "sys/djtypes.h";
1702
1703 #define    DJGPP_WCHAR_H_TEST_CT  2
1704 static tTestDesc aDjgpp_Wchar_HTests[] = {
1705   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1706   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1707
1708 /*
1709  *  Fix Command Arguments for Djgpp_Wchar_H
1710  */
1711 static const char* apzDjgpp_Wchar_HPatch[] = {
1712     "format",
1713     "%0\n\
1714 #include <sys/djtypes.h>",
1715     "#include <stddef.h>",
1716     (char*)NULL };
1717
1718 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1719  *
1720  *  Description of Ecd_Cursor fix
1721  */
1722 tSCC zEcd_CursorName[] =
1723      "ecd_cursor";
1724
1725 /*
1726  *  File name selection pattern
1727  */
1728 tSCC zEcd_CursorList[] =
1729   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1730 /*
1731  *  Machine/OS name selection pattern
1732  */
1733 #define apzEcd_CursorMachs (const char**)NULL
1734
1735 /*
1736  *  content selection pattern - do fix if pattern found
1737  */
1738 tSCC zEcd_CursorSelect0[] =
1739        "ecd\\.cursor";
1740
1741 #define    ECD_CURSOR_TEST_CT  1
1742 static tTestDesc aEcd_CursorTests[] = {
1743   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1744
1745 /*
1746  *  Fix Command Arguments for Ecd_Cursor
1747  */
1748 static const char* apzEcd_CursorPatch[] = {
1749     "format",
1750     "ecd_cursor",
1751     (char*)NULL };
1752
1753 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1754  *
1755  *  Description of Exception_Structure fix
1756  */
1757 tSCC zException_StructureName[] =
1758      "exception_structure";
1759
1760 /*
1761  *  File name selection pattern
1762  */
1763 tSCC zException_StructureList[] =
1764   "|math.h|";
1765 /*
1766  *  Machine/OS name selection pattern
1767  */
1768 #define apzException_StructureMachs (const char**)NULL
1769
1770 /*
1771  *  content selection pattern - do fix if pattern found
1772  */
1773 tSCC zException_StructureSelect0[] =
1774        "matherr";
1775
1776 /*
1777  *  content bypass pattern - skip fix if pattern found
1778  */
1779 tSCC zException_StructureBypass0[] =
1780        "matherr.*(struct exception|__MATH_EXCEPTION)";
1781
1782 #define    EXCEPTION_STRUCTURE_TEST_CT  2
1783 static tTestDesc aException_StructureTests[] = {
1784   { TT_NEGREP,   zException_StructureBypass0, (regex_t*)NULL },
1785   { TT_EGREP,    zException_StructureSelect0, (regex_t*)NULL }, };
1786
1787 /*
1788  *  Fix Command Arguments for Exception_Structure
1789  */
1790 static const char* apzException_StructurePatch[] = {
1791     "wrap",
1792     "struct exception;\n",
1793     (char*)NULL };
1794
1795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1796  *
1797  *  Description of Freebsd_Gcc3_Breakage fix
1798  */
1799 tSCC zFreebsd_Gcc3_BreakageName[] =
1800      "freebsd_gcc3_breakage";
1801
1802 /*
1803  *  File name selection pattern
1804  */
1805 tSCC zFreebsd_Gcc3_BreakageList[] =
1806   "|sys/cdefs.h|";
1807 /*
1808  *  Machine/OS name selection pattern
1809  */
1810 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1811         "*-*-freebsd*",
1812         (const char*)NULL };
1813
1814 /*
1815  *  content selection pattern - do fix if pattern found
1816  */
1817 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1818        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1819
1820 /*
1821  *  content bypass pattern - skip fix if pattern found
1822  */
1823 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1824        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1825
1826 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1827 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1828   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1829   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1830
1831 /*
1832  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1833  */
1834 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1835     "format",
1836     "%0 || __GNUC__ >= 3",
1837     (char*)NULL };
1838
1839 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1840  *
1841  *  Description of Gnu_Types fix
1842  */
1843 tSCC zGnu_TypesName[] =
1844      "gnu_types";
1845
1846 /*
1847  *  File name selection pattern
1848  */
1849 tSCC zGnu_TypesList[] =
1850   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1851 /*
1852  *  Machine/OS name selection pattern
1853  */
1854 #define apzGnu_TypesMachs (const char**)NULL
1855
1856 /*
1857  *  content selection pattern - do fix if pattern found
1858  */
1859 tSCC zGnu_TypesSelect0[] =
1860        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1861
1862 /*
1863  *  content bypass pattern - skip fix if pattern found
1864  */
1865 tSCC zGnu_TypesBypass0[] =
1866        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1867
1868 #define    GNU_TYPES_TEST_CT  2
1869 static tTestDesc aGnu_TypesTests[] = {
1870   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
1871   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
1872
1873 /*
1874  *  Fix Command Arguments for Gnu_Types
1875  */
1876 static const char* apzGnu_TypesPatch[] = {
1877     "gnu_type",
1878     (char*)NULL };
1879
1880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1881  *
1882  *  Description of Hp_Inline fix
1883  */
1884 tSCC zHp_InlineName[] =
1885      "hp_inline";
1886
1887 /*
1888  *  File name selection pattern
1889  */
1890 tSCC zHp_InlineList[] =
1891   "|sys/spinlock.h|machine/machparam.h|";
1892 /*
1893  *  Machine/OS name selection pattern
1894  */
1895 #define apzHp_InlineMachs (const char**)NULL
1896
1897 /*
1898  *  content selection pattern - do fix if pattern found
1899  */
1900 tSCC zHp_InlineSelect0[] =
1901        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1902
1903 #define    HP_INLINE_TEST_CT  1
1904 static tTestDesc aHp_InlineTests[] = {
1905   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
1906
1907 /*
1908  *  Fix Command Arguments for Hp_Inline
1909  */
1910 static const char* apzHp_InlinePatch[] = {
1911     "format",
1912     "%1<machine/%2.h>",
1913     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1914     (char*)NULL };
1915
1916 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1917  *
1918  *  Description of Hp_Sysfile fix
1919  */
1920 tSCC zHp_SysfileName[] =
1921      "hp_sysfile";
1922
1923 /*
1924  *  File name selection pattern
1925  */
1926 tSCC zHp_SysfileList[] =
1927   "|sys/file.h|";
1928 /*
1929  *  Machine/OS name selection pattern
1930  */
1931 #define apzHp_SysfileMachs (const char**)NULL
1932
1933 /*
1934  *  content selection pattern - do fix if pattern found
1935  */
1936 tSCC zHp_SysfileSelect0[] =
1937        "HPUX_SOURCE";
1938
1939 #define    HP_SYSFILE_TEST_CT  1
1940 static tTestDesc aHp_SysfileTests[] = {
1941   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
1942
1943 /*
1944  *  Fix Command Arguments for Hp_Sysfile
1945  */
1946 static const char* apzHp_SysfilePatch[] = {
1947     "format",
1948     "(struct file *, ...)",
1949     "\\(\\.\\.\\.\\)",
1950     (char*)NULL };
1951
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1953  *
1954  *  Description of Hpux10_Cpp_Pow_Inline fix
1955  */
1956 tSCC zHpux10_Cpp_Pow_InlineName[] =
1957      "hpux10_cpp_pow_inline";
1958
1959 /*
1960  *  File name selection pattern
1961  */
1962 tSCC zHpux10_Cpp_Pow_InlineList[] =
1963   "|fixinc-test-limits.h|math.h|";
1964 /*
1965  *  Machine/OS name selection pattern
1966  */
1967 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1968
1969 /*
1970  *  content selection pattern - do fix if pattern found
1971  */
1972 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1973        "^# +ifdef +__cplusplus\n\
1974  +\\}\n\
1975  +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
1976 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1977  +\\}\n\
1978  +extern +\"C\" +\\{\n\
1979 #else\n\
1980 # +endif";
1981
1982 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
1983 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1984   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1985
1986 /*
1987  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1988  */
1989 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1990     "format",
1991     "",
1992     (char*)NULL };
1993
1994 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1995  *
1996  *  Description of Hpux11_Cpp_Pow_Inline fix
1997  */
1998 tSCC zHpux11_Cpp_Pow_InlineName[] =
1999      "hpux11_cpp_pow_inline";
2000
2001 /*
2002  *  File name selection pattern
2003  */
2004 tSCC zHpux11_Cpp_Pow_InlineList[] =
2005   "|math.h|";
2006 /*
2007  *  Machine/OS name selection pattern
2008  */
2009 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2010
2011 /*
2012  *  content selection pattern - do fix if pattern found
2013  */
2014 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2015        " +inline double pow\\(double d,int expon\\) \\{\n\
2016  +return pow\\(d, \\(double\\)expon\\);\n\
2017  +\\}\n";
2018
2019 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
2020 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2021   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2022
2023 /*
2024  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2025  */
2026 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2027     "format",
2028     "",
2029     (char*)NULL };
2030
2031 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2032  *
2033  *  Description of Hpux10_Ctype_Declarations1 fix
2034  */
2035 tSCC zHpux10_Ctype_Declarations1Name[] =
2036      "hpux10_ctype_declarations1";
2037
2038 /*
2039  *  File name selection pattern
2040  */
2041 tSCC zHpux10_Ctype_Declarations1List[] =
2042   "|ctype.h|";
2043 /*
2044  *  Machine/OS name selection pattern
2045  */
2046 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2047
2048 /*
2049  *  content selection pattern - do fix if pattern found
2050  */
2051 tSCC zHpux10_Ctype_Declarations1Select0[] =
2052        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2053
2054 /*
2055  *  content bypass pattern - skip fix if pattern found
2056  */
2057 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2058        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2059
2060 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
2061 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2062   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2063   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2064
2065 /*
2066  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
2067  */
2068 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2069     "format",
2070     "#ifdef _PROTOTYPES\n\
2071 extern int __tolower(int);\n\
2072 extern int __toupper(int);\n\
2073 #else /* NOT _PROTOTYPES */\n\
2074 extern int __tolower();\n\
2075 extern int __toupper();\n\
2076 #endif /* _PROTOTYPES */\n\n\
2077 %0\n",
2078     (char*)NULL };
2079
2080 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2081  *
2082  *  Description of Hpux10_Ctype_Declarations2 fix
2083  */
2084 tSCC zHpux10_Ctype_Declarations2Name[] =
2085      "hpux10_ctype_declarations2";
2086
2087 /*
2088  *  File name selection pattern
2089  */
2090 tSCC zHpux10_Ctype_Declarations2List[] =
2091   "|ctype.h|";
2092 /*
2093  *  Machine/OS name selection pattern
2094  */
2095 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2096
2097 /*
2098  *  content selection pattern - do fix if pattern found
2099  */
2100 tSCC zHpux10_Ctype_Declarations2Select0[] =
2101        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2102
2103 /*
2104  *  content bypass pattern - skip fix if pattern found
2105  */
2106 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2107        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2108
2109 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
2110 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2111   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2112   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2113
2114 /*
2115  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
2116  */
2117 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2118     "format",
2119     "%0\n\n\
2120 #ifdef _PROTOTYPES\n\
2121      extern int _isalnum(int);\n\
2122      extern int _isalpha(int);\n\
2123      extern int _iscntrl(int);\n\
2124      extern int _isdigit(int);\n\
2125      extern int _isgraph(int);\n\
2126      extern int _islower(int);\n\
2127      extern int _isprint(int);\n\
2128      extern int _ispunct(int);\n\
2129      extern int _isspace(int);\n\
2130      extern int _isupper(int);\n\
2131      extern int _isxdigit(int);\n\
2132 #  else /* not _PROTOTYPES */\n\
2133      extern int _isalnum();\n\
2134      extern int _isalpha();\n\
2135      extern int _iscntrl();\n\
2136      extern int _isdigit();\n\
2137      extern int _isgraph();\n\
2138      extern int _islower();\n\
2139      extern int _isprint();\n\
2140      extern int _ispunct();\n\
2141      extern int _isspace();\n\
2142      extern int _isupper();\n\
2143      extern int _isxdigit();\n\
2144 #endif /* _PROTOTYPES */\n",
2145     (char*)NULL };
2146
2147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2148  *
2149  *  Description of Hpux10_Stdio_Declarations fix
2150  */
2151 tSCC zHpux10_Stdio_DeclarationsName[] =
2152      "hpux10_stdio_declarations";
2153
2154 /*
2155  *  File name selection pattern
2156  */
2157 tSCC zHpux10_Stdio_DeclarationsList[] =
2158   "|stdio.h|";
2159 /*
2160  *  Machine/OS name selection pattern
2161  */
2162 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2163
2164 /*
2165  *  content selection pattern - do fix if pattern found
2166  */
2167 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2168        "^#[ \t]*define _iob[ \t]*__iob";
2169
2170 /*
2171  *  content bypass pattern - skip fix if pattern found
2172  */
2173 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2174        "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2175
2176 #define    HPUX10_STDIO_DECLARATIONS_TEST_CT  2
2177 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2178   { TT_NEGREP,   zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2179   { TT_EGREP,    zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2180
2181 /*
2182  *  Fix Command Arguments for Hpux10_Stdio_Declarations
2183  */
2184 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2185     "format",
2186     "%0\n\n\
2187 #  if defined(__STDC__) || defined(__cplusplus)\n\
2188      extern int snprintf(char *, size_t, const char *, ...);\n\
2189      extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2190 #  else /* not __STDC__) || __cplusplus */\n\
2191      extern int snprintf();\n\
2192      extern int vsnprintf();\n\
2193 #  endif /* __STDC__) || __cplusplus */\n",
2194     (char*)NULL };
2195
2196 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2197  *
2198  *  Description of Hpux11_Abs fix
2199  */
2200 tSCC zHpux11_AbsName[] =
2201      "hpux11_abs";
2202
2203 /*
2204  *  File name selection pattern
2205  */
2206 tSCC zHpux11_AbsList[] =
2207   "|stdlib.h|";
2208 /*
2209  *  Machine/OS name selection pattern
2210  */
2211 tSCC* apzHpux11_AbsMachs[] = {
2212         "ia64-hp-hpux11*",
2213         (const char*)NULL };
2214
2215 /*
2216  *  content selection pattern - do fix if pattern found
2217  */
2218 tSCC zHpux11_AbsSelect0[] =
2219        "ifndef _MATH_INCLUDED";
2220
2221 #define    HPUX11_ABS_TEST_CT  1
2222 static tTestDesc aHpux11_AbsTests[] = {
2223   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
2224
2225 /*
2226  *  Fix Command Arguments for Hpux11_Abs
2227  */
2228 static const char* apzHpux11_AbsPatch[] = {
2229     "format",
2230     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2231     (char*)NULL };
2232
2233 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2234  *
2235  *  Description of Hpux11_Fabsf fix
2236  */
2237 tSCC zHpux11_FabsfName[] =
2238      "hpux11_fabsf";
2239
2240 /*
2241  *  File name selection pattern
2242  */
2243 tSCC zHpux11_FabsfList[] =
2244   "|math.h|";
2245 /*
2246  *  Machine/OS name selection pattern
2247  */
2248 #define apzHpux11_FabsfMachs (const char**)NULL
2249
2250 /*
2251  *  content selection pattern - do fix if pattern found
2252  */
2253 tSCC zHpux11_FabsfSelect0[] =
2254        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2255
2256 /*
2257  *  content bypass pattern - skip fix if pattern found
2258  */
2259 tSCC zHpux11_FabsfBypass0[] =
2260        "__cplusplus";
2261
2262 #define    HPUX11_FABSF_TEST_CT  2
2263 static tTestDesc aHpux11_FabsfTests[] = {
2264   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
2265   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2266
2267 /*
2268  *  Fix Command Arguments for Hpux11_Fabsf
2269  */
2270 static const char* apzHpux11_FabsfPatch[] = {
2271     "format",
2272     "#ifndef __cplusplus\n\
2273 %0\n\
2274 #endif",
2275     (char*)NULL };
2276
2277 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2278  *
2279  *  Description of Hpux11_Size_T fix
2280  */
2281 tSCC zHpux11_Size_TName[] =
2282      "hpux11_size_t";
2283
2284 /*
2285  *  File name selection pattern
2286  */
2287 #define zHpux11_Size_TList (char*)NULL
2288 /*
2289  *  Machine/OS name selection pattern
2290  */
2291 tSCC* apzHpux11_Size_TMachs[] = {
2292         "*-hp-hpux11*",
2293         (const char*)NULL };
2294
2295 /*
2296  *  content selection pattern - do fix if pattern found
2297  */
2298 tSCC zHpux11_Size_TSelect0[] =
2299        "__size_t";
2300
2301 #define    HPUX11_SIZE_T_TEST_CT  1
2302 static tTestDesc aHpux11_Size_TTests[] = {
2303   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2304
2305 /*
2306  *  Fix Command Arguments for Hpux11_Size_T
2307  */
2308 static const char* apzHpux11_Size_TPatch[] = {
2309     "format",
2310     "_hpux_size_t",
2311     (char*)NULL };
2312
2313 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2314  *
2315  *  Description of Hpux11_Snprintf fix
2316  */
2317 tSCC zHpux11_SnprintfName[] =
2318      "hpux11_snprintf";
2319
2320 /*
2321  *  File name selection pattern
2322  */
2323 tSCC zHpux11_SnprintfList[] =
2324   "|stdio.h|";
2325 /*
2326  *  Machine/OS name selection pattern
2327  */
2328 #define apzHpux11_SnprintfMachs (const char**)NULL
2329
2330 /*
2331  *  content selection pattern - do fix if pattern found
2332  */
2333 tSCC zHpux11_SnprintfSelect0[] =
2334        "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2335
2336 #define    HPUX11_SNPRINTF_TEST_CT  1
2337 static tTestDesc aHpux11_SnprintfTests[] = {
2338   { TT_EGREP,    zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2339
2340 /*
2341  *  Fix Command Arguments for Hpux11_Snprintf
2342  */
2343 static const char* apzHpux11_SnprintfPatch[] = {
2344     "format",
2345     "%1 const %3",
2346     (char*)NULL };
2347
2348 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2349  *
2350  *  Description of Hpux11_Uint32_C fix
2351  */
2352 tSCC zHpux11_Uint32_CName[] =
2353      "hpux11_uint32_c";
2354
2355 /*
2356  *  File name selection pattern
2357  */
2358 tSCC zHpux11_Uint32_CList[] =
2359   "|inttypes.h|";
2360 /*
2361  *  Machine/OS name selection pattern
2362  */
2363 #define apzHpux11_Uint32_CMachs (const char**)NULL
2364
2365 /*
2366  *  content selection pattern - do fix if pattern found
2367  */
2368 tSCC zHpux11_Uint32_CSelect0[] =
2369        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2370
2371 #define    HPUX11_UINT32_C_TEST_CT  1
2372 static tTestDesc aHpux11_Uint32_CTests[] = {
2373   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2374
2375 /*
2376  *  Fix Command Arguments for Hpux11_Uint32_C
2377  */
2378 static const char* apzHpux11_Uint32_CPatch[] = {
2379     "format",
2380     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2381     (char*)NULL };
2382
2383 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2384  *
2385  *  Description of Hpux11_Vsnprintf fix
2386  */
2387 tSCC zHpux11_VsnprintfName[] =
2388      "hpux11_vsnprintf";
2389
2390 /*
2391  *  File name selection pattern
2392  */
2393 tSCC zHpux11_VsnprintfList[] =
2394   "|stdio.h|";
2395 /*
2396  *  Machine/OS name selection pattern
2397  */
2398 #define apzHpux11_VsnprintfMachs (const char**)NULL
2399
2400 /*
2401  *  content selection pattern - do fix if pattern found
2402  */
2403 tSCC zHpux11_VsnprintfSelect0[] =
2404        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2405
2406 #define    HPUX11_VSNPRINTF_TEST_CT  1
2407 static tTestDesc aHpux11_VsnprintfTests[] = {
2408   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2409
2410 /*
2411  *  Fix Command Arguments for Hpux11_Vsnprintf
2412  */
2413 static const char* apzHpux11_VsnprintfPatch[] = {
2414     "format",
2415     "%1 __va_list);",
2416     (char*)NULL };
2417
2418 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2419  *
2420  *  Description of Hpux8_Bogus_Inlines fix
2421  */
2422 tSCC zHpux8_Bogus_InlinesName[] =
2423      "hpux8_bogus_inlines";
2424
2425 /*
2426  *  File name selection pattern
2427  */
2428 tSCC zHpux8_Bogus_InlinesList[] =
2429   "|math.h|";
2430 /*
2431  *  Machine/OS name selection pattern
2432  */
2433 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2434
2435 /*
2436  *  content selection pattern - do fix if pattern found
2437  */
2438 tSCC zHpux8_Bogus_InlinesSelect0[] =
2439        "inline";
2440
2441 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
2442 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2443   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2444
2445 /*
2446  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2447  */
2448 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2449     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2450     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2451     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2452     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2453     (char*)NULL };
2454
2455 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2456  *
2457  *  Description of Hpux_Ctype_Macros fix
2458  */
2459 tSCC zHpux_Ctype_MacrosName[] =
2460      "hpux_ctype_macros";
2461
2462 /*
2463  *  File name selection pattern
2464  */
2465 tSCC zHpux_Ctype_MacrosList[] =
2466   "|ctype.h|";
2467 /*
2468  *  Machine/OS name selection pattern
2469  */
2470 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2471
2472 /*
2473  *  content selection pattern - do fix if pattern found
2474  */
2475 tSCC zHpux_Ctype_MacrosSelect0[] =
2476        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2477
2478 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2479 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2480   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2481
2482 /*
2483  *  Fix Command Arguments for Hpux_Ctype_Macros
2484  */
2485 static const char* apzHpux_Ctype_MacrosPatch[] = {
2486     "format",
2487     "%1(int)%3",
2488     (char*)NULL };
2489
2490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2491  *
2492  *  Description of Hpux_Long_Double fix
2493  */
2494 tSCC zHpux_Long_DoubleName[] =
2495      "hpux_long_double";
2496
2497 /*
2498  *  File name selection pattern
2499  */
2500 tSCC zHpux_Long_DoubleList[] =
2501   "|stdlib.h|";
2502 /*
2503  *  Machine/OS name selection pattern
2504  */
2505 #define apzHpux_Long_DoubleMachs (const char**)NULL
2506
2507 /*
2508  *  content selection pattern - do fix if pattern found
2509  */
2510 tSCC zHpux_Long_DoubleSelect0[] =
2511        "extern[ \t]long_double[ \t]strtold";
2512
2513 /*
2514  *  content bypass pattern - skip fix if pattern found
2515  */
2516 tSCC zHpux_Long_DoubleBypass0[] =
2517        "long_double_t";
2518
2519 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2520 static tTestDesc aHpux_Long_DoubleTests[] = {
2521   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2522   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2523
2524 /*
2525  *  Fix Command Arguments for Hpux_Long_Double
2526  */
2527 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2528     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2529     "-e", "s/long_double/long double/g",
2530     (char*)NULL };
2531
2532 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2533  *
2534  *  Description of Hpux_Maxint fix
2535  */
2536 tSCC zHpux_MaxintName[] =
2537      "hpux_maxint";
2538
2539 /*
2540  *  File name selection pattern
2541  */
2542 tSCC zHpux_MaxintList[] =
2543   "|sys/param.h|values.h|";
2544 /*
2545  *  Machine/OS name selection pattern
2546  */
2547 #define apzHpux_MaxintMachs (const char**)NULL
2548
2549 /*
2550  *  content selection pattern - do fix if pattern found
2551  */
2552 tSCC zHpux_MaxintSelect0[] =
2553        "^#[ \t]*define[ \t]+MAXINT[ \t]";
2554
2555 /*
2556  *  content bypass pattern - skip fix if pattern found
2557  */
2558 tSCC zHpux_MaxintBypass0[] =
2559        "^#[ \t]*ifndef[ \t]+MAXINT";
2560
2561 /*
2562  *  perform the 'test' shell command - do fix on success
2563  */
2564 tSCC zHpux_MaxintTest0[] =
2565        "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2566
2567 #define    HPUX_MAXINT_TEST_CT  3
2568 static tTestDesc aHpux_MaxintTests[] = {
2569   { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
2570   { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
2571   { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
2572
2573 /*
2574  *  Fix Command Arguments for Hpux_Maxint
2575  */
2576 static const char* apzHpux_MaxintPatch[] = {
2577     "format",
2578     "#ifndef MAXINT\n\
2579 %0\n\
2580 #endif",
2581     "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2582     (char*)NULL };
2583
2584 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2585  *
2586  *  Description of Hpux_Systime fix
2587  */
2588 tSCC zHpux_SystimeName[] =
2589      "hpux_systime";
2590
2591 /*
2592  *  File name selection pattern
2593  */
2594 tSCC zHpux_SystimeList[] =
2595   "|sys/time.h|";
2596 /*
2597  *  Machine/OS name selection pattern
2598  */
2599 #define apzHpux_SystimeMachs (const char**)NULL
2600
2601 /*
2602  *  content selection pattern - do fix if pattern found
2603  */
2604 tSCC zHpux_SystimeSelect0[] =
2605        "^extern struct sigevent;";
2606
2607 #define    HPUX_SYSTIME_TEST_CT  1
2608 static tTestDesc aHpux_SystimeTests[] = {
2609   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2610
2611 /*
2612  *  Fix Command Arguments for Hpux_Systime
2613  */
2614 static const char* apzHpux_SystimePatch[] = {
2615     "format",
2616     "struct sigevent;",
2617     (char*)NULL };
2618
2619 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2620  *
2621  *  Description of Int_Abort_Free_And_Exit fix
2622  */
2623 tSCC zInt_Abort_Free_And_ExitName[] =
2624      "int_abort_free_and_exit";
2625
2626 /*
2627  *  File name selection pattern
2628  */
2629 tSCC zInt_Abort_Free_And_ExitList[] =
2630   "|stdlib.h|";
2631 /*
2632  *  Machine/OS name selection pattern
2633  */
2634 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2635
2636 /*
2637  *  content selection pattern - do fix if pattern found
2638  */
2639 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2640        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2641
2642 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
2643 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2644   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2645
2646 /*
2647  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2648  */
2649 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2650     "format",
2651     "void\t%1(",
2652     (char*)NULL };
2653
2654 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2655  *
2656  *  Description of Io_Quotes_Def fix
2657  */
2658 tSCC zIo_Quotes_DefName[] =
2659      "io_quotes_def";
2660
2661 /*
2662  *  File name selection pattern
2663  */
2664 #define zIo_Quotes_DefList (char*)NULL
2665 /*
2666  *  Machine/OS name selection pattern
2667  */
2668 #define apzIo_Quotes_DefMachs (const char**)NULL
2669
2670 /*
2671  *  content selection pattern - do fix if pattern found
2672  */
2673 tSCC zIo_Quotes_DefSelect0[] =
2674        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2675
2676 #define    IO_QUOTES_DEF_TEST_CT  1
2677 static tTestDesc aIo_Quotes_DefTests[] = {
2678   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2679
2680 /*
2681  *  Fix Command Arguments for Io_Quotes_Def
2682  */
2683 static const char* apzIo_Quotes_DefPatch[] = {
2684     "char_macro_def",
2685     "IO",
2686     (char*)NULL };
2687
2688 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2689  *
2690  *  Description of Io_Quotes_Use fix
2691  */
2692 tSCC zIo_Quotes_UseName[] =
2693      "io_quotes_use";
2694
2695 /*
2696  *  File name selection pattern
2697  */
2698 #define zIo_Quotes_UseList (char*)NULL
2699 /*
2700  *  Machine/OS name selection pattern
2701  */
2702 #define apzIo_Quotes_UseMachs (const char**)NULL
2703
2704 /*
2705  *  content selection pattern - do fix if pattern found
2706  */
2707 tSCC zIo_Quotes_UseSelect0[] =
2708        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2709
2710 #define    IO_QUOTES_USE_TEST_CT  1
2711 static tTestDesc aIo_Quotes_UseTests[] = {
2712   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2713
2714 /*
2715  *  Fix Command Arguments for Io_Quotes_Use
2716  */
2717 static const char* apzIo_Quotes_UsePatch[] = {
2718     "char_macro_use",
2719     "IO",
2720     (char*)NULL };
2721
2722 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2723  *
2724  *  Description of Ip_Missing_Semi fix
2725  */
2726 tSCC zIp_Missing_SemiName[] =
2727      "ip_missing_semi";
2728
2729 /*
2730  *  File name selection pattern
2731  */
2732 tSCC zIp_Missing_SemiList[] =
2733   "|netinet/ip.h|";
2734 /*
2735  *  Machine/OS name selection pattern
2736  */
2737 #define apzIp_Missing_SemiMachs (const char**)NULL
2738
2739 /*
2740  *  content selection pattern - do fix if pattern found
2741  */
2742 tSCC zIp_Missing_SemiSelect0[] =
2743        "}$";
2744
2745 #define    IP_MISSING_SEMI_TEST_CT  1
2746 static tTestDesc aIp_Missing_SemiTests[] = {
2747   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2748
2749 /*
2750  *  Fix Command Arguments for Ip_Missing_Semi
2751  */
2752 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2753     "-e", "/^struct/,/^};/s/}$/};/",
2754     (char*)NULL };
2755
2756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2757  *
2758  *  Description of Irix___Restrict fix
2759  */
2760 tSCC zIrix___RestrictName[] =
2761      "irix___restrict";
2762
2763 /*
2764  *  File name selection pattern
2765  */
2766 tSCC zIrix___RestrictList[] =
2767   "|internal/sgimacros.h|";
2768 /*
2769  *  Machine/OS name selection pattern
2770  */
2771 tSCC* apzIrix___RestrictMachs[] = {
2772         "mips-sgi-irix6.5",
2773         (const char*)NULL };
2774
2775 /*
2776  *  content selection pattern - do fix if pattern found
2777  */
2778 tSCC zIrix___RestrictSelect0[] =
2779        "(#ifdef __c99\n\
2780 )(#[ \t]*define __restrict restrict)";
2781
2782 #define    IRIX___RESTRICT_TEST_CT  1
2783 static tTestDesc aIrix___RestrictTests[] = {
2784   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2785
2786 /*
2787  *  Fix Command Arguments for Irix___Restrict
2788  */
2789 static const char* apzIrix___RestrictPatch[] = {
2790     "format",
2791     "%1#  ifndef __cplusplus\n\
2792 %2\n\
2793 #  endif",
2794     (char*)NULL };
2795
2796 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2797  *
2798  *  Description of Irix_Asm_Apostrophe fix
2799  */
2800 tSCC zIrix_Asm_ApostropheName[] =
2801      "irix_asm_apostrophe";
2802
2803 /*
2804  *  File name selection pattern
2805  */
2806 tSCC zIrix_Asm_ApostropheList[] =
2807   "|sys/asm.h|";
2808 /*
2809  *  Machine/OS name selection pattern
2810  */
2811 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2812
2813 /*
2814  *  content selection pattern - do fix if pattern found
2815  */
2816 tSCC zIrix_Asm_ApostropheSelect0[] =
2817        "^[ \t]*#.*[Ww]e're";
2818
2819 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
2820 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2821   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2822
2823 /*
2824  *  Fix Command Arguments for Irix_Asm_Apostrophe
2825  */
2826 static const char* apzIrix_Asm_ApostrophePatch[] = {
2827     "format",
2828     "%1 are",
2829     "^([ \t]*#.*[Ww]e)'re",
2830     (char*)NULL };
2831
2832 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2833  *
2834  *  Description of Irix_Limits_Const fix
2835  */
2836 tSCC zIrix_Limits_ConstName[] =
2837      "irix_limits_const";
2838
2839 /*
2840  *  File name selection pattern
2841  */
2842 tSCC zIrix_Limits_ConstList[] =
2843   "|fixinc-test-limits.h|limits.h|";
2844 /*
2845  *  Machine/OS name selection pattern
2846  */
2847 #define apzIrix_Limits_ConstMachs (const char**)NULL
2848
2849 /*
2850  *  content selection pattern - do fix if pattern found
2851  */
2852 tSCC zIrix_Limits_ConstSelect0[] =
2853        "^extern const ";
2854
2855 #define    IRIX_LIMITS_CONST_TEST_CT  1
2856 static tTestDesc aIrix_Limits_ConstTests[] = {
2857   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2858
2859 /*
2860  *  Fix Command Arguments for Irix_Limits_Const
2861  */
2862 static const char* apzIrix_Limits_ConstPatch[] = {
2863     "format",
2864     "extern __const ",
2865     (char*)NULL };
2866
2867 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2868  *
2869  *  Description of Irix_Socklen_T fix
2870  */
2871 tSCC zIrix_Socklen_TName[] =
2872      "irix_socklen_t";
2873
2874 /*
2875  *  File name selection pattern
2876  */
2877 tSCC zIrix_Socklen_TList[] =
2878   "|sys/socket.h|";
2879 /*
2880  *  Machine/OS name selection pattern
2881  */
2882 tSCC* apzIrix_Socklen_TMachs[] = {
2883         "mips-sgi-irix6.5",
2884         (const char*)NULL };
2885
2886 /*
2887  *  content selection pattern - do fix if pattern found
2888  */
2889 tSCC zIrix_Socklen_TSelect0[] =
2890        "(#define _SOCKLEN_T\n\
2891 )(typedef u_int32_t socklen_t;)";
2892
2893 #define    IRIX_SOCKLEN_T_TEST_CT  1
2894 static tTestDesc aIrix_Socklen_TTests[] = {
2895   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
2896
2897 /*
2898  *  Fix Command Arguments for Irix_Socklen_T
2899  */
2900 static const char* apzIrix_Socklen_TPatch[] = {
2901     "format",
2902     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
2903 typedef int socklen_t;\n\
2904 #else\n\
2905 %2\n\
2906 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
2907     (char*)NULL };
2908
2909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2910  *
2911  *  Description of Irix_Stdio_Va_List fix
2912  */
2913 tSCC zIrix_Stdio_Va_ListName[] =
2914      "irix_stdio_va_list";
2915
2916 /*
2917  *  File name selection pattern
2918  */
2919 tSCC zIrix_Stdio_Va_ListList[] =
2920   "|stdio.h|internal/stdio_core.h|";
2921 /*
2922  *  Machine/OS name selection pattern
2923  */
2924 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2925
2926 /*
2927  *  content selection pattern - do fix if pattern found
2928  */
2929 tSCC zIrix_Stdio_Va_ListSelect0[] =
2930        "/\\* va_list \\*/ char \\*";
2931
2932 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
2933 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2934   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2935
2936 /*
2937  *  Fix Command Arguments for Irix_Stdio_Va_List
2938  */
2939 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2940     "format",
2941     "__gnuc_va_list",
2942     (char*)NULL };
2943
2944 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2945  *
2946  *  Description of Irix_Wcsftime fix
2947  */
2948 tSCC zIrix_WcsftimeName[] =
2949      "irix_wcsftime";
2950
2951 /*
2952  *  File name selection pattern
2953  */
2954 tSCC zIrix_WcsftimeList[] =
2955   "|internal/wchar_core.h|";
2956 /*
2957  *  Machine/OS name selection pattern
2958  */
2959 tSCC* apzIrix_WcsftimeMachs[] = {
2960         "mips-sgi-irix6.5",
2961         (const char*)NULL };
2962
2963 /*
2964  *  content selection pattern - do fix if pattern found
2965  */
2966 tSCC zIrix_WcsftimeSelect0[] =
2967        "#if _NO_XOPEN5\n\
2968 (extern size_t[ \t]+wcsftime.*const char *.*)";
2969
2970 #define    IRIX_WCSFTIME_TEST_CT  1
2971 static tTestDesc aIrix_WcsftimeTests[] = {
2972   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
2973
2974 /*
2975  *  Fix Command Arguments for Irix_Wcsftime
2976  */
2977 static const char* apzIrix_WcsftimePatch[] = {
2978     "format",
2979     "#if _NO_XOPEN5 && !defined(__c99)\n\
2980 %1",
2981     (char*)NULL };
2982
2983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2984  *
2985  *  Description of Isc_Fmod fix
2986  */
2987 tSCC zIsc_FmodName[] =
2988      "isc_fmod";
2989
2990 /*
2991  *  File name selection pattern
2992  */
2993 tSCC zIsc_FmodList[] =
2994   "|math.h|";
2995 /*
2996  *  Machine/OS name selection pattern
2997  */
2998 #define apzIsc_FmodMachs (const char**)NULL
2999
3000 /*
3001  *  content selection pattern - do fix if pattern found
3002  */
3003 tSCC zIsc_FmodSelect0[] =
3004        "fmod\\(double\\)";
3005
3006 #define    ISC_FMOD_TEST_CT  1
3007 static tTestDesc aIsc_FmodTests[] = {
3008   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
3009
3010 /*
3011  *  Fix Command Arguments for Isc_Fmod
3012  */
3013 static const char* apzIsc_FmodPatch[] = {
3014     "format",
3015     "fmod(double, double)",
3016     (char*)NULL };
3017
3018 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3019  *
3020  *  Description of Isc_Omits_With_Stdc fix
3021  */
3022 tSCC zIsc_Omits_With_StdcName[] =
3023      "isc_omits_with_stdc";
3024
3025 /*
3026  *  File name selection pattern
3027  */
3028 tSCC zIsc_Omits_With_StdcList[] =
3029   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3030 /*
3031  *  Machine/OS name selection pattern
3032  */
3033 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3034
3035 /*
3036  *  content selection pattern - do fix if pattern found
3037  */
3038 tSCC zIsc_Omits_With_StdcSelect0[] =
3039        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3040
3041 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
3042 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3043   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3044
3045 /*
3046  *  Fix Command Arguments for Isc_Omits_With_Stdc
3047  */
3048 static const char* apzIsc_Omits_With_StdcPatch[] = {
3049     "format",
3050     "!defined(_POSIX_SOURCE)",
3051     (char*)NULL };
3052
3053 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3054  *
3055  *  Description of Kandr_Concat fix
3056  */
3057 tSCC zKandr_ConcatName[] =
3058      "kandr_concat";
3059
3060 /*
3061  *  File name selection pattern
3062  */
3063 tSCC zKandr_ConcatList[] =
3064   "|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|";
3065 /*
3066  *  Machine/OS name selection pattern
3067  */
3068 #define apzKandr_ConcatMachs (const char**)NULL
3069
3070 /*
3071  *  content selection pattern - do fix if pattern found
3072  */
3073 tSCC zKandr_ConcatSelect0[] =
3074        "/\\*\\*/";
3075
3076 #define    KANDR_CONCAT_TEST_CT  1
3077 static tTestDesc aKandr_ConcatTests[] = {
3078   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
3079
3080 /*
3081  *  Fix Command Arguments for Kandr_Concat
3082  */
3083 static const char* apzKandr_ConcatPatch[] = {
3084     "format",
3085     "##",
3086     (char*)NULL };
3087
3088 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3089  *
3090  *  Description of Libc1_G_Va_List fix
3091  */
3092 tSCC zLibc1_G_Va_ListName[] =
3093      "libc1_G_va_list";
3094
3095 /*
3096  *  File name selection pattern
3097  */
3098 tSCC zLibc1_G_Va_ListList[] =
3099   "|_G_config.h|";
3100 /*
3101  *  Machine/OS name selection pattern
3102  */
3103 tSCC* apzLibc1_G_Va_ListMachs[] = {
3104         "*-*-linux*libc1",
3105         (const char*)NULL };
3106
3107 /*
3108  *  content selection pattern - do fix if pattern found
3109  */
3110 tSCC zLibc1_G_Va_ListSelect0[] =
3111        "typedef void \\* _G_va_list;";
3112
3113 #define    LIBC1_G_VA_LIST_TEST_CT  1
3114 static tTestDesc aLibc1_G_Va_ListTests[] = {
3115   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3116
3117 /*
3118  *  Fix Command Arguments for Libc1_G_Va_List
3119  */
3120 static const char* apzLibc1_G_Va_ListPatch[] = {
3121     "format",
3122     "typedef __builtin_va_list _G_va_list;",
3123     (char*)NULL };
3124
3125 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3126  *
3127  *  Description of Libc1_Ifdefd_Memx fix
3128  */
3129 tSCC zLibc1_Ifdefd_MemxName[] =
3130      "libc1_ifdefd_memx";
3131
3132 /*
3133  *  File name selection pattern
3134  */
3135 tSCC zLibc1_Ifdefd_MemxList[] =
3136   "|testing.h|string.h|";
3137 /*
3138  *  Machine/OS name selection pattern
3139  */
3140 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3141
3142 /*
3143  *  content selection pattern - do fix if pattern found
3144  */
3145 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3146        "' is a built-in function for gcc 2\\.x\\. \\*/";
3147
3148 /*
3149  *  content bypass pattern - skip fix if pattern found
3150  */
3151 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3152        "__cplusplus";
3153
3154 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
3155 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3156   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3157   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3158
3159 /*
3160  *  Fix Command Arguments for Libc1_Ifdefd_Memx
3161  */
3162 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3163     "format",
3164     "%1",
3165     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3166 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3167 (/\\* .* \\*/\n\
3168 extern [a-z_]+ mem.*(\n\
3169 [^#].*)*;)\n\
3170 #endif",
3171     (char*)NULL };
3172
3173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3174  *
3175  *  Description of Limits_Ifndefs fix
3176  */
3177 tSCC zLimits_IfndefsName[] =
3178      "limits_ifndefs";
3179
3180 /*
3181  *  File name selection pattern
3182  */
3183 tSCC zLimits_IfndefsList[] =
3184   "|sys/limits.h|limits.h|";
3185 /*
3186  *  Machine/OS name selection pattern
3187  */
3188 #define apzLimits_IfndefsMachs (const char**)NULL
3189
3190 /*
3191  *  content selection pattern - do fix if pattern found
3192  */
3193 tSCC zLimits_IfndefsSelect0[] =
3194        "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*";
3195
3196 /*
3197  *  content bypass pattern - skip fix if pattern found
3198  */
3199 tSCC zLimits_IfndefsBypass0[] =
3200        "ifndef[ \t]+FLT_(MIN|MAX)";
3201
3202 #define    LIMITS_IFNDEFS_TEST_CT  2
3203 static tTestDesc aLimits_IfndefsTests[] = {
3204   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL },
3205   { TT_EGREP,    zLimits_IfndefsSelect0, (regex_t*)NULL }, };
3206
3207 /*
3208  *  Fix Command Arguments for Limits_Ifndefs
3209  */
3210 static const char* apzLimits_IfndefsPatch[] = {
3211     "format",
3212     "#ifndef %1\n\
3213 %0\n\
3214 #endif",
3215     (char*)NULL };
3216
3217 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3218  *
3219  *  Description of Lynx_Void_Int fix
3220  */
3221 tSCC zLynx_Void_IntName[] =
3222      "lynx_void_int";
3223
3224 /*
3225  *  File name selection pattern
3226  */
3227 tSCC zLynx_Void_IntList[] =
3228   "|curses.h|";
3229 /*
3230  *  Machine/OS name selection pattern
3231  */
3232 #define apzLynx_Void_IntMachs (const char**)NULL
3233
3234 /*
3235  *  content selection pattern - do fix if pattern found
3236  */
3237 tSCC zLynx_Void_IntSelect0[] =
3238        "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
3239
3240 #define    LYNX_VOID_INT_TEST_CT  1
3241 static tTestDesc aLynx_Void_IntTests[] = {
3242   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
3243
3244 /*
3245  *  Fix Command Arguments for Lynx_Void_Int
3246  */
3247 static const char* apzLynx_Void_IntPatch[] = {
3248     "format",
3249     "",
3250     (char*)NULL };
3251
3252 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3253  *
3254  *  Description of Lynxos_Fcntl_Proto fix
3255  */
3256 tSCC zLynxos_Fcntl_ProtoName[] =
3257      "lynxos_fcntl_proto";
3258
3259 /*
3260  *  File name selection pattern
3261  */
3262 tSCC zLynxos_Fcntl_ProtoList[] =
3263   "|fcntl.h|";
3264 /*
3265  *  Machine/OS name selection pattern
3266  */
3267 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
3268
3269 /*
3270  *  content selection pattern - do fix if pattern found
3271  */
3272 tSCC zLynxos_Fcntl_ProtoSelect0[] =
3273        "fcntl[ \t]*\\(int, int, int\\)";
3274
3275 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
3276 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
3277   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
3278
3279 /*
3280  *  Fix Command Arguments for Lynxos_Fcntl_Proto
3281  */
3282 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
3283     "format",
3284     "%1...)",
3285     "(fcntl[ \t]*\\(int, int, )int\\)",
3286     (char*)NULL };
3287
3288 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3289  *
3290  *  Description of Machine_Ansi_H_Va_List fix
3291  */
3292 tSCC zMachine_Ansi_H_Va_ListName[] =
3293      "machine_ansi_h_va_list";
3294
3295 /*
3296  *  File name selection pattern
3297  */
3298 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3299 /*
3300  *  Machine/OS name selection pattern
3301  */
3302 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3303
3304 /*
3305  *  content selection pattern - do fix if pattern found
3306  */
3307 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3308        "define[ \t]+_BSD_VA_LIST_[ \t]";
3309
3310 /*
3311  *  content bypass pattern - skip fix if pattern found
3312  */
3313 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3314        "__builtin_va_list";
3315
3316 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
3317 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3318   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3319   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3320
3321 /*
3322  *  Fix Command Arguments for Machine_Ansi_H_Va_List
3323  */
3324 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3325     "format",
3326     "%1__builtin_va_list",
3327     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3328     (char*)NULL };
3329
3330 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3331  *
3332  *  Description of Machine_Name fix
3333  */
3334 tSCC zMachine_NameName[] =
3335      "machine_name";
3336
3337 /*
3338  *  File name selection pattern
3339  */
3340 #define zMachine_NameList (char*)NULL
3341 /*
3342  *  Machine/OS name selection pattern
3343  */
3344 #define apzMachine_NameMachs (const char**)NULL
3345
3346 /*
3347  *  perform the C function call test
3348  */
3349 tSCC zMachine_NameFTst0[] = "machine_name";
3350
3351 #define    MACHINE_NAME_TEST_CT  1
3352 static tTestDesc aMachine_NameTests[] = {
3353   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
3354
3355 /*
3356  *  Fix Command Arguments for Machine_Name
3357  */
3358 static const char* apzMachine_NamePatch[] = {
3359     "machine_name",
3360     (char*)NULL };
3361
3362 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3363  *
3364  *  Description of Math_Exception fix
3365  */
3366 tSCC zMath_ExceptionName[] =
3367      "math_exception";
3368
3369 /*
3370  *  File name selection pattern
3371  */
3372 tSCC zMath_ExceptionList[] =
3373   "|math.h|";
3374 /*
3375  *  Machine/OS name selection pattern
3376  */
3377 #define apzMath_ExceptionMachs (const char**)NULL
3378
3379 /*
3380  *  content selection pattern - do fix if pattern found
3381  */
3382 tSCC zMath_ExceptionSelect0[] =
3383        "struct exception";
3384
3385 /*
3386  *  content bypass pattern - skip fix if pattern found
3387  */
3388 tSCC zMath_ExceptionBypass0[] =
3389        "We have a problem when using C\\+\\+";
3390
3391 #define    MATH_EXCEPTION_TEST_CT  2
3392 static tTestDesc aMath_ExceptionTests[] = {
3393   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
3394   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
3395
3396 /*
3397  *  Fix Command Arguments for Math_Exception
3398  */
3399 static const char* apzMath_ExceptionPatch[] = {
3400     "wrap",
3401     "#ifdef __cplusplus\n\
3402 #define exception __math_exception\n\
3403 #endif\n",
3404     "#ifdef __cplusplus\n\
3405 #undef exception\n\
3406 #endif\n",
3407     (char*)NULL };
3408
3409 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3410  *
3411  *  Description of Math_Huge_Val_From_Dbl_Max fix
3412  */
3413 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3414      "math_huge_val_from_dbl_max";
3415
3416 /*
3417  *  File name selection pattern
3418  */
3419 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3420   "|math.h|";
3421 /*
3422  *  Machine/OS name selection pattern
3423  */
3424 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3425
3426 /*
3427  *  content selection pattern - do fix if pattern found
3428  */
3429 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3430        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3431
3432 /*
3433  *  content bypass pattern - skip fix if pattern found
3434  */
3435 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3436        "define[ \t]+DBL_MAX";
3437
3438 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3439 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3440   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3441   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3442
3443 /*
3444  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3445  */
3446 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3447     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3448 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3449 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3450 \telse cat\n\
3451 \tfi",
3452     (char*)NULL };
3453
3454 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3455  *
3456  *  Description of Math_Huge_Val_Ifndef fix
3457  */
3458 tSCC zMath_Huge_Val_IfndefName[] =
3459      "math_huge_val_ifndef";
3460
3461 /*
3462  *  File name selection pattern
3463  */
3464 tSCC zMath_Huge_Val_IfndefList[] =
3465   "|math.h|math/math.h|";
3466 /*
3467  *  Machine/OS name selection pattern
3468  */
3469 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
3470
3471 /*
3472  *  content selection pattern - do fix if pattern found
3473  */
3474 tSCC zMath_Huge_Val_IfndefSelect0[] =
3475        "define[ \t]+HUGE_VAL";
3476
3477 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
3478 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3479   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3480
3481 /*
3482  *  Fix Command Arguments for Math_Huge_Val_Ifndef
3483  */
3484 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3485     "format",
3486     "#ifndef HUGE_VAL\n\
3487 %0\n\
3488 #endif",
3489     "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3490     (char*)NULL };
3491
3492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3493  *
3494  *  Description of Nested_Auth_Des fix
3495  */
3496 tSCC zNested_Auth_DesName[] =
3497      "nested_auth_des";
3498
3499 /*
3500  *  File name selection pattern
3501  */
3502 tSCC zNested_Auth_DesList[] =
3503   "|rpc/rpc.h|";
3504 /*
3505  *  Machine/OS name selection pattern
3506  */
3507 #define apzNested_Auth_DesMachs (const char**)NULL
3508
3509 /*
3510  *  content selection pattern - do fix if pattern found
3511  */
3512 tSCC zNested_Auth_DesSelect0[] =
3513        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3514
3515 #define    NESTED_AUTH_DES_TEST_CT  1
3516 static tTestDesc aNested_Auth_DesTests[] = {
3517   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3518
3519 /*
3520  *  Fix Command Arguments for Nested_Auth_Des
3521  */
3522 static const char* apzNested_Auth_DesPatch[] = {
3523     "format",
3524     "%1*/ /*",
3525     (char*)NULL };
3526
3527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3528  *
3529  *  Description of Nested_Motorola fix
3530  */
3531 tSCC zNested_MotorolaName[] =
3532      "nested_motorola";
3533
3534 /*
3535  *  File name selection pattern
3536  */
3537 tSCC zNested_MotorolaList[] =
3538   "|sys/limits.h|limits.h|";
3539 /*
3540  *  Machine/OS name selection pattern
3541  */
3542 tSCC* apzNested_MotorolaMachs[] = {
3543         "m68k-motorola-sysv*",
3544         (const char*)NULL };
3545
3546 /*
3547  *  content selection pattern - do fix if pattern found
3548  */
3549 tSCC zNested_MotorolaSelect0[] =
3550        "max # bytes atomic in write|error value returned by Math lib";
3551
3552 #define    NESTED_MOTOROLA_TEST_CT  1
3553 static tTestDesc aNested_MotorolaTests[] = {
3554   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3555
3556 /*
3557  *  Fix Command Arguments for Nested_Motorola
3558  */
3559 static const char* apzNested_MotorolaPatch[] = { "sed",
3560     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3561     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3562     (char*)NULL };
3563
3564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3565  *
3566  *  Description of Nested_Sys_Limits fix
3567  */
3568 tSCC zNested_Sys_LimitsName[] =
3569      "nested_sys_limits";
3570
3571 /*
3572  *  File name selection pattern
3573  */
3574 tSCC zNested_Sys_LimitsList[] =
3575   "|sys/limits.h|";
3576 /*
3577  *  Machine/OS name selection pattern
3578  */
3579 #define apzNested_Sys_LimitsMachs (const char**)NULL
3580
3581 /*
3582  *  content selection pattern - do fix if pattern found
3583  */
3584 tSCC zNested_Sys_LimitsSelect0[] =
3585        "CHILD_MAX";
3586
3587 #define    NESTED_SYS_LIMITS_TEST_CT  1
3588 static tTestDesc aNested_Sys_LimitsTests[] = {
3589   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3590
3591 /*
3592  *  Fix Command Arguments for Nested_Sys_Limits
3593  */
3594 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3595     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3596     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3597     (char*)NULL };
3598
3599 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3600  *
3601  *  Description of Netbsd_Extra_Semicolon fix
3602  */
3603 tSCC zNetbsd_Extra_SemicolonName[] =
3604      "netbsd_extra_semicolon";
3605
3606 /*
3607  *  File name selection pattern
3608  */
3609 tSCC zNetbsd_Extra_SemicolonList[] =
3610   "|sys/cdefs.h|";
3611 /*
3612  *  Machine/OS name selection pattern
3613  */
3614 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3615         "*-*-netbsd*",
3616         (const char*)NULL };
3617
3618 /*
3619  *  content selection pattern - do fix if pattern found
3620  */
3621 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3622        "#define[ \t]*__END_DECLS[ \t]*};";
3623
3624 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3625 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3626   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3627
3628 /*
3629  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3630  */
3631 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3632     "format",
3633     "#define __END_DECLS }",
3634     (char*)NULL };
3635
3636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3637  *
3638  *  Description of Next_Math_Prefix fix
3639  */
3640 tSCC zNext_Math_PrefixName[] =
3641      "next_math_prefix";
3642
3643 /*
3644  *  File name selection pattern
3645  */
3646 tSCC zNext_Math_PrefixList[] =
3647   "|ansi/math.h|";
3648 /*
3649  *  Machine/OS name selection pattern
3650  */
3651 #define apzNext_Math_PrefixMachs (const char**)NULL
3652
3653 /*
3654  *  content selection pattern - do fix if pattern found
3655  */
3656 tSCC zNext_Math_PrefixSelect0[] =
3657        "^extern[ \t]+double[ \t]+__const__[ \t]";
3658
3659 #define    NEXT_MATH_PREFIX_TEST_CT  1
3660 static tTestDesc aNext_Math_PrefixTests[] = {
3661   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3662
3663 /*
3664  *  Fix Command Arguments for Next_Math_Prefix
3665  */
3666 static const char* apzNext_Math_PrefixPatch[] = {
3667     "format",
3668     "extern double %1(",
3669     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3670     (char*)NULL };
3671
3672 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3673  *
3674  *  Description of Next_Template fix
3675  */
3676 tSCC zNext_TemplateName[] =
3677      "next_template";
3678
3679 /*
3680  *  File name selection pattern
3681  */
3682 tSCC zNext_TemplateList[] =
3683   "|bsd/libc.h|";
3684 /*
3685  *  Machine/OS name selection pattern
3686  */
3687 #define apzNext_TemplateMachs (const char**)NULL
3688
3689 /*
3690  *  content selection pattern - do fix if pattern found
3691  */
3692 tSCC zNext_TemplateSelect0[] =
3693        "[ \t]template\\)";
3694
3695 #define    NEXT_TEMPLATE_TEST_CT  1
3696 static tTestDesc aNext_TemplateTests[] = {
3697   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3698
3699 /*
3700  *  Fix Command Arguments for Next_Template
3701  */
3702 static const char* apzNext_TemplatePatch[] = {
3703     "format",
3704     "(%1)",
3705     "\\(([^)]*)[ \t]template\\)",
3706     (char*)NULL };
3707
3708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3709  *
3710  *  Description of Next_Volitile fix
3711  */
3712 tSCC zNext_VolitileName[] =
3713      "next_volitile";
3714
3715 /*
3716  *  File name selection pattern
3717  */
3718 tSCC zNext_VolitileList[] =
3719   "|ansi/stdlib.h|";
3720 /*
3721  *  Machine/OS name selection pattern
3722  */
3723 #define apzNext_VolitileMachs (const char**)NULL
3724
3725 /*
3726  *  content selection pattern - do fix if pattern found
3727  */
3728 tSCC zNext_VolitileSelect0[] =
3729        "^extern[ \t]+volatile[ \t]+void[ \t]";
3730
3731 #define    NEXT_VOLITILE_TEST_CT  1
3732 static tTestDesc aNext_VolitileTests[] = {
3733   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3734
3735 /*
3736  *  Fix Command Arguments for Next_Volitile
3737  */
3738 static const char* apzNext_VolitilePatch[] = {
3739     "format",
3740     "extern void %1(",
3741     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3742     (char*)NULL };
3743
3744 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3745  *
3746  *  Description of Next_Wait_Union fix
3747  */
3748 tSCC zNext_Wait_UnionName[] =
3749      "next_wait_union";
3750
3751 /*
3752  *  File name selection pattern
3753  */
3754 tSCC zNext_Wait_UnionList[] =
3755   "|sys/wait.h|";
3756 /*
3757  *  Machine/OS name selection pattern
3758  */
3759 #define apzNext_Wait_UnionMachs (const char**)NULL
3760
3761 /*
3762  *  content selection pattern - do fix if pattern found
3763  */
3764 tSCC zNext_Wait_UnionSelect0[] =
3765        "wait\\(union wait";
3766
3767 #define    NEXT_WAIT_UNION_TEST_CT  1
3768 static tTestDesc aNext_Wait_UnionTests[] = {
3769   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3770
3771 /*
3772  *  Fix Command Arguments for Next_Wait_Union
3773  */
3774 static const char* apzNext_Wait_UnionPatch[] = {
3775     "format",
3776     "wait(void",
3777     (char*)NULL };
3778
3779 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3780  *
3781  *  Description of Nodeent_Syntax fix
3782  */
3783 tSCC zNodeent_SyntaxName[] =
3784      "nodeent_syntax";
3785
3786 /*
3787  *  File name selection pattern
3788  */
3789 tSCC zNodeent_SyntaxList[] =
3790   "|netdnet/dnetdb.h|";
3791 /*
3792  *  Machine/OS name selection pattern
3793  */
3794 #define apzNodeent_SyntaxMachs (const char**)NULL
3795
3796 /*
3797  *  content selection pattern - do fix if pattern found
3798  */
3799 tSCC zNodeent_SyntaxSelect0[] =
3800        "char[ \t]*\\*na_addr[ \t]*$";
3801
3802 #define    NODEENT_SYNTAX_TEST_CT  1
3803 static tTestDesc aNodeent_SyntaxTests[] = {
3804   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3805
3806 /*
3807  *  Fix Command Arguments for Nodeent_Syntax
3808  */
3809 static const char* apzNodeent_SyntaxPatch[] = {
3810     "format",
3811     "%0;",
3812     (char*)NULL };
3813
3814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3815  *
3816  *  Description of Obstack_Lvalue_Cast fix
3817  */
3818 tSCC zObstack_Lvalue_CastName[] =
3819      "obstack_lvalue_cast";
3820
3821 /*
3822  *  File name selection pattern
3823  */
3824 tSCC zObstack_Lvalue_CastList[] =
3825   "|obstack.h|";
3826 /*
3827  *  Machine/OS name selection pattern
3828  */
3829 #define apzObstack_Lvalue_CastMachs (const char**)NULL
3830
3831 /*
3832  *  content selection pattern - do fix if pattern found
3833  */
3834 tSCC zObstack_Lvalue_CastSelect0[] =
3835        "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
3836
3837 #define    OBSTACK_LVALUE_CAST_TEST_CT  1
3838 static tTestDesc aObstack_Lvalue_CastTests[] = {
3839   { TT_EGREP,    zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
3840
3841 /*
3842  *  Fix Command Arguments for Obstack_Lvalue_Cast
3843  */
3844 static const char* apzObstack_Lvalue_CastPatch[] = {
3845     "format",
3846     "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
3847     (char*)NULL };
3848
3849 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3850  *
3851  *  Description of Osf_Namespace_A fix
3852  */
3853 tSCC zOsf_Namespace_AName[] =
3854      "osf_namespace_a";
3855
3856 /*
3857  *  File name selection pattern
3858  */
3859 tSCC zOsf_Namespace_AList[] =
3860   "|reg_types.h|sys/lc_core.h|";
3861 /*
3862  *  Machine/OS name selection pattern
3863  */
3864 #define apzOsf_Namespace_AMachs (const char**)NULL
3865
3866 /*
3867  *  perform the 'test' shell command - do fix on success
3868  */
3869 tSCC zOsf_Namespace_ATest0[] =
3870        " -r reg_types.h";
3871 tSCC zOsf_Namespace_ATest1[] =
3872        " -r sys/lc_core.h";
3873 tSCC zOsf_Namespace_ATest2[] =
3874        " -n \"`grep '} regex_t;' reg_types.h`\"";
3875 tSCC zOsf_Namespace_ATest3[] =
3876        " -z \"`grep __regex_t regex.h`\"";
3877
3878 #define    OSF_NAMESPACE_A_TEST_CT  4
3879 static tTestDesc aOsf_Namespace_ATests[] = {
3880   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
3881   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
3882   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
3883   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
3884
3885 /*
3886  *  Fix Command Arguments for Osf_Namespace_A
3887  */
3888 static const char* apzOsf_Namespace_APatch[] = {
3889     "format",
3890     "__%0",
3891     "reg(ex|off|match)_t",
3892     (char*)NULL };
3893
3894 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3895  *
3896  *  Description of Osf_Namespace_C fix
3897  */
3898 tSCC zOsf_Namespace_CName[] =
3899      "osf_namespace_c";
3900
3901 /*
3902  *  File name selection pattern
3903  */
3904 tSCC zOsf_Namespace_CList[] =
3905   "|regex.h|";
3906 /*
3907  *  Machine/OS name selection pattern
3908  */
3909 #define apzOsf_Namespace_CMachs (const char**)NULL
3910
3911 /*
3912  *  content selection pattern - do fix if pattern found
3913  */
3914 tSCC zOsf_Namespace_CSelect0[] =
3915        "#include <reg_types.h>.*";
3916
3917 /*
3918  *  perform the 'test' shell command - do fix on success
3919  */
3920 tSCC zOsf_Namespace_CTest0[] =
3921        " -r reg_types.h";
3922 tSCC zOsf_Namespace_CTest1[] =
3923        " -r sys/lc_core.h";
3924 tSCC zOsf_Namespace_CTest2[] =
3925        " -n \"`grep '} regex_t;' reg_types.h`\"";
3926 tSCC zOsf_Namespace_CTest3[] =
3927        " -z \"`grep __regex_t regex.h`\"";
3928
3929 #define    OSF_NAMESPACE_C_TEST_CT  5
3930 static tTestDesc aOsf_Namespace_CTests[] = {
3931   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
3932   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
3933   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
3934   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
3935   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3936
3937 /*
3938  *  Fix Command Arguments for Osf_Namespace_C
3939  */
3940 static const char* apzOsf_Namespace_CPatch[] = {
3941     "format",
3942     "%0\n\
3943 typedef __regex_t\tregex_t;\n\
3944 typedef __regoff_t\tregoff_t;\n\
3945 typedef __regmatch_t\tregmatch_t;",
3946     (char*)NULL };
3947
3948 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3949  *
3950  *  Description of Pthread_Page_Size fix
3951  */
3952 tSCC zPthread_Page_SizeName[] =
3953      "pthread_page_size";
3954
3955 /*
3956  *  File name selection pattern
3957  */
3958 tSCC zPthread_Page_SizeList[] =
3959   "|pthread.h|";
3960 /*
3961  *  Machine/OS name selection pattern
3962  */
3963 #define apzPthread_Page_SizeMachs (const char**)NULL
3964
3965 /*
3966  *  content selection pattern - do fix if pattern found
3967  */
3968 tSCC zPthread_Page_SizeSelect0[] =
3969        "^int __page_size";
3970
3971 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
3972 static tTestDesc aPthread_Page_SizeTests[] = {
3973   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3974
3975 /*
3976  *  Fix Command Arguments for Pthread_Page_Size
3977  */
3978 static const char* apzPthread_Page_SizePatch[] = {
3979     "format",
3980     "extern %0",
3981     (char*)NULL };
3982
3983 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3984  *
3985  *  Description of Read_Ret_Type fix
3986  */
3987 tSCC zRead_Ret_TypeName[] =
3988      "read_ret_type";
3989
3990 /*
3991  *  File name selection pattern
3992  */
3993 tSCC zRead_Ret_TypeList[] =
3994   "|stdio.h|";
3995 /*
3996  *  Machine/OS name selection pattern
3997  */
3998 #define apzRead_Ret_TypeMachs (const char**)NULL
3999
4000 /*
4001  *  content selection pattern - do fix if pattern found
4002  */
4003 tSCC zRead_Ret_TypeSelect0[] =
4004        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4005
4006 #define    READ_RET_TYPE_TEST_CT  1
4007 static tTestDesc aRead_Ret_TypeTests[] = {
4008   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4009
4010 /*
4011  *  Fix Command Arguments for Read_Ret_Type
4012  */
4013 static const char* apzRead_Ret_TypePatch[] = {
4014     "format",
4015     "extern unsigned int fread(), fwrite();\n\
4016 %1%2",
4017     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4018     (char*)NULL };
4019
4020 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4021  *
4022  *  Description of Rs6000_Double fix
4023  */
4024 tSCC zRs6000_DoubleName[] =
4025      "rs6000_double";
4026
4027 /*
4028  *  File name selection pattern
4029  */
4030 tSCC zRs6000_DoubleList[] =
4031   "|math.h|";
4032 /*
4033  *  Machine/OS name selection pattern
4034  */
4035 #define apzRs6000_DoubleMachs (const char**)NULL
4036
4037 /*
4038  *  content selection pattern - do fix if pattern found
4039  */
4040 tSCC zRs6000_DoubleSelect0[] =
4041        "[^a-zA-Z_]class\\(";
4042
4043 #define    RS6000_DOUBLE_TEST_CT  1
4044 static tTestDesc aRs6000_DoubleTests[] = {
4045   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4046
4047 /*
4048  *  Fix Command Arguments for Rs6000_Double
4049  */
4050 static const char* apzRs6000_DoublePatch[] = {
4051     "format",
4052     "#ifndef __cplusplus\n\
4053 %0\n\
4054 #endif",
4055     "^.*[^a-zA-Z_]class\\(.*",
4056     (char*)NULL };
4057
4058 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4059  *
4060  *  Description of Rs6000_Fchmod fix
4061  */
4062 tSCC zRs6000_FchmodName[] =
4063      "rs6000_fchmod";
4064
4065 /*
4066  *  File name selection pattern
4067  */
4068 tSCC zRs6000_FchmodList[] =
4069   "|sys/stat.h|";
4070 /*
4071  *  Machine/OS name selection pattern
4072  */
4073 #define apzRs6000_FchmodMachs (const char**)NULL
4074
4075 /*
4076  *  content selection pattern - do fix if pattern found
4077  */
4078 tSCC zRs6000_FchmodSelect0[] =
4079        "fchmod\\(char \\*";
4080
4081 #define    RS6000_FCHMOD_TEST_CT  1
4082 static tTestDesc aRs6000_FchmodTests[] = {
4083   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4084
4085 /*
4086  *  Fix Command Arguments for Rs6000_Fchmod
4087  */
4088 static const char* apzRs6000_FchmodPatch[] = {
4089     "format",
4090     "fchmod(int",
4091     (char*)NULL };
4092
4093 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4094  *
4095  *  Description of Rs6000_Param fix
4096  */
4097 tSCC zRs6000_ParamName[] =
4098      "rs6000_param";
4099
4100 /*
4101  *  File name selection pattern
4102  */
4103 tSCC zRs6000_ParamList[] =
4104   "|stdio.h|unistd.h|";
4105 /*
4106  *  Machine/OS name selection pattern
4107  */
4108 #define apzRs6000_ParamMachs (const char**)NULL
4109
4110 /*
4111  *  content selection pattern - do fix if pattern found
4112  */
4113 tSCC zRs6000_ParamSelect0[] =
4114        "rename\\(const char \\*old, const char \\*new\\)";
4115
4116 #define    RS6000_PARAM_TEST_CT  1
4117 static tTestDesc aRs6000_ParamTests[] = {
4118   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
4119
4120 /*
4121  *  Fix Command Arguments for Rs6000_Param
4122  */
4123 static const char* apzRs6000_ParamPatch[] = {
4124     "format",
4125     "rename(const char *_old, const char *_new)",
4126     (char*)NULL };
4127
4128 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4129  *
4130  *  Description of Sco_Math fix
4131  */
4132 tSCC zSco_MathName[] =
4133      "sco_math";
4134
4135 /*
4136  *  File name selection pattern
4137  */
4138 tSCC zSco_MathList[] =
4139   "|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|";
4140 /*
4141  *  Machine/OS name selection pattern
4142  */
4143 #define apzSco_MathMachs (const char**)NULL
4144
4145 /*
4146  *  content selection pattern - do fix if pattern found
4147  */
4148 tSCC zSco_MathSelect0[] =
4149        "inline double abs";
4150
4151 #define    SCO_MATH_TEST_CT  1
4152 static tTestDesc aSco_MathTests[] = {
4153   { TT_EGREP,    zSco_MathSelect0, (regex_t*)NULL }, };
4154
4155 /*
4156  *  Fix Command Arguments for Sco_Math
4157  */
4158 static const char* apzSco_MathPatch[] = { "sed",
4159     "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4160 #ifndef __GNUC__\n",
4161     "-e", "/.*__builtin_generic/a\\\n\
4162 #else\\\n\
4163 #define __fp_class(a) \\\\\\\n\
4164   __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4165    __fpclassifyl(a), \\\\\\\n\
4166     __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4167       __fpclassifyf(a),__fpclassify(a)))\\\n\
4168 #endif",
4169     "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4170 #ifndef __GNUC__\n",
4171     "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4172 #endif /* ! __GNUC__ */",
4173     (char*)NULL };
4174
4175 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4176  *
4177  *  Description of Sco_Regset fix
4178  */
4179 tSCC zSco_RegsetName[] =
4180      "sco_regset";
4181
4182 /*
4183  *  File name selection pattern
4184  */
4185 tSCC zSco_RegsetList[] =
4186   "|sys/regset.h|";
4187 /*
4188  *  Machine/OS name selection pattern
4189  */
4190 tSCC* apzSco_RegsetMachs[] = {
4191         "*-*-sco3.2v5*",
4192         (const char*)NULL };
4193
4194 /*
4195  *  content selection pattern - do fix if pattern found
4196  */
4197 tSCC zSco_RegsetSelect0[] =
4198        "(struct[ \t]+.*)fpstate";
4199
4200 #define    SCO_REGSET_TEST_CT  1
4201 static tTestDesc aSco_RegsetTests[] = {
4202   { TT_EGREP,    zSco_RegsetSelect0, (regex_t*)NULL }, };
4203
4204 /*
4205  *  Fix Command Arguments for Sco_Regset
4206  */
4207 static const char* apzSco_RegsetPatch[] = {
4208     "format",
4209     "%1rsfpstate",
4210     (char*)NULL };
4211
4212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4213  *
4214  *  Description of Sco_Static_Func fix
4215  */
4216 tSCC zSco_Static_FuncName[] =
4217      "sco_static_func";
4218
4219 /*
4220  *  File name selection pattern
4221  */
4222 tSCC zSco_Static_FuncList[] =
4223   "|sys/stat.h|";
4224 /*
4225  *  Machine/OS name selection pattern
4226  */
4227 tSCC* apzSco_Static_FuncMachs[] = {
4228         "i?86-*-sco3.2*",
4229         (const char*)NULL };
4230
4231 /*
4232  *  content selection pattern - do fix if pattern found
4233  */
4234 tSCC zSco_Static_FuncSelect0[] =
4235        "^static int";
4236
4237 #define    SCO_STATIC_FUNC_TEST_CT  1
4238 static tTestDesc aSco_Static_FuncTests[] = {
4239   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4240
4241 /*
4242  *  Fix Command Arguments for Sco_Static_Func
4243  */
4244 static const char* apzSco_Static_FuncPatch[] = { "sed",
4245     "-e", "/^static int/i\\\n\
4246 #if __cplusplus\\\n\
4247 extern \"C\" {\\\n\
4248 #endif /* __cplusplus */",
4249     "-e", "/^}$/a\\\n\
4250 #if __cplusplus\\\n\
4251  }\\\n\
4252 #endif /* __cplusplus */",
4253     (char*)NULL };
4254
4255 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4256  *
4257  *  Description of Sco_Utime fix
4258  */
4259 tSCC zSco_UtimeName[] =
4260      "sco_utime";
4261
4262 /*
4263  *  File name selection pattern
4264  */
4265 tSCC zSco_UtimeList[] =
4266   "|sys/times.h|";
4267 /*
4268  *  Machine/OS name selection pattern
4269  */
4270 tSCC* apzSco_UtimeMachs[] = {
4271         "i?86-*-sco3.2v4*",
4272         (const char*)NULL };
4273
4274 /*
4275  *  content selection pattern - do fix if pattern found
4276  */
4277 tSCC zSco_UtimeSelect0[] =
4278        "\\(const char \\*, struct utimbuf \\*\\);";
4279
4280 #define    SCO_UTIME_TEST_CT  1
4281 static tTestDesc aSco_UtimeTests[] = {
4282   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
4283
4284 /*
4285  *  Fix Command Arguments for Sco_Utime
4286  */
4287 static const char* apzSco_UtimePatch[] = {
4288     "format",
4289     "(const char *, const struct utimbuf *);",
4290     (char*)NULL };
4291
4292 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4293  *
4294  *  Description of Solaris_Mutex_Init_1 fix
4295  */
4296 tSCC zSolaris_Mutex_Init_1Name[] =
4297      "solaris_mutex_init_1";
4298
4299 /*
4300  *  File name selection pattern
4301  */
4302 tSCC zSolaris_Mutex_Init_1List[] =
4303   "|pthread.h|";
4304 /*
4305  *  Machine/OS name selection pattern
4306  */
4307 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
4308
4309 /*
4310  *  content selection pattern - do fix if pattern found
4311  */
4312 tSCC zSolaris_Mutex_Init_1Select0[] =
4313        "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
4314
4315 #define    SOLARIS_MUTEX_INIT_1_TEST_CT  1
4316 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
4317   { TT_EGREP,    zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
4318
4319 /*
4320  *  Fix Command Arguments for Solaris_Mutex_Init_1
4321  */
4322 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
4323     "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
4324 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
4325     (char*)NULL };
4326
4327 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4328  *
4329  *  Description of Solaris_Mutex_Init_2 fix
4330  */
4331 tSCC zSolaris_Mutex_Init_2Name[] =
4332      "solaris_mutex_init_2";
4333
4334 /*
4335  *  File name selection pattern
4336  */
4337 tSCC zSolaris_Mutex_Init_2List[] =
4338   "|pthread.h|";
4339 /*
4340  *  Machine/OS name selection pattern
4341  */
4342 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
4343
4344 /*
4345  *  content selection pattern - do fix if pattern found
4346  */
4347 tSCC zSolaris_Mutex_Init_2Select0[] =
4348        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4349
4350 #define    SOLARIS_MUTEX_INIT_2_TEST_CT  1
4351 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
4352   { TT_EGREP,    zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
4353
4354 /*
4355  *  Fix Command Arguments for Solaris_Mutex_Init_2
4356  */
4357 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4358     "format",
4359     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4360 %0\n\
4361 #else\n\
4362 %1, {0}}%3\n\
4363 #endif",
4364     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4365     (char*)NULL };
4366
4367 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4368  *
4369  *  Description of Solaris_Socket fix
4370  */
4371 tSCC zSolaris_SocketName[] =
4372      "solaris_socket";
4373
4374 /*
4375  *  File name selection pattern
4376  */
4377 tSCC zSolaris_SocketList[] =
4378   "|sys/socket.h|";
4379 /*
4380  *  Machine/OS name selection pattern
4381  */
4382 #define apzSolaris_SocketMachs (const char**)NULL
4383
4384 /*
4385  *  content selection pattern - do fix if pattern found
4386  */
4387 tSCC zSolaris_SocketSelect0[] =
4388        "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4389
4390 #define    SOLARIS_SOCKET_TEST_CT  1
4391 static tTestDesc aSolaris_SocketTests[] = {
4392   { TT_EGREP,    zSolaris_SocketSelect0, (regex_t*)NULL }, };
4393
4394 /*
4395  *  Fix Command Arguments for Solaris_Socket
4396  */
4397 static const char* apzSolaris_SocketPatch[] = {
4398     "format",
4399     "extern int %1(int, %2void *, int, int);",
4400     "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4401     (char*)NULL };
4402
4403 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4404  *
4405  *  Description of Solaris_Stdio_Tag fix
4406  */
4407 tSCC zSolaris_Stdio_TagName[] =
4408      "solaris_stdio_tag";
4409
4410 /*
4411  *  File name selection pattern
4412  */
4413 tSCC zSolaris_Stdio_TagList[] =
4414   "|stdio_tag.h|";
4415 /*
4416  *  Machine/OS name selection pattern
4417  */
4418 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4419
4420 /*
4421  *  content selection pattern - do fix if pattern found
4422  */
4423 tSCC zSolaris_Stdio_TagSelect0[] =
4424        "__cplusplus < 54321L";
4425
4426 #define    SOLARIS_STDIO_TAG_TEST_CT  1
4427 static tTestDesc aSolaris_Stdio_TagTests[] = {
4428   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4429
4430 /*
4431  *  Fix Command Arguments for Solaris_Stdio_Tag
4432  */
4433 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4434     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4435     (char*)NULL };
4436
4437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4438  *
4439  *  Description of Solaris_Unistd fix
4440  */
4441 tSCC zSolaris_UnistdName[] =
4442      "solaris_unistd";
4443
4444 /*
4445  *  File name selection pattern
4446  */
4447 tSCC zSolaris_UnistdList[] =
4448   "|unistd.h|";
4449 /*
4450  *  Machine/OS name selection pattern
4451  */
4452 #define apzSolaris_UnistdMachs (const char**)NULL
4453
4454 /*
4455  *  content selection pattern - do fix if pattern found
4456  */
4457 tSCC zSolaris_UnistdSelect0[] =
4458        "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4459
4460 /*
4461  *  content bypass pattern - skip fix if pattern found
4462  */
4463 tSCC zSolaris_UnistdBypass0[] =
4464        "getpagesize";
4465
4466 #define    SOLARIS_UNISTD_TEST_CT  2
4467 static tTestDesc aSolaris_UnistdTests[] = {
4468   { TT_NEGREP,   zSolaris_UnistdBypass0, (regex_t*)NULL },
4469   { TT_EGREP,    zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4470
4471 /*
4472  *  Fix Command Arguments for Solaris_Unistd
4473  */
4474 static const char* apzSolaris_UnistdPatch[] = {
4475     "format",
4476     "extern int getpagesize();\n\
4477 %0",
4478     "^extern (pid_t|int) getpgid\\(.*\\);",
4479     (char*)NULL };
4480
4481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4482  *
4483  *  Description of Solaris_Widec fix
4484  */
4485 tSCC zSolaris_WidecName[] =
4486      "solaris_widec";
4487
4488 /*
4489  *  File name selection pattern
4490  */
4491 tSCC zSolaris_WidecList[] =
4492   "|widec.h|";
4493 /*
4494  *  Machine/OS name selection pattern
4495  */
4496 tSCC* apzSolaris_WidecMachs[] = {
4497         "*-*-solaris2.[0-5]",
4498         "*-*-solaris2.[0-5].*",
4499         (const char*)NULL };
4500
4501 /*
4502  *  content selection pattern - do fix if pattern found
4503  */
4504 tSCC zSolaris_WidecSelect0[] =
4505        "#include <euc.h>";
4506
4507 /*
4508  *  content bypass pattern - skip fix if pattern found
4509  */
4510 tSCC zSolaris_WidecBypass0[] =
4511        "include.*wchar\\.h";
4512
4513 #define    SOLARIS_WIDEC_TEST_CT  2
4514 static tTestDesc aSolaris_WidecTests[] = {
4515   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
4516   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
4517
4518 /*
4519  *  Fix Command Arguments for Solaris_Widec
4520  */
4521 static const char* apzSolaris_WidecPatch[] = {
4522     "format",
4523     "%0\n\
4524 #include <wchar.h>",
4525     (char*)NULL };
4526
4527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4528  *
4529  *  Description of Statsswtch fix
4530  */
4531 tSCC zStatsswtchName[] =
4532      "statsswtch";
4533
4534 /*
4535  *  File name selection pattern
4536  */
4537 tSCC zStatsswtchList[] =
4538   "|rpcsvc/rstat.h|";
4539 /*
4540  *  Machine/OS name selection pattern
4541  */
4542 #define apzStatsswtchMachs (const char**)NULL
4543
4544 /*
4545  *  content selection pattern - do fix if pattern found
4546  */
4547 tSCC zStatsswtchSelect0[] =
4548        "boottime$";
4549
4550 #define    STATSSWTCH_TEST_CT  1
4551 static tTestDesc aStatsswtchTests[] = {
4552   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
4553
4554 /*
4555  *  Fix Command Arguments for Statsswtch
4556  */
4557 static const char* apzStatsswtchPatch[] = {
4558     "format",
4559     "boottime;",
4560     (char*)NULL };
4561
4562 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4563  *
4564  *  Description of Stdio_Stdarg_H fix
4565  */
4566 tSCC zStdio_Stdarg_HName[] =
4567      "stdio_stdarg_h";
4568
4569 /*
4570  *  File name selection pattern
4571  */
4572 tSCC zStdio_Stdarg_HList[] =
4573   "|stdio.h|";
4574 /*
4575  *  Machine/OS name selection pattern
4576  */
4577 #define apzStdio_Stdarg_HMachs (const char**)NULL
4578
4579 /*
4580  *  content bypass pattern - skip fix if pattern found
4581  */
4582 tSCC zStdio_Stdarg_HBypass0[] =
4583        "include.*(stdarg.h|machine/ansi.h)";
4584
4585 #define    STDIO_STDARG_H_TEST_CT  1
4586 static tTestDesc aStdio_Stdarg_HTests[] = {
4587   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4588
4589 /*
4590  *  Fix Command Arguments for Stdio_Stdarg_H
4591  */
4592 static const char* apzStdio_Stdarg_HPatch[] = {
4593     "wrap",
4594     "#define __need___va_list\n\
4595 #include <stdarg.h>\n",
4596     (char*)NULL };
4597
4598 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4599  *
4600  *  Description of Stdio_Va_List fix
4601  */
4602 tSCC zStdio_Va_ListNa