Update copyright.
[official-gcc.git] / gcc / fixinc / fixincl.x
blob10a1c1690eae6c890325362c15d68fd0838597ca
1 /*
2  *  DO NOT EDIT THIS FILE - it has been generated
3  *
4  * Install modified versions of certain ANSI-incompatible system header
5  * files which are fixed to work correctly with ANSI C and placed in a
6  * directory that GNU C will search.
7  *
8  * This file contains 147 fixup descriptions.
9  *
10  * See README for more information.
11  *
12  *  inclhack copyright (c) 1998, 1999, 2000, 2001
13  *  The Free Software Foundation, Inc.
14  *
15   *  inclhack is free software.
16  *  
17  *  You may redistribute it and/or modify it under the terms of the
18  *  GNU General Public License, as published by the Free Software
19  *  Foundation; either version 2, or (at your option) any later version.
20  *  
21  *  inclhack is distributed in the hope that it will be useful,
22  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
23  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24  *  See the GNU General Public License for more details.
25  *  
26  *  You should have received a copy of the GNU General Public License
27  *  along with inclhack.  See the file "COPYING".  If not,
28  *  write to:  The Free Software Foundation, Inc.,
29  *             59 Temple Place - Suite 330,
30  *             Boston,  MA  02111-1307, USA.
31  */
33 /* * * * * * * * * * * * * * * * * * * * * * * * * *
34  *
35  *  Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
36  */
37 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
38      "AAB_fd_zero_asm_posix_types_h";
41  *  File name selection pattern
42  */
43 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
44   "|asm/posix_types.h|";
46  *  Machine/OS name selection pattern
47  */
48 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
49         "i[34567]86-*-linux*",
50         (const char*)NULL };
53  *  content bypass pattern - skip fix if pattern found
54  */
55 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
56        "} while";
58 #define    AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT  1
59 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
60   { TT_NEGREP,   zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
63  *  Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
64  */
65 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
66 "/* This file fixes a bug in the __FD_ZERO macro\n\
67    for older versions of the Linux kernel. */\n\
68 #ifndef _POSIX_TYPES_H_WRAPPER\n\
69 #include <features.h>\n\
70  #include_next <asm/posix_types.h>\n\n\
71 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
72 #undef __FD_ZERO\n\
73 #define __FD_ZERO(fdsetp) \\\n\
74   do { \\\n\
75     int __d0, __d1; \\\n\
76 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
77 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
78 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
79   \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
80   } while (0)\n\
81 #endif\n\n\
82 #define _POSIX_TYPES_H_WRAPPER\n\
83 #endif /* _POSIX_TYPES_H_WRAPPER */",
84     (char*)NULL };
86 /* * * * * * * * * * * * * * * * * * * * * * * * * *
87  *
88  *  Description of Aab_Fd_Zero_Gnu_Types_H fix
89  */
90 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
91      "AAB_fd_zero_gnu_types_h";
94  *  File name selection pattern
95  */
96 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
97   "|gnu/types.h|";
99  *  Machine/OS name selection pattern
100  */
101 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
102         "i[34567]86-*-linux*",
103         (const char*)NULL };
104 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT  0
105 #define aAab_Fd_Zero_Gnu_Types_HTests   (tTestDesc*)NULL
108  *  Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
109  */
110 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
111 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
112 #ifndef _TYPES_H_WRAPPER\n\
113 #include <features.h>\n\
114 #include_next <gnu/types.h>\n\n\
115 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
116 #undef __FD_ZERO\n\
117 # define __FD_ZERO(fdsetp) \\\\\n\
118   do { \\\\\n\
119     int __d0, __d1; \\\\\n\
120 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
121         \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
122         \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
123   \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
124   } while (0)\n\
125 #endif\n\n\
126 #define _TYPES_H_WRAPPER\n\
127 #endif /* _TYPES_H_WRAPPER */",
128     (char*)NULL };
130 /* * * * * * * * * * * * * * * * * * * * * * * * * *
132  *  Description of Aab_Fd_Zero_Selectbits_H fix
133  */
134 tSCC zAab_Fd_Zero_Selectbits_HName[] =
135      "AAB_fd_zero_selectbits_h";
138  *  File name selection pattern
139  */
140 tSCC zAab_Fd_Zero_Selectbits_HList[] =
141   "|selectbits.h|";
143  *  Machine/OS name selection pattern
144  */
145 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
146         "i[34567]86-*-linux*",
147         (const char*)NULL };
148 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT  0
149 #define aAab_Fd_Zero_Selectbits_HTests   (tTestDesc*)NULL
152  *  Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
153  */
154 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
155 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
156 #ifndef _SELECTBITS_H_WRAPPER\n\
157   #include <features.h>\n\
158   #include_next <selectbits.h>\n\n\
159   #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
160   && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
161   && __GLIBC_MINOR__ == 0\n\
162      #undef __FD_ZERO\n\
163      #define __FD_ZERO(fdsetp) \\\\\n\
164      do { \\\\\n\
165         int __d0, __d1; \\\\\n\
166       __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
167                         : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
168                         : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
169                                         / sizeof (__fd_mask)), \\\\\n\
170                           \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
171                         : \"memory\"); \\\\\n\
172       } while (0)\n\
173   #endif\n\n\
174   #define _SELECTBITS_H_WRAPPER\n\
175 #endif /* _SELECTBITS_H_WRAPPER */",
176     (char*)NULL };
178 /* * * * * * * * * * * * * * * * * * * * * * * * * *
180  *  Description of Aab_Solaris_Sys_Varargs_H fix
181  */
182 tSCC zAab_Solaris_Sys_Varargs_HName[] =
183      "AAB_solaris_sys_varargs_h";
186  *  File name selection pattern
187  */
188 tSCC zAab_Solaris_Sys_Varargs_HList[] =
189   "|sys/varargs.h|";
191  *  Machine/OS name selection pattern
192  */
193 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
194         "*-*-solaris*",
195         (const char*)NULL };
196 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT  0
197 #define aAab_Solaris_Sys_Varargs_HTests   (tTestDesc*)NULL
200  *  Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
201  */
202 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
203 "#ifdef __STDC__\n\
204   #include <stdarg.h>\n\
205 #else\n\
206   #include <varargs.h>\n\
207 #endif",
208     (char*)NULL };
210 /* * * * * * * * * * * * * * * * * * * * * * * * * *
212  *  Description of Aab_Sun_Memcpy fix
213  */
214 tSCC zAab_Sun_MemcpyName[] =
215      "AAB_sun_memcpy";
218  *  File name selection pattern
219  */
220 tSCC zAab_Sun_MemcpyList[] =
221   "|memory.h|";
223  *  Machine/OS name selection pattern
224  */
225 #define apzAab_Sun_MemcpyMachs (const char**)NULL
228  *  content selection pattern - do fix if pattern found
229  */
230 tSCC zAab_Sun_MemcpySelect0[] =
231        "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
233 #define    AAB_SUN_MEMCPY_TEST_CT  1
234 static tTestDesc aAab_Sun_MemcpyTests[] = {
235   { TT_EGREP,    zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
238  *  Fix Command Arguments for Aab_Sun_Memcpy
239  */
240 static const char* apzAab_Sun_MemcpyPatch[] = {
241 "/* This file was generated by fixincludes */\n\
242 #ifndef __memory_h__\n\
243   #define __memory_h__\n\n\
244   #ifdef __STDC__\n\
245     extern void *memccpy();\n\
246     extern void *memchr();\n\
247     extern void *memcpy();\n\
248     extern void *memset();\n\
249   #else\n\
250     extern char *memccpy();\n\
251     extern char *memchr();\n\
252     extern char *memcpy();\n\
253     extern char *memset();\n\
254   #endif /* __STDC__ */\n\n\
255   extern int memcmp();\n\n\
256 #endif /* __memory_h__ */\n\
257 _EndOfHeader;\n\
258 };\n\n\n\
259 /*\n\
260  *  Completely replace <sys/varargs.h> with a file that includes gcc's\n\
261  *  stdarg.h or varargs.h files as appropriate.\n\
262  */\n\
263 #ifdef SVR4\n\
264 fix = {\n\
265     hackname = AAB_svr4_no_varargs;\n\
266     files    = sys/varargs.h;\n\
267     replace  = \"/* This file was generated by fixincludes.  */\\n\"\n\
268                \"#ifndef _SYS_VARARGS_H\\n\"\n\
269                \"#define _SYS_VARARGS_H\\n\\n\"\n\
270                                                                                 \n\
271                \"#ifdef __STDC__\\n\"\n\
272                \"#include <stdarg.h>\\n\"\n\
273                \"#else\\n\"\n\
274                \"#include <varargs.h>\\n\"\n\
275                \"#endif\\n\\n\"\n\
276                                                                                 \n\
277                \"#endif  /* _SYS_VARARGS_H */\\n\";\n\
278 };\n\
279 #endif\n\n\n\
280 /*\n\
281  *  Completely replace <sys/byteorder.h>; with a file that implements gcc's\n\
282  *  optimized byteswapping.  Restricted to \"SVR4\" machines until either\n\
283  *  it is shown to be safe to replace this file always, or we get bolder ;-)\n\
284  */\n\
285 fix = {\n\
286     hackname = AAB_svr4_replace_byteorder;\n\
287 #ifndef SVR5\n\
288     mach     = \"*-*-sysv4*\";\n\
289     mach     = \"i[34567]86-*-sysv5*\";\n\
290     mach     = \"i[34567]86-*-udk*\";\n\
291     mach     = \"i[34567]86-*-solaris2.[0-4]\";\n\
292     mach     = \"powerpcle-*-solaris2.[0-4]\";\n\
293     mach     = \"sparc-*-solaris2.[0-4]\";\n\
294 #endif /* SVR5 */\n\
295     files    = sys/byteorder.h;\n\
296     replace  = <<-  _EndOfHeader_\n\
297 #ifndef _SYS_BYTEORDER_H\n\
298 #define _SYS_BYTEORDER_H\n\n\
299 /* Functions to convert `short' and `long' quantities from host byte order\n\
300    to (internet) network byte order (i.e. big-endian).\n\n\
301    Written by Ron Guilmette (rfg@ncd.com).\n\n\
302    This isn't actually used by GCC.  It is installed by fixinc.svr4.\n\n\
303    For big-endian machines these functions are essentially no-ops.\n\n\
304    For little-endian machines, we define the functions using specialized\n\
305    asm sequences in cases where doing so yields better code (e.g. i386).  */\n\n\
306 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
307   #error You lose!  This file is only useful with GNU compilers.\n\
308 #endif\n\n\
309 #ifndef __BYTE_ORDER__\n\
310   /* Byte order defines.  These are as defined on UnixWare 1.1, but with\n\
311      double underscores added at the front and back.  */\n\
312   #define __LITTLE_ENDIAN__   1234\n\
313   #define __BIG_ENDIAN__      4321\n\
314   #define __PDP_ENDIAN__      3412\n\
315 #endif\n\n\
316 #ifdef __STDC__\n\
317   static __inline__ unsigned long htonl (unsigned long);\n\
318   static __inline__ unsigned short htons (unsigned int);\n\
319   static __inline__ unsigned long ntohl (unsigned long);\n\
320   static __inline__ unsigned short ntohs (unsigned int);\n\
321 #endif /* defined (__STDC__) */\n\n\
322 #if defined (__i386__)\n\n\
323   #ifndef __BYTE_ORDER__\n\
324     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
325   #endif\n\n\
326   /* Convert a host long to a network long.  */\n\n\
327   /* We must use a new-style function definition, so that this will also\n\
328      be valid for C++.  */\n\
329   static __inline__ unsigned long\n\
330   htonl (unsigned long __arg)\n\
331   {\n\
332     register unsigned long __result;\n\n\
333     __asm__ (\"xchg%B0 %b0,%h0\n\
334   ror%L0 $16,%0\n\
335   xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
336     return __result;\n\
337   }\n\n\
338   /* Convert a host short to a network short.  */\n\n\
339   static __inline__ unsigned short\n\
340   htons (unsigned int __arg)\n\
341   {\n\
342     register unsigned short __result;\n\n\
343     __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
344     return __result;\n\
345   }\n\n\
346 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
347   #ifndef __BYTE_ORDER__\n\
348     #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
349   #endif\n\n\
350   /* For other little-endian machines, using C code is just as efficient as\n\
351      using assembly code.  */\n\n\
352   /* Convert a host long to a network long.  */\n\n\
353   static __inline__ unsigned long\n\
354   htonl (unsigned long __arg)\n\
355   {\n\
356     register unsigned long __result;\n\n\
357     __result = (__arg >> 24) & 0x000000ff;\n\
358     __result |= (__arg >> 8) & 0x0000ff00;\n\
359     __result |= (__arg << 8) & 0x00ff0000;\n\
360     __result |= (__arg << 24) & 0xff000000;\n\
361     return __result;\n\
362   }\n\n\
363   /* Convert a host short to a network short.  */\n\n\
364   static __inline__ unsigned short\n\
365   htons (unsigned int __arg)\n\
366   {\n\
367     register unsigned short __result;\n\n\
368     __result = (__arg << 8) & 0xff00;\n\
369     __result |= (__arg >> 8) & 0x00ff;\n\
370     return __result;\n\
371   }\n\n\
372 #else /* must be a big-endian machine */\n\n\
373   #ifndef __BYTE_ORDER__\n\
374     #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
375   #endif\n\n\
376   /* Convert a host long to a network long.  */\n\n\
377   static __inline__ unsigned long\n\
378   htonl (unsigned long __arg)\n\
379   {\n\
380     return __arg;\n\
381   }\n\n\
382   /* Convert a host short to a network short.  */\n\n\
383   static __inline__ unsigned short\n\
384   htons (unsigned int __arg)\n\
385   {\n\
386     return __arg;\n\
387   }\n\n\
388 #endif /* big-endian */\n\n\
389 /* Convert a network long to a host long.  */\n\n\
390 static __inline__ unsigned long\n\
391 ntohl (unsigned long __arg)\n\
392 {\n\
393   return htonl (__arg);\n\
394 }\n\n\
395 /* Convert a network short to a host short.  */\n\n\
396 static __inline__ unsigned short\n\
397 ntohs (unsigned int __arg)\n\
398 {\n\
399   return htons (__arg);\n\
400 }\n\
401 #endif",
402     (char*)NULL };
404 /* * * * * * * * * * * * * * * * * * * * * * * * * *
406  *  Description of Aab_Ultrix_Ansi_Compat fix
407  */
408 tSCC zAab_Ultrix_Ansi_CompatName[] =
409      "AAB_ultrix_ansi_compat";
412  *  File name selection pattern
413  */
414 tSCC zAab_Ultrix_Ansi_CompatList[] =
415   "|ansi_compat.h|";
417  *  Machine/OS name selection pattern
418  */
419 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
422  *  content selection pattern - do fix if pattern found
423  */
424 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
425        "ULTRIX";
427 #define    AAB_ULTRIX_ANSI_COMPAT_TEST_CT  1
428 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
429   { TT_EGREP,    zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
432  *  Fix Command Arguments for Aab_Ultrix_Ansi_Compat
433  */
434 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
435 "/* This file intentionally left blank.  */\n",
436     (char*)NULL };
438 /* * * * * * * * * * * * * * * * * * * * * * * * * *
440  *  Description of Aab_Ultrix_Limits fix
441  */
442 tSCC zAab_Ultrix_LimitsName[] =
443      "AAB_ultrix_limits";
446  *  File name selection pattern
447  */
448 tSCC zAab_Ultrix_LimitsList[] =
449   "|limits.h|";
451  *  Machine/OS name selection pattern
452  */
453 tSCC* apzAab_Ultrix_LimitsMachs[] = {
454         "*-*-ultrix4.3",
455         (const char*)NULL };
456 #define AAB_ULTRIX_LIMITS_TEST_CT  0
457 #define aAab_Ultrix_LimitsTests   (tTestDesc*)NULL
460  *  Fix Command Arguments for Aab_Ultrix_Limits
461  */
462 static const char* apzAab_Ultrix_LimitsPatch[] = {
463 "#ifndef _LIMITS_INCLUDED\n\
464   #define _LIMITS_INCLUDED\n\
465   #include <sys/limits.h>\n\
466 #endif /* _LIMITS_INCLUDED */",
467     (char*)NULL };
469 /* * * * * * * * * * * * * * * * * * * * * * * * * *
471  *  Description of Aab_Ultrix_Memory fix
472  */
473 tSCC zAab_Ultrix_MemoryName[] =
474      "AAB_ultrix_memory";
477  *  File name selection pattern
478  */
479 tSCC zAab_Ultrix_MemoryList[] =
480   "|memory.h|";
482  *  Machine/OS name selection pattern
483  */
484 tSCC* apzAab_Ultrix_MemoryMachs[] = {
485         "*-*-ultrix4.3",
486         (const char*)NULL };
487 #define AAB_ULTRIX_MEMORY_TEST_CT  0
488 #define aAab_Ultrix_MemoryTests   (tTestDesc*)NULL
491  *  Fix Command Arguments for Aab_Ultrix_Memory
492  */
493 static const char* apzAab_Ultrix_MemoryPatch[] = {
494 "#ifndef _MEMORY_INCLUDED\n\
495   #define _MEMORY_INCLUDED\n\
496   #include <strings.h>\n\
497 #endif /* _MEMORY_INCLUDED */",
498     (char*)NULL };
500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
502  *  Description of Aab_Ultrix_String fix
503  */
504 tSCC zAab_Ultrix_StringName[] =
505      "AAB_ultrix_string";
508  *  File name selection pattern
509  */
510 tSCC zAab_Ultrix_StringList[] =
511   "|string.h|";
513  *  Machine/OS name selection pattern
514  */
515 tSCC* apzAab_Ultrix_StringMachs[] = {
516         "*-*-ultrix4.3",
517         (const char*)NULL };
518 #define AAB_ULTRIX_STRING_TEST_CT  0
519 #define aAab_Ultrix_StringTests   (tTestDesc*)NULL
522  *  Fix Command Arguments for Aab_Ultrix_String
523  */
524 static const char* apzAab_Ultrix_StringPatch[] = {
525 "#ifndef _STRING_INCLUDED\n\
526   #define _STRING_INCLUDED\n\
527   #include <strings.h>\n\
528 #endif /* _STRING_INCLUDED */",
529     (char*)NULL };
531 /* * * * * * * * * * * * * * * * * * * * * * * * * *
533  *  Description of Aix_Pthread fix
534  */
535 tSCC zAix_PthreadName[] =
536      "aix_pthread";
539  *  File name selection pattern
540  */
541 tSCC zAix_PthreadList[] =
542   "|pthread.h|";
544  *  Machine/OS name selection pattern
545  */
546 #define apzAix_PthreadMachs (const char**)NULL
549  *  content selection pattern - do fix if pattern found
550  */
551 tSCC zAix_PthreadSelect0[] =
552        "(#define [A-Za-z_0-9]+)(\\\\\n\
553 [^A-Za-z_0-9 \t\n\
554 (])";
556 #define    AIX_PTHREAD_TEST_CT  1
557 static tTestDesc aAix_PthreadTests[] = {
558   { TT_EGREP,    zAix_PthreadSelect0, (regex_t*)NULL }, };
561  *  Fix Command Arguments for Aix_Pthread
562  */
563 static const char* apzAix_PthreadPatch[] = {
564     "format",
565     "%1 %2",
566     (char*)NULL };
568 /* * * * * * * * * * * * * * * * * * * * * * * * * *
570  *  Description of Aix_Sysmachine fix
571  */
572 tSCC zAix_SysmachineName[] =
573      "aix_sysmachine";
576  *  File name selection pattern
577  */
578 tSCC zAix_SysmachineList[] =
579   "|sys/machine.h|";
581  *  Machine/OS name selection pattern
582  */
583 #define apzAix_SysmachineMachs (const char**)NULL
586  *  content selection pattern - do fix if pattern found
587  */
588 tSCC zAix_SysmachineSelect0[] =
589        "\\\\ +\n";
591 #define    AIX_SYSMACHINE_TEST_CT  1
592 static tTestDesc aAix_SysmachineTests[] = {
593   { TT_EGREP,    zAix_SysmachineSelect0, (regex_t*)NULL }, };
596  *  Fix Command Arguments for Aix_Sysmachine
597  */
598 static const char* apzAix_SysmachinePatch[] = {
599     "format",
600     "\\\n",
601     (char*)NULL };
603 /* * * * * * * * * * * * * * * * * * * * * * * * * *
605  *  Description of Aix_Syswait fix
606  */
607 tSCC zAix_SyswaitName[] =
608      "aix_syswait";
611  *  File name selection pattern
612  */
613 tSCC zAix_SyswaitList[] =
614   "|sys/wait.h|";
616  *  Machine/OS name selection pattern
617  */
618 #define apzAix_SyswaitMachs (const char**)NULL
621  *  content selection pattern - do fix if pattern found
622  */
623 tSCC zAix_SyswaitSelect0[] =
624        "^extern pid_t wait3\\(\\);\n";
625 tSCC zAix_SyswaitSelect1[] =
626        "bos325,";
628 #define    AIX_SYSWAIT_TEST_CT  2
629 static tTestDesc aAix_SyswaitTests[] = {
630   { TT_EGREP,    zAix_SyswaitSelect0, (regex_t*)NULL },
631   { TT_EGREP,    zAix_SyswaitSelect1, (regex_t*)NULL }, };
634  *  Fix Command Arguments for Aix_Syswait
635  */
636 static const char* apzAix_SyswaitPatch[] = {
637     "format",
638     "struct rusage;\n\
639 %0",
640     (char*)NULL };
642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
644  *  Description of Aix_Volatile fix
645  */
646 tSCC zAix_VolatileName[] =
647      "aix_volatile";
650  *  File name selection pattern
651  */
652 tSCC zAix_VolatileList[] =
653   "|sys/signal.h|";
655  *  Machine/OS name selection pattern
656  */
657 #define apzAix_VolatileMachs (const char**)NULL
660  *  content selection pattern - do fix if pattern found
661  */
662 tSCC zAix_VolatileSelect0[] =
663        "typedef volatile int sig_atomic_t";
665 #define    AIX_VOLATILE_TEST_CT  1
666 static tTestDesc aAix_VolatileTests[] = {
667   { TT_EGREP,    zAix_VolatileSelect0, (regex_t*)NULL }, };
670  *  Fix Command Arguments for Aix_Volatile
671  */
672 static const char* apzAix_VolatilePatch[] = {
673     "format",
674     "typedef int sig_atomic_t",
675     (char*)NULL };
677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
679  *  Description of Alpha___Assert fix
680  */
681 tSCC zAlpha___AssertName[] =
682      "alpha___assert";
685  *  File name selection pattern
686  */
687 tSCC zAlpha___AssertList[] =
688   "|assert.h|";
690  *  Machine/OS name selection pattern
691  */
692 #define apzAlpha___AssertMachs (const char**)NULL
695  *  content selection pattern - do fix if pattern found
696  */
697 tSCC zAlpha___AssertSelect0[] =
698        "__assert\\(char \\*, char \\*, int\\)";
700 #define    ALPHA___ASSERT_TEST_CT  1
701 static tTestDesc aAlpha___AssertTests[] = {
702   { TT_EGREP,    zAlpha___AssertSelect0, (regex_t*)NULL }, };
705  *  Fix Command Arguments for Alpha___Assert
706  */
707 static const char* apzAlpha___AssertPatch[] = {
708     "format",
709     "__assert(const char *, const char *, int)",
710     (char*)NULL };
712 /* * * * * * * * * * * * * * * * * * * * * * * * * *
714  *  Description of Alpha___Extern_Prefix fix
715  */
716 tSCC zAlpha___Extern_PrefixName[] =
717      "alpha___extern_prefix";
720  *  File name selection pattern
721  */
722 tSCC zAlpha___Extern_PrefixList[] =
723   "|sys/stat.h|";
725  *  Machine/OS name selection pattern
726  */
727 tSCC* apzAlpha___Extern_PrefixMachs[] = {
728         "alpha*-dec-osf5*",
729         (const char*)NULL };
732  *  content selection pattern - do fix if pattern found
733  */
734 tSCC zAlpha___Extern_PrefixSelect0[] =
735        "#[ \t]*if[ \t]*defined\\(__DECC\\)";
737 #define    ALPHA___EXTERN_PREFIX_TEST_CT  1
738 static tTestDesc aAlpha___Extern_PrefixTests[] = {
739   { TT_EGREP,    zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
742  *  Fix Command Arguments for Alpha___Extern_Prefix
743  */
744 static const char* apzAlpha___Extern_PrefixPatch[] = {
745     "format",
746     "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
747     (char*)NULL };
749 /* * * * * * * * * * * * * * * * * * * * * * * * * *
751  *  Description of Alpha_Assert fix
752  */
753 tSCC zAlpha_AssertName[] =
754      "alpha_assert";
757  *  File name selection pattern
758  */
759 tSCC zAlpha_AssertList[] =
760   "|assert.h|";
762  *  Machine/OS name selection pattern
763  */
764 #define apzAlpha_AssertMachs (const char**)NULL
767  *  content selection pattern - do fix if pattern found
768  */
769 tSCC zAlpha_AssertSelect0[] =
770        "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
772 #define    ALPHA_ASSERT_TEST_CT  1
773 static tTestDesc aAlpha_AssertTests[] = {
774   { TT_EGREP,    zAlpha_AssertSelect0, (regex_t*)NULL }, };
777  *  Fix Command Arguments for Alpha_Assert
778  */
779 static const char* apzAlpha_AssertPatch[] = {
780     "format",
781     "%1(EX)",
782     (char*)NULL };
784 /* * * * * * * * * * * * * * * * * * * * * * * * * *
786  *  Description of Alpha_Getopt fix
787  */
788 tSCC zAlpha_GetoptName[] =
789      "alpha_getopt";
792  *  File name selection pattern
793  */
794 tSCC zAlpha_GetoptList[] =
795   "|stdio.h|stdlib.h|";
797  *  Machine/OS name selection pattern
798  */
799 #define apzAlpha_GetoptMachs (const char**)NULL
802  *  content selection pattern - do fix if pattern found
803  */
804 tSCC zAlpha_GetoptSelect0[] =
805        "getopt\\(int, char \\*\\[\\], *char \\*\\)";
807 #define    ALPHA_GETOPT_TEST_CT  1
808 static tTestDesc aAlpha_GetoptTests[] = {
809   { TT_EGREP,    zAlpha_GetoptSelect0, (regex_t*)NULL }, };
812  *  Fix Command Arguments for Alpha_Getopt
813  */
814 static const char* apzAlpha_GetoptPatch[] = {
815     "format",
816     "getopt(int, char *const[], const char *)",
817     (char*)NULL };
819 /* * * * * * * * * * * * * * * * * * * * * * * * * *
821  *  Description of Alpha_Parens fix
822  */
823 tSCC zAlpha_ParensName[] =
824      "alpha_parens";
827  *  File name selection pattern
828  */
829 tSCC zAlpha_ParensList[] =
830   "|sym.h|";
832  *  Machine/OS name selection pattern
833  */
834 #define apzAlpha_ParensMachs (const char**)NULL
837  *  content selection pattern - do fix if pattern found
838  */
839 tSCC zAlpha_ParensSelect0[] =
840        "#ifndef\\(__mips64\\)";
842 #define    ALPHA_PARENS_TEST_CT  1
843 static tTestDesc aAlpha_ParensTests[] = {
844   { TT_EGREP,    zAlpha_ParensSelect0, (regex_t*)NULL }, };
847  *  Fix Command Arguments for Alpha_Parens
848  */
849 static const char* apzAlpha_ParensPatch[] = {
850     "format",
851     "#ifndef __mips64",
852     (char*)NULL };
854 /* * * * * * * * * * * * * * * * * * * * * * * * * *
856  *  Description of Alpha_Sbrk fix
857  */
858 tSCC zAlpha_SbrkName[] =
859      "alpha_sbrk";
862  *  File name selection pattern
863  */
864 tSCC zAlpha_SbrkList[] =
865   "|unistd.h|";
867  *  Machine/OS name selection pattern
868  */
869 #define apzAlpha_SbrkMachs (const char**)NULL
872  *  content selection pattern - do fix if pattern found
873  */
874 tSCC zAlpha_SbrkSelect0[] =
875        "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
877 #define    ALPHA_SBRK_TEST_CT  1
878 static tTestDesc aAlpha_SbrkTests[] = {
879   { TT_EGREP,    zAlpha_SbrkSelect0, (regex_t*)NULL }, };
882  *  Fix Command Arguments for Alpha_Sbrk
883  */
884 static const char* apzAlpha_SbrkPatch[] = {
885     "format",
886     "void *sbrk(",
887     (char*)NULL };
889 /* * * * * * * * * * * * * * * * * * * * * * * * * *
891  *  Description of Avoid_Bool_Define fix
892  */
893 tSCC zAvoid_Bool_DefineName[] =
894      "avoid_bool_define";
897  *  File name selection pattern
898  */
899 tSCC zAvoid_Bool_DefineList[] =
900   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
902  *  Machine/OS name selection pattern
903  */
904 #define apzAvoid_Bool_DefineMachs (const char**)NULL
907  *  content selection pattern - do fix if pattern found
908  */
909 tSCC zAvoid_Bool_DefineSelect0[] =
910        "#[ \t]*define[ \t]+bool[ \t]";
913  *  content bypass pattern - skip fix if pattern found
914  */
915 tSCC zAvoid_Bool_DefineBypass0[] =
916        "we must use the C\\+\\+ compiler's type";
918 #define    AVOID_BOOL_DEFINE_TEST_CT  2
919 static tTestDesc aAvoid_Bool_DefineTests[] = {
920   { TT_NEGREP,   zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
921   { TT_EGREP,    zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
924  *  Fix Command Arguments for Avoid_Bool_Define
925  */
926 static const char* apzAvoid_Bool_DefinePatch[] = {
927     "format",
928     "#ifndef __cplusplus\n\
929 %0\n\
930 #endif",
931     "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
932     (char*)NULL };
934 /* * * * * * * * * * * * * * * * * * * * * * * * * *
936  *  Description of Avoid_Bool_Type fix
937  */
938 tSCC zAvoid_Bool_TypeName[] =
939      "avoid_bool_type";
942  *  File name selection pattern
943  */
944 tSCC zAvoid_Bool_TypeList[] =
945   "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
947  *  Machine/OS name selection pattern
948  */
949 #define apzAvoid_Bool_TypeMachs (const char**)NULL
952  *  content selection pattern - do fix if pattern found
953  */
954 tSCC zAvoid_Bool_TypeSelect0[] =
955        "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
958  *  content bypass pattern - skip fix if pattern found
959  */
960 tSCC zAvoid_Bool_TypeBypass0[] =
961        "we must use the C\\+\\+ compiler's type";
963 #define    AVOID_BOOL_TYPE_TEST_CT  2
964 static tTestDesc aAvoid_Bool_TypeTests[] = {
965   { TT_NEGREP,   zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
966   { TT_EGREP,    zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
969  *  Fix Command Arguments for Avoid_Bool_Type
970  */
971 static const char* apzAvoid_Bool_TypePatch[] = {
972     "format",
973     "#ifndef __cplusplus\n\
974 %0\n\
975 #endif",
976     (char*)NULL };
978 /* * * * * * * * * * * * * * * * * * * * * * * * * *
980  *  Description of Avoid_Wchar_T_Type fix
981  */
982 tSCC zAvoid_Wchar_T_TypeName[] =
983      "avoid_wchar_t_type";
986  *  File name selection pattern
987  */
988 #define zAvoid_Wchar_T_TypeList (char*)NULL
990  *  Machine/OS name selection pattern
991  */
992 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
995  *  content selection pattern - do fix if pattern found
996  */
997 tSCC zAvoid_Wchar_T_TypeSelect0[] =
998        "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1000 #define    AVOID_WCHAR_T_TYPE_TEST_CT  1
1001 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1002   { TT_EGREP,    zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1005  *  Fix Command Arguments for Avoid_Wchar_T_Type
1006  */
1007 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1008     "format",
1009     "#ifndef __cplusplus\n\
1010 %0\n\
1011 #endif",
1012     (char*)NULL };
1014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1016  *  Description of Bad_Lval fix
1017  */
1018 tSCC zBad_LvalName[] =
1019      "bad_lval";
1022  *  File name selection pattern
1023  */
1024 tSCC zBad_LvalList[] =
1025   "|libgen.h|dirent.h|ftw.h|grp.h|ndbm.h|pthread.h|pwd.h|signal.h|standards.h|stdlib.h|string.h|stropts.h|time.h|unistd.h|";
1027  *  Machine/OS name selection pattern
1028  */
1029 #define apzBad_LvalMachs (const char**)NULL
1032  *  content selection pattern - do fix if pattern found
1033  */
1034 tSCC zBad_LvalSelect0[] =
1035        "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1037 #define    BAD_LVAL_TEST_CT  1
1038 static tTestDesc aBad_LvalTests[] = {
1039   { TT_EGREP,    zBad_LvalSelect0, (regex_t*)NULL }, };
1042  *  Fix Command Arguments for Bad_Lval
1043  */
1044 static const char* apzBad_LvalPatch[] = { "sed",
1045     "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1046     (char*)NULL };
1048 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1050  *  Description of Bad_Struct_Term fix
1051  */
1052 tSCC zBad_Struct_TermName[] =
1053      "bad_struct_term";
1056  *  File name selection pattern
1057  */
1058 tSCC zBad_Struct_TermList[] =
1059   "|curses.h|";
1061  *  Machine/OS name selection pattern
1062  */
1063 #define apzBad_Struct_TermMachs (const char**)NULL
1066  *  content selection pattern - do fix if pattern found
1067  */
1068 tSCC zBad_Struct_TermSelect0[] =
1069        "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1071 #define    BAD_STRUCT_TERM_TEST_CT  1
1072 static tTestDesc aBad_Struct_TermTests[] = {
1073   { TT_EGREP,    zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1076  *  Fix Command Arguments for Bad_Struct_Term
1077  */
1078 static const char* apzBad_Struct_TermPatch[] = {
1079     "format",
1080     "struct term;",
1081     (char*)NULL };
1083 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1085  *  Description of Badquote fix
1086  */
1087 tSCC zBadquoteName[] =
1088      "badquote";
1091  *  File name selection pattern
1092  */
1093 tSCC zBadquoteList[] =
1094   "|sundev/vuid_event.h|";
1096  *  Machine/OS name selection pattern
1097  */
1098 #define apzBadquoteMachs (const char**)NULL
1101  *  content selection pattern - do fix if pattern found
1102  */
1103 tSCC zBadquoteSelect0[] =
1104        "doesn't";
1106 #define    BADQUOTE_TEST_CT  1
1107 static tTestDesc aBadquoteTests[] = {
1108   { TT_EGREP,    zBadquoteSelect0, (regex_t*)NULL }, };
1111  *  Fix Command Arguments for Badquote
1112  */
1113 static const char* apzBadquotePatch[] = {
1114     "format",
1115     "does not",
1116     (char*)NULL };
1118 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1120  *  Description of Broken_Assert_Stdio fix
1121  */
1122 tSCC zBroken_Assert_StdioName[] =
1123      "broken_assert_stdio";
1126  *  File name selection pattern
1127  */
1128 tSCC zBroken_Assert_StdioList[] =
1129   "|assert.h|";
1131  *  Machine/OS name selection pattern
1132  */
1133 #define apzBroken_Assert_StdioMachs (const char**)NULL
1136  *  content selection pattern - do fix if pattern found
1137  */
1138 tSCC zBroken_Assert_StdioSelect0[] =
1139        "stderr";
1142  *  content bypass pattern - skip fix if pattern found
1143  */
1144 tSCC zBroken_Assert_StdioBypass0[] =
1145        "include.*stdio\\.h";
1147 #define    BROKEN_ASSERT_STDIO_TEST_CT  2
1148 static tTestDesc aBroken_Assert_StdioTests[] = {
1149   { TT_NEGREP,   zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1150   { TT_EGREP,    zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1153  *  Fix Command Arguments for Broken_Assert_Stdio
1154  */
1155 static const char* apzBroken_Assert_StdioPatch[] = {
1156     "wrap",
1157     "#include <stdio.h>\n",
1158     (char*)NULL };
1160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1162  *  Description of Broken_Assert_Stdlib fix
1163  */
1164 tSCC zBroken_Assert_StdlibName[] =
1165      "broken_assert_stdlib";
1168  *  File name selection pattern
1169  */
1170 tSCC zBroken_Assert_StdlibList[] =
1171   "|assert.h|";
1173  *  Machine/OS name selection pattern
1174  */
1175 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1178  *  content selection pattern - do fix if pattern found
1179  */
1180 tSCC zBroken_Assert_StdlibSelect0[] =
1181        "exit *\\(|abort *\\(";
1184  *  content bypass pattern - skip fix if pattern found
1185  */
1186 tSCC zBroken_Assert_StdlibBypass0[] =
1187        "include.*stdlib\\.h";
1189 #define    BROKEN_ASSERT_STDLIB_TEST_CT  2
1190 static tTestDesc aBroken_Assert_StdlibTests[] = {
1191   { TT_NEGREP,   zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1192   { TT_EGREP,    zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1195  *  Fix Command Arguments for Broken_Assert_Stdlib
1196  */
1197 static const char* apzBroken_Assert_StdlibPatch[] = {
1198     "wrap",
1199     "#ifdef __cplusplus\n\
1200 #include <stdlib.h>\n\
1201 #endif\n",
1202     (char*)NULL };
1204 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1206  *  Description of Broken_Cabs fix
1207  */
1208 tSCC zBroken_CabsName[] =
1209      "broken_cabs";
1212  *  File name selection pattern
1213  */
1214 tSCC zBroken_CabsList[] =
1215   "|math.h|";
1217  *  Machine/OS name selection pattern
1218  */
1219 #define apzBroken_CabsMachs (const char**)NULL
1222  *  content selection pattern - do fix if pattern found
1223  */
1224 tSCC zBroken_CabsSelect0[] =
1225        "^extern[ \\t]+double[ \\t]+cabs";
1227 #define    BROKEN_CABS_TEST_CT  1
1228 static tTestDesc aBroken_CabsTests[] = {
1229   { TT_EGREP,    zBroken_CabsSelect0, (regex_t*)NULL }, };
1232  *  Fix Command Arguments for Broken_Cabs
1233  */
1234 static const char* apzBroken_CabsPatch[] = {
1235     "format",
1236     "",
1237     "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
1238     (char*)NULL };
1240 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1242  *  Description of Ctrl_Quotes_Def fix
1243  */
1244 tSCC zCtrl_Quotes_DefName[] =
1245      "ctrl_quotes_def";
1248  *  File name selection pattern
1249  */
1250 #define zCtrl_Quotes_DefList (char*)NULL
1252  *  Machine/OS name selection pattern
1253  */
1254 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1257  *  content selection pattern - do fix if pattern found
1258  */
1259 tSCC zCtrl_Quotes_DefSelect0[] =
1260        "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1262 #define    CTRL_QUOTES_DEF_TEST_CT  1
1263 static tTestDesc aCtrl_Quotes_DefTests[] = {
1264   { TT_EGREP,    zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1267  *  Fix Command Arguments for Ctrl_Quotes_Def
1268  */
1269 static const char* apzCtrl_Quotes_DefPatch[] = {
1270     "char_macro_def",
1271     "CTRL",
1272     (char*)NULL };
1274 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1276  *  Description of Ctrl_Quotes_Use fix
1277  */
1278 tSCC zCtrl_Quotes_UseName[] =
1279      "ctrl_quotes_use";
1282  *  File name selection pattern
1283  */
1284 #define zCtrl_Quotes_UseList (char*)NULL
1286  *  Machine/OS name selection pattern
1287  */
1288 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1291  *  content selection pattern - do fix if pattern found
1292  */
1293 tSCC zCtrl_Quotes_UseSelect0[] =
1294        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1296 #define    CTRL_QUOTES_USE_TEST_CT  1
1297 static tTestDesc aCtrl_Quotes_UseTests[] = {
1298   { TT_EGREP,    zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1301  *  Fix Command Arguments for Ctrl_Quotes_Use
1302  */
1303 static const char* apzCtrl_Quotes_UsePatch[] = {
1304     "char_macro_use",
1305     "CTRL",
1306     (char*)NULL };
1308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1310  *  Description of Cxx_Unready fix
1311  */
1312 tSCC zCxx_UnreadyName[] =
1313      "cxx_unready";
1316  *  File name selection pattern
1317  */
1318 tSCC zCxx_UnreadyList[] =
1319   "|sys/mman.h|rpc/types.h|";
1321  *  Machine/OS name selection pattern
1322  */
1323 #define apzCxx_UnreadyMachs (const char**)NULL
1326  *  content selection pattern - do fix if pattern found
1327  */
1328 tSCC zCxx_UnreadySelect0[] =
1329        "[^#]+malloc.*;";
1332  *  content bypass pattern - skip fix if pattern found
1333  */
1334 tSCC zCxx_UnreadyBypass0[] =
1335        "\"C\"|__BEGIN_DECLS";
1337 #define    CXX_UNREADY_TEST_CT  2
1338 static tTestDesc aCxx_UnreadyTests[] = {
1339   { TT_NEGREP,   zCxx_UnreadyBypass0, (regex_t*)NULL },
1340   { TT_EGREP,    zCxx_UnreadySelect0, (regex_t*)NULL }, };
1343  *  Fix Command Arguments for Cxx_Unready
1344  */
1345 static const char* apzCxx_UnreadyPatch[] = {
1346     "wrap",
1347     "#ifdef __cplusplus\n\
1348 extern \"C\" {\n\
1349 #endif\n",
1350     "#ifdef __cplusplus\n\
1351 }\n\
1352 #endif\n",
1353     (char*)NULL };
1355 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1357  *  Description of Dec_Intern_Asm fix
1358  */
1359 tSCC zDec_Intern_AsmName[] =
1360      "dec_intern_asm";
1363  *  File name selection pattern
1364  */
1365 tSCC zDec_Intern_AsmList[] =
1366   "|c_asm.h|";
1368  *  Machine/OS name selection pattern
1369  */
1370 #define apzDec_Intern_AsmMachs (const char**)NULL
1371 #define DEC_INTERN_ASM_TEST_CT  0
1372 #define aDec_Intern_AsmTests   (tTestDesc*)NULL
1375  *  Fix Command Arguments for Dec_Intern_Asm
1376  */
1377 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1378     "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1379 #ifdef __DECC\n",
1380     "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1381 #endif\n",
1382     (char*)NULL };
1384 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1386  *  Description of Djgpp_Wchar_H fix
1387  */
1388 tSCC zDjgpp_Wchar_HName[] =
1389      "djgpp_wchar_h";
1392  *  File name selection pattern
1393  */
1394 #define zDjgpp_Wchar_HList (char*)NULL
1396  *  Machine/OS name selection pattern
1397  */
1398 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1401  *  content selection pattern - do fix if pattern found
1402  */
1403 tSCC zDjgpp_Wchar_HSelect0[] =
1404        "__DJ_wint_t";
1407  *  content bypass pattern - skip fix if pattern found
1408  */
1409 tSCC zDjgpp_Wchar_HBypass0[] =
1410        "sys/djtypes.h";
1412 #define    DJGPP_WCHAR_H_TEST_CT  2
1413 static tTestDesc aDjgpp_Wchar_HTests[] = {
1414   { TT_NEGREP,   zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1415   { TT_EGREP,    zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1418  *  Fix Command Arguments for Djgpp_Wchar_H
1419  */
1420 static const char* apzDjgpp_Wchar_HPatch[] = {
1421     "format",
1422     "%0\n\
1423 #include <sys/djtypes.h>",
1424     "#include <stddef.h>",
1425     (char*)NULL };
1427 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1429  *  Description of Ecd_Cursor fix
1430  */
1431 tSCC zEcd_CursorName[] =
1432      "ecd_cursor";
1435  *  File name selection pattern
1436  */
1437 tSCC zEcd_CursorList[] =
1438   "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1440  *  Machine/OS name selection pattern
1441  */
1442 #define apzEcd_CursorMachs (const char**)NULL
1445  *  content selection pattern - do fix if pattern found
1446  */
1447 tSCC zEcd_CursorSelect0[] =
1448        "ecd\\.cursor";
1450 #define    ECD_CURSOR_TEST_CT  1
1451 static tTestDesc aEcd_CursorTests[] = {
1452   { TT_EGREP,    zEcd_CursorSelect0, (regex_t*)NULL }, };
1455  *  Fix Command Arguments for Ecd_Cursor
1456  */
1457 static const char* apzEcd_CursorPatch[] = {
1458     "format",
1459     "ecd_cursor",
1460     (char*)NULL };
1462 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1464  *  Description of Freebsd_Gcc3_Breakage fix
1465  */
1466 tSCC zFreebsd_Gcc3_BreakageName[] =
1467      "freebsd_gcc3_breakage";
1470  *  File name selection pattern
1471  */
1472 tSCC zFreebsd_Gcc3_BreakageList[] =
1473   "|sys/cdefs.h|";
1475  *  Machine/OS name selection pattern
1476  */
1477 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1478         "*-*-freebsd*",
1479         (const char*)NULL };
1482  *  content selection pattern - do fix if pattern found
1483  */
1484 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1485        "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1488  *  content bypass pattern - skip fix if pattern found
1489  */
1490 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1491        "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1493 #define    FREEBSD_GCC3_BREAKAGE_TEST_CT  2
1494 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1495   { TT_NEGREP,   zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1496   { TT_EGREP,    zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1499  *  Fix Command Arguments for Freebsd_Gcc3_Breakage
1500  */
1501 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1502     "format",
1503     "%0 || __GNUC__ >= 3",
1504     (char*)NULL };
1506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1508  *  Description of Gnu_Types fix
1509  */
1510 tSCC zGnu_TypesName[] =
1511      "gnu_types";
1514  *  File name selection pattern
1515  */
1516 tSCC zGnu_TypesList[] =
1517   "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1519  *  Machine/OS name selection pattern
1520  */
1521 #define apzGnu_TypesMachs (const char**)NULL
1524  *  content selection pattern - do fix if pattern found
1525  */
1526 tSCC zGnu_TypesSelect0[] =
1527        "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1530  *  content bypass pattern - skip fix if pattern found
1531  */
1532 tSCC zGnu_TypesBypass0[] =
1533        "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1535 #define    GNU_TYPES_TEST_CT  2
1536 static tTestDesc aGnu_TypesTests[] = {
1537   { TT_NEGREP,   zGnu_TypesBypass0, (regex_t*)NULL },
1538   { TT_EGREP,    zGnu_TypesSelect0, (regex_t*)NULL }, };
1541  *  Fix Command Arguments for Gnu_Types
1542  */
1543 static const char* apzGnu_TypesPatch[] = {
1544     "gnu_type",
1545     (char*)NULL };
1547 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1549  *  Description of Hp_Inline fix
1550  */
1551 tSCC zHp_InlineName[] =
1552      "hp_inline";
1555  *  File name selection pattern
1556  */
1557 tSCC zHp_InlineList[] =
1558   "|sys/spinlock.h|machine/machparam.h|";
1560  *  Machine/OS name selection pattern
1561  */
1562 #define apzHp_InlineMachs (const char**)NULL
1565  *  content selection pattern - do fix if pattern found
1566  */
1567 tSCC zHp_InlineSelect0[] =
1568        "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1570 #define    HP_INLINE_TEST_CT  1
1571 static tTestDesc aHp_InlineTests[] = {
1572   { TT_EGREP,    zHp_InlineSelect0, (regex_t*)NULL }, };
1575  *  Fix Command Arguments for Hp_Inline
1576  */
1577 static const char* apzHp_InlinePatch[] = {
1578     "format",
1579     "%1<machine/%2.h>",
1580     "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1581     (char*)NULL };
1583 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1585  *  Description of Hp_Sysfile fix
1586  */
1587 tSCC zHp_SysfileName[] =
1588      "hp_sysfile";
1591  *  File name selection pattern
1592  */
1593 tSCC zHp_SysfileList[] =
1594   "|sys/file.h|";
1596  *  Machine/OS name selection pattern
1597  */
1598 #define apzHp_SysfileMachs (const char**)NULL
1601  *  content selection pattern - do fix if pattern found
1602  */
1603 tSCC zHp_SysfileSelect0[] =
1604        "HPUX_SOURCE";
1606 #define    HP_SYSFILE_TEST_CT  1
1607 static tTestDesc aHp_SysfileTests[] = {
1608   { TT_EGREP,    zHp_SysfileSelect0, (regex_t*)NULL }, };
1611  *  Fix Command Arguments for Hp_Sysfile
1612  */
1613 static const char* apzHp_SysfilePatch[] = {
1614     "format",
1615     "(struct file *, ...)",
1616     "\\(\\.\\.\\.\\)",
1617     (char*)NULL };
1619 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1621  *  Description of Hpux10_Cpp_Pow_Inline fix
1622  */
1623 tSCC zHpux10_Cpp_Pow_InlineName[] =
1624      "hpux10_cpp_pow_inline";
1627  *  File name selection pattern
1628  */
1629 tSCC zHpux10_Cpp_Pow_InlineList[] =
1630   "|fixinc-test-limits.h|math.h|";
1632  *  Machine/OS name selection pattern
1633  */
1634 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1637  *  content selection pattern - do fix if pattern found
1638  */
1639 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1640        "^# +ifdef +__cplusplus\n\
1641  +}\n\
1642  +inline +double +pow\\(double +__d,int +__expon\\) +{\n\
1643 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1644  +}\n\
1645  +extern +\"C\" +{\n\
1646 #else\n\
1647 # +endif";
1649 #define    HPUX10_CPP_POW_INLINE_TEST_CT  1
1650 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1651   { TT_EGREP,    zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1654  *  Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1655  */
1656 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1657     "format",
1658     "",
1659     (char*)NULL };
1661 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1663  *  Description of Hpux11_Cpp_Pow_Inline fix
1664  */
1665 tSCC zHpux11_Cpp_Pow_InlineName[] =
1666      "hpux11_cpp_pow_inline";
1669  *  File name selection pattern
1670  */
1671 tSCC zHpux11_Cpp_Pow_InlineList[] =
1672   "|math.h|";
1674  *  Machine/OS name selection pattern
1675  */
1676 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
1679  *  content selection pattern - do fix if pattern found
1680  */
1681 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
1682        " +inline double pow\\(double d,int expon\\) {\n\
1683  +return pow\\(d, \\(double\\)expon\\);\n\
1684  +}\n";
1686 #define    HPUX11_CPP_POW_INLINE_TEST_CT  1
1687 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
1688   { TT_EGREP,    zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1691  *  Fix Command Arguments for Hpux11_Cpp_Pow_Inline
1692  */
1693 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
1694     "format",
1695     "",
1696     (char*)NULL };
1698 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1700  *  Description of Hpux10_Ctype_Declarations1 fix
1701  */
1702 tSCC zHpux10_Ctype_Declarations1Name[] =
1703      "hpux10_ctype_declarations1";
1706  *  File name selection pattern
1707  */
1708 tSCC zHpux10_Ctype_Declarations1List[] =
1709   "|ctype.h|";
1711  *  Machine/OS name selection pattern
1712  */
1713 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
1716  *  content selection pattern - do fix if pattern found
1717  */
1718 tSCC zHpux10_Ctype_Declarations1Select0[] =
1719        "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
1722  *  content bypass pattern - skip fix if pattern found
1723  */
1724 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
1725        "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
1727 #define    HPUX10_CTYPE_DECLARATIONS1_TEST_CT  2
1728 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
1729   { TT_NEGREP,   zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
1730   { TT_EGREP,    zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
1733  *  Fix Command Arguments for Hpux10_Ctype_Declarations1
1734  */
1735 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
1736     "format",
1737     "#ifdef _PROTOTYPES\n\
1738 extern int __tolower(int);\n\
1739 extern int __toupper(int);\n\
1740 #else /* NOT _PROTOTYPES */\n\
1741 extern int __tolower();\n\
1742 extern int __toupper();\n\
1743 #endif /* _PROTOTYPES */\n\n\
1744 %0\n",
1745     (char*)NULL };
1747 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1749  *  Description of Hpux10_Ctype_Declarations2 fix
1750  */
1751 tSCC zHpux10_Ctype_Declarations2Name[] =
1752      "hpux10_ctype_declarations2";
1755  *  File name selection pattern
1756  */
1757 tSCC zHpux10_Ctype_Declarations2List[] =
1758   "|ctype.h|";
1760  *  Machine/OS name selection pattern
1761  */
1762 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
1765  *  content selection pattern - do fix if pattern found
1766  */
1767 tSCC zHpux10_Ctype_Declarations2Select0[] =
1768        "^#  if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
1771  *  content bypass pattern - skip fix if pattern found
1772  */
1773 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
1774        "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
1776 #define    HPUX10_CTYPE_DECLARATIONS2_TEST_CT  2
1777 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
1778   { TT_NEGREP,   zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
1779   { TT_EGREP,    zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
1782  *  Fix Command Arguments for Hpux10_Ctype_Declarations2
1783  */
1784 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
1785     "format",
1786     "%0\n\n\
1787 #ifdef _PROTOTYPES\n\
1788      extern int _isalnum(int);\n\
1789      extern int _isalpha(int);\n\
1790      extern int _iscntrl(int);\n\
1791      extern int _isdigit(int);\n\
1792      extern int _isgraph(int);\n\
1793      extern int _islower(int);\n\
1794      extern int _isprint(int);\n\
1795      extern int _ispunct(int);\n\
1796      extern int _isspace(int);\n\
1797      extern int _isupper(int);\n\
1798      extern int _isxdigit(int);\n\
1799 #  else /* not _PROTOTYPES */\n\
1800      extern int _isalnum();\n\
1801      extern int _isalpha();\n\
1802      extern int _iscntrl();\n\
1803      extern int _isdigit();\n\
1804      extern int _isgraph();\n\
1805      extern int _islower();\n\
1806      extern int _isprint();\n\
1807      extern int _ispunct();\n\
1808      extern int _isspace();\n\
1809      extern int _isupper();\n\
1810      extern int _isxdigit();\n\
1811 #endif /* _PROTOTYPES */\n",
1812     (char*)NULL };
1814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1816  *  Description of Hpux11_Abs fix
1817  */
1818 tSCC zHpux11_AbsName[] =
1819      "hpux11_abs";
1822  *  File name selection pattern
1823  */
1824 tSCC zHpux11_AbsList[] =
1825   "|stdlib.h|";
1827  *  Machine/OS name selection pattern
1828  */
1829 tSCC* apzHpux11_AbsMachs[] = {
1830         "ia64-hp-hpux11*",
1831         (const char*)NULL };
1834  *  content selection pattern - do fix if pattern found
1835  */
1836 tSCC zHpux11_AbsSelect0[] =
1837        "ifndef _MATH_INCLUDED";
1839 #define    HPUX11_ABS_TEST_CT  1
1840 static tTestDesc aHpux11_AbsTests[] = {
1841   { TT_EGREP,    zHpux11_AbsSelect0, (regex_t*)NULL }, };
1844  *  Fix Command Arguments for Hpux11_Abs
1845  */
1846 static const char* apzHpux11_AbsPatch[] = {
1847     "format",
1848     "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
1849     (char*)NULL };
1851 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1853  *  Description of Hpux11_Fabsf fix
1854  */
1855 tSCC zHpux11_FabsfName[] =
1856      "hpux11_fabsf";
1859  *  File name selection pattern
1860  */
1861 tSCC zHpux11_FabsfList[] =
1862   "|math.h|";
1864  *  Machine/OS name selection pattern
1865  */
1866 #define apzHpux11_FabsfMachs (const char**)NULL
1869  *  content selection pattern - do fix if pattern found
1870  */
1871 tSCC zHpux11_FabsfSelect0[] =
1872        "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1875  *  content bypass pattern - skip fix if pattern found
1876  */
1877 tSCC zHpux11_FabsfBypass0[] =
1878        "__cplusplus";
1880 #define    HPUX11_FABSF_TEST_CT  2
1881 static tTestDesc aHpux11_FabsfTests[] = {
1882   { TT_NEGREP,   zHpux11_FabsfBypass0, (regex_t*)NULL },
1883   { TT_EGREP,    zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1886  *  Fix Command Arguments for Hpux11_Fabsf
1887  */
1888 static const char* apzHpux11_FabsfPatch[] = {
1889     "format",
1890     "#ifndef __cplusplus\n\
1891 %0\n\
1892 #endif",
1893     (char*)NULL };
1895 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1897  *  Description of Hpux11_Size_T fix
1898  */
1899 tSCC zHpux11_Size_TName[] =
1900      "hpux11_size_t";
1903  *  File name selection pattern
1904  */
1905 #define zHpux11_Size_TList (char*)NULL
1907  *  Machine/OS name selection pattern
1908  */
1909 tSCC* apzHpux11_Size_TMachs[] = {
1910         "*-hp-hpux11*",
1911         (const char*)NULL };
1914  *  content selection pattern - do fix if pattern found
1915  */
1916 tSCC zHpux11_Size_TSelect0[] =
1917        "__size_t";
1919 #define    HPUX11_SIZE_T_TEST_CT  1
1920 static tTestDesc aHpux11_Size_TTests[] = {
1921   { TT_EGREP,    zHpux11_Size_TSelect0, (regex_t*)NULL }, };
1924  *  Fix Command Arguments for Hpux11_Size_T
1925  */
1926 static const char* apzHpux11_Size_TPatch[] = {
1927     "format",
1928     "_hpux_size_t",
1929     (char*)NULL };
1931 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1933  *  Description of Hpux11_Uint32_C fix
1934  */
1935 tSCC zHpux11_Uint32_CName[] =
1936      "hpux11_uint32_c";
1939  *  File name selection pattern
1940  */
1941 tSCC zHpux11_Uint32_CList[] =
1942   "|inttypes.h|";
1944  *  Machine/OS name selection pattern
1945  */
1946 #define apzHpux11_Uint32_CMachs (const char**)NULL
1949  *  content selection pattern - do fix if pattern found
1950  */
1951 tSCC zHpux11_Uint32_CSelect0[] =
1952        "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
1954 #define    HPUX11_UINT32_C_TEST_CT  1
1955 static tTestDesc aHpux11_Uint32_CTests[] = {
1956   { TT_EGREP,    zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
1959  *  Fix Command Arguments for Hpux11_Uint32_C
1960  */
1961 static const char* apzHpux11_Uint32_CPatch[] = {
1962     "format",
1963     "#define UINT32_C(__c) __CONCAT__(__c,ul)",
1964     (char*)NULL };
1966 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1968  *  Description of Hpux11_Vsnprintf fix
1969  */
1970 tSCC zHpux11_VsnprintfName[] =
1971      "hpux11_vsnprintf";
1974  *  File name selection pattern
1975  */
1976 tSCC zHpux11_VsnprintfList[] =
1977   "|stdio.h|";
1979  *  Machine/OS name selection pattern
1980  */
1981 #define apzHpux11_VsnprintfMachs (const char**)NULL
1984  *  content selection pattern - do fix if pattern found
1985  */
1986 tSCC zHpux11_VsnprintfSelect0[] =
1987        "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
1989 #define    HPUX11_VSNPRINTF_TEST_CT  1
1990 static tTestDesc aHpux11_VsnprintfTests[] = {
1991   { TT_EGREP,    zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
1994  *  Fix Command Arguments for Hpux11_Vsnprintf
1995  */
1996 static const char* apzHpux11_VsnprintfPatch[] = {
1997     "format",
1998     "%1 __va_list);",
1999     (char*)NULL };
2001 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2003  *  Description of Hpux8_Bogus_Inlines fix
2004  */
2005 tSCC zHpux8_Bogus_InlinesName[] =
2006      "hpux8_bogus_inlines";
2009  *  File name selection pattern
2010  */
2011 tSCC zHpux8_Bogus_InlinesList[] =
2012   "|math.h|";
2014  *  Machine/OS name selection pattern
2015  */
2016 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2019  *  content selection pattern - do fix if pattern found
2020  */
2021 tSCC zHpux8_Bogus_InlinesSelect0[] =
2022        "inline";
2024 #define    HPUX8_BOGUS_INLINES_TEST_CT  1
2025 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2026   { TT_EGREP,    zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2029  *  Fix Command Arguments for Hpux8_Bogus_Inlines
2030  */
2031 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2032     "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2033     "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2034     "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2035     "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2036     (char*)NULL };
2038 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2040  *  Description of Hpux_Ctype_Macros fix
2041  */
2042 tSCC zHpux_Ctype_MacrosName[] =
2043      "hpux_ctype_macros";
2046  *  File name selection pattern
2047  */
2048 tSCC zHpux_Ctype_MacrosList[] =
2049   "|ctype.h|";
2051  *  Machine/OS name selection pattern
2052  */
2053 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2056  *  content selection pattern - do fix if pattern found
2057  */
2058 tSCC zHpux_Ctype_MacrosSelect0[] =
2059        "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2061 #define    HPUX_CTYPE_MACROS_TEST_CT  1
2062 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2063   { TT_EGREP,    zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2066  *  Fix Command Arguments for Hpux_Ctype_Macros
2067  */
2068 static const char* apzHpux_Ctype_MacrosPatch[] = {
2069     "format",
2070     "%1(int)%3",
2071     (char*)NULL };
2073 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2075  *  Description of Hpux_Long_Double fix
2076  */
2077 tSCC zHpux_Long_DoubleName[] =
2078      "hpux_long_double";
2081  *  File name selection pattern
2082  */
2083 tSCC zHpux_Long_DoubleList[] =
2084   "|stdlib.h|";
2086  *  Machine/OS name selection pattern
2087  */
2088 #define apzHpux_Long_DoubleMachs (const char**)NULL
2091  *  content selection pattern - do fix if pattern found
2092  */
2093 tSCC zHpux_Long_DoubleSelect0[] =
2094        "extern[ \t]long_double[ \t]strtold";
2097  *  content bypass pattern - skip fix if pattern found
2098  */
2099 tSCC zHpux_Long_DoubleBypass0[] =
2100        "long_double_t";
2102 #define    HPUX_LONG_DOUBLE_TEST_CT  2
2103 static tTestDesc aHpux_Long_DoubleTests[] = {
2104   { TT_NEGREP,   zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2105   { TT_EGREP,    zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2108  *  Fix Command Arguments for Hpux_Long_Double
2109  */
2110 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2111     "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2112     "-e", "s/long_double/long double/g",
2113     (char*)NULL };
2115 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2117  *  Description of Hpux_Maxint fix
2118  */
2119 tSCC zHpux_MaxintName[] =
2120      "hpux_maxint";
2123  *  File name selection pattern
2124  */
2125 tSCC zHpux_MaxintList[] =
2126   "|sys/param.h|values.h|";
2128  *  Machine/OS name selection pattern
2129  */
2130 #define apzHpux_MaxintMachs (const char**)NULL
2133  *  content selection pattern - do fix if pattern found
2134  */
2135 tSCC zHpux_MaxintSelect0[] =
2136        "^#[ \t]*define[ \t]+MAXINT[ \t]";
2139  *  content bypass pattern - skip fix if pattern found
2140  */
2141 tSCC zHpux_MaxintBypass0[] =
2142        "^#[ \t]*ifndef[ \t]+MAXINT";
2145  *  perform the 'test' shell command - do fix on success
2146  */
2147 tSCC zHpux_MaxintTest0[] =
2148        "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2150 #define    HPUX_MAXINT_TEST_CT  3
2151 static tTestDesc aHpux_MaxintTests[] = {
2152   { TT_TEST,     zHpux_MaxintTest0,   0 /* unused */ },
2153   { TT_NEGREP,   zHpux_MaxintBypass0, (regex_t*)NULL },
2154   { TT_EGREP,    zHpux_MaxintSelect0, (regex_t*)NULL }, };
2157  *  Fix Command Arguments for Hpux_Maxint
2158  */
2159 static const char* apzHpux_MaxintPatch[] = {
2160     "format",
2161     "#ifndef MAXINT\n\
2162 %0\n\
2163 #endif",
2164     "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2165     (char*)NULL };
2167 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2169  *  Description of Hpux_Systime fix
2170  */
2171 tSCC zHpux_SystimeName[] =
2172      "hpux_systime";
2175  *  File name selection pattern
2176  */
2177 tSCC zHpux_SystimeList[] =
2178   "|sys/time.h|";
2180  *  Machine/OS name selection pattern
2181  */
2182 #define apzHpux_SystimeMachs (const char**)NULL
2185  *  content selection pattern - do fix if pattern found
2186  */
2187 tSCC zHpux_SystimeSelect0[] =
2188        "^extern struct sigevent;";
2190 #define    HPUX_SYSTIME_TEST_CT  1
2191 static tTestDesc aHpux_SystimeTests[] = {
2192   { TT_EGREP,    zHpux_SystimeSelect0, (regex_t*)NULL }, };
2195  *  Fix Command Arguments for Hpux_Systime
2196  */
2197 static const char* apzHpux_SystimePatch[] = {
2198     "format",
2199     "struct sigevent;",
2200     (char*)NULL };
2202 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2204  *  Description of Int_Abort_Free_And_Exit fix
2205  */
2206 tSCC zInt_Abort_Free_And_ExitName[] =
2207      "int_abort_free_and_exit";
2210  *  File name selection pattern
2211  */
2212 tSCC zInt_Abort_Free_And_ExitList[] =
2213   "|stdlib.h|";
2215  *  Machine/OS name selection pattern
2216  */
2217 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2220  *  content selection pattern - do fix if pattern found
2221  */
2222 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2223        "int[ \t]+(abort|free|exit)[ \t]*\\(";
2225 #define    INT_ABORT_FREE_AND_EXIT_TEST_CT  1
2226 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2227   { TT_EGREP,    zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2230  *  Fix Command Arguments for Int_Abort_Free_And_Exit
2231  */
2232 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2233     "format",
2234     "void\t%1(",
2235     (char*)NULL };
2237 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2239  *  Description of Io_Quotes_Def fix
2240  */
2241 tSCC zIo_Quotes_DefName[] =
2242      "io_quotes_def";
2245  *  File name selection pattern
2246  */
2247 #define zIo_Quotes_DefList (char*)NULL
2249  *  Machine/OS name selection pattern
2250  */
2251 #define apzIo_Quotes_DefMachs (const char**)NULL
2254  *  content selection pattern - do fix if pattern found
2255  */
2256 tSCC zIo_Quotes_DefSelect0[] =
2257        "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2259 #define    IO_QUOTES_DEF_TEST_CT  1
2260 static tTestDesc aIo_Quotes_DefTests[] = {
2261   { TT_EGREP,    zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2264  *  Fix Command Arguments for Io_Quotes_Def
2265  */
2266 static const char* apzIo_Quotes_DefPatch[] = {
2267     "char_macro_def",
2268     "IO",
2269     (char*)NULL };
2271 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2273  *  Description of Io_Quotes_Use fix
2274  */
2275 tSCC zIo_Quotes_UseName[] =
2276      "io_quotes_use";
2279  *  File name selection pattern
2280  */
2281 #define zIo_Quotes_UseList (char*)NULL
2283  *  Machine/OS name selection pattern
2284  */
2285 #define apzIo_Quotes_UseMachs (const char**)NULL
2288  *  content selection pattern - do fix if pattern found
2289  */
2290 tSCC zIo_Quotes_UseSelect0[] =
2291        "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2293 #define    IO_QUOTES_USE_TEST_CT  1
2294 static tTestDesc aIo_Quotes_UseTests[] = {
2295   { TT_EGREP,    zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2298  *  Fix Command Arguments for Io_Quotes_Use
2299  */
2300 static const char* apzIo_Quotes_UsePatch[] = {
2301     "char_macro_use",
2302     "IO",
2303     (char*)NULL };
2305 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2307  *  Description of Ip_Missing_Semi fix
2308  */
2309 tSCC zIp_Missing_SemiName[] =
2310      "ip_missing_semi";
2313  *  File name selection pattern
2314  */
2315 tSCC zIp_Missing_SemiList[] =
2316   "|netinet/ip.h|";
2318  *  Machine/OS name selection pattern
2319  */
2320 #define apzIp_Missing_SemiMachs (const char**)NULL
2323  *  content selection pattern - do fix if pattern found
2324  */
2325 tSCC zIp_Missing_SemiSelect0[] =
2326        "}$";
2328 #define    IP_MISSING_SEMI_TEST_CT  1
2329 static tTestDesc aIp_Missing_SemiTests[] = {
2330   { TT_EGREP,    zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2333  *  Fix Command Arguments for Ip_Missing_Semi
2334  */
2335 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2336     "-e", "/^struct/,/^};/s/}$/};/",
2337     (char*)NULL };
2339 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2341  *  Description of Irix_Asm_Apostrophe fix
2342  */
2343 tSCC zIrix_Asm_ApostropheName[] =
2344      "irix_asm_apostrophe";
2347  *  File name selection pattern
2348  */
2349 tSCC zIrix_Asm_ApostropheList[] =
2350   "|sys/asm.h|";
2352  *  Machine/OS name selection pattern
2353  */
2354 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2357  *  content selection pattern - do fix if pattern found
2358  */
2359 tSCC zIrix_Asm_ApostropheSelect0[] =
2360        "^[ \t]*#.*[Ww]e're";
2362 #define    IRIX_ASM_APOSTROPHE_TEST_CT  1
2363 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2364   { TT_EGREP,    zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2367  *  Fix Command Arguments for Irix_Asm_Apostrophe
2368  */
2369 static const char* apzIrix_Asm_ApostrophePatch[] = {
2370     "format",
2371     "%1 are",
2372     "^([ \t]*#.*[Ww]e)'re",
2373     (char*)NULL };
2375 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2377  *  Description of Irix_Limits_Const fix
2378  */
2379 tSCC zIrix_Limits_ConstName[] =
2380      "irix_limits_const";
2383  *  File name selection pattern
2384  */
2385 tSCC zIrix_Limits_ConstList[] =
2386   "|fixinc-test-limits.h|limits.h|";
2388  *  Machine/OS name selection pattern
2389  */
2390 #define apzIrix_Limits_ConstMachs (const char**)NULL
2393  *  content selection pattern - do fix if pattern found
2394  */
2395 tSCC zIrix_Limits_ConstSelect0[] =
2396        "^extern const ";
2398 #define    IRIX_LIMITS_CONST_TEST_CT  1
2399 static tTestDesc aIrix_Limits_ConstTests[] = {
2400   { TT_EGREP,    zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2403  *  Fix Command Arguments for Irix_Limits_Const
2404  */
2405 static const char* apzIrix_Limits_ConstPatch[] = {
2406     "format",
2407     "extern __const ",
2408     (char*)NULL };
2410 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2412  *  Description of Irix___Restrict fix
2413  */
2414 tSCC zIrix___RestrictName[] =
2415      "irix___restrict";
2418  *  File name selection pattern
2419  */
2420 tSCC zIrix___RestrictList[] =
2421   "|internal/sgimacros.h|";
2423  *  Machine/OS name selection pattern
2424  */
2425 tSCC* apzIrix___RestrictMachs[] = {
2426         "mips-sgi-irix6.5",
2427         (const char*)NULL };
2430  *  content selection pattern - do fix if pattern found
2431  */
2432 tSCC zIrix___RestrictSelect0[] =
2433        "(#ifdef __c99\n\
2434 )(#[ \t]*define __restrict restrict)";
2436 #define    IRIX___RESTRICT_TEST_CT  1
2437 static tTestDesc aIrix___RestrictTests[] = {
2438   { TT_EGREP,    zIrix___RestrictSelect0, (regex_t*)NULL }, };
2441  *  Fix Command Arguments for Irix___Restrict
2442  */
2443 static const char* apzIrix___RestrictPatch[] = {
2444     "format",
2445     "%1#  ifndef __cplusplus\n\
2446 %2\n\
2447 #  endif",
2448     (char*)NULL };
2450 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2452  *  Description of Irix_Socklen_T fix
2453  */
2454 tSCC zIrix_Socklen_TName[] =
2455      "irix_socklen_t";
2458  *  File name selection pattern
2459  */
2460 tSCC zIrix_Socklen_TList[] =
2461   "|sys/socket.h|";
2463  *  Machine/OS name selection pattern
2464  */
2465 tSCC* apzIrix_Socklen_TMachs[] = {
2466         "mips-sgi-irix6.5",
2467         (const char*)NULL };
2470  *  content selection pattern - do fix if pattern found
2471  */
2472 tSCC zIrix_Socklen_TSelect0[] =
2473        "(#define _SOCKLEN_T\n\
2474 )(typedef u_int32_t socklen_t;)";
2476 #define    IRIX_SOCKLEN_T_TEST_CT  1
2477 static tTestDesc aIrix_Socklen_TTests[] = {
2478   { TT_EGREP,    zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
2481  *  Fix Command Arguments for Irix_Socklen_T
2482  */
2483 static const char* apzIrix_Socklen_TPatch[] = {
2484     "format",
2485     "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
2486 typedef int socklen_t;\n\
2487 #else\n\
2488 %2\n\
2489 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
2490     (char*)NULL };
2492 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2494  *  Description of Irix_Stdio_Va_List fix
2495  */
2496 tSCC zIrix_Stdio_Va_ListName[] =
2497      "irix_stdio_va_list";
2500  *  File name selection pattern
2501  */
2502 tSCC zIrix_Stdio_Va_ListList[] =
2503   "|stdio.h|";
2505  *  Machine/OS name selection pattern
2506  */
2507 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2510  *  content selection pattern - do fix if pattern found
2511  */
2512 tSCC zIrix_Stdio_Va_ListSelect0[] =
2513        "(printf\\(.*), /\\* va_list \\*/ char \\*";
2515 #define    IRIX_STDIO_VA_LIST_TEST_CT  1
2516 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2517   { TT_EGREP,    zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2520  *  Fix Command Arguments for Irix_Stdio_Va_List
2521  */
2522 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2523     "format",
2524     "%1, __gnuc_va_list",
2525     (char*)NULL };
2527 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2529  *  Description of Irix_Wcsftime fix
2530  */
2531 tSCC zIrix_WcsftimeName[] =
2532      "irix_wcsftime";
2535  *  File name selection pattern
2536  */
2537 tSCC zIrix_WcsftimeList[] =
2538   "|internal/wchar_core.h|";
2540  *  Machine/OS name selection pattern
2541  */
2542 tSCC* apzIrix_WcsftimeMachs[] = {
2543         "mips-sgi-irix6.5",
2544         (const char*)NULL };
2547  *  content selection pattern - do fix if pattern found
2548  */
2549 tSCC zIrix_WcsftimeSelect0[] =
2550        "#if _NO_XOPEN5\n\
2551 (extern size_t[ \t]+wcsftime.*const char *.*)";
2553 #define    IRIX_WCSFTIME_TEST_CT  1
2554 static tTestDesc aIrix_WcsftimeTests[] = {
2555   { TT_EGREP,    zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
2558  *  Fix Command Arguments for Irix_Wcsftime
2559  */
2560 static const char* apzIrix_WcsftimePatch[] = {
2561     "format",
2562     "#if _NO_XOPEN5 && !defined(__c99)\n\
2563 %1",
2564     (char*)NULL };
2566 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2568  *  Description of Isc_Fmod fix
2569  */
2570 tSCC zIsc_FmodName[] =
2571      "isc_fmod";
2574  *  File name selection pattern
2575  */
2576 tSCC zIsc_FmodList[] =
2577   "|math.h|";
2579  *  Machine/OS name selection pattern
2580  */
2581 #define apzIsc_FmodMachs (const char**)NULL
2584  *  content selection pattern - do fix if pattern found
2585  */
2586 tSCC zIsc_FmodSelect0[] =
2587        "fmod\\(double\\)";
2589 #define    ISC_FMOD_TEST_CT  1
2590 static tTestDesc aIsc_FmodTests[] = {
2591   { TT_EGREP,    zIsc_FmodSelect0, (regex_t*)NULL }, };
2594  *  Fix Command Arguments for Isc_Fmod
2595  */
2596 static const char* apzIsc_FmodPatch[] = {
2597     "format",
2598     "fmod(double, double)",
2599     (char*)NULL };
2601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2603  *  Description of Isc_Omits_With_Stdc fix
2604  */
2605 tSCC zIsc_Omits_With_StdcName[] =
2606      "isc_omits_with_stdc";
2609  *  File name selection pattern
2610  */
2611 tSCC zIsc_Omits_With_StdcList[] =
2612   "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2614  *  Machine/OS name selection pattern
2615  */
2616 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2619  *  content selection pattern - do fix if pattern found
2620  */
2621 tSCC zIsc_Omits_With_StdcSelect0[] =
2622        "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2624 #define    ISC_OMITS_WITH_STDC_TEST_CT  1
2625 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2626   { TT_EGREP,    zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2629  *  Fix Command Arguments for Isc_Omits_With_Stdc
2630  */
2631 static const char* apzIsc_Omits_With_StdcPatch[] = {
2632     "format",
2633     "!defined(_POSIX_SOURCE)",
2634     (char*)NULL };
2636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2638  *  Description of Kandr_Concat fix
2639  */
2640 tSCC zKandr_ConcatName[] =
2641      "kandr_concat";
2644  *  File name selection pattern
2645  */
2646 tSCC zKandr_ConcatList[] =
2647   "|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|";
2649  *  Machine/OS name selection pattern
2650  */
2651 #define apzKandr_ConcatMachs (const char**)NULL
2654  *  content selection pattern - do fix if pattern found
2655  */
2656 tSCC zKandr_ConcatSelect0[] =
2657        "/\\*\\*/";
2659 #define    KANDR_CONCAT_TEST_CT  1
2660 static tTestDesc aKandr_ConcatTests[] = {
2661   { TT_EGREP,    zKandr_ConcatSelect0, (regex_t*)NULL }, };
2664  *  Fix Command Arguments for Kandr_Concat
2665  */
2666 static const char* apzKandr_ConcatPatch[] = {
2667     "format",
2668     "##",
2669     (char*)NULL };
2671 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2673  *  Description of Libc1_G_Va_List fix
2674  */
2675 tSCC zLibc1_G_Va_ListName[] =
2676      "libc1_G_va_list";
2679  *  File name selection pattern
2680  */
2681 tSCC zLibc1_G_Va_ListList[] =
2682   "|_G_config.h|";
2684  *  Machine/OS name selection pattern
2685  */
2686 tSCC* apzLibc1_G_Va_ListMachs[] = {
2687         "*-*-linux*libc1",
2688         (const char*)NULL };
2691  *  content selection pattern - do fix if pattern found
2692  */
2693 tSCC zLibc1_G_Va_ListSelect0[] =
2694        "typedef void \\* _G_va_list;";
2696 #define    LIBC1_G_VA_LIST_TEST_CT  1
2697 static tTestDesc aLibc1_G_Va_ListTests[] = {
2698   { TT_EGREP,    zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
2701  *  Fix Command Arguments for Libc1_G_Va_List
2702  */
2703 static const char* apzLibc1_G_Va_ListPatch[] = {
2704     "format",
2705     "typedef __builtin_va_list _G_va_list;",
2706     (char*)NULL };
2708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2710  *  Description of Libc1_Ifdefd_Memx fix
2711  */
2712 tSCC zLibc1_Ifdefd_MemxName[] =
2713      "libc1_ifdefd_memx";
2716  *  File name selection pattern
2717  */
2718 tSCC zLibc1_Ifdefd_MemxList[] =
2719   "|testing.h|string.h|";
2721  *  Machine/OS name selection pattern
2722  */
2723 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2726  *  content selection pattern - do fix if pattern found
2727  */
2728 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2729        "' is a built-in function for gcc 2\\.x\\. \\*/";
2732  *  content bypass pattern - skip fix if pattern found
2733  */
2734 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2735        "__cplusplus";
2737 #define    LIBC1_IFDEFD_MEMX_TEST_CT  2
2738 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2739   { TT_NEGREP,   zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2740   { TT_EGREP,    zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2743  *  Fix Command Arguments for Libc1_Ifdefd_Memx
2744  */
2745 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2746     "format",
2747     "%1",
2748     "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2749 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
2750 (/\\* .* \\*/\n\
2751 extern [a-z_]+ mem.*(\n\
2752 [^#].*)*;)\n\
2753 #endif",
2754     (char*)NULL };
2756 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2758  *  Description of Limits_Ifndefs fix
2759  */
2760 tSCC zLimits_IfndefsName[] =
2761      "limits_ifndefs";
2764  *  File name selection pattern
2765  */
2766 tSCC zLimits_IfndefsList[] =
2767   "|sys/limits.h|limits.h|";
2769  *  Machine/OS name selection pattern
2770  */
2771 #define apzLimits_IfndefsMachs (const char**)NULL
2774  *  content bypass pattern - skip fix if pattern found
2775  */
2776 tSCC zLimits_IfndefsBypass0[] =
2777        "ifndef[ \t]+FLT_(MIN|MAX)";
2779 #define    LIMITS_IFNDEFS_TEST_CT  1
2780 static tTestDesc aLimits_IfndefsTests[] = {
2781   { TT_NEGREP,   zLimits_IfndefsBypass0, (regex_t*)NULL }, };
2784  *  Fix Command Arguments for Limits_Ifndefs
2785  */
2786 static const char* apzLimits_IfndefsPatch[] = {
2787     "format",
2788     "#ifndef %1\n\
2789 %0\n\
2790 #endif",
2791     "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
2792     (char*)NULL };
2794 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2796  *  Description of Lynx_Void_Int fix
2797  */
2798 tSCC zLynx_Void_IntName[] =
2799      "lynx_void_int";
2802  *  File name selection pattern
2803  */
2804 tSCC zLynx_Void_IntList[] =
2805   "|curses.h|";
2807  *  Machine/OS name selection pattern
2808  */
2809 #define apzLynx_Void_IntMachs (const char**)NULL
2812  *  content selection pattern - do fix if pattern found
2813  */
2814 tSCC zLynx_Void_IntSelect0[] =
2815        "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
2817 #define    LYNX_VOID_INT_TEST_CT  1
2818 static tTestDesc aLynx_Void_IntTests[] = {
2819   { TT_EGREP,    zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2822  *  Fix Command Arguments for Lynx_Void_Int
2823  */
2824 static const char* apzLynx_Void_IntPatch[] = {
2825     "format",
2826     "",
2827     (char*)NULL };
2829 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2831  *  Description of Lynxos_Fcntl_Proto fix
2832  */
2833 tSCC zLynxos_Fcntl_ProtoName[] =
2834      "lynxos_fcntl_proto";
2837  *  File name selection pattern
2838  */
2839 tSCC zLynxos_Fcntl_ProtoList[] =
2840   "|fcntl.h|";
2842  *  Machine/OS name selection pattern
2843  */
2844 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2847  *  content selection pattern - do fix if pattern found
2848  */
2849 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2850        "fcntl[ \t]*\\(int, int, int\\)";
2852 #define    LYNXOS_FCNTL_PROTO_TEST_CT  1
2853 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2854   { TT_EGREP,    zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2857  *  Fix Command Arguments for Lynxos_Fcntl_Proto
2858  */
2859 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
2860     "format",
2861     "%1...)",
2862     "(fcntl[ \t]*\\(int, int, )int\\)",
2863     (char*)NULL };
2865 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2867  *  Description of Machine_Ansi_H_Va_List fix
2868  */
2869 tSCC zMachine_Ansi_H_Va_ListName[] =
2870      "machine_ansi_h_va_list";
2873  *  File name selection pattern
2874  */
2875 #define zMachine_Ansi_H_Va_ListList (char*)NULL
2877  *  Machine/OS name selection pattern
2878  */
2879 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2882  *  content selection pattern - do fix if pattern found
2883  */
2884 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
2885        "define[ \t]+_BSD_VA_LIST_[ \t]";
2888  *  content bypass pattern - skip fix if pattern found
2889  */
2890 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2891        "__builtin_va_list";
2893 #define    MACHINE_ANSI_H_VA_LIST_TEST_CT  2
2894 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
2895   { TT_NEGREP,   zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
2896   { TT_EGREP,    zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
2899  *  Fix Command Arguments for Machine_Ansi_H_Va_List
2900  */
2901 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
2902     "format",
2903     "%1__builtin_va_list",
2904     "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
2905     (char*)NULL };
2907 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2909  *  Description of Machine_Name fix
2910  */
2911 tSCC zMachine_NameName[] =
2912      "machine_name";
2915  *  File name selection pattern
2916  */
2917 #define zMachine_NameList (char*)NULL
2919  *  Machine/OS name selection pattern
2920  */
2921 #define apzMachine_NameMachs (const char**)NULL
2924  *  perform the C function call test
2925  */
2926 tSCC zMachine_NameFTst0[] = "machine_name";
2928 #define    MACHINE_NAME_TEST_CT  1
2929 static tTestDesc aMachine_NameTests[] = {
2930   { TT_FUNCTION, zMachine_NameFTst0,   0 /* unused */ }, };
2933  *  Fix Command Arguments for Machine_Name
2934  */
2935 static const char* apzMachine_NamePatch[] = {
2936     "machine_name",
2937     (char*)NULL };
2939 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2941  *  Description of Math_Exception fix
2942  */
2943 tSCC zMath_ExceptionName[] =
2944      "math_exception";
2947  *  File name selection pattern
2948  */
2949 tSCC zMath_ExceptionList[] =
2950   "|math.h|";
2952  *  Machine/OS name selection pattern
2953  */
2954 #define apzMath_ExceptionMachs (const char**)NULL
2957  *  content selection pattern - do fix if pattern found
2958  */
2959 tSCC zMath_ExceptionSelect0[] =
2960        "struct exception";
2963  *  content bypass pattern - skip fix if pattern found
2964  */
2965 tSCC zMath_ExceptionBypass0[] =
2966        "We have a problem when using C\\+\\+";
2968 #define    MATH_EXCEPTION_TEST_CT  2
2969 static tTestDesc aMath_ExceptionTests[] = {
2970   { TT_NEGREP,   zMath_ExceptionBypass0, (regex_t*)NULL },
2971   { TT_EGREP,    zMath_ExceptionSelect0, (regex_t*)NULL }, };
2974  *  Fix Command Arguments for Math_Exception
2975  */
2976 static const char* apzMath_ExceptionPatch[] = {
2977     "wrap",
2978     "#ifdef __cplusplus\n\
2979 #define exception __math_exception\n\
2980 #endif\n",
2981     "#ifdef __cplusplus\n\
2982 #undef exception\n\
2983 #endif\n",
2984     (char*)NULL };
2986 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2988  *  Description of Math_Huge_Val_From_Dbl_Max fix
2989  */
2990 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
2991      "math_huge_val_from_dbl_max";
2994  *  File name selection pattern
2995  */
2996 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
2997   "|math.h|";
2999  *  Machine/OS name selection pattern
3000  */
3001 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3004  *  content selection pattern - do fix if pattern found
3005  */
3006 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3007        "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3010  *  content bypass pattern - skip fix if pattern found
3011  */
3012 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3013        "define[ \t]+DBL_MAX";
3015 #define    MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT  2
3016 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3017   { TT_NEGREP,   zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3018   { TT_EGREP,    zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3021  *  Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3022  */
3023 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3024     "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3025 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3026 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3027 \telse cat\n\
3028 \tfi",
3029     (char*)NULL };
3031 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3033  *  Description of Math_Huge_Val_Ifndef fix
3034  */
3035 tSCC zMath_Huge_Val_IfndefName[] =
3036      "math_huge_val_ifndef";
3039  *  File name selection pattern
3040  */
3041 tSCC zMath_Huge_Val_IfndefList[] =
3042   "|math.h|math/math.h|";
3044  *  Machine/OS name selection pattern
3045  */
3046 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
3049  *  content selection pattern - do fix if pattern found
3050  */
3051 tSCC zMath_Huge_Val_IfndefSelect0[] =
3052        "define[ \t]+HUGE_VAL";
3054 #define    MATH_HUGE_VAL_IFNDEF_TEST_CT  1
3055 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3056   { TT_EGREP,    zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3059  *  Fix Command Arguments for Math_Huge_Val_Ifndef
3060  */
3061 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3062     "format",
3063     "#ifndef HUGE_VAL\n\
3064 %0\n\
3065 #endif",
3066     "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3067     (char*)NULL };
3069 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3071  *  Description of Nested_Auth_Des fix
3072  */
3073 tSCC zNested_Auth_DesName[] =
3074      "nested_auth_des";
3077  *  File name selection pattern
3078  */
3079 tSCC zNested_Auth_DesList[] =
3080   "|rpc/rpc.h|";
3082  *  Machine/OS name selection pattern
3083  */
3084 #define apzNested_Auth_DesMachs (const char**)NULL
3087  *  content selection pattern - do fix if pattern found
3088  */
3089 tSCC zNested_Auth_DesSelect0[] =
3090        "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3092 #define    NESTED_AUTH_DES_TEST_CT  1
3093 static tTestDesc aNested_Auth_DesTests[] = {
3094   { TT_EGREP,    zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3097  *  Fix Command Arguments for Nested_Auth_Des
3098  */
3099 static const char* apzNested_Auth_DesPatch[] = {
3100     "format",
3101     "%1*/ /*",
3102     (char*)NULL };
3104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3106  *  Description of Nested_Motorola fix
3107  */
3108 tSCC zNested_MotorolaName[] =
3109      "nested_motorola";
3112  *  File name selection pattern
3113  */
3114 tSCC zNested_MotorolaList[] =
3115   "|sys/limits.h|limits.h|";
3117  *  Machine/OS name selection pattern
3118  */
3119 tSCC* apzNested_MotorolaMachs[] = {
3120         "m68k-motorola-sysv*",
3121         (const char*)NULL };
3124  *  content selection pattern - do fix if pattern found
3125  */
3126 tSCC zNested_MotorolaSelect0[] =
3127        "max # bytes atomic in write|error value returned by Math lib";
3129 #define    NESTED_MOTOROLA_TEST_CT  1
3130 static tTestDesc aNested_MotorolaTests[] = {
3131   { TT_EGREP,    zNested_MotorolaSelect0, (regex_t*)NULL }, };
3134  *  Fix Command Arguments for Nested_Motorola
3135  */
3136 static const char* apzNested_MotorolaPatch[] = { "sed",
3137     "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3138     "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3139     (char*)NULL };
3141 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3143  *  Description of Nested_Sys_Limits fix
3144  */
3145 tSCC zNested_Sys_LimitsName[] =
3146      "nested_sys_limits";
3149  *  File name selection pattern
3150  */
3151 tSCC zNested_Sys_LimitsList[] =
3152   "|sys/limits.h|";
3154  *  Machine/OS name selection pattern
3155  */
3156 #define apzNested_Sys_LimitsMachs (const char**)NULL
3159  *  content selection pattern - do fix if pattern found
3160  */
3161 tSCC zNested_Sys_LimitsSelect0[] =
3162        "CHILD_MAX";
3164 #define    NESTED_SYS_LIMITS_TEST_CT  1
3165 static tTestDesc aNested_Sys_LimitsTests[] = {
3166   { TT_EGREP,    zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3169  *  Fix Command Arguments for Nested_Sys_Limits
3170  */
3171 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3172     "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3173     "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3174     (char*)NULL };
3176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3178  *  Description of Netbsd_Extra_Semicolon fix
3179  */
3180 tSCC zNetbsd_Extra_SemicolonName[] =
3181      "netbsd_extra_semicolon";
3184  *  File name selection pattern
3185  */
3186 tSCC zNetbsd_Extra_SemicolonList[] =
3187   "|sys/cdefs.h|";
3189  *  Machine/OS name selection pattern
3190  */
3191 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3192         "*-*-netbsd*",
3193         (const char*)NULL };
3196  *  content selection pattern - do fix if pattern found
3197  */
3198 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3199        "#define[ \t]*__END_DECLS[ \t]*};";
3201 #define    NETBSD_EXTRA_SEMICOLON_TEST_CT  1
3202 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3203   { TT_EGREP,    zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3206  *  Fix Command Arguments for Netbsd_Extra_Semicolon
3207  */
3208 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3209     "format",
3210     "#define __END_DECLS }",
3211     (char*)NULL };
3213 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3215  *  Description of Next_Math_Prefix fix
3216  */
3217 tSCC zNext_Math_PrefixName[] =
3218      "next_math_prefix";
3221  *  File name selection pattern
3222  */
3223 tSCC zNext_Math_PrefixList[] =
3224   "|ansi/math.h|";
3226  *  Machine/OS name selection pattern
3227  */
3228 #define apzNext_Math_PrefixMachs (const char**)NULL
3231  *  content selection pattern - do fix if pattern found
3232  */
3233 tSCC zNext_Math_PrefixSelect0[] =
3234        "^extern[ \t]+double[ \t]+__const__[ \t]";
3236 #define    NEXT_MATH_PREFIX_TEST_CT  1
3237 static tTestDesc aNext_Math_PrefixTests[] = {
3238   { TT_EGREP,    zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3241  *  Fix Command Arguments for Next_Math_Prefix
3242  */
3243 static const char* apzNext_Math_PrefixPatch[] = {
3244     "format",
3245     "extern double %1(",
3246     "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3247     (char*)NULL };
3249 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3251  *  Description of Next_Template fix
3252  */
3253 tSCC zNext_TemplateName[] =
3254      "next_template";
3257  *  File name selection pattern
3258  */
3259 tSCC zNext_TemplateList[] =
3260   "|bsd/libc.h|";
3262  *  Machine/OS name selection pattern
3263  */
3264 #define apzNext_TemplateMachs (const char**)NULL
3267  *  content selection pattern - do fix if pattern found
3268  */
3269 tSCC zNext_TemplateSelect0[] =
3270        "[ \t]template\\)";
3272 #define    NEXT_TEMPLATE_TEST_CT  1
3273 static tTestDesc aNext_TemplateTests[] = {
3274   { TT_EGREP,    zNext_TemplateSelect0, (regex_t*)NULL }, };
3277  *  Fix Command Arguments for Next_Template
3278  */
3279 static const char* apzNext_TemplatePatch[] = {
3280     "format",
3281     "(%1)",
3282     "\\(([^)]*)[ \t]template\\)",
3283     (char*)NULL };
3285 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3287  *  Description of Next_Volitile fix
3288  */
3289 tSCC zNext_VolitileName[] =
3290      "next_volitile";
3293  *  File name selection pattern
3294  */
3295 tSCC zNext_VolitileList[] =
3296   "|ansi/stdlib.h|";
3298  *  Machine/OS name selection pattern
3299  */
3300 #define apzNext_VolitileMachs (const char**)NULL
3303  *  content selection pattern - do fix if pattern found
3304  */
3305 tSCC zNext_VolitileSelect0[] =
3306        "^extern[ \t]+volatile[ \t]+void[ \t]";
3308 #define    NEXT_VOLITILE_TEST_CT  1
3309 static tTestDesc aNext_VolitileTests[] = {
3310   { TT_EGREP,    zNext_VolitileSelect0, (regex_t*)NULL }, };
3313  *  Fix Command Arguments for Next_Volitile
3314  */
3315 static const char* apzNext_VolitilePatch[] = {
3316     "format",
3317     "extern void %1(",
3318     "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3319     (char*)NULL };
3321 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3323  *  Description of Next_Wait_Union fix
3324  */
3325 tSCC zNext_Wait_UnionName[] =
3326      "next_wait_union";
3329  *  File name selection pattern
3330  */
3331 tSCC zNext_Wait_UnionList[] =
3332   "|sys/wait.h|";
3334  *  Machine/OS name selection pattern
3335  */
3336 #define apzNext_Wait_UnionMachs (const char**)NULL
3339  *  content selection pattern - do fix if pattern found
3340  */
3341 tSCC zNext_Wait_UnionSelect0[] =
3342        "wait\\(union wait";
3344 #define    NEXT_WAIT_UNION_TEST_CT  1
3345 static tTestDesc aNext_Wait_UnionTests[] = {
3346   { TT_EGREP,    zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3349  *  Fix Command Arguments for Next_Wait_Union
3350  */
3351 static const char* apzNext_Wait_UnionPatch[] = {
3352     "format",
3353     "wait(void",
3354     (char*)NULL };
3356 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3358  *  Description of Nodeent_Syntax fix
3359  */
3360 tSCC zNodeent_SyntaxName[] =
3361      "nodeent_syntax";
3364  *  File name selection pattern
3365  */
3366 tSCC zNodeent_SyntaxList[] =
3367   "|netdnet/dnetdb.h|";
3369  *  Machine/OS name selection pattern
3370  */
3371 #define apzNodeent_SyntaxMachs (const char**)NULL
3374  *  content selection pattern - do fix if pattern found
3375  */
3376 tSCC zNodeent_SyntaxSelect0[] =
3377        "char[ \t]*\\*na_addr[ \t]*$";
3379 #define    NODEENT_SYNTAX_TEST_CT  1
3380 static tTestDesc aNodeent_SyntaxTests[] = {
3381   { TT_EGREP,    zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3384  *  Fix Command Arguments for Nodeent_Syntax
3385  */
3386 static const char* apzNodeent_SyntaxPatch[] = {
3387     "format",
3388     "%0;",
3389     (char*)NULL };
3391 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3393  *  Description of Osf_Namespace_A fix
3394  */
3395 tSCC zOsf_Namespace_AName[] =
3396      "osf_namespace_a";
3399  *  File name selection pattern
3400  */
3401 tSCC zOsf_Namespace_AList[] =
3402   "|reg_types.h|sys/lc_core.h|";
3404  *  Machine/OS name selection pattern
3405  */
3406 #define apzOsf_Namespace_AMachs (const char**)NULL
3409  *  perform the 'test' shell command - do fix on success
3410  */
3411 tSCC zOsf_Namespace_ATest0[] =
3412        " -r reg_types.h";
3413 tSCC zOsf_Namespace_ATest1[] =
3414        " -r sys/lc_core.h";
3415 tSCC zOsf_Namespace_ATest2[] =
3416        " -n \"`grep '} regex_t;' reg_types.h`\"";
3417 tSCC zOsf_Namespace_ATest3[] =
3418        " -z \"`grep __regex_t regex.h`\"";
3420 #define    OSF_NAMESPACE_A_TEST_CT  4
3421 static tTestDesc aOsf_Namespace_ATests[] = {
3422   { TT_TEST,     zOsf_Namespace_ATest0,   0 /* unused */ },
3423   { TT_TEST,     zOsf_Namespace_ATest1,   0 /* unused */ },
3424   { TT_TEST,     zOsf_Namespace_ATest2,   0 /* unused */ },
3425   { TT_TEST,     zOsf_Namespace_ATest3,   0 /* unused */ }, };
3428  *  Fix Command Arguments for Osf_Namespace_A
3429  */
3430 static const char* apzOsf_Namespace_APatch[] = {
3431     "format",
3432     "__%0",
3433     "reg(ex|off|match)_t",
3434     (char*)NULL };
3436 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3438  *  Description of Osf_Namespace_C fix
3439  */
3440 tSCC zOsf_Namespace_CName[] =
3441      "osf_namespace_c";
3444  *  File name selection pattern
3445  */
3446 tSCC zOsf_Namespace_CList[] =
3447   "|regex.h|";
3449  *  Machine/OS name selection pattern
3450  */
3451 #define apzOsf_Namespace_CMachs (const char**)NULL
3454  *  content selection pattern - do fix if pattern found
3455  */
3456 tSCC zOsf_Namespace_CSelect0[] =
3457        "#include <reg_types.h>.*";
3460  *  perform the 'test' shell command - do fix on success
3461  */
3462 tSCC zOsf_Namespace_CTest0[] =
3463        " -r reg_types.h";
3464 tSCC zOsf_Namespace_CTest1[] =
3465        " -r sys/lc_core.h";
3466 tSCC zOsf_Namespace_CTest2[] =
3467        " -n \"`grep '} regex_t;' reg_types.h`\"";
3468 tSCC zOsf_Namespace_CTest3[] =
3469        " -z \"`grep __regex_t regex.h`\"";
3471 #define    OSF_NAMESPACE_C_TEST_CT  5
3472 static tTestDesc aOsf_Namespace_CTests[] = {
3473   { TT_TEST,     zOsf_Namespace_CTest0,   0 /* unused */ },
3474   { TT_TEST,     zOsf_Namespace_CTest1,   0 /* unused */ },
3475   { TT_TEST,     zOsf_Namespace_CTest2,   0 /* unused */ },
3476   { TT_TEST,     zOsf_Namespace_CTest3,   0 /* unused */ },
3477   { TT_EGREP,    zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3480  *  Fix Command Arguments for Osf_Namespace_C
3481  */
3482 static const char* apzOsf_Namespace_CPatch[] = {
3483     "format",
3484     "%0\n\
3485 typedef __regex_t\tregex_t;\n\
3486 typedef __regoff_t\tregoff_t;\n\
3487 typedef __regmatch_t\tregmatch_t;",
3488     (char*)NULL };
3490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3492  *  Description of Pthread_Page_Size fix
3493  */
3494 tSCC zPthread_Page_SizeName[] =
3495      "pthread_page_size";
3498  *  File name selection pattern
3499  */
3500 tSCC zPthread_Page_SizeList[] =
3501   "|pthread.h|";
3503  *  Machine/OS name selection pattern
3504  */
3505 #define apzPthread_Page_SizeMachs (const char**)NULL
3508  *  content selection pattern - do fix if pattern found
3509  */
3510 tSCC zPthread_Page_SizeSelect0[] =
3511        "^int __page_size";
3513 #define    PTHREAD_PAGE_SIZE_TEST_CT  1
3514 static tTestDesc aPthread_Page_SizeTests[] = {
3515   { TT_EGREP,    zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3518  *  Fix Command Arguments for Pthread_Page_Size
3519  */
3520 static const char* apzPthread_Page_SizePatch[] = {
3521     "format",
3522     "extern %0",
3523     (char*)NULL };
3525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3527  *  Description of Read_Ret_Type fix
3528  */
3529 tSCC zRead_Ret_TypeName[] =
3530      "read_ret_type";
3533  *  File name selection pattern
3534  */
3535 tSCC zRead_Ret_TypeList[] =
3536   "|stdio.h|";
3538  *  Machine/OS name selection pattern
3539  */
3540 #define apzRead_Ret_TypeMachs (const char**)NULL
3543  *  content selection pattern - do fix if pattern found
3544  */
3545 tSCC zRead_Ret_TypeSelect0[] =
3546        "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3548 #define    READ_RET_TYPE_TEST_CT  1
3549 static tTestDesc aRead_Ret_TypeTests[] = {
3550   { TT_EGREP,    zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3553  *  Fix Command Arguments for Read_Ret_Type
3554  */
3555 static const char* apzRead_Ret_TypePatch[] = {
3556     "format",
3557     "extern unsigned int fread(), fwrite();\n\
3558 %1%2",
3559     "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3560     (char*)NULL };
3562 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3564  *  Description of Rs6000_Double fix
3565  */
3566 tSCC zRs6000_DoubleName[] =
3567      "rs6000_double";
3570  *  File name selection pattern
3571  */
3572 tSCC zRs6000_DoubleList[] =
3573   "|math.h|";
3575  *  Machine/OS name selection pattern
3576  */
3577 #define apzRs6000_DoubleMachs (const char**)NULL
3580  *  content selection pattern - do fix if pattern found
3581  */
3582 tSCC zRs6000_DoubleSelect0[] =
3583        "[^a-zA-Z_]class\\(";
3585 #define    RS6000_DOUBLE_TEST_CT  1
3586 static tTestDesc aRs6000_DoubleTests[] = {
3587   { TT_EGREP,    zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3590  *  Fix Command Arguments for Rs6000_Double
3591  */
3592 static const char* apzRs6000_DoublePatch[] = {
3593     "format",
3594     "#ifndef __cplusplus\n\
3595 %0\n\
3596 #endif",
3597     "^.*[^a-zA-Z_]class\\(.*",
3598     (char*)NULL };
3600 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3602  *  Description of Rs6000_Fchmod fix
3603  */
3604 tSCC zRs6000_FchmodName[] =
3605      "rs6000_fchmod";
3608  *  File name selection pattern
3609  */
3610 tSCC zRs6000_FchmodList[] =
3611   "|sys/stat.h|";
3613  *  Machine/OS name selection pattern
3614  */
3615 #define apzRs6000_FchmodMachs (const char**)NULL
3618  *  content selection pattern - do fix if pattern found
3619  */
3620 tSCC zRs6000_FchmodSelect0[] =
3621        "fchmod\\(char \\*";
3623 #define    RS6000_FCHMOD_TEST_CT  1
3624 static tTestDesc aRs6000_FchmodTests[] = {
3625   { TT_EGREP,    zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3628  *  Fix Command Arguments for Rs6000_Fchmod
3629  */
3630 static const char* apzRs6000_FchmodPatch[] = {
3631     "format",
3632     "fchmod(int",
3633     (char*)NULL };
3635 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3637  *  Description of Rs6000_Param fix
3638  */
3639 tSCC zRs6000_ParamName[] =
3640      "rs6000_param";
3643  *  File name selection pattern
3644  */
3645 tSCC zRs6000_ParamList[] =
3646   "|stdio.h|unistd.h|";
3648  *  Machine/OS name selection pattern
3649  */
3650 #define apzRs6000_ParamMachs (const char**)NULL
3653  *  content selection pattern - do fix if pattern found
3654  */
3655 tSCC zRs6000_ParamSelect0[] =
3656        "rename\\(const char \\*old, const char \\*new\\)";
3658 #define    RS6000_PARAM_TEST_CT  1
3659 static tTestDesc aRs6000_ParamTests[] = {
3660   { TT_EGREP,    zRs6000_ParamSelect0, (regex_t*)NULL }, };
3663  *  Fix Command Arguments for Rs6000_Param
3664  */
3665 static const char* apzRs6000_ParamPatch[] = {
3666     "format",
3667     "rename(const char *_old, const char *_new)",
3668     (char*)NULL };
3670 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3672  *  Description of Sco_Static_Func fix
3673  */
3674 tSCC zSco_Static_FuncName[] =
3675      "sco_static_func";
3678  *  File name selection pattern
3679  */
3680 tSCC zSco_Static_FuncList[] =
3681   "|sys/stat.h|";
3683  *  Machine/OS name selection pattern
3684  */
3685 tSCC* apzSco_Static_FuncMachs[] = {
3686         "i?86-*-sco3.2*",
3687         (const char*)NULL };
3690  *  content selection pattern - do fix if pattern found
3691  */
3692 tSCC zSco_Static_FuncSelect0[] =
3693        "^static int";
3695 #define    SCO_STATIC_FUNC_TEST_CT  1
3696 static tTestDesc aSco_Static_FuncTests[] = {
3697   { TT_EGREP,    zSco_Static_FuncSelect0, (regex_t*)NULL }, };
3700  *  Fix Command Arguments for Sco_Static_Func
3701  */
3702 static const char* apzSco_Static_FuncPatch[] = { "sed",
3703     "-e", "/^static int/i\\\n\
3704 #if __cplusplus\\\n\
3705 extern \"C\" {\\\n\
3706 #endif /* __cplusplus */",
3707     "-e", "/^}$/a\\\n\
3708 #if __cplusplus\\\n\
3709  }\\\n\
3710 #endif /* __cplusplus */",
3711     (char*)NULL };
3713 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3715  *  Description of Sco_Utime fix
3716  */
3717 tSCC zSco_UtimeName[] =
3718      "sco_utime";
3721  *  File name selection pattern
3722  */
3723 tSCC zSco_UtimeList[] =
3724   "|sys/times.h|";
3726  *  Machine/OS name selection pattern
3727  */
3728 tSCC* apzSco_UtimeMachs[] = {
3729         "i?86-*-sco3.2v4*",
3730         (const char*)NULL };
3733  *  content selection pattern - do fix if pattern found
3734  */
3735 tSCC zSco_UtimeSelect0[] =
3736        "\\(const char \\*, struct utimbuf \\*\\);";
3738 #define    SCO_UTIME_TEST_CT  1
3739 static tTestDesc aSco_UtimeTests[] = {
3740   { TT_EGREP,    zSco_UtimeSelect0, (regex_t*)NULL }, };
3743  *  Fix Command Arguments for Sco_Utime
3744  */
3745 static const char* apzSco_UtimePatch[] = {
3746     "format",
3747     "(const char *, const struct utimbuf *);",
3748     (char*)NULL };
3750 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3752  *  Description of Solaris_Mutex_Init fix
3753  */
3754 tSCC zSolaris_Mutex_InitName[] =
3755      "solaris_mutex_init";
3758  *  File name selection pattern
3759  */
3760 tSCC zSolaris_Mutex_InitList[] =
3761   "|pthread.h|";
3763  *  Machine/OS name selection pattern
3764  */
3765 #define apzSolaris_Mutex_InitMachs (const char**)NULL
3768  *  content selection pattern - do fix if pattern found
3769  */
3770 tSCC zSolaris_Mutex_InitSelect0[] =
3771        "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
3773 #define    SOLARIS_MUTEX_INIT_TEST_CT  1
3774 static tTestDesc aSolaris_Mutex_InitTests[] = {
3775   { TT_EGREP,    zSolaris_Mutex_InitSelect0, (regex_t*)NULL }, };
3778  *  Fix Command Arguments for Solaris_Mutex_Init
3779  */
3780 static const char* apzSolaris_Mutex_InitPatch[] = {
3781     "format",
3782     "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
3783 %0\n\
3784 #else\n\
3785 %1, {0}}%3\n\
3786 #endif",
3787     "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*),[ \t]*0}(|[ \t].*)$",
3788     (char*)NULL };
3790 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3792  *  Description of Solaris_Stdio_Tag fix
3793  */
3794 tSCC zSolaris_Stdio_TagName[] =
3795      "solaris_stdio_tag";
3798  *  File name selection pattern
3799  */
3800 tSCC zSolaris_Stdio_TagList[] =
3801   "|stdio_tag.h|";
3803  *  Machine/OS name selection pattern
3804  */
3805 #define apzSolaris_Stdio_TagMachs (const char**)NULL
3808  *  content selection pattern - do fix if pattern found
3809  */
3810 tSCC zSolaris_Stdio_TagSelect0[] =
3811        "__cplusplus < 54321L";
3813 #define    SOLARIS_STDIO_TAG_TEST_CT  1
3814 static tTestDesc aSolaris_Stdio_TagTests[] = {
3815   { TT_EGREP,    zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
3818  *  Fix Command Arguments for Solaris_Stdio_Tag
3819  */
3820 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
3821     "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
3822     (char*)NULL };
3824 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3826  *  Description of Solaris_Widec fix
3827  */
3828 tSCC zSolaris_WidecName[] =
3829      "solaris_widec";
3832  *  File name selection pattern
3833  */
3834 tSCC zSolaris_WidecList[] =
3835   "|widec.h|";
3837  *  Machine/OS name selection pattern
3838  */
3839 tSCC* apzSolaris_WidecMachs[] = {
3840         "*-*-solaris2.[0-5]*",
3841         (const char*)NULL };
3844  *  content selection pattern - do fix if pattern found
3845  */
3846 tSCC zSolaris_WidecSelect0[] =
3847        "#include <euc.h>";
3850  *  content bypass pattern - skip fix if pattern found
3851  */
3852 tSCC zSolaris_WidecBypass0[] =
3853        "include.*wchar\\.h";
3855 #define    SOLARIS_WIDEC_TEST_CT  2
3856 static tTestDesc aSolaris_WidecTests[] = {
3857   { TT_NEGREP,   zSolaris_WidecBypass0, (regex_t*)NULL },
3858   { TT_EGREP,    zSolaris_WidecSelect0, (regex_t*)NULL }, };
3861  *  Fix Command Arguments for Solaris_Widec
3862  */
3863 static const char* apzSolaris_WidecPatch[] = {
3864     "format",
3865     "%0\n\
3866 #include <wchar.h>",
3867     (char*)NULL };
3869 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3871  *  Description of Statsswtch fix
3872  */
3873 tSCC zStatsswtchName[] =
3874      "statsswtch";
3877  *  File name selection pattern
3878  */
3879 tSCC zStatsswtchList[] =
3880   "|rpcsvc/rstat.h|";
3882  *  Machine/OS name selection pattern
3883  */
3884 #define apzStatsswtchMachs (const char**)NULL
3887  *  content selection pattern - do fix if pattern found
3888  */
3889 tSCC zStatsswtchSelect0[] =
3890        "boottime$";
3892 #define    STATSSWTCH_TEST_CT  1
3893 static tTestDesc aStatsswtchTests[] = {
3894   { TT_EGREP,    zStatsswtchSelect0, (regex_t*)NULL }, };
3897  *  Fix Command Arguments for Statsswtch
3898  */
3899 static const char* apzStatsswtchPatch[] = {
3900     "format",
3901     "boottime;",
3902     (char*)NULL };
3904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3906  *  Description of Stdio_Stdarg_H fix
3907  */
3908 tSCC zStdio_Stdarg_HName[] =
3909      "stdio_stdarg_h";
3912  *  File name selection pattern
3913  */
3914 tSCC zStdio_Stdarg_HList[] =
3915   "|stdio.h|";
3917  *  Machine/OS name selection pattern
3918  */
3919 #define apzStdio_Stdarg_HMachs (const char**)NULL
3922  *  content bypass pattern - skip fix if pattern found
3923  */
3924 tSCC zStdio_Stdarg_HBypass0[] =
3925        "include.*(stdarg.h|machine/ansi.h)";
3927 #define    STDIO_STDARG_H_TEST_CT  1
3928 static tTestDesc aStdio_Stdarg_HTests[] = {
3929   { TT_NEGREP,   zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
3932  *  Fix Command Arguments for Stdio_Stdarg_H
3933  */
3934 static const char* apzStdio_Stdarg_HPatch[] = {
3935     "wrap",
3936     "#define __need___va_list\n\
3937 #include <stdarg.h>\n",
3938     (char*)NULL };
3940 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3942  *  Description of Stdio_Va_List fix
3943  */
3944 tSCC zStdio_Va_ListName[] =
3945      "stdio_va_list";
3948  *  File name selection pattern
3949  */
3950 tSCC zStdio_Va_ListList[] =
3951   "|stdio.h|";
3953  *  Machine/OS name selection pattern
3954  */
3955 #define apzStdio_Va_ListMachs (const char**)NULL
3958  *  content bypass pattern - skip fix if pattern found
3959  */
3960 tSCC zStdio_Va_ListBypass0[] =
3961        "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
3963 #define    STDIO_VA_LIST_TEST_CT  1
3964 static tTestDesc aStdio_Va_ListTests[] = {
3965   { TT_NEGREP,   zStdio_Va_ListBypass0, (regex_t*)NULL }, };
3968  *  Fix Command Arguments for Stdio_Va_List
3969  */
3970 static const char* apzStdio_Va_ListPatch[] = { "sed",
3971     "-e", "s@ va_list @ __gnuc_va_list @\n\
3972 s@ va_list)@ __gnuc_va_list)@\n\
3973 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
3974 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
3975 s@ va_list@ __not_va_list__@\n\
3976 s@\\*va_list@*__not_va_list__@\n\
3977 s@ __va_list)@ __gnuc_va_list)@\n\
3978 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
3979 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
3980 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
3981 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
3982 s@VA_LIST@DUMMY_VA_LIST@\n\
3983 s@_Va_LIST@_VA_LIST@",
3984     (char*)NULL };
3986 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3988  *  Description of Strict_Ansi_Not fix
3989  */
3990 tSCC zStrict_Ansi_NotName[] =
3991      "strict_ansi_not";
3994  *  File name selection pattern
3995  */
3996 #define zStrict_Ansi_NotList (char*)NULL
3998  *  Machine/OS name selection pattern
3999  */
4000 #define apzStrict_Ansi_NotMachs (const char**)NULL
4003  *  content selection pattern - do fix if pattern found
4004  */
4005 tSCC zStrict_Ansi_NotSelect0[] =
4006        "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
4009  *  content bypass pattern - skip fix if pattern found
4010  */
4011 tSCC zStrict_Ansi_NotBypass0[] =
4012        "GNU and MIPS C compilers define __STDC__ differently";
4015  *  perform the C function call test
4016  */
4017 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
4019 #define    STRICT_ANSI_NOT_TEST_CT  3
4020 static tTestDesc aStrict_Ansi_NotTests[] = {
4021   { TT_FUNCTION, zStrict_Ansi_NotFTst0,   0 /* unused */ },
4022   { TT_NEGREP,   zStrict_Ansi_NotBypass0, (regex_t*)NULL },
4023   { TT_EGREP,    zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
4026  *  Fix Command Arguments for Strict_Ansi_Not
4027  */
4028 static const char* apzStrict_Ansi_NotPatch[] = {
4029     "format",
4030     "%1 !defined(__STRICT_ANSI__)",
4031     (char*)NULL };
4033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4035  *  Description of Strict_Ansi_Not_Ctd fix
4036  */
4037 tSCC zStrict_Ansi_Not_CtdName[] =
4038      "strict_ansi_not_ctd";
4041  *  File name selection pattern
4042  */
4043 tSCC zStrict_Ansi_Not_CtdList[] =
4044   "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
4046  *  Machine/OS name selection pattern
4047  */
4048 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
4051  *  content selection pattern - do fix if pattern found
4052  */
4053 tSCC zStrict_Ansi_Not_CtdSelect0[] =
4054        "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
4057  *  perform the C function call test
4058  */
4059 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
4061 #define    STRICT_ANSI_NOT_CTD_TEST_CT  2
4062 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
4063   { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0,   0 /* unused */ },
4064   { TT_EGREP,    zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
4067  *  Fix Command Arguments for Strict_Ansi_Not_Ctd
4068  */
4069 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
4070     "format",
4071     "%1 !defined(__STRICT_ANSI__)",
4072     (char*)NULL };
4074 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4076  *  Description of Strict_Ansi_Only fix
4077  */
4078 tSCC zStrict_Ansi_OnlyName[] =
4079      "strict_ansi_only";
4082  *  File name selection pattern
4083  */
4084 #define zStrict_Ansi_OnlyList (char*)NULL
4086  *  Machine/OS name selection pattern
4087  */
4088 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
4091  *  content selection pattern - do fix if pattern found
4092  */
4093 tSCC zStrict_Ansi_OnlySelect0[] =
4094        "^([ \t]*#[ \t]*if.*)(__STDC__[ \t]*!=[ \t]*0|__STDC__[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*!=[ \t]*0)";
4097  *  perform the C function call test
4098  */
4099 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
4101 #define    STRICT_ANSI_ONLY_TEST_CT  2
4102 static tTestDesc aStrict_Ansi_OnlyTests[] = {
4103   { TT_FUNCTION, zStrict_Ansi_OnlyFTst0,   0 /* unused */ },
4104   { TT_EGREP,    zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
4107  *  Fix Command Arguments for Strict_Ansi_Only
4108  */
4109 static const char* apzStrict_Ansi_OnlyPatch[] = {
4110     "format",
4111     "%1 defined(__STRICT_ANSI__)",
4112     (char*)NULL };
4114 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4116  *  Description of Struct_File fix
4117  */
4118 tSCC zStruct_FileName[] =
4119      "struct_file";
4122  *  File name selection pattern
4123  */
4124 tSCC zStruct_FileList[] =
4125   "|rpc/xdr.h|";
4127  *  Machine/OS name selection pattern
4128  */
4129 #define apzStruct_FileMachs (const char**)NULL
4132  *  content selection pattern - do fix if pattern found
4133  */
4134 tSCC zStruct_FileSelect0[] =
4135        "^.*xdrstdio_create.*struct __file_s";
4137 #define    STRUCT_FILE_TEST_CT  1
4138 static tTestDesc aStruct_FileTests[] = {
4139   { TT_EGREP,    zStruct_FileSelect0, (regex_t*)NULL }, };
4142  *  Fix Command Arguments for Struct_File
4143  */
4144 static const char* apzStruct_FilePatch[] = {
4145     "format",
4146     "struct __file_s;\n\
4147 %0",
4148     (char*)NULL };
4150 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4152  *  Description of Struct_Sockaddr fix
4153  */
4154 tSCC zStruct_SockaddrName[] =
4155      "struct_sockaddr";
4158  *  File name selection pattern
4159  */
4160 tSCC zStruct_SockaddrList[] =
4161   "|rpc/auth.h|";
4163  *  Machine/OS name selection pattern
4164  */
4165 #define apzStruct_SockaddrMachs (const char**)NULL
4168  *  content selection pattern - do fix if pattern found
4169  */
4170 tSCC zStruct_SockaddrSelect0[] =
4171        "^.*authdes_create.*struct sockaddr";
4174  *  content bypass pattern - skip fix if pattern found
4175  */
4176 tSCC zStruct_SockaddrBypass0[] =
4177        "<sys/socket.h>";
4179 #define    STRUCT_SOCKADDR_TEST_CT  2
4180 static tTestDesc aStruct_SockaddrTests[] = {
4181   { TT_NEGREP,   zStruct_SockaddrBypass0, (regex_t*)NULL },
4182   { TT_EGREP,    zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4185  *  Fix Command Arguments for Struct_Sockaddr
4186  */
4187 static const char* apzStruct_SockaddrPatch[] = {
4188     "format",
4189     "struct sockaddr;\n\
4190 %0",
4191     (char*)NULL };
4193 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4195  *  Description of Sun_Auth_Proto fix
4196  */
4197 tSCC zSun_Auth_ProtoName[] =
4198      "sun_auth_proto";
4201  *  File name selection pattern
4202  */
4203 tSCC zSun_Auth_ProtoList[] =
4204   "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4206  *  Machine/OS name selection pattern
4207  */
4208 #define apzSun_Auth_ProtoMachs (const char**)NULL
4211  *  content selection pattern - do fix if pattern found
4212  */
4213 tSCC zSun_Auth_ProtoSelect0[] =
4214        "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4216 #define    SUN_AUTH_PROTO_TEST_CT  1
4217 static tTestDesc aSun_Auth_ProtoTests[] = {
4218   { TT_EGREP,    zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4221  *  Fix Command Arguments for Sun_Auth_Proto
4222  */
4223 static const char* apzSun_Auth_ProtoPatch[] = {
4224     "format",
4225     "#ifdef __cplusplus\n\
4226 %1(...);%2\n\
4227 #else\n\
4228 %1();%2\n\
4229 #endif",
4230     "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4231     (char*)NULL };
4233 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4235  *  Description of Sun_Bogus_Ifdef fix
4236  */
4237 tSCC zSun_Bogus_IfdefName[] =
4238      "sun_bogus_ifdef";
4241  *  File name selection pattern
4242  */
4243 tSCC zSun_Bogus_IfdefList[] =
4244   "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
4246  *  Machine/OS name selection pattern
4247  */
4248 #define apzSun_Bogus_IfdefMachs (const char**)NULL
4251  *  content selection pattern - do fix if pattern found
4252  */
4253 tSCC zSun_Bogus_IfdefSelect0[] =
4254        "#ifdef(.*\\|\\|.*)";
4256 #define    SUN_BOGUS_IFDEF_TEST_CT  1
4257 static tTestDesc aSun_Bogus_IfdefTests[] = {
4258   { TT_EGREP,    zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
4261  *  Fix Command Arguments for Sun_Bogus_Ifdef
4262  */
4263 static const char* apzSun_Bogus_IfdefPatch[] = {
4264     "format",
4265     "#if%1",
4266     (char*)NULL };
4268 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4270  *  Description of Sun_Catmacro fix
4271  */
4272 tSCC zSun_CatmacroName[] =
4273      "sun_catmacro";
4276  *  File name selection pattern
4277  */
4278 tSCC zSun_CatmacroList[] =
4279   "|pixrect/memvar.h|";
4281  *  Machine/OS name selection pattern
4282  */
4283 #define apzSun_CatmacroMachs (const char**)NULL
4286  *  content selection pattern - do fix if pattern found
4287  */
4288 tSCC zSun_CatmacroSelect0[] =
4289        "^#define[ \t]+CAT\\(a,b\\).*";
4291 #define    SUN_CATMACRO_TEST_CT  1
4292 static tTestDesc aSun_CatmacroTests[] = {
4293   { TT_EGREP,    zSun_CatmacroSelect0, (regex_t*)NULL }, };
4296  *  Fix Command Arguments for Sun_Catmacro
4297  */
4298 static const char* apzSun_CatmacroPatch[] = {
4299     "format",
4300     "#ifdef __STDC__\n\
4301 #  define CAT(a,b) a##b\n\
4302 #else\n\
4303 %0\n\
4304 #endif",
4305     (char*)NULL };
4307 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4309  *  Description of Sun_Malloc fix
4310  */
4311 tSCC zSun_MallocName[] =
4312      "sun_malloc";
4315  *  File name selection pattern
4316  */
4317 tSCC zSun_MallocList[] =
4318   "|malloc.h|";
4320  *  Machine/OS name selection pattern
4321  */
4322 #define apzSun_MallocMachs (const char**)NULL
4323 #define SUN_MALLOC_TEST_CT  0
4324 #define aSun_MallocTests   (tTestDesc*)NULL
4327  *  Fix Command Arguments for Sun_Malloc
4328  */
4329 static const char* apzSun_MallocPatch[] = { "sed",
4330     "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4331     "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4332     "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4333     "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
4334     "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
4335     (char*)NULL };
4337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4339  *  Description of Sun_Rusers_Semi fix
4340  */
4341 tSCC zSun_Rusers_SemiName[] =
4342      "sun_rusers_semi";
4345  *  File name selection pattern
4346  */
4347 tSCC zSun_Rusers_SemiList[] =
4348   "|rpcsvc/rusers.h|";
4350  *  Machine/OS name selection pattern
4351  */
4352 #define apzSun_Rusers_SemiMachs (const char**)NULL
4355  *  content selection pattern - do fix if pattern found
4356  */
4357 tSCC zSun_Rusers_SemiSelect0[] =
4358        "_cnt$";
4360 #define    SUN_RUSERS_SEMI_TEST_CT  1
4361 static tTestDesc aSun_Rusers_SemiTests[] = {
4362   { TT_EGREP,    zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
4365  *  Fix Command Arguments for Sun_Rusers_Semi
4366  */
4367 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
4368     "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
4369     (char*)NULL };
4371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4373  *  Description of Sun_Signal fix
4374  */
4375 tSCC zSun_SignalName[] =
4376      "sun_signal";
4379  *  File name selection pattern
4380  */
4381 tSCC zSun_SignalList[] =
4382   "|sys/signal.h|signal.h|";
4384  *  Machine/OS name selection pattern
4385  */
4386 #define apzSun_SignalMachs (const char**)NULL
4389  *  content selection pattern - do fix if pattern found
4390  */
4391 tSCC zSun_SignalSelect0[] =
4392        "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
4394 #define    SUN_SIGNAL_TEST_CT  1
4395 static tTestDesc aSun_SignalTests[] = {
4396   { TT_EGREP,    zSun_SignalSelect0, (regex_t*)NULL }, };
4399  *  Fix Command Arguments for Sun_Signal
4400  */
4401 static const char* apzSun_SignalPatch[] = {
4402     "format",
4403     "#ifdef __cplusplus\n\
4404 void\t(*signal(...))(...);\n\
4405 #else\n\
4406 %0\n\
4407 #endif",
4408     (char*)NULL };
4410 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4412  *  Description of Sunos_Matherr_Decl fix
4413  */
4414 tSCC zSunos_Matherr_DeclName[] =
4415      "sunos_matherr_decl";
4418  *  File name selection pattern
4419  */
4420 tSCC zSunos_Matherr_DeclList[] =
4421   "|math.h|";
4423  *  Machine/OS name selection pattern
4424  */
4425 #define apzSunos_Matherr_DeclMachs (const char**)NULL
4428  *  content selection pattern - do fix if pattern found
4429  */
4430 tSCC zSunos_Matherr_DeclSelect0[] =
4431        "matherr";
4434  *  content bypass pattern - skip fix if pattern found
4435  */
4436 tSCC zSunos_Matherr_DeclBypass0[] =
4437        "matherr.*(struct exception|__MATH_EXCEPTION)";
4439 #define    SUNOS_MATHERR_DECL_TEST_CT  2
4440 static tTestDesc aSunos_Matherr_DeclTests[] = {
4441   { TT_NEGREP,   zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4442   { TT_EGREP,    zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
4445  *  Fix Command Arguments for Sunos_Matherr_Decl
4446  */
4447 static const char* apzSunos_Matherr_DeclPatch[] = {
4448     "wrap",
4449     "struct exception;\n",
4450     (char*)NULL };
4452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4454  *  Description of Sunos_Strlen fix
4455  */
4456 tSCC zSunos_StrlenName[] =
4457      "sunos_strlen";
4460  *  File name selection pattern
4461  */
4462 tSCC zSunos_StrlenList[] =
4463   "|strings.h|";
4465  *  Machine/OS name selection pattern
4466  */
4467 #define apzSunos_StrlenMachs (const char**)NULL
4470  *  content selection pattern - do fix if pattern found
4471  */
4472 tSCC zSunos_StrlenSelect0[] =
4473        "int[ \t]*strlen\\(\\);(.*)";
4475 #define    SUNOS_STRLEN_TEST_CT  1
4476 static tTestDesc aSunos_StrlenTests[] = {
4477   { TT_EGREP,    zSunos_StrlenSelect0, (regex_t*)NULL }, };
4480  *  Fix Command Arguments for Sunos_Strlen
4481  */
4482 static const char* apzSunos_StrlenPatch[] = {
4483     "format",
4484     "__SIZE_TYPE__ strlen();%1",
4485     (char*)NULL };
4487 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4489  *  Description of Svr4__P fix
4490  */
4491 tSCC zSvr4__PName[] =
4492      "svr4__p";
4495  *  File name selection pattern
4496  */
4497 tSCC zSvr4__PList[] =
4498   "|math.h|floatingpoint.h|";
4500  *  Machine/OS name selection pattern
4501  */
4502 #define apzSvr4__PMachs (const char**)NULL
4505  *  content selection pattern - do fix if pattern found
4506  */
4507 tSCC zSvr4__PSelect0[] =
4508        "^#define[ \t]+__P.*";
4510 #define    SVR4__P_TEST_CT  1
4511 static tTestDesc aSvr4__PTests[] = {
4512   { TT_EGREP,    zSvr4__PSelect0, (regex_t*)NULL }, };
4515  *  Fix Command Arguments for Svr4__P
4516  */
4517 static const char* apzSvr4__PPatch[] = {
4518     "format",
4519     "#ifndef __P\n\
4520 %0\n\
4521 #endif",
4522     (char*)NULL };
4524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4526  *  Description of Svr4_Getcwd fix
4527  */
4528 tSCC zSvr4_GetcwdName[] =
4529      "svr4_getcwd";
4532  *  File name selection pattern
4533  */
4534 tSCC zSvr4_GetcwdList[] =
4535   "|stdlib.h|unistd.h|prototypes.h|";
4537  *  Machine/OS name selection pattern
4538  */
4539 #define apzSvr4_GetcwdMachs (const char**)NULL
4542  *  content selection pattern - do fix if pattern found
4543  */
4544 tSCC zSvr4_GetcwdSelect0[] =
4545        "getcwd\\(char \\*, int\\)";
4547 #define    SVR4_GETCWD_TEST_CT  1
4548 static tTestDesc aSvr4_GetcwdTests[] = {
4549   { TT_EGREP,    zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4552  *  Fix Command Arguments for Svr4_Getcwd
4553  */
4554 static const char* apzSvr4_GetcwdPatch[] = {
4555     "format",
4556     "getcwd(char *, size_t)",
4557     (char*)NULL };
4559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4561  *  Description of Svr4_Profil fix
4562  */
4563 tSCC zSvr4_ProfilName[] =
4564      "svr4_profil";
4567  *  File name selection pattern
4568  */
4569 tSCC zSvr4_ProfilList[] =
4570   "|stdlib.h|unistd.h|";
4572  *  Machine/OS name selection pattern
4573  */
4574 #define apzSvr4_ProfilMachs (const char**)NULL
4577  *  content selection pattern - do fix if pattern found
4578  */
4579 tSCC zSvr4_ProfilSelect0[] =
4580        "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4582 #define    SVR4_PROFIL_TEST_CT  1
4583 static tTestDesc aSvr4_ProfilTests[] = {
4584   { TT_EGREP,    zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4587  *  Fix Command Arguments for Svr4_Profil
4588  */
4589 static const char* apzSvr4_ProfilPatch[] = {
4590     "format",
4591     "profil(unsigned short *, size_t, int, unsigned int)",
4592     (char*)NULL };
4594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4596  *  Description of Sysv68_String fix
4597  */
4598 tSCC zSysv68_StringName[] =
4599      "sysv68_string";
4602  *  File name selection pattern
4603  */
4604 tSCC zSysv68_StringList[] =
4605   "|testing.h|string.h|";
4607  *  Machine/OS name selection pattern
4608  */
4609 #define apzSysv68_StringMachs (const char**)NULL
4610 #define SYSV68_STRING_TEST_CT  0
4611 #define aSysv68_StringTests   (tTestDesc*)NULL
4614  *  Fix Command Arguments for Sysv68_String
4615  */
4616 static const char* apzSysv68_StringPatch[] = { "sed",
4617     "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4618     "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4619     "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4620     "-e", "/^extern char$/N",
4621     "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
4622     "-e", "/^extern int$/N",
4623     "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
4624     "-e", "/^\tstrncmp(),$/N",
4625     "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4626 extern unsigned int\\\n\
4627 \\2/",
4628     (char*)NULL };
4630 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4632  *  Description of Sysz_Stdlib_For_Sun fix
4633  */
4634 tSCC zSysz_Stdlib_For_SunName[] =
4635      "sysz_stdlib_for_sun";
4638  *  File name selection pattern
4639  */
4640 tSCC zSysz_Stdlib_For_SunList[] =
4641   "|stdlib.h|";
4643  *  Machine/OS name selection pattern
4644  */
4645 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
4648  *  content selection pattern - do fix if pattern found
4649  */
4650 tSCC zSysz_Stdlib_For_SunSelect0[] =
4651        "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4653 #define    SYSZ_STDLIB_FOR_SUN_TEST_CT  1
4654 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
4655   { TT_EGREP,    zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
4658  *  Fix Command Arguments for Sysz_Stdlib_For_Sun
4659  */
4660 static const char* apzSysz_Stdlib_For_SunPatch[] = {
4661     "format",
4662     "void *\t%1(",
4663     (char*)NULL };
4665 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4667  *  Description of Thread_Keyword fix
4668  */
4669 tSCC zThread_KeywordName[] =
4670      "thread_keyword";
4673  *  File name selection pattern
4674  */
4675 tSCC zThread_KeywordList[] =
4676   "|pthread.h|bits/sigthread.h|";
4678  *  Machine/OS name selection pattern
4679  */
4680 #define apzThread_KeywordMachs (const char**)NULL
4683  *  content selection pattern - do fix if pattern found
4684  */
4685 tSCC zThread_KeywordSelect0[] =
4686        "([* ])__thread([,)])";
4688 #define    THREAD_KEYWORD_TEST_CT  1
4689 static tTestDesc aThread_KeywordTests[] = {
4690   { TT_EGREP,    zThread_KeywordSelect0, (regex_t*)NULL }, };
4693  *  Fix Command Arguments for Thread_Keyword
4694  */
4695 static const char* apzThread_KeywordPatch[] = {
4696     "format",
4697     "%1__thr%2",
4698     (char*)NULL };
4700 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4702  *  Description of Tinfo_Cplusplus fix
4703  */
4704 tSCC zTinfo_CplusplusName[] =
4705      "tinfo_cplusplus";
4708  *  File name selection pattern
4709  */
4710 tSCC zTinfo_CplusplusList[] =
4711   "|tinfo.h|";
4713  *  Machine/OS name selection pattern
4714  */
4715 #define apzTinfo_CplusplusMachs (const char**)NULL
4718  *  content selection pattern - do fix if pattern found
4719  */
4720 tSCC zTinfo_CplusplusSelect0[] =
4721        "[ \t]_cplusplus";
4723 #define    TINFO_CPLUSPLUS_TEST_CT  1
4724 static tTestDesc aTinfo_CplusplusTests[] = {
4725   { TT_EGREP,    zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
4728  *  Fix Command Arguments for Tinfo_Cplusplus
4729  */
4730 static const char* apzTinfo_CplusplusPatch[] = {
4731     "format",
4732     " __cplusplus",
4733     (char*)NULL };
4735 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4737  *  Description of Ultrix_Atexit_Param fix
4738  */
4739 tSCC zUltrix_Atexit_ParamName[] =
4740      "ultrix_atexit_param";
4743  *  File name selection pattern
4744  */
4745 tSCC zUltrix_Atexit_ParamList[] =
4746   "|stdlib.h|";
4748  *  Machine/OS name selection pattern
4749  */
4750 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
4753  *  content selection pattern - do fix if pattern found
4754  */
4755 tSCC zUltrix_Atexit_ParamSelect0[] =
4756        "atexit\\(.*\\(\\)";
4758 #define    ULTRIX_ATEXIT_PARAM_TEST_CT  1
4759 static tTestDesc aUltrix_Atexit_ParamTests[] = {
4760   { TT_EGREP,    zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
4763  *  Fix Command Arguments for Ultrix_Atexit_Param
4764  */
4765 static const char* apzUltrix_Atexit_ParamPatch[] = {
4766     "format",
4767     "atexit( void (*__func)( void )",
4768     (char*)NULL };
4770 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4772  *  Description of Ultrix_Atof_Param fix
4773  */
4774 tSCC zUltrix_Atof_ParamName[] =
4775      "ultrix_atof_param";
4778  *  File name selection pattern
4779  */
4780 tSCC zUltrix_Atof_ParamList[] =
4781   "|math.h|";
4783  *  Machine/OS name selection pattern
4784  */
4785 #define apzUltrix_Atof_ParamMachs (const char**)NULL
4788  *  content selection pattern - do fix if pattern found
4789  */
4790 tSCC zUltrix_Atof_ParamSelect0[] =
4791        "atof\\([ \t]*char";
4793 #define    ULTRIX_ATOF_PARAM_TEST_CT  1
4794 static tTestDesc aUltrix_Atof_ParamTests[] = {
4795   { TT_EGREP,    zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
4798  *  Fix Command Arguments for Ultrix_Atof_Param
4799  */
4800 static const char* apzUltrix_Atof_ParamPatch[] = {
4801     "format",
4802     "atof(const char",
4803     (char*)NULL };
4805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4807  *  Description of Ultrix_Const fix
4808  */
4809 tSCC zUltrix_ConstName[] =
4810      "ultrix_const";
4813  *  File name selection pattern
4814  */
4815 tSCC zUltrix_ConstList[] =
4816   "|stdio.h|";
4818  *  Machine/OS name selection pattern
4819  */
4820 #define apzUltrix_ConstMachs (const char**)NULL
4823  *  content selection pattern - do fix if pattern found
4824  */
4825 tSCC zUltrix_ConstSelect0[] =
4826        "perror\\( char \\*";
4828 #define    ULTRIX_CONST_TEST_CT  1
4829 static tTestDesc aUltrix_ConstTests[] = {
4830   { TT_EGREP,    zUltrix_ConstSelect0, (regex_t*)NULL }, };
4833  *  Fix Command Arguments for Ultrix_Const
4834  */
4835 static const char* apzUltrix_ConstPatch[] = {
4836     "format",
4837     "%1 const %3 *__",
4838     "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
4839     (char*)NULL };
4841 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4843  *  Description of Ultrix_Const2 fix
4844  */
4845 tSCC zUltrix_Const2Name[] =
4846      "ultrix_const2";
4849  *  File name selection pattern
4850  */
4851 tSCC zUltrix_Const2List[] =
4852   "|stdio.h|";
4854  *  Machine/OS name selection pattern
4855  */
4856 #define apzUltrix_Const2Machs (const char**)NULL
4859  *  content selection pattern - do fix if pattern found
4860  */
4861 tSCC zUltrix_Const2Select0[] =
4862        "\\*fopen\\( char \\*";
4864 #define    ULTRIX_CONST2_TEST_CT  1
4865 static tTestDesc aUltrix_Const2Tests[] = {
4866   { TT_EGREP,    zUltrix_Const2Select0, (regex_t*)NULL }, };
4869  *  Fix Command Arguments for Ultrix_Const2
4870  */
4871 static const char* apzUltrix_Const2Patch[] = {
4872     "format",
4873     "%1( const char *%3, const char *",
4874     "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
4875     (char*)NULL };
4877 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4879  *  Description of Ultrix_Fix_Fixproto fix
4880  */
4881 tSCC zUltrix_Fix_FixprotoName[] =
4882      "ultrix_fix_fixproto";
4885  *  File name selection pattern
4886  */
4887 tSCC zUltrix_Fix_FixprotoList[] =
4888   "|sys/utsname.h|";
4890  *  Machine/OS name selection pattern
4891  */
4892 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
4895  *  content selection pattern - do fix if pattern found
4896  */
4897 tSCC zUltrix_Fix_FixprotoSelect0[] =
4898        "ULTRIX";
4900 #define    ULTRIX_FIX_FIXPROTO_TEST_CT  1
4901 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
4902   { TT_EGREP,    zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
4905  *  Fix Command Arguments for Ultrix_Fix_Fixproto
4906  */
4907 static const char* apzUltrix_Fix_FixprotoPatch[] = {
4908     "format",
4909     "struct utsname;\n\
4910 %0",
4911     "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
4912     (char*)NULL };
4914 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4916  *  Description of Ultrix_Ifdef fix
4917  */
4918 tSCC zUltrix_IfdefName[] =
4919      "ultrix_ifdef";
4922  *  File name selection pattern
4923  */
4924 tSCC zUltrix_IfdefList[] =
4925   "|sys/file.h|";
4927  *  Machine/OS name selection pattern
4928  */
4929 #define apzUltrix_IfdefMachs (const char**)NULL
4932  *  content selection pattern - do fix if pattern found
4933  */
4934 tSCC zUltrix_IfdefSelect0[] =
4935        "^#ifdef KERNEL[ \t]+&&";
4937 #define    ULTRIX_IFDEF_TEST_CT  1
4938 static tTestDesc aUltrix_IfdefTests[] = {
4939   { TT_EGREP,    zUltrix_IfdefSelect0, (regex_t*)NULL }, };
4942  *  Fix Command Arguments for Ultrix_Ifdef
4943  */
4944 static const char* apzUltrix_IfdefPatch[] = {
4945     "format",
4946     "#if defined(KERNEL) &&",
4947     (char*)NULL };
4949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4951  *  Description of Ultrix_Math_Ifdef fix
4952  */
4953 tSCC zUltrix_Math_IfdefName[] =
4954      "ultrix_math_ifdef";
4957  *  File name selection pattern
4958  */
4959 tSCC zUltrix_Math_IfdefList[] =
4960   "|sys/limits.h|float.h|math.h|";
4962  *  Machine/OS name selection pattern
4963  */
4964 #define apzUltrix_Math_IfdefMachs (const char**)NULL
4967  *  content selection pattern - do fix if pattern found
4968  */
4969 tSCC zUltrix_Math_IfdefSelect0[] =
4970        "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
4972 #define    ULTRIX_MATH_IFDEF_TEST_CT  1
4973 static tTestDesc aUltrix_Math_IfdefTests[] = {
4974   { TT_EGREP,    zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
4977  *  Fix Command Arguments for Ultrix_Math_Ifdef
4978  */
4979 static const char* apzUltrix_Math_IfdefPatch[] = {
4980     "format",
4981     "%1",
4982     (char*)NULL };
4984 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4986  *  Description of Ultrix_Nested_Ioctl fix
4987  */
4988 tSCC zUltrix_Nested_IoctlName[] =
4989      "ultrix_nested_ioctl";
4992  *  File name selection pattern
4993  */
4994 tSCC zUltrix_Nested_IoctlList[] =
4995   "|sys/ioctl.h|";
4997  *  Machine/OS name selection pattern
4998  */
4999 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
5002  *  content selection pattern - do fix if pattern found
5003  */
5004 tSCC zUltrix_Nested_IoctlSelect0[] =
5005        "^/\\* #define SIOCSCREEN";
5007 #define    ULTRIX_NESTED_IOCTL_TEST_CT  1
5008 static tTestDesc aUltrix_Nested_IoctlTests[] = {
5009   { TT_EGREP,    zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
5012  *  Fix Command Arguments for Ultrix_Nested_Ioctl
5013  */
5014 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
5015     "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
5016     (char*)NULL };
5018 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5020  *  Description of Ultrix_Nested_Svc fix
5021  */
5022 tSCC zUltrix_Nested_SvcName[] =
5023      "ultrix_nested_svc";
5026  *  File name selection pattern
5027  */
5028 tSCC zUltrix_Nested_SvcList[] =
5029   "|rpc/svc.h|";
5031  *  Machine/OS name selection pattern
5032  */
5033 #define apzUltrix_Nested_SvcMachs (const char**)NULL
5036  *  content selection pattern - do fix if pattern found
5037  */
5038 tSCC zUltrix_Nested_SvcSelect0[] =
5039        "^ \\*[ \t]*int protocol;  */\\*";
5041 #define    ULTRIX_NESTED_SVC_TEST_CT  1
5042 static tTestDesc aUltrix_Nested_SvcTests[] = {
5043   { TT_EGREP,    zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
5046  *  Fix Command Arguments for Ultrix_Nested_Svc
5047  */
5048 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
5049     "-e", "s@^\\( \\*\tint protocol;  \\)/\\*@\\1*/ /*@",
5050     (char*)NULL };
5052 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5054  *  Description of Ultrix_Stat fix
5055  */
5056 tSCC zUltrix_StatName[] =
5057      "ultrix_stat";
5060  *  File name selection pattern
5061  */
5062 tSCC zUltrix_StatList[] =
5063   "|sys/stat.h|";
5065  *  Machine/OS name selection pattern
5066  */
5067 #define apzUltrix_StatMachs (const char**)NULL
5070  *  content selection pattern - do fix if pattern found
5071  */
5072 tSCC zUltrix_StatSelect0[] =
5073        "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
5075 #define    ULTRIX_STAT_TEST_CT  1
5076 static tTestDesc aUltrix_StatTests[] = {
5077   { TT_EGREP,    zUltrix_StatSelect0, (regex_t*)NULL }, };
5080  *  Fix Command Arguments for Ultrix_Stat
5081  */
5082 static const char* apzUltrix_StatPatch[] = { "sed",
5083     "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
5084 \\\n\
5085 /* macro to test for symbolic link */\\\n\
5086 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
5087     "-e", "/^[ \t]*fstat(),$/a\\\n\
5088 \tlstat(),\n",
5089     (char*)NULL };
5091 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5093  *  Description of Ultrix_Static fix
5094  */
5095 tSCC zUltrix_StaticName[] =
5096      "ultrix_static";
5099  *  File name selection pattern
5100  */
5101 tSCC zUltrix_StaticList[] =
5102   "|machine/cpu.h|";
5104  *  Machine/OS name selection pattern
5105  */
5106 #define apzUltrix_StaticMachs (const char**)NULL
5109  *  content selection pattern - do fix if pattern found
5110  */
5111 tSCC zUltrix_StaticSelect0[] =
5112        "#include \"r[34]_cpu";
5114 #define    ULTRIX_STATIC_TEST_CT  1
5115 static tTestDesc aUltrix_StaticTests[] = {
5116   { TT_EGREP,    zUltrix_StaticSelect0, (regex_t*)NULL }, };
5119  *  Fix Command Arguments for Ultrix_Static
5120  */
5121 static const char* apzUltrix_StaticPatch[] = { "sed",
5122     "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
5123     "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
5124     "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
5125     (char*)NULL };
5127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5129  *  Description of Ultrix_Strings fix
5130  */
5131 tSCC zUltrix_StringsName[] =
5132      "ultrix_strings";
5135  *  File name selection pattern
5136  */
5137 tSCC zUltrix_StringsList[] =
5138   "|strings.h|";
5140  *  Machine/OS name selection pattern
5141  */
5142 #define apzUltrix_StringsMachs (const char**)NULL
5145  *  content selection pattern - do fix if pattern found
5146  */
5147 tSCC zUltrix_StringsSelect0[] =
5148        "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
5150 #define    ULTRIX_STRINGS_TEST_CT  1
5151 static tTestDesc aUltrix_StringsTests[] = {
5152   { TT_EGREP,    zUltrix_StringsSelect0, (regex_t*)NULL }, };
5155  *  Fix Command Arguments for Ultrix_Strings
5156  */
5157 static const char* apzUltrix_StringsPatch[] = {
5158     "wrap",
5159     (char*)NULL };
5161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5163  *  Description of Undefine_Null fix
5164  */
5165 tSCC zUndefine_NullName[] =
5166      "undefine_null";
5169  *  File name selection pattern
5170  */
5171 #define zUndefine_NullList (char*)NULL
5173  *  Machine/OS name selection pattern
5174  */
5175 #define apzUndefine_NullMachs (const char**)NULL
5178  *  content selection pattern - do fix if pattern found
5179  */
5180 tSCC zUndefine_NullSelect0[] =
5181        "^#[ \t]*define[ \t]+NULL[ \t]";
5184  *  content bypass pattern - skip fix if pattern found
5185  */
5186 tSCC zUndefine_NullBypass0[] =
5187        "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
5189 #define    UNDEFINE_NULL_TEST_CT  2
5190 static tTestDesc aUndefine_NullTests[] = {
5191   { TT_NEGREP,   zUndefine_NullBypass0, (regex_t*)NULL },
5192   { TT_EGREP,    zUndefine_NullSelect0, (regex_t*)NULL }, };
5195  *  Fix Command Arguments for Undefine_Null
5196  */
5197 static const char* apzUndefine_NullPatch[] = {
5198     "format",
5199     "#ifndef NULL%2\n\
5200 #define NULL%1%2\n\
5201 #endif%2\n",
5202     "^#[ \t]*define[ \t]*[ \t]NULL([^\r\n\
5203 ]+)([\r]*)\n",
5204     (char*)NULL };
5206 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5208  *  Description of Unicosmk_Restrict fix
5209  */
5210 tSCC zUnicosmk_RestrictName[] =
5211      "unicosmk_restrict";
5214  *  File name selection pattern
5215  */
5216 tSCC zUnicosmk_RestrictList[] =
5217   "|stdio.h|stdlib.h|wchar.h|";
5219  *  Machine/OS name selection pattern
5220  */
5221 tSCC* apzUnicosmk_RestrictMachs[] = {
5222         "*-*-unicosmk*",
5223         (const char*)NULL };
5226  *  content selection pattern - do fix if pattern found
5227  */
5228 tSCC zUnicosmk_RestrictSelect0[] =
5229        "(\\*[ \t]*)restrict([ \t]+)";
5231 #define    UNICOSMK_RESTRICT_TEST_CT  1
5232 static tTestDesc aUnicosmk_RestrictTests[] = {
5233   { TT_EGREP,    zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
5236  *  Fix Command Arguments for Unicosmk_Restrict
5237  */
5238 static const char* apzUnicosmk_RestrictPatch[] = {
5239     "format",
5240     "%1__restrict__%2",
5241     (char*)NULL };
5243 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5245  *  Description of Uw7_Byteorder_Fix fix
5246  */
5247 tSCC zUw7_Byteorder_FixName[] =
5248      "uw7_byteorder_fix";
5251  *  File name selection pattern
5252  */
5253 tSCC zUw7_Byteorder_FixList[] =
5254   "|arpa/inet.h|";
5256  *  Machine/OS name selection pattern
5257  */
5258 tSCC* apzUw7_Byteorder_FixMachs[] = {
5259         "*-*-sysv4*",
5260         "i?86-*-sysv5*",
5261         "i?86-*-udk*",
5262         "i?86-*-solaris2.[0-4]",
5263         "powerpcle-*-solaris2.[0-4]",
5264         "sparc-*-solaris2.[0-4]",
5265         (const char*)NULL };
5268  *  content selection pattern - do fix if pattern found
5269  */
5270 tSCC zUw7_Byteorder_FixSelect0[] =
5271        "in_port_t";
5274  *  perform the 'test' shell command - do fix on success
5275  */
5276 tSCC zUw7_Byteorder_FixTest0[] =
5277        "-f sys/byteorder.h";
5279 #define    UW7_BYTEORDER_FIX_TEST_CT  2
5280 static tTestDesc aUw7_Byteorder_FixTests[] = {
5281   { TT_TEST,     zUw7_Byteorder_FixTest0,   0 /* unused */ },
5282   { TT_EGREP,    zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
5285  *  Fix Command Arguments for Uw7_Byteorder_Fix
5286  */
5287 static const char* apzUw7_Byteorder_FixPatch[] = {
5288     "format",
5289     "",
5290     "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
5291     (char*)NULL };
5293 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5295  *  Description of Va_I960_Macro fix
5296  */
5297 tSCC zVa_I960_MacroName[] =
5298      "va_i960_macro";
5301  *  File name selection pattern
5302  */
5303 tSCC zVa_I960_MacroList[] =
5304   "|arch/i960/archI960.h|";
5306  *  Machine/OS name selection pattern
5307  */
5308 #define apzVa_I960_MacroMachs (const char**)NULL
5311  *  content selection pattern - do fix if pattern found
5312  */
5313 tSCC zVa_I960_MacroSelect0[] =
5314        "__(vsiz|vali|vpad|alignof__)";
5316 #define    VA_I960_MACRO_TEST_CT  1
5317 static tTestDesc aVa_I960_MacroTests[] = {
5318   { TT_EGREP,    zVa_I960_MacroSelect0, (regex_t*)NULL }, };
5321  *  Fix Command Arguments for Va_I960_Macro
5322  */
5323 static const char* apzVa_I960_MacroPatch[] = {
5324     "format",
5325     "__vx%1",
5326     (char*)NULL };
5328 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5330  *  Description of Void_Null fix
5331  */
5332 tSCC zVoid_NullName[] =
5333      "void_null";
5336  *  File name selection pattern
5337  */
5338 tSCC zVoid_NullList[] =
5339   "|curses.h|dbm.h|locale.h|stdio.h|stdlib.h|string.h|time.h|unistd.h|sys/dir.h|sys/param.h|sys/types.h|";
5341  *  Machine/OS name selection pattern
5342  */
5343 #define apzVoid_NullMachs (const char**)NULL
5346  *  content selection pattern - do fix if pattern found
5347  */
5348 tSCC zVoid_NullSelect0[] =
5349        "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
5351 #define    VOID_NULL_TEST_CT  1
5352 static tTestDesc aVoid_NullTests[] = {
5353   { TT_EGREP,    zVoid_NullSelect0, (regex_t*)NULL }, };
5356  *  Fix Command Arguments for Void_Null
5357  */
5358 static const char* apzVoid_NullPatch[] = {
5359     "format",
5360     "#define NULL 0",
5361     (char*)NULL };
5363 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5365  *  Description of Vxworks_Gcc_Problem fix
5366  */
5367 tSCC zVxworks_Gcc_ProblemName[] =
5368      "vxworks_gcc_problem";
5371  *  File name selection pattern
5372  */
5373 tSCC zVxworks_Gcc_ProblemList[] =
5374   "|types/vxTypesBase.h|";
5376  *  Machine/OS name selection pattern
5377  */
5378 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
5381  *  content selection pattern - do fix if pattern found
5382  */
5383 tSCC zVxworks_Gcc_ProblemSelect0[] =
5384        "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
5386 #define    VXWORKS_GCC_PROBLEM_TEST_CT  1
5387 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
5388   { TT_EGREP,    zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
5391  *  Fix Command Arguments for Vxworks_Gcc_Problem
5392  */
5393 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
5394     "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
5395     "-e", "/[ \t]size_t/i\\\n\
5396 #ifndef _GCC_SIZE_T\\\n\
5397 #define _GCC_SIZE_T\n",
5398     "-e", "/[ \t]size_t/a\\\n\
5399 #endif\n",
5400     "-e", "/[ \t]ptrdiff_t/i\\\n\
5401 #ifndef _GCC_PTRDIFF_T\\\n\
5402 #define _GCC_PTRDIFF_T\n",
5403     "-e", "/[ \t]ptrdiff_t/a\\\n\
5404 #endif\n",
5405     "-e", "/[ \t]wchar_t/i\\\n\
5406 #ifndef _GCC_WCHAR_T\\\n\
5407 #define _GCC_WCHAR_T\n",
5408     "-e", "/[ \t]wchar_t/a\\\n\
5409 #endif\n",
5410     (char*)NULL };
5412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5414  *  Description of Vxworks_Needs_Vxtypes fix
5415  */
5416 tSCC zVxworks_Needs_VxtypesName[] =
5417      "vxworks_needs_vxtypes";
5420  *  File name selection pattern
5421  */
5422 tSCC zVxworks_Needs_VxtypesList[] =
5423   "|time.h|";
5425  *  Machine/OS name selection pattern
5426  */
5427 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
5430  *  content selection pattern - do fix if pattern found
5431  */
5432 tSCC zVxworks_Needs_VxtypesSelect0[] =
5433        "uint_t([ \t]+_clocks_per_sec)";
5435 #define    VXWORKS_NEEDS_VXTYPES_TEST_CT  1
5436 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
5437   { TT_EGREP,    zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
5440  *  Fix Command Arguments for Vxworks_Needs_Vxtypes
5441  */
5442 static const char* apzVxworks_Needs_VxtypesPatch[] = {
5443     "format",
5444     "unsigned int%1",
5445     (char*)NULL };
5447 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5449  *  Description of Vxworks_Needs_Vxworks fix
5450  */
5451 tSCC zVxworks_Needs_VxworksName[] =
5452      "vxworks_needs_vxworks";
5455  *  File name selection pattern
5456  */
5457 tSCC zVxworks_Needs_VxworksList[] =
5458   "|sys/stat.h|";
5460  *  Machine/OS name selection pattern
5461  */
5462 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
5465  *  content selection pattern - do fix if pattern found
5466  */
5467 tSCC zVxworks_Needs_VxworksSelect0[] =
5468        "#[ \t]define[ \t]+__INCstath";
5471  *  perform the 'test' shell command - do fix on success
5472  */
5473 tSCC zVxworks_Needs_VxworksTest0[] =
5474        " -r types/vxTypesOld.h";
5475 tSCC zVxworks_Needs_VxworksTest1[] =
5476        " -n \"`egrep '#include' $file`\"";
5477 tSCC zVxworks_Needs_VxworksTest2[] =
5478        " -n \"`egrep ULONG $file`\"";
5480 #define    VXWORKS_NEEDS_VXWORKS_TEST_CT  4
5481 static tTestDesc aVxworks_Needs_VxworksTests[] = {
5482   { TT_TEST,     zVxworks_Needs_VxworksTest0,   0 /* unused */ },
5483   { TT_TEST,     zVxworks_Needs_VxworksTest1,   0 /* unused */ },
5484   { TT_TEST,     zVxworks_Needs_VxworksTest2,   0 /* unused */ },
5485   { TT_EGREP,    zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
5488  *  Fix Command Arguments for Vxworks_Needs_Vxworks
5489  */
5490 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
5491     "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
5492 #include <types/vxTypesOld.h>\n",
5493     (char*)NULL };
5495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5497  *  Description of Vxworks_Time fix
5498  */
5499 tSCC zVxworks_TimeName[] =
5500      "vxworks_time";
5503  *  File name selection pattern
5504  */
5505 tSCC zVxworks_TimeList[] =
5506   "|time.h|";
5508  *  Machine/OS name selection pattern
5509  */
5510 #define apzVxworks_TimeMachs (const char**)NULL
5513  *  content selection pattern - do fix if pattern found
5514  */
5515 tSCC zVxworks_TimeSelect0[] =
5516        "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
5519  *  perform the 'test' shell command - do fix on success
5520  */
5521 tSCC zVxworks_TimeTest0[] =
5522        " -r vxWorks.h";
5524 #define    VXWORKS_TIME_TEST_CT  2
5525 static tTestDesc aVxworks_TimeTests[] = {
5526   { TT_TEST,     zVxworks_TimeTest0,   0 /* unused */ },
5527   { TT_EGREP,    zVxworks_TimeSelect0, (regex_t*)NULL }, };
5530  *  Fix Command Arguments for Vxworks_Time
5531  */
5532 static const char* apzVxworks_TimePatch[] = {
5533     "format",
5534     "#ifndef __gcc_VOIDFUNCPTR_defined\n\
5535 #ifdef __cplusplus\n\
5536 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
5537 #else\n\
5538 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
5539 #endif\n\
5540 #define __gcc_VOIDFUNCPTR_defined\n\
5541 #endif\n\
5542 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
5543     (char*)NULL };
5545 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5547  *  Description of Windiss_Math1 fix
5548  */
5549 tSCC zWindiss_Math1Name[] =
5550      "windiss_math1";
5553  *  File name selection pattern
5554  */
5555 tSCC zWindiss_Math1List[] =
5556   "|math.h|";
5558  *  Machine/OS name selection pattern
5559  */
5560 tSCC* apzWindiss_Math1Machs[] = {
5561         "*-*-windiss",
5562         (const char*)NULL };
5563 #define WINDISS_MATH1_TEST_CT  0
5564 #define aWindiss_Math1Tests   (tTestDesc*)NULL
5567  *  Fix Command Arguments for Windiss_Math1
5568  */
5569 static const char* apzWindiss_Math1Patch[] = { "sed",
5570     "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
5571     (char*)NULL };
5573 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5575  *  Description of Windiss_Math2 fix
5576  */
5577 tSCC zWindiss_Math2Name[] =
5578      "windiss_math2";
5581  *  File name selection pattern
5582  */
5583 tSCC zWindiss_Math2List[] =
5584   "|math.h|";
5586  *  Machine/OS name selection pattern
5587  */
5588 tSCC* apzWindiss_Math2Machs[] = {
5589         "*-*-windiss",
5590         (const char*)NULL };
5591 #define WINDISS_MATH2_TEST_CT  0
5592 #define aWindiss_Math2Tests   (tTestDesc*)NULL
5595  *  Fix Command Arguments for Windiss_Math2
5596  */
5597 static const char* apzWindiss_Math2Patch[] = { "sed",
5598     "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
5599     (char*)NULL };
5601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5603  *  Description of Windiss_Valist fix
5604  */
5605 tSCC zWindiss_ValistName[] =
5606      "windiss_valist";
5609  *  File name selection pattern
5610  */
5611 #define zWindiss_ValistList (char*)NULL
5613  *  Machine/OS name selection pattern
5614  */
5615 tSCC* apzWindiss_ValistMachs[] = {
5616         "*-*-windiss",
5617         (const char*)NULL };
5620  *  content selection pattern - do fix if pattern found
5621  */
5622 tSCC zWindiss_ValistSelect0[] =
5623        "(#include.*)diab/va_list.h";
5625 #define    WINDISS_VALIST_TEST_CT  1
5626 static tTestDesc aWindiss_ValistTests[] = {
5627   { TT_EGREP,    zWindiss_ValistSelect0, (regex_t*)NULL }, };
5630  *  Fix Command Arguments for Windiss_Valist
5631  */
5632 static const char* apzWindiss_ValistPatch[] = { "sed",
5633     "-e", "s|diab/va_list.h|stdarg.h|",
5634     (char*)NULL };
5636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5638  *  Description of X11_Class fix
5639  */
5640 tSCC zX11_ClassName[] =
5641      "x11_class";
5644  *  File name selection pattern
5645  */
5646 tSCC zX11_ClassList[] =
5647   "|X11/ShellP.h|";
5649  *  Machine/OS name selection pattern
5650  */
5651 #define apzX11_ClassMachs (const char**)NULL
5654  *  content selection pattern - do fix if pattern found
5655  */
5656 tSCC zX11_ClassSelect0[] =
5657        "^([ \t]*char \\*)class;(.*)";
5660  *  content bypass pattern - skip fix if pattern found
5661  */
5662 tSCC zX11_ClassBypass0[] =
5663        "__cplusplus";
5665 #define    X11_CLASS_TEST_CT  2
5666 static tTestDesc aX11_ClassTests[] = {
5667   { TT_NEGREP,   zX11_ClassBypass0, (regex_t*)NULL },
5668   { TT_EGREP,    zX11_ClassSelect0, (regex_t*)NULL }, };
5671  *  Fix Command Arguments for X11_Class
5672  */
5673 static const char* apzX11_ClassPatch[] = {
5674     "format",
5675     "#ifdef __cplusplus\n\
5676 %1c_class;%2\n\
5677 #else\n\
5678 %1class;%2\n\
5679 #endif",
5680     (char*)NULL };
5682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5684  *  Description of X11_Class_Usage fix
5685  */
5686 tSCC zX11_Class_UsageName[] =
5687      "x11_class_usage";
5690  *  File name selection pattern
5691  */
5692 tSCC zX11_Class_UsageList[] =
5693   "|Xm/BaseClassI.h|";
5695  *  Machine/OS name selection pattern
5696  */
5697 #define apzX11_Class_UsageMachs (const char**)NULL
5700  *  content selection pattern - do fix if pattern found
5701  */
5702 tSCC zX11_Class_UsageSelect0[] =
5703        " class\\)";
5706  *  content bypass pattern - skip fix if pattern found
5707  */
5708 tSCC zX11_Class_UsageBypass0[] =
5709        "__cplusplus";
5711 #define    X11_CLASS_USAGE_TEST_CT  2
5712 static tTestDesc aX11_Class_UsageTests[] = {
5713   { TT_NEGREP,   zX11_Class_UsageBypass0, (regex_t*)NULL },
5714   { TT_EGREP,    zX11_Class_UsageSelect0, (regex_t*)NULL }, };
5717  *  Fix Command Arguments for X11_Class_Usage
5718  */
5719 static const char* apzX11_Class_UsagePatch[] = {
5720     "format",
5721     " c_class)",
5722     (char*)NULL };
5724 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5726  *  Description of X11_New fix
5727  */
5728 tSCC zX11_NewName[] =
5729      "x11_new";
5732  *  File name selection pattern
5733  */
5734 tSCC zX11_NewList[] =
5735   "|Xm/Traversal.h|";
5737  *  Machine/OS name selection pattern
5738  */
5739 #define apzX11_NewMachs (const char**)NULL
5742  *  content bypass pattern - skip fix if pattern found
5743  */
5744 tSCC zX11_NewBypass0[] =
5745        "__cplusplus";
5747 #define    X11_NEW_TEST_CT  1
5748 static tTestDesc aX11_NewTests[] = {
5749   { TT_NEGREP,   zX11_NewBypass0, (regex_t*)NULL }, };
5752  *  Fix Command Arguments for X11_New
5753  */
5754 static const char* apzX11_NewPatch[] = { "sed",
5755     "-e", "/Widget\told, new;/i\\\n\
5756 #ifdef __cplusplus\\\n\
5757 \tWidget\told, c_new;\\\n\
5758 #else\n",
5759     "-e", "/Widget\told, new;/a\\\n\
5760 #endif\n",
5761     "-e", "s/Widget new,/Widget c_new,/g",
5762     (char*)NULL };
5764 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5766  *  Description of X11_Sprintf fix
5767  */
5768 tSCC zX11_SprintfName[] =
5769      "x11_sprintf";
5772  *  File name selection pattern
5773  */
5774 tSCC zX11_SprintfList[] =
5775   "|X11/Xmu.h|X11/Xmu/Xmu.h|";
5777  *  Machine/OS name selection pattern
5778  */
5779 #define apzX11_SprintfMachs (const char**)NULL
5782  *  content selection pattern - do fix if pattern found
5783  */
5784 tSCC zX11_SprintfSelect0[] =
5785        "^extern char \\*\tsprintf\\(\\);$";
5787 #define    X11_SPRINTF_TEST_CT  1
5788 static tTestDesc aX11_SprintfTests[] = {
5789   { TT_EGREP,    zX11_SprintfSelect0, (regex_t*)NULL }, };
5792  *  Fix Command Arguments for X11_Sprintf
5793  */
5794 static const char* apzX11_SprintfPatch[] = {
5795     "format",
5796     "#ifndef __STDC__\n\
5797 %0\n\
5798 #endif /* !defined __STDC__ */",
5799     (char*)NULL };
5802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5804  *  List of all fixes
5805  */
5806 #define REGEX_COUNT          159
5807 #define MACH_LIST_SIZE_LIMIT 261
5808 #define FIX_COUNT            147
5811  *  Enumerate the fixes
5812  */
5813 typedef enum {
5814     AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
5815     AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
5816     AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
5817     AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
5818     AAB_SUN_MEMCPY_FIXIDX,
5819     AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
5820     AAB_ULTRIX_LIMITS_FIXIDX,
5821     AAB_ULTRIX_MEMORY_FIXIDX,
5822     AAB_ULTRIX_STRING_FIXIDX,
5823     AIX_PTHREAD_FIXIDX,
5824     AIX_SYSMACHINE_FIXIDX,
5825     AIX_SYSWAIT_FIXIDX,
5826     AIX_VOLATILE_FIXIDX,
5827     ALPHA___ASSERT_FIXIDX,
5828     ALPHA___EXTERN_PREFIX_FIXIDX,
5829     ALPHA_ASSERT_FIXIDX,
5830     ALPHA_GETOPT_FIXIDX,
5831     ALPHA_PARENS_FIXIDX,
5832     ALPHA_SBRK_FIXIDX,
5833     AVOID_BOOL_DEFINE_FIXIDX,
5834     AVOID_BOOL_TYPE_FIXIDX,
5835     AVOID_WCHAR_T_TYPE_FIXIDX,
5836     BAD_LVAL_FIXIDX,
5837     BAD_STRUCT_TERM_FIXIDX,
5838     BADQUOTE_FIXIDX,
5839     BROKEN_ASSERT_STDIO_FIXIDX,
5840     BROKEN_ASSERT_STDLIB_FIXIDX,
5841     BROKEN_CABS_FIXIDX,
5842     CTRL_QUOTES_DEF_FIXIDX,
5843     CTRL_QUOTES_USE_FIXIDX,
5844     CXX_UNREADY_FIXIDX,
5845     DEC_INTERN_ASM_FIXIDX,
5846     DJGPP_WCHAR_H_FIXIDX,
5847     ECD_CURSOR_FIXIDX,
5848     FREEBSD_GCC3_BREAKAGE_FIXIDX,
5849     GNU_TYPES_FIXIDX,
5850     HP_INLINE_FIXIDX,
5851     HP_SYSFILE_FIXIDX,
5852     HPUX10_CPP_POW_INLINE_FIXIDX,
5853     HPUX11_CPP_POW_INLINE_FIXIDX,
5854     HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
5855     HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
5856     HPUX11_ABS_FIXIDX,
5857     HPUX11_FABSF_FIXIDX,
5858     HPUX11_SIZE_T_FIXIDX,
5859     HPUX11_UINT32_C_FIXIDX,
5860     HPUX11_VSNPRINTF_FIXIDX,
5861     HPUX8_BOGUS_INLINES_FIXIDX,
5862     HPUX_CTYPE_MACROS_FIXIDX,
5863     HPUX_LONG_DOUBLE_FIXIDX,
5864     HPUX_MAXINT_FIXIDX,
5865     HPUX_SYSTIME_FIXIDX,
5866     INT_ABORT_FREE_AND_EXIT_FIXIDX,
5867     IO_QUOTES_DEF_FIXIDX,
5868     IO_QUOTES_USE_FIXIDX,
5869     IP_MISSING_SEMI_FIXIDX,
5870     IRIX_ASM_APOSTROPHE_FIXIDX,
5871     IRIX_LIMITS_CONST_FIXIDX,
5872     IRIX___RESTRICT_FIXIDX,
5873     IRIX_SOCKLEN_T_FIXIDX,
5874     IRIX_STDIO_VA_LIST_FIXIDX,
5875     IRIX_WCSFTIME_FIXIDX,
5876     ISC_FMOD_FIXIDX,
5877     ISC_OMITS_WITH_STDC_FIXIDX,
5878     KANDR_CONCAT_FIXIDX,
5879     LIBC1_G_VA_LIST_FIXIDX,
5880     LIBC1_IFDEFD_MEMX_FIXIDX,
5881     LIMITS_IFNDEFS_FIXIDX,
5882     LYNX_VOID_INT_FIXIDX,
5883     LYNXOS_FCNTL_PROTO_FIXIDX,
5884     MACHINE_ANSI_H_VA_LIST_FIXIDX,
5885     MACHINE_NAME_FIXIDX,
5886     MATH_EXCEPTION_FIXIDX,
5887     MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
5888     MATH_HUGE_VAL_IFNDEF_FIXIDX,
5889     NESTED_AUTH_DES_FIXIDX,
5890     NESTED_MOTOROLA_FIXIDX,
5891     NESTED_SYS_LIMITS_FIXIDX,
5892     NETBSD_EXTRA_SEMICOLON_FIXIDX,
5893     NEXT_MATH_PREFIX_FIXIDX,
5894     NEXT_TEMPLATE_FIXIDX,
5895     NEXT_VOLITILE_FIXIDX,
5896     NEXT_WAIT_UNION_FIXIDX,
5897     NODEENT_SYNTAX_FIXIDX,
5898     OSF_NAMESPACE_A_FIXIDX,
5899     OSF_NAMESPACE_C_FIXIDX,
5900     PTHREAD_PAGE_SIZE_FIXIDX,
5901     READ_RET_TYPE_FIXIDX,
5902     RS6000_DOUBLE_FIXIDX,
5903     RS6000_FCHMOD_FIXIDX,
5904     RS6000_PARAM_FIXIDX,
5905     SCO_STATIC_FUNC_FIXIDX,
5906     SCO_UTIME_FIXIDX,
5907     SOLARIS_MUTEX_INIT_FIXIDX,
5908     SOLARIS_STDIO_TAG_FIXIDX,
5909     SOLARIS_WIDEC_FIXIDX,
5910     STATSSWTCH_FIXIDX,
5911     STDIO_STDARG_H_FIXIDX,
5912     STDIO_VA_LIST_FIXIDX,
5913     STRICT_ANSI_NOT_FIXIDX,
5914     STRICT_ANSI_NOT_CTD_FIXIDX,
5915     STRICT_ANSI_ONLY_FIXIDX,
5916     STRUCT_FILE_FIXIDX,
5917     STRUCT_SOCKADDR_FIXIDX,
5918     SUN_AUTH_PROTO_FIXIDX,
5919     SUN_BOGUS_IFDEF_FIXIDX,
5920     SUN_CATMACRO_FIXIDX,
5921     SUN_MALLOC_FIXIDX,
5922     SUN_RUSERS_SEMI_FIXIDX,
5923     SUN_SIGNAL_FIXIDX,
5924     SUNOS_MATHERR_DECL_FIXIDX,
5925     SUNOS_STRLEN_FIXIDX,
5926     SVR4__P_FIXIDX,
5927     SVR4_GETCWD_FIXIDX,
5928     SVR4_PROFIL_FIXIDX,
5929     SYSV68_STRING_FIXIDX,
5930     SYSZ_STDLIB_FOR_SUN_FIXIDX,
5931     THREAD_KEYWORD_FIXIDX,
5932     TINFO_CPLUSPLUS_FIXIDX,
5933     ULTRIX_ATEXIT_PARAM_FIXIDX,
5934     ULTRIX_ATOF_PARAM_FIXIDX,
5935     ULTRIX_CONST_FIXIDX,
5936     ULTRIX_CONST2_FIXIDX,
5937     ULTRIX_FIX_FIXPROTO_FIXIDX,
5938     ULTRIX_IFDEF_FIXIDX,
5939     ULTRIX_MATH_IFDEF_FIXIDX,
5940     ULTRIX_NESTED_IOCTL_FIXIDX,
5941     ULTRIX_NESTED_SVC_FIXIDX,
5942     ULTRIX_STAT_FIXIDX,
5943     ULTRIX_STATIC_FIXIDX,
5944     ULTRIX_STRINGS_FIXIDX,
5945     UNDEFINE_NULL_FIXIDX,
5946     UNICOSMK_RESTRICT_FIXIDX,
5947     UW7_BYTEORDER_FIX_FIXIDX,
5948     VA_I960_MACRO_FIXIDX,
5949     VOID_NULL_FIXIDX,
5950     VXWORKS_GCC_PROBLEM_FIXIDX,
5951     VXWORKS_NEEDS_VXTYPES_FIXIDX,
5952     VXWORKS_NEEDS_VXWORKS_FIXIDX,
5953     VXWORKS_TIME_FIXIDX,
5954     WINDISS_MATH1_FIXIDX,
5955     WINDISS_MATH2_FIXIDX,
5956     WINDISS_VALIST_FIXIDX,
5957     X11_CLASS_FIXIDX,
5958     X11_CLASS_USAGE_FIXIDX,
5959     X11_NEW_FIXIDX,
5960     X11_SPRINTF_FIXIDX
5961 } t_fixinc_idx;
5963 tFixDesc fixDescList[ FIX_COUNT ] = {
5964   {  zAab_Fd_Zero_Asm_Posix_Types_HName,    zAab_Fd_Zero_Asm_Posix_Types_HList,
5965      apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
5966      AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5967      aAab_Fd_Zero_Asm_Posix_Types_HTests,   apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
5969   {  zAab_Fd_Zero_Gnu_Types_HName,    zAab_Fd_Zero_Gnu_Types_HList,
5970      apzAab_Fd_Zero_Gnu_Types_HMachs,
5971      AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5972      aAab_Fd_Zero_Gnu_Types_HTests,   apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
5974   {  zAab_Fd_Zero_Selectbits_HName,    zAab_Fd_Zero_Selectbits_HList,
5975      apzAab_Fd_Zero_Selectbits_HMachs,
5976      AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5977      aAab_Fd_Zero_Selectbits_HTests,   apzAab_Fd_Zero_Selectbits_HPatch, 0 },
5979   {  zAab_Solaris_Sys_Varargs_HName,    zAab_Solaris_Sys_Varargs_HList,
5980      apzAab_Solaris_Sys_Varargs_HMachs,
5981      AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5982      aAab_Solaris_Sys_Varargs_HTests,   apzAab_Solaris_Sys_Varargs_HPatch, 0 },
5984   {  zAab_Sun_MemcpyName,    zAab_Sun_MemcpyList,
5985      apzAab_Sun_MemcpyMachs,
5986      AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5987      aAab_Sun_MemcpyTests,   apzAab_Sun_MemcpyPatch, 0 },
5989   {  zAab_Ultrix_Ansi_CompatName,    zAab_Ultrix_Ansi_CompatList,
5990      apzAab_Ultrix_Ansi_CompatMachs,
5991      AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5992      aAab_Ultrix_Ansi_CompatTests,   apzAab_Ultrix_Ansi_CompatPatch, 0 },
5994   {  zAab_Ultrix_LimitsName,    zAab_Ultrix_LimitsList,
5995      apzAab_Ultrix_LimitsMachs,
5996      AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5997      aAab_Ultrix_LimitsTests,   apzAab_Ultrix_LimitsPatch, 0 },
5999   {  zAab_Ultrix_MemoryName,    zAab_Ultrix_MemoryList,
6000      apzAab_Ultrix_MemoryMachs,
6001      AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6002      aAab_Ultrix_MemoryTests,   apzAab_Ultrix_MemoryPatch, 0 },
6004   {  zAab_Ultrix_StringName,    zAab_Ultrix_StringList,
6005      apzAab_Ultrix_StringMachs,
6006      AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6007      aAab_Ultrix_StringTests,   apzAab_Ultrix_StringPatch, 0 },
6009   {  zAix_PthreadName,    zAix_PthreadList,
6010      apzAix_PthreadMachs,
6011      AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6012      aAix_PthreadTests,   apzAix_PthreadPatch, 0 },
6014   {  zAix_SysmachineName,    zAix_SysmachineList,
6015      apzAix_SysmachineMachs,
6016      AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6017      aAix_SysmachineTests,   apzAix_SysmachinePatch, 0 },
6019   {  zAix_SyswaitName,    zAix_SyswaitList,
6020      apzAix_SyswaitMachs,
6021      AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6022      aAix_SyswaitTests,   apzAix_SyswaitPatch, 0 },
6024   {  zAix_VolatileName,    zAix_VolatileList,
6025      apzAix_VolatileMachs,
6026      AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6027      aAix_VolatileTests,   apzAix_VolatilePatch, 0 },
6029   {  zAlpha___AssertName,    zAlpha___AssertList,
6030      apzAlpha___AssertMachs,
6031      ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6032      aAlpha___AssertTests,   apzAlpha___AssertPatch, 0 },
6034   {  zAlpha___Extern_PrefixName,    zAlpha___Extern_PrefixList,
6035      apzAlpha___Extern_PrefixMachs,
6036      ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6037      aAlpha___Extern_PrefixTests,   apzAlpha___Extern_PrefixPatch, 0 },
6039   {  zAlpha_AssertName,    zAlpha_AssertList,
6040      apzAlpha_AssertMachs,
6041      ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6042      aAlpha_AssertTests,   apzAlpha_AssertPatch, 0 },
6044   {  zAlpha_GetoptName,    zAlpha_GetoptList,
6045      apzAlpha_GetoptMachs,
6046      ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6047      aAlpha_GetoptTests,   apzAlpha_GetoptPatch, 0 },
6049   {  zAlpha_ParensName,    zAlpha_ParensList,
6050      apzAlpha_ParensMachs,
6051      ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6052      aAlpha_ParensTests,   apzAlpha_ParensPatch, 0 },
6054   {  zAlpha_SbrkName,    zAlpha_SbrkList,
6055      apzAlpha_SbrkMachs,
6056      ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6057      aAlpha_SbrkTests,   apzAlpha_SbrkPatch, 0 },
6059   {  zAvoid_Bool_DefineName,    zAvoid_Bool_DefineList,
6060      apzAvoid_Bool_DefineMachs,
6061      AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6062      aAvoid_Bool_DefineTests,   apzAvoid_Bool_DefinePatch, 0 },
6064   {  zAvoid_Bool_TypeName,    zAvoid_Bool_TypeList,
6065      apzAvoid_Bool_TypeMachs,
6066      AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6067      aAvoid_Bool_TypeTests,   apzAvoid_Bool_TypePatch, 0 },
6069   {  zAvoid_Wchar_T_TypeName,    zAvoid_Wchar_T_TypeList,
6070      apzAvoid_Wchar_T_TypeMachs,
6071      AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6072      aAvoid_Wchar_T_TypeTests,   apzAvoid_Wchar_T_TypePatch, 0 },
6074   {  zBad_LvalName,    zBad_LvalList,
6075      apzBad_LvalMachs,
6076      BAD_LVAL_TEST_CT, FD_MACH_ONLY,
6077      aBad_LvalTests,   apzBad_LvalPatch, 0 },
6079   {  zBad_Struct_TermName,    zBad_Struct_TermList,
6080      apzBad_Struct_TermMachs,
6081      BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6082      aBad_Struct_TermTests,   apzBad_Struct_TermPatch, 0 },
6084   {  zBadquoteName,    zBadquoteList,
6085      apzBadquoteMachs,
6086      BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6087      aBadquoteTests,   apzBadquotePatch, 0 },
6089   {  zBroken_Assert_StdioName,    zBroken_Assert_StdioList,
6090      apzBroken_Assert_StdioMachs,
6091      BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6092      aBroken_Assert_StdioTests,   apzBroken_Assert_StdioPatch, 0 },
6094   {  zBroken_Assert_StdlibName,    zBroken_Assert_StdlibList,
6095      apzBroken_Assert_StdlibMachs,
6096      BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6097      aBroken_Assert_StdlibTests,   apzBroken_Assert_StdlibPatch, 0 },
6099   {  zBroken_CabsName,    zBroken_CabsList,
6100      apzBroken_CabsMachs,
6101      BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6102      aBroken_CabsTests,   apzBroken_CabsPatch, 0 },
6104   {  zCtrl_Quotes_DefName,    zCtrl_Quotes_DefList,
6105      apzCtrl_Quotes_DefMachs,
6106      CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6107      aCtrl_Quotes_DefTests,   apzCtrl_Quotes_DefPatch, 0 },
6109   {  zCtrl_Quotes_UseName,    zCtrl_Quotes_UseList,
6110      apzCtrl_Quotes_UseMachs,
6111      CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6112      aCtrl_Quotes_UseTests,   apzCtrl_Quotes_UsePatch, 0 },
6114   {  zCxx_UnreadyName,    zCxx_UnreadyList,
6115      apzCxx_UnreadyMachs,
6116      CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6117      aCxx_UnreadyTests,   apzCxx_UnreadyPatch, 0 },
6119   {  zDec_Intern_AsmName,    zDec_Intern_AsmList,
6120      apzDec_Intern_AsmMachs,
6121      DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
6122      aDec_Intern_AsmTests,   apzDec_Intern_AsmPatch, 0 },
6124   {  zDjgpp_Wchar_HName,    zDjgpp_Wchar_HList,
6125      apzDjgpp_Wchar_HMachs,
6126      DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6127      aDjgpp_Wchar_HTests,   apzDjgpp_Wchar_HPatch, 0 },
6129   {  zEcd_CursorName,    zEcd_CursorList,
6130      apzEcd_CursorMachs,
6131      ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6132      aEcd_CursorTests,   apzEcd_CursorPatch, 0 },
6134   {  zFreebsd_Gcc3_BreakageName,    zFreebsd_Gcc3_BreakageList,
6135      apzFreebsd_Gcc3_BreakageMachs,
6136      FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6137      aFreebsd_Gcc3_BreakageTests,   apzFreebsd_Gcc3_BreakagePatch, 0 },
6139   {  zGnu_TypesName,    zGnu_TypesList,
6140      apzGnu_TypesMachs,
6141      GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6142      aGnu_TypesTests,   apzGnu_TypesPatch, 0 },
6144   {  zHp_InlineName,    zHp_InlineList,
6145      apzHp_InlineMachs,
6146      HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6147      aHp_InlineTests,   apzHp_InlinePatch, 0 },
6149   {  zHp_SysfileName,    zHp_SysfileList,
6150      apzHp_SysfileMachs,
6151      HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6152      aHp_SysfileTests,   apzHp_SysfilePatch, 0 },
6154   {  zHpux10_Cpp_Pow_InlineName,    zHpux10_Cpp_Pow_InlineList,
6155      apzHpux10_Cpp_Pow_InlineMachs,
6156      HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6157      aHpux10_Cpp_Pow_InlineTests,   apzHpux10_Cpp_Pow_InlinePatch, 0 },
6159   {  zHpux11_Cpp_Pow_InlineName,    zHpux11_Cpp_Pow_InlineList,
6160      apzHpux11_Cpp_Pow_InlineMachs,
6161      HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6162      aHpux11_Cpp_Pow_InlineTests,   apzHpux11_Cpp_Pow_InlinePatch, 0 },
6164   {  zHpux10_Ctype_Declarations1Name,    zHpux10_Ctype_Declarations1List,
6165      apzHpux10_Ctype_Declarations1Machs,
6166      HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6167      aHpux10_Ctype_Declarations1Tests,   apzHpux10_Ctype_Declarations1Patch, 0 },
6169   {  zHpux10_Ctype_Declarations2Name,    zHpux10_Ctype_Declarations2List,
6170      apzHpux10_Ctype_Declarations2Machs,
6171      HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6172      aHpux10_Ctype_Declarations2Tests,   apzHpux10_Ctype_Declarations2Patch, 0 },
6174   {  zHpux11_AbsName,    zHpux11_AbsList,
6175      apzHpux11_AbsMachs,
6176      HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6177      aHpux11_AbsTests,   apzHpux11_AbsPatch, 0 },
6179   {  zHpux11_FabsfName,    zHpux11_FabsfList,
6180      apzHpux11_FabsfMachs,
6181      HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6182      aHpux11_FabsfTests,   apzHpux11_FabsfPatch, 0 },
6184   {  zHpux11_Size_TName,    zHpux11_Size_TList,
6185      apzHpux11_Size_TMachs,
6186      HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6187      aHpux11_Size_TTests,   apzHpux11_Size_TPatch, 0 },
6189   {  zHpux11_Uint32_CName,    zHpux11_Uint32_CList,
6190      apzHpux11_Uint32_CMachs,
6191      HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6192      aHpux11_Uint32_CTests,   apzHpux11_Uint32_CPatch, 0 },
6194   {  zHpux11_VsnprintfName,    zHpux11_VsnprintfList,
6195      apzHpux11_VsnprintfMachs,
6196      HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6197      aHpux11_VsnprintfTests,   apzHpux11_VsnprintfPatch, 0 },
6199   {  zHpux8_Bogus_InlinesName,    zHpux8_Bogus_InlinesList,
6200      apzHpux8_Bogus_InlinesMachs,
6201      HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
6202      aHpux8_Bogus_InlinesTests,   apzHpux8_Bogus_InlinesPatch, 0 },
6204   {  zHpux_Ctype_MacrosName,    zHpux_Ctype_MacrosList,
6205      apzHpux_Ctype_MacrosMachs,
6206      HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6207      aHpux_Ctype_MacrosTests,   apzHpux_Ctype_MacrosPatch, 0 },
6209   {  zHpux_Long_DoubleName,    zHpux_Long_DoubleList,
6210      apzHpux_Long_DoubleMachs,
6211      HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
6212      aHpux_Long_DoubleTests,   apzHpux_Long_DoublePatch, 0 },
6214   {  zHpux_MaxintName,    zHpux_MaxintList,
6215      apzHpux_MaxintMachs,
6216      HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6217      aHpux_MaxintTests,   apzHpux_MaxintPatch, 0 },
6219   {  zHpux_SystimeName,    zHpux_SystimeList,
6220      apzHpux_SystimeMachs,
6221      HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6222      aHpux_SystimeTests,   apzHpux_SystimePatch, 0 },
6224   {  zInt_Abort_Free_And_ExitName,    zInt_Abort_Free_And_ExitList,
6225      apzInt_Abort_Free_And_ExitMachs,
6226      INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6227      aInt_Abort_Free_And_ExitTests,   apzInt_Abort_Free_And_ExitPatch, 0 },
6229   {  zIo_Quotes_DefName,    zIo_Quotes_DefList,
6230      apzIo_Quotes_DefMachs,
6231      IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6232      aIo_Quotes_DefTests,   apzIo_Quotes_DefPatch, 0 },
6234   {  zIo_Quotes_UseName,    zIo_Quotes_UseList,
6235      apzIo_Quotes_UseMachs,
6236      IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6237      aIo_Quotes_UseTests,   apzIo_Quotes_UsePatch, 0 },
6239   {  zIp_Missing_SemiName,    zIp_Missing_SemiList,
6240      apzIp_Missing_SemiMachs,
6241      IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
6242      aIp_Missing_SemiTests,   apzIp_Missing_SemiPatch, 0 },
6244   {  zIrix_Asm_ApostropheName,    zIrix_Asm_ApostropheList,
6245      apzIrix_Asm_ApostropheMachs,
6246      IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6247      aIrix_Asm_ApostropheTests,   apzIrix_Asm_ApostrophePatch, 0 },
6249   {  zIrix_Limits_ConstName,    zIrix_Limits_ConstList,
6250      apzIrix_Limits_ConstMachs,
6251      IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6252      aIrix_Limits_ConstTests,   apzIrix_Limits_ConstPatch, 0 },
6254   {  zIrix___RestrictName,    zIrix___RestrictList,
6255      apzIrix___RestrictMachs,
6256      IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6257      aIrix___RestrictTests,   apzIrix___RestrictPatch, 0 },
6259   {  zIrix_Socklen_TName,    zIrix_Socklen_TList,
6260      apzIrix_Socklen_TMachs,
6261      IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6262      aIrix_Socklen_TTests,   apzIrix_Socklen_TPatch, 0 },
6264   {  zIrix_Stdio_Va_ListName,    zIrix_Stdio_Va_ListList,
6265      apzIrix_Stdio_Va_ListMachs,
6266      IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6267      aIrix_Stdio_Va_ListTests,   apzIrix_Stdio_Va_ListPatch, 0 },
6269   {  zIrix_WcsftimeName,    zIrix_WcsftimeList,
6270      apzIrix_WcsftimeMachs,
6271      IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6272      aIrix_WcsftimeTests,   apzIrix_WcsftimePatch, 0 },
6274   {  zIsc_FmodName,    zIsc_FmodList,
6275      apzIsc_FmodMachs,
6276      ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6277      aIsc_FmodTests,   apzIsc_FmodPatch, 0 },
6279   {  zIsc_Omits_With_StdcName,    zIsc_Omits_With_StdcList,
6280      apzIsc_Omits_With_StdcMachs,
6281      ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6282      aIsc_Omits_With_StdcTests,   apzIsc_Omits_With_StdcPatch, 0 },
6284   {  zKandr_ConcatName,    zKandr_ConcatList,
6285      apzKandr_ConcatMachs,
6286      KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6287      aKandr_ConcatTests,   apzKandr_ConcatPatch, 0 },
6289   {  zLibc1_G_Va_ListName,    zLibc1_G_Va_ListList,
6290      apzLibc1_G_Va_ListMachs,
6291      LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6292      aLibc1_G_Va_ListTests,   apzLibc1_G_Va_ListPatch, 0 },
6294   {  zLibc1_Ifdefd_MemxName,    zLibc1_Ifdefd_MemxList,
6295      apzLibc1_Ifdefd_MemxMachs,
6296      LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6297      aLibc1_Ifdefd_MemxTests,   apzLibc1_Ifdefd_MemxPatch, 0 },
6299   {  zLimits_IfndefsName,    zLimits_IfndefsList,
6300      apzLimits_IfndefsMachs,
6301      LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6302      aLimits_IfndefsTests,   apzLimits_IfndefsPatch, 0 },
6304   {  zLynx_Void_IntName,    zLynx_Void_IntList,
6305      apzLynx_Void_IntMachs,
6306      LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6307      aLynx_Void_IntTests,   apzLynx_Void_IntPatch, 0 },
6309   {  zLynxos_Fcntl_ProtoName,    zLynxos_Fcntl_ProtoList,
6310      apzLynxos_Fcntl_ProtoMachs,
6311      LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6312      aLynxos_Fcntl_ProtoTests,   apzLynxos_Fcntl_ProtoPatch, 0 },
6314   {  zMachine_Ansi_H_Va_ListName,    zMachine_Ansi_H_Va_ListList,
6315      apzMachine_Ansi_H_Va_ListMachs,
6316      MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6317      aMachine_Ansi_H_Va_ListTests,   apzMachine_Ansi_H_Va_ListPatch, 0 },
6319   {  zMachine_NameName,    zMachine_NameList,
6320      apzMachine_NameMachs,
6321      MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6322      aMachine_NameTests,   apzMachine_NamePatch, 0 },
6324   {  zMath_ExceptionName,    zMath_ExceptionList,
6325      apzMath_ExceptionMachs,
6326      MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6327      aMath_ExceptionTests,   apzMath_ExceptionPatch, 0 },
6329   {  zMath_Huge_Val_From_Dbl_MaxName,    zMath_Huge_Val_From_Dbl_MaxList,
6330      apzMath_Huge_Val_From_Dbl_MaxMachs,
6331      MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
6332      aMath_Huge_Val_From_Dbl_MaxTests,   apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
6334   {  zMath_Huge_Val_IfndefName,    zMath_Huge_Val_IfndefList,
6335      apzMath_Huge_Val_IfndefMachs,
6336      MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6337      aMath_Huge_Val_IfndefTests,   apzMath_Huge_Val_IfndefPatch, 0 },
6339   {  zNested_Auth_DesName,    zNested_Auth_DesList,
6340      apzNested_Auth_DesMachs,
6341      NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6342      aNested_Auth_DesTests,   apzNested_Auth_DesPatch, 0 },
6344   {  zNested_MotorolaName,    zNested_MotorolaList,
6345      apzNested_MotorolaMachs,
6346      NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
6347      aNested_MotorolaTests,   apzNested_MotorolaPatch, 0 },
6349   {  zNested_Sys_LimitsName,    zNested_Sys_LimitsList,
6350      apzNested_Sys_LimitsMachs,
6351      NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
6352      aNested_Sys_LimitsTests,   apzNested_Sys_LimitsPatch, 0 },
6354   {  zNetbsd_Extra_SemicolonName,    zNetbsd_Extra_SemicolonList,
6355      apzNetbsd_Extra_SemicolonMachs,
6356      NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6357      aNetbsd_Extra_SemicolonTests,   apzNetbsd_Extra_SemicolonPatch, 0 },
6359   {  zNext_Math_PrefixName,    zNext_Math_PrefixList,
6360      apzNext_Math_PrefixMachs,
6361      NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6362      aNext_Math_PrefixTests,   apzNext_Math_PrefixPatch, 0 },
6364   {  zNext_TemplateName,    zNext_TemplateList,
6365      apzNext_TemplateMachs,
6366      NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6367      aNext_TemplateTests,   apzNext_TemplatePatch, 0 },
6369   {  zNext_VolitileName,    zNext_VolitileList,
6370      apzNext_VolitileMachs,
6371      NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6372      aNext_VolitileTests,   apzNext_VolitilePatch, 0 },
6374   {  zNext_Wait_UnionName,    zNext_Wait_UnionList,
6375      apzNext_Wait_UnionMachs,
6376      NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6377      aNext_Wait_UnionTests,   apzNext_Wait_UnionPatch, 0 },
6379   {  zNodeent_SyntaxName,    zNodeent_SyntaxList,
6380      apzNodeent_SyntaxMachs,
6381      NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6382      aNodeent_SyntaxTests,   apzNodeent_SyntaxPatch, 0 },
6384   {  zOsf_Namespace_AName,    zOsf_Namespace_AList,
6385      apzOsf_Namespace_AMachs,
6386      OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6387      aOsf_Namespace_ATests,   apzOsf_Namespace_APatch, 0 },
6389   {  zOsf_Namespace_CName,    zOsf_Namespace_CList,
6390      apzOsf_Namespace_CMachs,
6391      OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6392      aOsf_Namespace_CTests,   apzOsf_Namespace_CPatch, 0 },
6394   {  zPthread_Page_SizeName,    zPthread_Page_SizeList,
6395      apzPthread_Page_SizeMachs,
6396      PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6397      aPthread_Page_SizeTests,   apzPthread_Page_SizePatch, 0 },
6399   {  zRead_Ret_TypeName,    zRead_Ret_TypeList,
6400      apzRead_Ret_TypeMachs,
6401      READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6402      aRead_Ret_TypeTests,   apzRead_Ret_TypePatch, 0 },
6404   {  zRs6000_DoubleName,    zRs6000_DoubleList,
6405      apzRs6000_DoubleMachs,
6406      RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6407      aRs6000_DoubleTests,   apzRs6000_DoublePatch, 0 },
6409   {  zRs6000_FchmodName,    zRs6000_FchmodList,
6410      apzRs6000_FchmodMachs,
6411      RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6412      aRs6000_FchmodTests,   apzRs6000_FchmodPatch, 0 },
6414   {  zRs6000_ParamName,    zRs6000_ParamList,
6415      apzRs6000_ParamMachs,
6416      RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6417      aRs6000_ParamTests,   apzRs6000_ParamPatch, 0 },
6419   {  zSco_Static_FuncName,    zSco_Static_FuncList,
6420      apzSco_Static_FuncMachs,
6421      SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
6422      aSco_Static_FuncTests,   apzSco_Static_FuncPatch, 0 },
6424   {  zSco_UtimeName,    zSco_UtimeList,
6425      apzSco_UtimeMachs,
6426      SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6427      aSco_UtimeTests,   apzSco_UtimePatch, 0 },
6429   {  zSolaris_Mutex_InitName,    zSolaris_Mutex_InitList,
6430      apzSolaris_Mutex_InitMachs,
6431      SOLARIS_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6432      aSolaris_Mutex_InitTests,   apzSolaris_Mutex_InitPatch, 0 },
6434   {  zSolaris_Stdio_TagName,    zSolaris_Stdio_TagList,
6435      apzSolaris_Stdio_TagMachs,
6436      SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
6437      aSolaris_Stdio_TagTests,   apzSolaris_Stdio_TagPatch, 0 },
6439   {  zSolaris_WidecName,    zSolaris_WidecList,
6440      apzSolaris_WidecMachs,
6441      SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6442      aSolaris_WidecTests,   apzSolaris_WidecPatch, 0 },
6444   {  zStatsswtchName,    zStatsswtchList,
6445      apzStatsswtchMachs,
6446      STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6447      aStatsswtchTests,   apzStatsswtchPatch, 0 },
6449   {  zStdio_Stdarg_HName,    zStdio_Stdarg_HList,
6450      apzStdio_Stdarg_HMachs,
6451      STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6452      aStdio_Stdarg_HTests,   apzStdio_Stdarg_HPatch, 0 },
6454   {  zStdio_Va_ListName,    zStdio_Va_ListList,
6455      apzStdio_Va_ListMachs,
6456      STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
6457      aStdio_Va_ListTests,   apzStdio_Va_ListPatch, 0 },
6459   {  zStrict_Ansi_NotName,    zStrict_Ansi_NotList,
6460      apzStrict_Ansi_NotMachs,
6461      STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6462      aStrict_Ansi_NotTests,   apzStrict_Ansi_NotPatch, 0 },
6464   {  zStrict_Ansi_Not_CtdName,    zStrict_Ansi_Not_CtdList,
6465      apzStrict_Ansi_Not_CtdMachs,
6466      STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6467      aStrict_Ansi_Not_CtdTests,   apzStrict_Ansi_Not_CtdPatch, 0 },
6469   {  zStrict_Ansi_OnlyName,    zStrict_Ansi_OnlyList,
6470      apzStrict_Ansi_OnlyMachs,
6471      STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6472      aStrict_Ansi_OnlyTests,   apzStrict_Ansi_OnlyPatch, 0 },
6474   {  zStruct_FileName,    zStruct_FileList,
6475      apzStruct_FileMachs,
6476      STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6477      aStruct_FileTests,   apzStruct_FilePatch, 0 },
6479   {  zStruct_SockaddrName,    zStruct_SockaddrList,
6480      apzStruct_SockaddrMachs,
6481      STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6482      aStruct_SockaddrTests,   apzStruct_SockaddrPatch, 0 },
6484   {  zSun_Auth_ProtoName,    zSun_Auth_ProtoList,
6485      apzSun_Auth_ProtoMachs,
6486      SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6487      aSun_Auth_ProtoTests,   apzSun_Auth_ProtoPatch, 0 },
6489   {  zSun_Bogus_IfdefName,    zSun_Bogus_IfdefList,
6490      apzSun_Bogus_IfdefMachs,
6491      SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6492      aSun_Bogus_IfdefTests,   apzSun_Bogus_IfdefPatch, 0 },
6494   {  zSun_CatmacroName,    zSun_CatmacroList,
6495      apzSun_CatmacroMachs,
6496      SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6497      aSun_CatmacroTests,   apzSun_CatmacroPatch, 0 },
6499   {  zSun_MallocName,    zSun_MallocList,
6500      apzSun_MallocMachs,
6501      SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
6502      aSun_MallocTests,   apzSun_MallocPatch, 0 },
6504   {  zSun_Rusers_SemiName,    zSun_Rusers_SemiList,
6505      apzSun_Rusers_SemiMachs,
6506      SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
6507      aSun_Rusers_SemiTests,   apzSun_Rusers_SemiPatch, 0 },
6509   {  zSun_SignalName,    zSun_SignalList,
6510      apzSun_SignalMachs,
6511      SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6512      aSun_SignalTests,   apzSun_SignalPatch, 0 },
6514   {  zSunos_Matherr_DeclName,    zSunos_Matherr_DeclList,
6515      apzSunos_Matherr_DeclMachs,
6516      SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6517      aSunos_Matherr_DeclTests,   apzSunos_Matherr_DeclPatch, 0 },
6519   {  zSunos_StrlenName,    zSunos_StrlenList,
6520      apzSunos_StrlenMachs,
6521      SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6522      aSunos_StrlenTests,   apzSunos_StrlenPatch, 0 },
6524   {  zSvr4__PName,    zSvr4__PList,
6525      apzSvr4__PMachs,
6526      SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6527      aSvr4__PTests,   apzSvr4__PPatch, 0 },
6529   {  zSvr4_GetcwdName,    zSvr4_GetcwdList,
6530      apzSvr4_GetcwdMachs,
6531      SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6532      aSvr4_GetcwdTests,   apzSvr4_GetcwdPatch, 0 },
6534   {  zSvr4_ProfilName,    zSvr4_ProfilList,
6535      apzSvr4_ProfilMachs,
6536      SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6537      aSvr4_ProfilTests,   apzSvr4_ProfilPatch, 0 },
6539   {  zSysv68_StringName,    zSysv68_StringList,
6540      apzSysv68_StringMachs,
6541      SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
6542      aSysv68_StringTests,   apzSysv68_StringPatch, 0 },
6544   {  zSysz_Stdlib_For_SunName,    zSysz_Stdlib_For_SunList,
6545      apzSysz_Stdlib_For_SunMachs,
6546      SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6547      aSysz_Stdlib_For_SunTests,   apzSysz_Stdlib_For_SunPatch, 0 },
6549   {  zThread_KeywordName,    zThread_KeywordList,
6550      apzThread_KeywordMachs,
6551      THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6552      aThread_KeywordTests,   apzThread_KeywordPatch, 0 },
6554   {  zTinfo_CplusplusName,    zTinfo_CplusplusList,
6555      apzTinfo_CplusplusMachs,
6556      TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6557      aTinfo_CplusplusTests,   apzTinfo_CplusplusPatch, 0 },
6559   {  zUltrix_Atexit_ParamName,    zUltrix_Atexit_ParamList,
6560      apzUltrix_Atexit_ParamMachs,
6561      ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6562      aUltrix_Atexit_ParamTests,   apzUltrix_Atexit_ParamPatch, 0 },
6564   {  zUltrix_Atof_ParamName,    zUltrix_Atof_ParamList,
6565      apzUltrix_Atof_ParamMachs,
6566      ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6567      aUltrix_Atof_ParamTests,   apzUltrix_Atof_ParamPatch, 0 },
6569   {  zUltrix_ConstName,    zUltrix_ConstList,
6570      apzUltrix_ConstMachs,
6571      ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6572      aUltrix_ConstTests,   apzUltrix_ConstPatch, 0 },
6574   {  zUltrix_Const2Name,    zUltrix_Const2List,
6575      apzUltrix_Const2Machs,
6576      ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6577      aUltrix_Const2Tests,   apzUltrix_Const2Patch, 0 },
6579   {  zUltrix_Fix_FixprotoName,    zUltrix_Fix_FixprotoList,
6580      apzUltrix_Fix_FixprotoMachs,
6581      ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6582      aUltrix_Fix_FixprotoTests,   apzUltrix_Fix_FixprotoPatch, 0 },
6584   {  zUltrix_IfdefName,    zUltrix_IfdefList,
6585      apzUltrix_IfdefMachs,
6586      ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6587      aUltrix_IfdefTests,   apzUltrix_IfdefPatch, 0 },
6589   {  zUltrix_Math_IfdefName,    zUltrix_Math_IfdefList,
6590      apzUltrix_Math_IfdefMachs,
6591      ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6592      aUltrix_Math_IfdefTests,   apzUltrix_Math_IfdefPatch, 0 },
6594   {  zUltrix_Nested_IoctlName,    zUltrix_Nested_IoctlList,
6595      apzUltrix_Nested_IoctlMachs,
6596      ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
6597      aUltrix_Nested_IoctlTests,   apzUltrix_Nested_IoctlPatch, 0 },
6599   {  zUltrix_Nested_SvcName,    zUltrix_Nested_SvcList,
6600      apzUltrix_Nested_SvcMachs,
6601      ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
6602      aUltrix_Nested_SvcTests,   apzUltrix_Nested_SvcPatch, 0 },
6604   {  zUltrix_StatName,    zUltrix_StatList,
6605      apzUltrix_StatMachs,
6606      ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
6607      aUltrix_StatTests,   apzUltrix_StatPatch, 0 },
6609   {  zUltrix_StaticName,    zUltrix_StaticList,
6610      apzUltrix_StaticMachs,
6611      ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
6612      aUltrix_StaticTests,   apzUltrix_StaticPatch, 0 },
6614   {  zUltrix_StringsName,    zUltrix_StringsList,
6615      apzUltrix_StringsMachs,
6616      ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6617      aUltrix_StringsTests,   apzUltrix_StringsPatch, 0 },
6619   {  zUndefine_NullName,    zUndefine_NullList,
6620      apzUndefine_NullMachs,
6621      UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6622      aUndefine_NullTests,   apzUndefine_NullPatch, 0 },
6624   {  zUnicosmk_RestrictName,    zUnicosmk_RestrictList,
6625      apzUnicosmk_RestrictMachs,
6626      UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6627      aUnicosmk_RestrictTests,   apzUnicosmk_RestrictPatch, 0 },
6629   {  zUw7_Byteorder_FixName,    zUw7_Byteorder_FixList,
6630      apzUw7_Byteorder_FixMachs,
6631      UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6632      aUw7_Byteorder_FixTests,   apzUw7_Byteorder_FixPatch, 0 },
6634   {  zVa_I960_MacroName,    zVa_I960_MacroList,
6635      apzVa_I960_MacroMachs,
6636      VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6637      aVa_I960_MacroTests,   apzVa_I960_MacroPatch, 0 },
6639   {  zVoid_NullName,    zVoid_NullList,
6640      apzVoid_NullMachs,
6641      VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6642      aVoid_NullTests,   apzVoid_NullPatch, 0 },
6644   {  zVxworks_Gcc_ProblemName,    zVxworks_Gcc_ProblemList,
6645      apzVxworks_Gcc_ProblemMachs,
6646      VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
6647      aVxworks_Gcc_ProblemTests,   apzVxworks_Gcc_ProblemPatch, 0 },
6649   {  zVxworks_Needs_VxtypesName,    zVxworks_Needs_VxtypesList,
6650      apzVxworks_Needs_VxtypesMachs,
6651      VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6652      aVxworks_Needs_VxtypesTests,   apzVxworks_Needs_VxtypesPatch, 0 },
6654   {  zVxworks_Needs_VxworksName,    zVxworks_Needs_VxworksList,
6655      apzVxworks_Needs_VxworksMachs,
6656      VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
6657      aVxworks_Needs_VxworksTests,   apzVxworks_Needs_VxworksPatch, 0 },
6659   {  zVxworks_TimeName,    zVxworks_TimeList,
6660      apzVxworks_TimeMachs,
6661      VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6662      aVxworks_TimeTests,   apzVxworks_TimePatch, 0 },
6664   {  zWindiss_Math1Name,    zWindiss_Math1List,
6665      apzWindiss_Math1Machs,
6666      WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
6667      aWindiss_Math1Tests,   apzWindiss_Math1Patch, 0 },
6669   {  zWindiss_Math2Name,    zWindiss_Math2List,
6670      apzWindiss_Math2Machs,
6671      WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
6672      aWindiss_Math2Tests,   apzWindiss_Math2Patch, 0 },
6674   {  zWindiss_ValistName,    zWindiss_ValistList,
6675      apzWindiss_ValistMachs,
6676      WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
6677      aWindiss_ValistTests,   apzWindiss_ValistPatch, 0 },
6679   {  zX11_ClassName,    zX11_ClassList,
6680      apzX11_ClassMachs,
6681      X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6682      aX11_ClassTests,   apzX11_ClassPatch, 0 },
6684   {  zX11_Class_UsageName,    zX11_Class_UsageList,
6685      apzX11_Class_UsageMachs,
6686      X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6687      aX11_Class_UsageTests,   apzX11_Class_UsagePatch, 0 },
6689   {  zX11_NewName,    zX11_NewList,
6690      apzX11_NewMachs,
6691      X11_NEW_TEST_CT, FD_MACH_ONLY,
6692      aX11_NewTests,   apzX11_NewPatch, 0 },
6694   {  zX11_SprintfName,    zX11_SprintfList,
6695      apzX11_SprintfMachs,
6696      X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6697      aX11_SprintfTests,   apzX11_SprintfPatch, 0 }