re PR bootstrap/9330 ([alpha-osf]small alphaev56-dec-osf5.1 --enable-threads=posix...
[gcc.git] / gcc / fixinc / fixincl.x
1 /* -*- buffer-read-only: t -*- vi: set ro:
2 *
3 * DO NOT EDIT THIS FILE (fixincl.x)
4 *
5 * It has been AutoGen-ed Tuesday July 29, 2003 at 08:15:05 PM MEST
6 * From the definitions inclhack.def
7 * and the template file fixincl
8 */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Tue Jul 29 20:15:06 MEST 2003
10 *
11 * You must regenerate it. Use the ./genfixes script.
12 *
13 *
14 * This is part of the fixincl program used to install modified versions of
15 * certain ANSI-incompatible system header files which are fixed to work
16 * correctly with ANSI C and placed in a directory that GNU C will search.
17 *
18 * This file contains 155 fixup descriptions.
19 *
20 * See README for more information.
21 *
22 * inclhack copyright (c) 1998, 1999, 2000, 2001
23 * The Free Software Foundation, Inc.
24 *
25 * inclhack is free software.
26 *
27 * You may redistribute it and/or modify it under the terms of the
28 * GNU General Public License, as published by the Free Software
29 * Foundation; either version 2, or (at your option) any later version.
30 *
31 * inclhack is distributed in the hope that it will be useful,
32 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34 * See the GNU General Public License for more details.
35 *
36 * You should have received a copy of the GNU General Public License
37 * along with inclhack. See the file "COPYING". If not,
38 * write to: The Free Software Foundation, Inc.,
39 * 59 Temple Place - Suite 330,
40 * Boston, MA 02111-1307, USA.
41 */
42
43 /* * * * * * * * * * * * * * * * * * * * * * * * * *
44 *
45 * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
46 */
47 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
48 "AAB_fd_zero_asm_posix_types_h";
49
50 /*
51 * File name selection pattern
52 */
53 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
54 "|asm/posix_types.h|";
55 /*
56 * Machine/OS name selection pattern
57 */
58 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
59 "i[34567]86-*-linux*",
60 (const char*)NULL };
61
62 /*
63 * content bypass pattern - skip fix if pattern found
64 */
65 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
66 "} while";
67
68 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 1
69 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
70 { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
71
72 /*
73 * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
74 */
75 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
76 "/* This file fixes a bug in the __FD_ZERO macro\n\
77 for older versions of the Linux kernel. */\n\
78 #ifndef _POSIX_TYPES_H_WRAPPER\n\
79 #include <features.h>\n\
80 #include_next <asm/posix_types.h>\n\n\
81 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
82 #undef __FD_ZERO\n\
83 #define __FD_ZERO(fdsetp) \\\n\
84 do { \\\n\
85 int __d0, __d1; \\\n\
86 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
87 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
88 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
89 \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
90 } while (0)\n\
91 #endif\n\n\
92 #define _POSIX_TYPES_H_WRAPPER\n\
93 #endif /* _POSIX_TYPES_H_WRAPPER */",
94 (char*)NULL };
95
96 /* * * * * * * * * * * * * * * * * * * * * * * * * *
97 *
98 * Description of Aab_Fd_Zero_Gnu_Types_H fix
99 */
100 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
101 "AAB_fd_zero_gnu_types_h";
102
103 /*
104 * File name selection pattern
105 */
106 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
107 "|gnu/types.h|";
108 /*
109 * Machine/OS name selection pattern
110 */
111 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
112 "i[34567]86-*-linux*",
113 (const char*)NULL };
114 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
115 #define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
116
117 /*
118 * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
119 */
120 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
121 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
122 #ifndef _TYPES_H_WRAPPER\n\
123 #include <features.h>\n\
124 #include_next <gnu/types.h>\n\n\
125 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
126 #undef __FD_ZERO\n\
127 # define __FD_ZERO(fdsetp) \\\\\n\
128 do { \\\\\n\
129 int __d0, __d1; \\\\\n\
130 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\\\n\
131 \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
132 \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\\\n\
133 \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\\\n\
134 } while (0)\n\
135 #endif\n\n\
136 #define _TYPES_H_WRAPPER\n\
137 #endif /* _TYPES_H_WRAPPER */",
138 (char*)NULL };
139
140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
141 *
142 * Description of Aab_Fd_Zero_Selectbits_H fix
143 */
144 tSCC zAab_Fd_Zero_Selectbits_HName[] =
145 "AAB_fd_zero_selectbits_h";
146
147 /*
148 * File name selection pattern
149 */
150 tSCC zAab_Fd_Zero_Selectbits_HList[] =
151 "|selectbits.h|";
152 /*
153 * Machine/OS name selection pattern
154 */
155 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
156 "i[34567]86-*-linux*",
157 (const char*)NULL };
158 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
159 #define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
160
161 /*
162 * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
163 */
164 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
165 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
166 #ifndef _SELECTBITS_H_WRAPPER\n\
167 #include <features.h>\n\
168 #include_next <selectbits.h>\n\n\
169 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
170 && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
171 && __GLIBC_MINOR__ == 0\n\
172 #undef __FD_ZERO\n\
173 #define __FD_ZERO(fdsetp) \\\\\n\
174 do { \\\\\n\
175 int __d0, __d1; \\\\\n\
176 __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
177 : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
178 : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
179 / sizeof (__fd_mask)), \\\\\n\
180 \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
181 : \"memory\"); \\\\\n\
182 } while (0)\n\
183 #endif\n\n\
184 #define _SELECTBITS_H_WRAPPER\n\
185 #endif /* _SELECTBITS_H_WRAPPER */",
186 (char*)NULL };
187
188 /* * * * * * * * * * * * * * * * * * * * * * * * * *
189 *
190 * Description of Aab_Solaris_Sys_Varargs_H fix
191 */
192 tSCC zAab_Solaris_Sys_Varargs_HName[] =
193 "AAB_solaris_sys_varargs_h";
194
195 /*
196 * File name selection pattern
197 */
198 tSCC zAab_Solaris_Sys_Varargs_HList[] =
199 "|sys/varargs.h|";
200 /*
201 * Machine/OS name selection pattern
202 */
203 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
204 "*-*-solaris*",
205 (const char*)NULL };
206 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0
207 #define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL
208
209 /*
210 * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
211 */
212 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
213 "#ifdef __STDC__\n\
214 #include <stdarg.h>\n\
215 #else\n\
216 #include <varargs.h>\n\
217 #endif",
218 (char*)NULL };
219
220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
221 *
222 * Description of Aab_Sun_Memcpy fix
223 */
224 tSCC zAab_Sun_MemcpyName[] =
225 "AAB_sun_memcpy";
226
227 /*
228 * File name selection pattern
229 */
230 tSCC zAab_Sun_MemcpyList[] =
231 "|memory.h|";
232 /*
233 * Machine/OS name selection pattern
234 */
235 #define apzAab_Sun_MemcpyMachs (const char**)NULL
236
237 /*
238 * content selection pattern - do fix if pattern found
239 */
240 tSCC zAab_Sun_MemcpySelect0[] =
241 "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
242
243 #define AAB_SUN_MEMCPY_TEST_CT 1
244 static tTestDesc aAab_Sun_MemcpyTests[] = {
245 { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
246
247 /*
248 * Fix Command Arguments for Aab_Sun_Memcpy
249 */
250 static const char* apzAab_Sun_MemcpyPatch[] = {
251 "/* This file was generated by fixincludes */\n\
252 #ifndef __memory_h__\n\
253 #define __memory_h__\n\n\
254 #ifdef __STDC__\n\
255 extern void *memccpy();\n\
256 extern void *memchr();\n\
257 extern void *memcpy();\n\
258 extern void *memset();\n\
259 #else\n\
260 extern char *memccpy();\n\
261 extern char *memchr();\n\
262 extern char *memcpy();\n\
263 extern char *memset();\n\
264 #endif /* __STDC__ */\n\n\
265 extern int memcmp();\n\n\
266 #endif /* __memory_h__ */\n\
267 _EndOfHeader;\n\
268 };\n\n\n\
269 /*\n\
270 * Completely replace <sys/varargs.h> with a file that includes gcc's\n\
271 * stdarg.h or varargs.h files as appropriate.\n\
272 */\n\
273 #ifdef SVR4\n\
274 fix = {\n\
275 hackname = AAB_svr4_no_varargs;\n\
276 files = sys/varargs.h;\n\
277 replace = \"/* This file was generated by fixincludes. */\\n\"\n\
278 \"#ifndef _SYS_VARARGS_H\\n\"\n\
279 \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
280 \"#ifdef __STDC__\\n\"\n\
281 \"#include <stdarg.h>\\n\"\n\
282 \"#else\\n\"\n\
283 \"#include <varargs.h>\\n\"\n\
284 \"#endif\\n\\n\"\n\n\
285 \"#endif /* _SYS_VARARGS_H */\\n\";\n\
286 };\n\
287 #endif\n\n\n\
288 /*\n\
289 * Completely replace <sys/byteorder.h>; with a file that implements gcc's\n\
290 * optimized byteswapping.\n\
291 */\n\
292 fix = {\n\
293 hackname = AAB_svr4_replace_byteorder;\n\
294 mach = \"*-*-sysv4*\";\n\
295 mach = \"i[34567]86-*-sysv5*\";\n\
296 mach = \"i[34567]86-*-sco3.2v5*\";\n\
297 mach = \"i[34567]86-*-udk*\";\n\
298 mach = \"i[34567]86-*-solaris2.[0-4]\";\n\
299 mach = \"powerpcle-*-solaris2.[0-4]\";\n\
300 mach = \"sparc-*-solaris2.[0-4]\";\n\
301 files = sys/byteorder.h;\n\
302 replace = <<- _EndOfHeader_\n\
303 #ifndef _SYS_BYTEORDER_H\n\
304 #define _SYS_BYTEORDER_H\n\n\
305 /* Functions to convert `short' and `long' quantities from host byte order\n\
306 to (internet) network byte order (i.e. big-endian).\n\n\
307 Written by Ron Guilmette (rfg@ncd.com).\n\n\
308 This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
309 For big-endian machines these functions are essentially no-ops.\n\n\
310 For little-endian machines, we define the functions using specialized\n\
311 asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
312 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
313 #error You lose! This file is only useful with GNU compilers.\n\
314 #endif\n\n\
315 #ifndef __BYTE_ORDER__\n\
316 /* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
317 double underscores added at the front and back. */\n\
318 #define __LITTLE_ENDIAN__ 1234\n\
319 #define __BIG_ENDIAN__ 4321\n\
320 #define __PDP_ENDIAN__ 3412\n\
321 #endif\n\n\
322 #ifdef __STDC__\n\
323 static __inline__ unsigned long htonl (unsigned long);\n\
324 static __inline__ unsigned short htons (unsigned int);\n\
325 static __inline__ unsigned long ntohl (unsigned long);\n\
326 static __inline__ unsigned short ntohs (unsigned int);\n\
327 #endif /* defined (__STDC__) */\n\n\
328 #if defined (__i386__)\n\n\
329 #ifndef __BYTE_ORDER__\n\
330 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
331 #endif\n\n\
332 /* Convert a host long to a network long. */\n\n\
333 /* We must use a new-style function definition, so that this will also\n\
334 be valid for C++. */\n\
335 static __inline__ unsigned long\n\
336 htonl (unsigned long __arg)\n\
337 {\n\
338 register unsigned long __result;\n\n\
339 __asm__ (\"xchg%B0 %b0,%h0\n\
340 ror%L0 $16,%0\n\
341 xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
342 return __result;\n\
343 }\n\n\
344 /* Convert a host short to a network short. */\n\n\
345 static __inline__ unsigned short\n\
346 htons (unsigned int __arg)\n\
347 {\n\
348 register unsigned short __result;\n\n\
349 __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
350 return __result;\n\
351 }\n\n\
352 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
353 #ifndef __BYTE_ORDER__\n\
354 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
355 #endif\n\n\
356 /* For other little-endian machines, using C code is just as efficient as\n\
357 using assembly code. */\n\n\
358 /* Convert a host long to a network long. */\n\n\
359 static __inline__ unsigned long\n\
360 htonl (unsigned long __arg)\n\
361 {\n\
362 register unsigned long __result;\n\n\
363 __result = (__arg >> 24) & 0x000000ff;\n\
364 __result |= (__arg >> 8) & 0x0000ff00;\n\
365 __result |= (__arg << 8) & 0x00ff0000;\n\
366 __result |= (__arg << 24) & 0xff000000;\n\
367 return __result;\n\
368 }\n\n\
369 /* Convert a host short to a network short. */\n\n\
370 static __inline__ unsigned short\n\
371 htons (unsigned int __arg)\n\
372 {\n\
373 register unsigned short __result;\n\n\
374 __result = (__arg << 8) & 0xff00;\n\
375 __result |= (__arg >> 8) & 0x00ff;\n\
376 return __result;\n\
377 }\n\n\
378 #else /* must be a big-endian machine */\n\n\
379 #ifndef __BYTE_ORDER__\n\
380 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
381 #endif\n\n\
382 /* Convert a host long to a network long. */\n\n\
383 static __inline__ unsigned long\n\
384 htonl (unsigned long __arg)\n\
385 {\n\
386 return __arg;\n\
387 }\n\n\
388 /* Convert a host short to a network short. */\n\n\
389 static __inline__ unsigned short\n\
390 htons (unsigned int __arg)\n\
391 {\n\
392 return __arg;\n\
393 }\n\n\
394 #endif /* big-endian */\n\n\
395 /* Convert a network long to a host long. */\n\n\
396 static __inline__ unsigned long\n\
397 ntohl (unsigned long __arg)\n\
398 {\n\
399 return htonl (__arg);\n\
400 }\n\n\
401 /* Convert a network short to a host short. */\n\n\
402 static __inline__ unsigned short\n\
403 ntohs (unsigned int __arg)\n\
404 {\n\
405 return htons (__arg);\n\
406 }\n\
407 #endif",
408 (char*)NULL };
409
410 /* * * * * * * * * * * * * * * * * * * * * * * * * *
411 *
412 * Description of Aab_Ultrix_Ansi_Compat fix
413 */
414 tSCC zAab_Ultrix_Ansi_CompatName[] =
415 "AAB_ultrix_ansi_compat";
416
417 /*
418 * File name selection pattern
419 */
420 tSCC zAab_Ultrix_Ansi_CompatList[] =
421 "|ansi_compat.h|";
422 /*
423 * Machine/OS name selection pattern
424 */
425 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
426
427 /*
428 * content selection pattern - do fix if pattern found
429 */
430 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
431 "ULTRIX";
432
433 #define AAB_ULTRIX_ANSI_COMPAT_TEST_CT 1
434 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
435 { TT_EGREP, zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
436
437 /*
438 * Fix Command Arguments for Aab_Ultrix_Ansi_Compat
439 */
440 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
441 "/* This file intentionally left blank. */\n",
442 (char*)NULL };
443
444 /* * * * * * * * * * * * * * * * * * * * * * * * * *
445 *
446 * Description of Aab_Ultrix_Limits fix
447 */
448 tSCC zAab_Ultrix_LimitsName[] =
449 "AAB_ultrix_limits";
450
451 /*
452 * File name selection pattern
453 */
454 tSCC zAab_Ultrix_LimitsList[] =
455 "|limits.h|";
456 /*
457 * Machine/OS name selection pattern
458 */
459 tSCC* apzAab_Ultrix_LimitsMachs[] = {
460 "*-*-ultrix4.3",
461 (const char*)NULL };
462 #define AAB_ULTRIX_LIMITS_TEST_CT 0
463 #define aAab_Ultrix_LimitsTests (tTestDesc*)NULL
464
465 /*
466 * Fix Command Arguments for Aab_Ultrix_Limits
467 */
468 static const char* apzAab_Ultrix_LimitsPatch[] = {
469 "#ifndef _LIMITS_INCLUDED\n\
470 #define _LIMITS_INCLUDED\n\
471 #include <sys/limits.h>\n\
472 #endif /* _LIMITS_INCLUDED */",
473 (char*)NULL };
474
475 /* * * * * * * * * * * * * * * * * * * * * * * * * *
476 *
477 * Description of Aab_Ultrix_Memory fix
478 */
479 tSCC zAab_Ultrix_MemoryName[] =
480 "AAB_ultrix_memory";
481
482 /*
483 * File name selection pattern
484 */
485 tSCC zAab_Ultrix_MemoryList[] =
486 "|memory.h|";
487 /*
488 * Machine/OS name selection pattern
489 */
490 tSCC* apzAab_Ultrix_MemoryMachs[] = {
491 "*-*-ultrix4.3",
492 (const char*)NULL };
493 #define AAB_ULTRIX_MEMORY_TEST_CT 0
494 #define aAab_Ultrix_MemoryTests (tTestDesc*)NULL
495
496 /*
497 * Fix Command Arguments for Aab_Ultrix_Memory
498 */
499 static const char* apzAab_Ultrix_MemoryPatch[] = {
500 "#ifndef _MEMORY_INCLUDED\n\
501 #define _MEMORY_INCLUDED\n\
502 #include <strings.h>\n\
503 #endif /* _MEMORY_INCLUDED */",
504 (char*)NULL };
505
506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
507 *
508 * Description of Aab_Ultrix_String fix
509 */
510 tSCC zAab_Ultrix_StringName[] =
511 "AAB_ultrix_string";
512
513 /*
514 * File name selection pattern
515 */
516 tSCC zAab_Ultrix_StringList[] =
517 "|string.h|";
518 /*
519 * Machine/OS name selection pattern
520 */
521 tSCC* apzAab_Ultrix_StringMachs[] = {
522 "*-*-ultrix4.3",
523 (const char*)NULL };
524 #define AAB_ULTRIX_STRING_TEST_CT 0
525 #define aAab_Ultrix_StringTests (tTestDesc*)NULL
526
527 /*
528 * Fix Command Arguments for Aab_Ultrix_String
529 */
530 static const char* apzAab_Ultrix_StringPatch[] = {
531 "#ifndef _STRING_INCLUDED\n\
532 #define _STRING_INCLUDED\n\
533 #include <strings.h>\n\
534 #endif /* _STRING_INCLUDED */",
535 (char*)NULL };
536
537 /* * * * * * * * * * * * * * * * * * * * * * * * * *
538 *
539 * Description of Aix_Pthread fix
540 */
541 tSCC zAix_PthreadName[] =
542 "aix_pthread";
543
544 /*
545 * File name selection pattern
546 */
547 tSCC zAix_PthreadList[] =
548 "|pthread.h|";
549 /*
550 * Machine/OS name selection pattern
551 */
552 #define apzAix_PthreadMachs (const char**)NULL
553
554 /*
555 * content selection pattern - do fix if pattern found
556 */
557 tSCC zAix_PthreadSelect0[] =
558 "(#define [A-Za-z_0-9]+)(\\\\\n\
559 [^A-Za-z_0-9 \t\n\
560 (])";
561
562 #define AIX_PTHREAD_TEST_CT 1
563 static tTestDesc aAix_PthreadTests[] = {
564 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
565
566 /*
567 * Fix Command Arguments for Aix_Pthread
568 */
569 static const char* apzAix_PthreadPatch[] = {
570 "format",
571 "%1 %2",
572 (char*)NULL };
573
574 /* * * * * * * * * * * * * * * * * * * * * * * * * *
575 *
576 * Description of Aix_Sysmachine fix
577 */
578 tSCC zAix_SysmachineName[] =
579 "aix_sysmachine";
580
581 /*
582 * File name selection pattern
583 */
584 tSCC zAix_SysmachineList[] =
585 "|sys/machine.h|";
586 /*
587 * Machine/OS name selection pattern
588 */
589 #define apzAix_SysmachineMachs (const char**)NULL
590
591 /*
592 * content selection pattern - do fix if pattern found
593 */
594 tSCC zAix_SysmachineSelect0[] =
595 "\\\\ +\n";
596
597 #define AIX_SYSMACHINE_TEST_CT 1
598 static tTestDesc aAix_SysmachineTests[] = {
599 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
600
601 /*
602 * Fix Command Arguments for Aix_Sysmachine
603 */
604 static const char* apzAix_SysmachinePatch[] = {
605 "format",
606 "\\\n",
607 (char*)NULL };
608
609 /* * * * * * * * * * * * * * * * * * * * * * * * * *
610 *
611 * Description of Aix_Syswait fix
612 */
613 tSCC zAix_SyswaitName[] =
614 "aix_syswait";
615
616 /*
617 * File name selection pattern
618 */
619 tSCC zAix_SyswaitList[] =
620 "|sys/wait.h|";
621 /*
622 * Machine/OS name selection pattern
623 */
624 #define apzAix_SyswaitMachs (const char**)NULL
625
626 /*
627 * content selection pattern - do fix if pattern found
628 */
629 tSCC zAix_SyswaitSelect0[] =
630 "^extern pid_t wait3\\(\\);\n";
631 tSCC zAix_SyswaitSelect1[] =
632 "bos325,";
633
634 #define AIX_SYSWAIT_TEST_CT 2
635 static tTestDesc aAix_SyswaitTests[] = {
636 { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
637 { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
638
639 /*
640 * Fix Command Arguments for Aix_Syswait
641 */
642 static const char* apzAix_SyswaitPatch[] = {
643 "format",
644 "struct rusage;\n\
645 %0",
646 (char*)NULL };
647
648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
649 *
650 * Description of Aix_Volatile fix
651 */
652 tSCC zAix_VolatileName[] =
653 "aix_volatile";
654
655 /*
656 * File name selection pattern
657 */
658 tSCC zAix_VolatileList[] =
659 "|sys/signal.h|";
660 /*
661 * Machine/OS name selection pattern
662 */
663 #define apzAix_VolatileMachs (const char**)NULL
664
665 /*
666 * content selection pattern - do fix if pattern found
667 */
668 tSCC zAix_VolatileSelect0[] =
669 "typedef volatile int sig_atomic_t";
670
671 #define AIX_VOLATILE_TEST_CT 1
672 static tTestDesc aAix_VolatileTests[] = {
673 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
674
675 /*
676 * Fix Command Arguments for Aix_Volatile
677 */
678 static const char* apzAix_VolatilePatch[] = {
679 "format",
680 "typedef int sig_atomic_t",
681 (char*)NULL };
682
683 /* * * * * * * * * * * * * * * * * * * * * * * * * *
684 *
685 * Description of Alpha___Assert fix
686 */
687 tSCC zAlpha___AssertName[] =
688 "alpha___assert";
689
690 /*
691 * File name selection pattern
692 */
693 tSCC zAlpha___AssertList[] =
694 "|assert.h|";
695 /*
696 * Machine/OS name selection pattern
697 */
698 #define apzAlpha___AssertMachs (const char**)NULL
699
700 /*
701 * content selection pattern - do fix if pattern found
702 */
703 tSCC zAlpha___AssertSelect0[] =
704 "__assert\\(char \\*, char \\*, int\\)";
705
706 #define ALPHA___ASSERT_TEST_CT 1
707 static tTestDesc aAlpha___AssertTests[] = {
708 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
709
710 /*
711 * Fix Command Arguments for Alpha___Assert
712 */
713 static const char* apzAlpha___AssertPatch[] = {
714 "format",
715 "__assert(const char *, const char *, int)",
716 (char*)NULL };
717
718 /* * * * * * * * * * * * * * * * * * * * * * * * * *
719 *
720 * Description of Alpha___Extern_Prefix fix
721 */
722 tSCC zAlpha___Extern_PrefixName[] =
723 "alpha___extern_prefix";
724
725 /*
726 * File name selection pattern
727 */
728 tSCC zAlpha___Extern_PrefixList[] =
729 "|sys/stat.h|";
730 /*
731 * Machine/OS name selection pattern
732 */
733 tSCC* apzAlpha___Extern_PrefixMachs[] = {
734 "alpha*-dec-osf5*",
735 (const char*)NULL };
736
737 /*
738 * content selection pattern - do fix if pattern found
739 */
740 tSCC zAlpha___Extern_PrefixSelect0[] =
741 "#[ \t]*if[ \t]*defined\\(__DECC\\)";
742
743 #define ALPHA___EXTERN_PREFIX_TEST_CT 1
744 static tTestDesc aAlpha___Extern_PrefixTests[] = {
745 { TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
746
747 /*
748 * Fix Command Arguments for Alpha___Extern_Prefix
749 */
750 static const char* apzAlpha___Extern_PrefixPatch[] = {
751 "format",
752 "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
753 (char*)NULL };
754
755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
756 *
757 * Description of Alpha_Assert fix
758 */
759 tSCC zAlpha_AssertName[] =
760 "alpha_assert";
761
762 /*
763 * File name selection pattern
764 */
765 tSCC zAlpha_AssertList[] =
766 "|assert.h|";
767 /*
768 * Machine/OS name selection pattern
769 */
770 #define apzAlpha_AssertMachs (const char**)NULL
771
772 /*
773 * content selection pattern - do fix if pattern found
774 */
775 tSCC zAlpha_AssertSelect0[] =
776 "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
777
778 #define ALPHA_ASSERT_TEST_CT 1
779 static tTestDesc aAlpha_AssertTests[] = {
780 { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
781
782 /*
783 * Fix Command Arguments for Alpha_Assert
784 */
785 static const char* apzAlpha_AssertPatch[] = {
786 "format",
787 "%1(EX)",
788 (char*)NULL };
789
790 /* * * * * * * * * * * * * * * * * * * * * * * * * *
791 *
792 * Description of Alpha_Getopt fix
793 */
794 tSCC zAlpha_GetoptName[] =
795 "alpha_getopt";
796
797 /*
798 * File name selection pattern
799 */
800 tSCC zAlpha_GetoptList[] =
801 "|stdio.h|stdlib.h|";
802 /*
803 * Machine/OS name selection pattern
804 */
805 #define apzAlpha_GetoptMachs (const char**)NULL
806
807 /*
808 * content selection pattern - do fix if pattern found
809 */
810 tSCC zAlpha_GetoptSelect0[] =
811 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
812
813 #define ALPHA_GETOPT_TEST_CT 1
814 static tTestDesc aAlpha_GetoptTests[] = {
815 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
816
817 /*
818 * Fix Command Arguments for Alpha_Getopt
819 */
820 static const char* apzAlpha_GetoptPatch[] = {
821 "format",
822 "getopt(int, char *const[], const char *)",
823 (char*)NULL };
824
825 /* * * * * * * * * * * * * * * * * * * * * * * * * *
826 *
827 * Description of Alpha_Parens fix
828 */
829 tSCC zAlpha_ParensName[] =
830 "alpha_parens";
831
832 /*
833 * File name selection pattern
834 */
835 tSCC zAlpha_ParensList[] =
836 "|sym.h|";
837 /*
838 * Machine/OS name selection pattern
839 */
840 #define apzAlpha_ParensMachs (const char**)NULL
841
842 /*
843 * content selection pattern - do fix if pattern found
844 */
845 tSCC zAlpha_ParensSelect0[] =
846 "#ifndef\\(__mips64\\)";
847
848 #define ALPHA_PARENS_TEST_CT 1
849 static tTestDesc aAlpha_ParensTests[] = {
850 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
851
852 /*
853 * Fix Command Arguments for Alpha_Parens
854 */
855 static const char* apzAlpha_ParensPatch[] = {
856 "format",
857 "#ifndef __mips64",
858 (char*)NULL };
859
860 /* * * * * * * * * * * * * * * * * * * * * * * * * *
861 *
862 * Description of Alpha_Pthread fix
863 */
864 tSCC zAlpha_PthreadName[] =
865 "alpha_pthread";
866
867 /*
868 * File name selection pattern
869 */
870 tSCC zAlpha_PthreadList[] =
871 "|pthread.h|";
872 /*
873 * Machine/OS name selection pattern
874 */
875 tSCC* apzAlpha_PthreadMachs[] = {
876 "alpha*-dec-osf*",
877 (const char*)NULL };
878
879 /*
880 * content selection pattern - do fix if pattern found
881 */
882 tSCC zAlpha_PthreadSelect0[] =
883 "(#[ \t]*if defined \\(_PTHREAD_ENV_DECC\\) || defined \\(_PTHREAD_ENV_EPCC\\))\n\
884 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
885
886 #define ALPHA_PTHREAD_TEST_CT 1
887 static tTestDesc aAlpha_PthreadTests[] = {
888 { TT_EGREP, zAlpha_PthreadSelect0, (regex_t*)NULL }, };
889
890 /*
891 * Fix Command Arguments for Alpha_Pthread
892 */
893 static const char* apzAlpha_PthreadPatch[] = {
894 "format",
895 "%1 || defined (__PRAGMA_EXTERN_PREFIX)\n\
896 %2",
897 (char*)NULL };
898
899 /* * * * * * * * * * * * * * * * * * * * * * * * * *
900 *
901 * Description of Alpha_Sbrk fix
902 */
903 tSCC zAlpha_SbrkName[] =
904 "alpha_sbrk";
905
906 /*
907 * File name selection pattern
908 */
909 tSCC zAlpha_SbrkList[] =
910 "|unistd.h|";
911 /*
912 * Machine/OS name selection pattern
913 */
914 #define apzAlpha_SbrkMachs (const char**)NULL
915
916 /*
917 * content selection pattern - do fix if pattern found
918 */
919 tSCC zAlpha_SbrkSelect0[] =
920 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
921
922 #define ALPHA_SBRK_TEST_CT 1
923 static tTestDesc aAlpha_SbrkTests[] = {
924 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
925
926 /*
927 * Fix Command Arguments for Alpha_Sbrk
928 */
929 static const char* apzAlpha_SbrkPatch[] = {
930 "format",
931 "void *sbrk(",
932 (char*)NULL };
933
934 /* * * * * * * * * * * * * * * * * * * * * * * * * *
935 *
936 * Description of Avoid_Bool_Define fix
937 */
938 tSCC zAvoid_Bool_DefineName[] =
939 "avoid_bool_define";
940
941 /*
942 * File name selection pattern
943 */
944 tSCC zAvoid_Bool_DefineList[] =
945 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
946 /*
947 * Machine/OS name selection pattern
948 */
949 #define apzAvoid_Bool_DefineMachs (const char**)NULL
950
951 /*
952 * content selection pattern - do fix if pattern found
953 */
954 tSCC zAvoid_Bool_DefineSelect0[] =
955 "#[ \t]*define[ \t]+bool[ \t]";
956
957 /*
958 * content bypass pattern - skip fix if pattern found
959 */
960 tSCC zAvoid_Bool_DefineBypass0[] =
961 "__cplusplus";
962
963 #define AVOID_BOOL_DEFINE_TEST_CT 2
964 static tTestDesc aAvoid_Bool_DefineTests[] = {
965 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
966 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
967
968 /*
969 * Fix Command Arguments for Avoid_Bool_Define
970 */
971 static const char* apzAvoid_Bool_DefinePatch[] = {
972 "format",
973 "#ifndef __cplusplus\n\
974 %0\n\
975 #endif",
976 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
977 (char*)NULL };
978
979 /* * * * * * * * * * * * * * * * * * * * * * * * * *
980 *
981 * Description of Avoid_Bool_Type fix
982 */
983 tSCC zAvoid_Bool_TypeName[] =
984 "avoid_bool_type";
985
986 /*
987 * File name selection pattern
988 */
989 tSCC zAvoid_Bool_TypeList[] =
990 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
991 /*
992 * Machine/OS name selection pattern
993 */
994 #define apzAvoid_Bool_TypeMachs (const char**)NULL
995
996 /*
997 * content selection pattern - do fix if pattern found
998 */
999 tSCC zAvoid_Bool_TypeSelect0[] =
1000 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1001
1002 /*
1003 * content bypass pattern - skip fix if pattern found
1004 */
1005 tSCC zAvoid_Bool_TypeBypass0[] =
1006 "__cplusplus";
1007
1008 #define AVOID_BOOL_TYPE_TEST_CT 2
1009 static tTestDesc aAvoid_Bool_TypeTests[] = {
1010 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1011 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1012
1013 /*
1014 * Fix Command Arguments for Avoid_Bool_Type
1015 */
1016 static const char* apzAvoid_Bool_TypePatch[] = {
1017 "format",
1018 "#ifndef __cplusplus\n\
1019 %0\n\
1020 #endif",
1021 (char*)NULL };
1022
1023 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1024 *
1025 * Description of Avoid_Wchar_T_Type fix
1026 */
1027 tSCC zAvoid_Wchar_T_TypeName[] =
1028 "avoid_wchar_t_type";
1029
1030 /*
1031 * File name selection pattern
1032 */
1033 #define zAvoid_Wchar_T_TypeList (char*)NULL
1034 /*
1035 * Machine/OS name selection pattern
1036 */
1037 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1038
1039 /*
1040 * content selection pattern - do fix if pattern found
1041 */
1042 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1043 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1044
1045 /*
1046 * content bypass pattern - skip fix if pattern found
1047 */
1048 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1049 "__cplusplus";
1050 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1051 "_LINUX_NLS_H";
1052 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1053 "XFree86: xc/lib/X11/Xlib\\.h";
1054
1055 #define AVOID_WCHAR_T_TYPE_TEST_CT 4
1056 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1057 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1058 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1059 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1060 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1061
1062 /*
1063 * Fix Command Arguments for Avoid_Wchar_T_Type
1064 */
1065 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1066 "format",
1067 "#ifndef __cplusplus\n\
1068 %0\n\
1069 #endif",
1070 (char*)NULL };
1071
1072 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1073 *
1074 * Description of Bad_Lval fix
1075 */
1076 tSCC zBad_LvalName[] =
1077 "bad_lval";
1078
1079 /*
1080 * File name selection pattern
1081 */
1082 tSCC zBad_LvalList[] =
1083 "|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|";
1084 /*
1085 * Machine/OS name selection pattern
1086 */
1087 #define apzBad_LvalMachs (const char**)NULL
1088
1089 /*
1090 * content selection pattern - do fix if pattern found
1091 */
1092 tSCC zBad_LvalSelect0[] =
1093 "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1094
1095 #define BAD_LVAL_TEST_CT 1
1096 static tTestDesc aBad_LvalTests[] = {
1097 { TT_EGREP, zBad_LvalSelect0, (regex_t*)NULL }, };
1098
1099 /*
1100 * Fix Command Arguments for Bad_Lval
1101 */
1102 static const char* apzBad_LvalPatch[] = { "sed",
1103 "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1104 (char*)NULL };
1105
1106 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1107 *
1108 * Description of Bad_Struct_Term fix
1109 */
1110 tSCC zBad_Struct_TermName[] =
1111 "bad_struct_term";
1112
1113 /*
1114 * File name selection pattern
1115 */
1116 tSCC zBad_Struct_TermList[] =
1117 "|curses.h|";
1118 /*
1119 * Machine/OS name selection pattern
1120 */
1121 #define apzBad_Struct_TermMachs (const char**)NULL
1122
1123 /*
1124 * content selection pattern - do fix if pattern found
1125 */
1126 tSCC zBad_Struct_TermSelect0[] =
1127 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1128
1129 #define BAD_STRUCT_TERM_TEST_CT 1
1130 static tTestDesc aBad_Struct_TermTests[] = {
1131 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1132
1133 /*
1134 * Fix Command Arguments for Bad_Struct_Term
1135 */
1136 static const char* apzBad_Struct_TermPatch[] = {
1137 "format",
1138 "struct term;",
1139 (char*)NULL };
1140
1141 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1142 *
1143 * Description of Badquote fix
1144 */
1145 tSCC zBadquoteName[] =
1146 "badquote";
1147
1148 /*
1149 * File name selection pattern
1150 */
1151 tSCC zBadquoteList[] =
1152 "|sundev/vuid_event.h|";
1153 /*
1154 * Machine/OS name selection pattern
1155 */
1156 #define apzBadquoteMachs (const char**)NULL
1157
1158 /*
1159 * content selection pattern - do fix if pattern found
1160 */
1161 tSCC zBadquoteSelect0[] =
1162 "doesn't";
1163
1164 #define BADQUOTE_TEST_CT 1
1165 static tTestDesc aBadquoteTests[] = {
1166 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
1167
1168 /*
1169 * Fix Command Arguments for Badquote
1170 */
1171 static const char* apzBadquotePatch[] = {
1172 "format",
1173 "does not",
1174 (char*)NULL };
1175
1176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1177 *
1178 * Description of Broken_Assert_Stdio fix
1179 */
1180 tSCC zBroken_Assert_StdioName[] =
1181 "broken_assert_stdio";
1182
1183 /*
1184 * File name selection pattern
1185 */
1186 tSCC zBroken_Assert_StdioList[] =
1187 "|assert.h|";
1188 /*
1189 * Machine/OS name selection pattern
1190 */
1191 #define apzBroken_Assert_StdioMachs (const char**)NULL
1192
1193 /*
1194 * content selection pattern - do fix if pattern found
1195 */
1196 tSCC zBroken_Assert_StdioSelect0[] =
1197 "stderr";
1198
1199 /*
1200 * content bypass pattern - skip fix if pattern found
1201 */
1202 tSCC zBroken_Assert_StdioBypass0[] =
1203 "include.*stdio\\.h";
1204
1205 #define BROKEN_ASSERT_STDIO_TEST_CT 2
1206 static tTestDesc aBroken_Assert_StdioTests[] = {
1207 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1208 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1209
1210 /*
1211 * Fix Command Arguments for Broken_Assert_Stdio
1212 */
1213 static const char* apzBroken_Assert_StdioPatch[] = {
1214 "wrap",
1215 "#include <stdio.h>\n",
1216 (char*)NULL };
1217
1218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1219 *
1220 * Description of Broken_Assert_Stdlib fix
1221 */
1222 tSCC zBroken_Assert_StdlibName[] =
1223 "broken_assert_stdlib";
1224
1225 /*
1226 * File name selection pattern
1227 */
1228 tSCC zBroken_Assert_StdlibList[] =
1229 "|assert.h|";
1230 /*
1231 * Machine/OS name selection pattern
1232 */
1233 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1234
1235 /*
1236 * content selection pattern - do fix if pattern found
1237 */
1238 tSCC zBroken_Assert_StdlibSelect0[] =
1239 "exit *\\(|abort *\\(";
1240
1241 /*
1242 * content bypass pattern - skip fix if pattern found
1243 */
1244 tSCC zBroken_Assert_StdlibBypass0[] =
1245 "include.*stdlib\\.h";
1246
1247 #define BROKEN_ASSERT_STDLIB_TEST_CT 2
1248 static tTestDesc aBroken_Assert_StdlibTests[] = {
1249 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1250 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1251
1252 /*
1253 * Fix Command Arguments for Broken_Assert_Stdlib
1254 */
1255 static const char* apzBroken_Assert_StdlibPatch[] = {
1256 "wrap",
1257 "#ifdef __cplusplus\n\
1258 #include <stdlib.h>\n\
1259 #endif\n",
1260 (char*)NULL };
1261
1262 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1263 *
1264 * Description of Broken_Cabs fix
1265 */
1266 tSCC zBroken_CabsName[] =
1267 "broken_cabs";
1268
1269 /*
1270 * File name selection pattern
1271 */
1272 tSCC zBroken_CabsList[] =
1273 "|math.h|";
1274 /*
1275 * Machine/OS name selection pattern
1276 */
1277 #define apzBroken_CabsMachs (const char**)NULL
1278
1279 /*
1280 * content selection pattern - do fix if pattern found
1281 */
1282 tSCC zBroken_CabsSelect0[] =
1283 "^extern[ \\t]+double[ \\t]+cabs";
1284
1285 #define BROKEN_CABS_TEST_CT 1
1286 static tTestDesc aBroken_CabsTests[] = {
1287 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1288
1289 /*
1290 * Fix Command Arguments for Broken_Cabs
1291 */
1292 static const char* apzBroken_CabsPatch[] = {
1293 "format",
1294 "",
1295 "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
1296 (char*)NULL };
1297
1298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1299 *
1300 * Description of Bsd_Stdio_Attrs_Conflict fix
1301 */
1302 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1303 "bsd_stdio_attrs_conflict";
1304
1305 /*
1306 * File name selection pattern
1307 */
1308 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1309 "|stdio.h|";
1310 /*
1311 * Machine/OS name selection pattern
1312 */
1313 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1314 "*-*-*bsd*",
1315 "*-*-*darwin*",
1316 (const char*)NULL };
1317
1318 /*
1319 * content selection pattern - do fix if pattern found
1320 */
1321 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1322 "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1323
1324 #define BSD_STDIO_ATTRS_CONFLICT_TEST_CT 1
1325 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1326 { TT_EGREP, zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1327
1328 /*
1329 * Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1330 */
1331 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1332 "format",
1333 "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1334 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1335 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1336 (char*)NULL };
1337
1338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1339 *
1340 * Description of Ctrl_Quotes_Def fix
1341 */
1342 tSCC zCtrl_Quotes_DefName[] =
1343 "ctrl_quotes_def";
1344
1345 /*
1346 * File name selection pattern
1347 */
1348 #define zCtrl_Quotes_DefList (char*)NULL
1349 /*
1350 * Machine/OS name selection pattern
1351 */
1352 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1353
1354 /*
1355 * content selection pattern - do fix if pattern found
1356 */
1357 tSCC zCtrl_Quotes_DefSelect0[] =
1358 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1359
1360 #define CTRL_QUOTES_DEF_TEST_CT 1
1361 static tTestDesc aCtrl_Quotes_DefTests[] = {
1362 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1363
1364 /*
1365 * Fix Command Arguments for Ctrl_Quotes_Def
1366 */
1367 static const char* apzCtrl_Quotes_DefPatch[] = {
1368 "char_macro_def",
1369 "CTRL",
1370 (char*)NULL };
1371
1372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1373 *
1374 * Description of Ctrl_Quotes_Use fix
1375 */
1376 tSCC zCtrl_Quotes_UseName[] =
1377 "ctrl_quotes_use";
1378
1379 /*
1380 * File name selection pattern
1381 */
1382 #define zCtrl_Quotes_UseList (char*)NULL
1383 /*
1384 * Machine/OS name selection pattern
1385 */
1386 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1387
1388 /*
1389 * content selection pattern - do fix if pattern found
1390 */
1391 tSCC zCtrl_Quotes_UseSelect0[] =
1392 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1393
1394 #define CTRL_QUOTES_USE_TEST_CT 1
1395 static tTestDesc aCtrl_Quotes_UseTests[] = {
1396 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1397
1398 /*
1399 * Fix Command Arguments for Ctrl_Quotes_Use
1400 */
1401 static const char* apzCtrl_Quotes_UsePatch[] = {
1402 "char_macro_use",
1403 "CTRL",
1404 (char*)NULL };
1405
1406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1407 *
1408 * Description of Cxx_Unready fix
1409 */
1410 tSCC zCxx_UnreadyName[] =
1411 "cxx_unready";
1412
1413 /*
1414 * File name selection pattern
1415 */
1416 tSCC zCxx_UnreadyList[] =
1417 "|sys/mman.h|rpc/types.h|";
1418 /*
1419 * Machine/OS name selection pattern
1420 */
1421 #define apzCxx_UnreadyMachs (const char**)NULL
1422
1423 /*
1424 * content selection pattern - do fix if pattern found
1425 */
1426 tSCC zCxx_UnreadySelect0[] =
1427 "[^#]+malloc.*;";
1428
1429 /*
1430 * content bypass pattern - skip fix if pattern found
1431 */
1432 tSCC zCxx_UnreadyBypass0[] =
1433 "\"C\"|__BEGIN_DECLS";
1434
1435 #define CXX_UNREADY_TEST_CT 2
1436 static tTestDesc aCxx_UnreadyTests[] = {
1437 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1438 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
1439
1440 /*
1441 * Fix Command Arguments for Cxx_Unready
1442 */
1443 static const char* apzCxx_UnreadyPatch[] = {
1444 "wrap",
1445 "#ifdef __cplusplus\n\
1446 extern \"C\" {\n\
1447 #endif\n",
1448 "#ifdef __cplusplus\n\
1449 }\n\
1450 #endif\n",
1451 (char*)NULL };
1452
1453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1454 *
1455 * Description of Dec_Intern_Asm fix
1456 */
1457 tSCC zDec_Intern_AsmName[] =
1458 "dec_intern_asm";
1459
1460 /*
1461 * File name selection pattern
1462 */
1463 tSCC zDec_Intern_AsmList[] =
1464 "|c_asm.h|";
1465 /*
1466 * Machine/OS name selection pattern
1467 */
1468 #define apzDec_Intern_AsmMachs (const char**)NULL
1469 #define DEC_INTERN_ASM_TEST_CT 0
1470 #define aDec_Intern_AsmTests (tTestDesc*)NULL
1471
1472 /*
1473 * Fix Command Arguments for Dec_Intern_Asm
1474 */
1475 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1476 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1477 #ifdef __DECC\n",
1478 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1479 #endif\n",
1480 (char*)NULL };
1481
1482 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1483 *
1484 * Description of Djgpp_Wchar_H fix
1485 */
1486 tSCC zDjgpp_Wchar_HName[] =
1487 "djgpp_wchar_h";
1488
1489 /*
1490 * File name selection pattern
1491 */
1492 #define zDjgpp_Wchar_HList (char*)NULL
1493 /*
1494 * Machine/OS name selection pattern
1495 */
1496 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1497
1498 /*
1499 * content selection pattern - do fix if pattern found
1500 */
1501 tSCC zDjgpp_Wchar_HSelect0[] =
1502 "__DJ_wint_t";
1503
1504 /*
1505 * content bypass pattern - skip fix if pattern found
1506 */
1507 tSCC zDjgpp_Wchar_HBypass0[] =
1508 "sys/djtypes.h";
1509
1510 #define DJGPP_WCHAR_H_TEST_CT 2
1511 static tTestDesc aDjgpp_Wchar_HTests[] = {
1512 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1513 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1514
1515 /*
1516 * Fix Command Arguments for Djgpp_Wchar_H
1517 */
1518 static const char* apzDjgpp_Wchar_HPatch[] = {
1519 "format",
1520 "%0\n\
1521 #include <sys/djtypes.h>",
1522 "#include <stddef.h>",
1523 (char*)NULL };
1524
1525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1526 *
1527 * Description of Ecd_Cursor fix
1528 */
1529 tSCC zEcd_CursorName[] =
1530 "ecd_cursor";
1531
1532 /*
1533 * File name selection pattern
1534 */
1535 tSCC zEcd_CursorList[] =
1536 "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1537 /*
1538 * Machine/OS name selection pattern
1539 */
1540 #define apzEcd_CursorMachs (const char**)NULL
1541
1542 /*
1543 * content selection pattern - do fix if pattern found
1544 */
1545 tSCC zEcd_CursorSelect0[] =
1546 "ecd\\.cursor";
1547
1548 #define ECD_CURSOR_TEST_CT 1
1549 static tTestDesc aEcd_CursorTests[] = {
1550 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
1551
1552 /*
1553 * Fix Command Arguments for Ecd_Cursor
1554 */
1555 static const char* apzEcd_CursorPatch[] = {
1556 "format",
1557 "ecd_cursor",
1558 (char*)NULL };
1559
1560 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1561 *
1562 * Description of Freebsd_Gcc3_Breakage fix
1563 */
1564 tSCC zFreebsd_Gcc3_BreakageName[] =
1565 "freebsd_gcc3_breakage";
1566
1567 /*
1568 * File name selection pattern
1569 */
1570 tSCC zFreebsd_Gcc3_BreakageList[] =
1571 "|sys/cdefs.h|";
1572 /*
1573 * Machine/OS name selection pattern
1574 */
1575 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1576 "*-*-freebsd*",
1577 (const char*)NULL };
1578
1579 /*
1580 * content selection pattern - do fix if pattern found
1581 */
1582 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1583 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1584
1585 /*
1586 * content bypass pattern - skip fix if pattern found
1587 */
1588 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1589 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1590
1591 #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
1592 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1593 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1594 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1595
1596 /*
1597 * Fix Command Arguments for Freebsd_Gcc3_Breakage
1598 */
1599 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1600 "format",
1601 "%0 || __GNUC__ >= 3",
1602 (char*)NULL };
1603
1604 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1605 *
1606 * Description of Gnu_Types fix
1607 */
1608 tSCC zGnu_TypesName[] =
1609 "gnu_types";
1610
1611 /*
1612 * File name selection pattern
1613 */
1614 tSCC zGnu_TypesList[] =
1615 "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1616 /*
1617 * Machine/OS name selection pattern
1618 */
1619 #define apzGnu_TypesMachs (const char**)NULL
1620
1621 /*
1622 * content selection pattern - do fix if pattern found
1623 */
1624 tSCC zGnu_TypesSelect0[] =
1625 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1626
1627 /*
1628 * content bypass pattern - skip fix if pattern found
1629 */
1630 tSCC zGnu_TypesBypass0[] =
1631 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1632
1633 #define GNU_TYPES_TEST_CT 2
1634 static tTestDesc aGnu_TypesTests[] = {
1635 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
1636 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
1637
1638 /*
1639 * Fix Command Arguments for Gnu_Types
1640 */
1641 static const char* apzGnu_TypesPatch[] = {
1642 "gnu_type",
1643 (char*)NULL };
1644
1645 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1646 *
1647 * Description of Hp_Inline fix
1648 */
1649 tSCC zHp_InlineName[] =
1650 "hp_inline";
1651
1652 /*
1653 * File name selection pattern
1654 */
1655 tSCC zHp_InlineList[] =
1656 "|sys/spinlock.h|machine/machparam.h|";
1657 /*
1658 * Machine/OS name selection pattern
1659 */
1660 #define apzHp_InlineMachs (const char**)NULL
1661
1662 /*
1663 * content selection pattern - do fix if pattern found
1664 */
1665 tSCC zHp_InlineSelect0[] =
1666 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1667
1668 #define HP_INLINE_TEST_CT 1
1669 static tTestDesc aHp_InlineTests[] = {
1670 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
1671
1672 /*
1673 * Fix Command Arguments for Hp_Inline
1674 */
1675 static const char* apzHp_InlinePatch[] = {
1676 "format",
1677 "%1<machine/%2.h>",
1678 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1679 (char*)NULL };
1680
1681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1682 *
1683 * Description of Hp_Sysfile fix
1684 */
1685 tSCC zHp_SysfileName[] =
1686 "hp_sysfile";
1687
1688 /*
1689 * File name selection pattern
1690 */
1691 tSCC zHp_SysfileList[] =
1692 "|sys/file.h|";
1693 /*
1694 * Machine/OS name selection pattern
1695 */
1696 #define apzHp_SysfileMachs (const char**)NULL
1697
1698 /*
1699 * content selection pattern - do fix if pattern found
1700 */
1701 tSCC zHp_SysfileSelect0[] =
1702 "HPUX_SOURCE";
1703
1704 #define HP_SYSFILE_TEST_CT 1
1705 static tTestDesc aHp_SysfileTests[] = {
1706 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
1707
1708 /*
1709 * Fix Command Arguments for Hp_Sysfile
1710 */
1711 static const char* apzHp_SysfilePatch[] = {
1712 "format",
1713 "(struct file *, ...)",
1714 "\\(\\.\\.\\.\\)",
1715 (char*)NULL };
1716
1717 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1718 *
1719 * Description of Hpux10_Cpp_Pow_Inline fix
1720 */
1721 tSCC zHpux10_Cpp_Pow_InlineName[] =
1722 "hpux10_cpp_pow_inline";
1723
1724 /*
1725 * File name selection pattern
1726 */
1727 tSCC zHpux10_Cpp_Pow_InlineList[] =
1728 "|fixinc-test-limits.h|math.h|";
1729 /*
1730 * Machine/OS name selection pattern
1731 */
1732 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1733
1734 /*
1735 * content selection pattern - do fix if pattern found
1736 */
1737 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1738 "^# +ifdef +__cplusplus\n\
1739 +\\}\n\
1740 +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
1741 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1742 +\\}\n\
1743 +extern +\"C\" +\\{\n\
1744 #else\n\
1745 # +endif";
1746
1747 #define HPUX10_CPP_POW_INLINE_TEST_CT 1
1748 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1749 { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1750
1751 /*
1752 * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1753 */
1754 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1755 "format",
1756 "",
1757 (char*)NULL };
1758
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1760 *
1761 * Description of Hpux11_Cpp_Pow_Inline fix
1762 */
1763 tSCC zHpux11_Cpp_Pow_InlineName[] =
1764 "hpux11_cpp_pow_inline";
1765
1766 /*
1767 * File name selection pattern
1768 */
1769 tSCC zHpux11_Cpp_Pow_InlineList[] =
1770 "|math.h|";
1771 /*
1772 * Machine/OS name selection pattern
1773 */
1774 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
1775
1776 /*
1777 * content selection pattern - do fix if pattern found
1778 */
1779 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
1780 " +inline double pow\\(double d,int expon\\) \\{\n\
1781 +return pow\\(d, \\(double\\)expon\\);\n\
1782 +\\}\n";
1783
1784 #define HPUX11_CPP_POW_INLINE_TEST_CT 1
1785 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
1786 { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1787
1788 /*
1789 * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
1790 */
1791 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
1792 "format",
1793 "",
1794 (char*)NULL };
1795
1796 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1797 *
1798 * Description of Hpux10_Ctype_Declarations1 fix
1799 */
1800 tSCC zHpux10_Ctype_Declarations1Name[] =
1801 "hpux10_ctype_declarations1";
1802
1803 /*
1804 * File name selection pattern
1805 */
1806 tSCC zHpux10_Ctype_Declarations1List[] =
1807 "|ctype.h|";
1808 /*
1809 * Machine/OS name selection pattern
1810 */
1811 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
1812
1813 /*
1814 * content selection pattern - do fix if pattern found
1815 */
1816 tSCC zHpux10_Ctype_Declarations1Select0[] =
1817 "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
1818
1819 /*
1820 * content bypass pattern - skip fix if pattern found
1821 */
1822 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
1823 "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
1824
1825 #define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2
1826 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
1827 { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
1828 { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
1829
1830 /*
1831 * Fix Command Arguments for Hpux10_Ctype_Declarations1
1832 */
1833 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
1834 "format",
1835 "#ifdef _PROTOTYPES\n\
1836 extern int __tolower(int);\n\
1837 extern int __toupper(int);\n\
1838 #else /* NOT _PROTOTYPES */\n\
1839 extern int __tolower();\n\
1840 extern int __toupper();\n\
1841 #endif /* _PROTOTYPES */\n\n\
1842 %0\n",
1843 (char*)NULL };
1844
1845 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1846 *
1847 * Description of Hpux10_Ctype_Declarations2 fix
1848 */
1849 tSCC zHpux10_Ctype_Declarations2Name[] =
1850 "hpux10_ctype_declarations2";
1851
1852 /*
1853 * File name selection pattern
1854 */
1855 tSCC zHpux10_Ctype_Declarations2List[] =
1856 "|ctype.h|";
1857 /*
1858 * Machine/OS name selection pattern
1859 */
1860 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
1861
1862 /*
1863 * content selection pattern - do fix if pattern found
1864 */
1865 tSCC zHpux10_Ctype_Declarations2Select0[] =
1866 "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
1867
1868 /*
1869 * content bypass pattern - skip fix if pattern found
1870 */
1871 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
1872 "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
1873
1874 #define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2
1875 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
1876 { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
1877 { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
1878
1879 /*
1880 * Fix Command Arguments for Hpux10_Ctype_Declarations2
1881 */
1882 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
1883 "format",
1884 "%0\n\n\
1885 #ifdef _PROTOTYPES\n\
1886 extern int _isalnum(int);\n\
1887 extern int _isalpha(int);\n\
1888 extern int _iscntrl(int);\n\
1889 extern int _isdigit(int);\n\
1890 extern int _isgraph(int);\n\
1891 extern int _islower(int);\n\
1892 extern int _isprint(int);\n\
1893 extern int _ispunct(int);\n\
1894 extern int _isspace(int);\n\
1895 extern int _isupper(int);\n\
1896 extern int _isxdigit(int);\n\
1897 # else /* not _PROTOTYPES */\n\
1898 extern int _isalnum();\n\
1899 extern int _isalpha();\n\
1900 extern int _iscntrl();\n\
1901 extern int _isdigit();\n\
1902 extern int _isgraph();\n\
1903 extern int _islower();\n\
1904 extern int _isprint();\n\
1905 extern int _ispunct();\n\
1906 extern int _isspace();\n\
1907 extern int _isupper();\n\
1908 extern int _isxdigit();\n\
1909 #endif /* _PROTOTYPES */\n",
1910 (char*)NULL };
1911
1912 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1913 *
1914 * Description of Hpux11_Abs fix
1915 */
1916 tSCC zHpux11_AbsName[] =
1917 "hpux11_abs";
1918
1919 /*
1920 * File name selection pattern
1921 */
1922 tSCC zHpux11_AbsList[] =
1923 "|stdlib.h|";
1924 /*
1925 * Machine/OS name selection pattern
1926 */
1927 tSCC* apzHpux11_AbsMachs[] = {
1928 "ia64-hp-hpux11*",
1929 (const char*)NULL };
1930
1931 /*
1932 * content selection pattern - do fix if pattern found
1933 */
1934 tSCC zHpux11_AbsSelect0[] =
1935 "ifndef _MATH_INCLUDED";
1936
1937 #define HPUX11_ABS_TEST_CT 1
1938 static tTestDesc aHpux11_AbsTests[] = {
1939 { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, };
1940
1941 /*
1942 * Fix Command Arguments for Hpux11_Abs
1943 */
1944 static const char* apzHpux11_AbsPatch[] = {
1945 "format",
1946 "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
1947 (char*)NULL };
1948
1949 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1950 *
1951 * Description of Hpux11_Fabsf fix
1952 */
1953 tSCC zHpux11_FabsfName[] =
1954 "hpux11_fabsf";
1955
1956 /*
1957 * File name selection pattern
1958 */
1959 tSCC zHpux11_FabsfList[] =
1960 "|math.h|";
1961 /*
1962 * Machine/OS name selection pattern
1963 */
1964 #define apzHpux11_FabsfMachs (const char**)NULL
1965
1966 /*
1967 * content selection pattern - do fix if pattern found
1968 */
1969 tSCC zHpux11_FabsfSelect0[] =
1970 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1971
1972 /*
1973 * content bypass pattern - skip fix if pattern found
1974 */
1975 tSCC zHpux11_FabsfBypass0[] =
1976 "__cplusplus";
1977
1978 #define HPUX11_FABSF_TEST_CT 2
1979 static tTestDesc aHpux11_FabsfTests[] = {
1980 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
1981 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1982
1983 /*
1984 * Fix Command Arguments for Hpux11_Fabsf
1985 */
1986 static const char* apzHpux11_FabsfPatch[] = {
1987 "format",
1988 "#ifndef __cplusplus\n\
1989 %0\n\
1990 #endif",
1991 (char*)NULL };
1992
1993 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1994 *
1995 * Description of Hpux11_Size_T fix
1996 */
1997 tSCC zHpux11_Size_TName[] =
1998 "hpux11_size_t";
1999
2000 /*
2001 * File name selection pattern
2002 */
2003 #define zHpux11_Size_TList (char*)NULL
2004 /*
2005 * Machine/OS name selection pattern
2006 */
2007 tSCC* apzHpux11_Size_TMachs[] = {
2008 "*-hp-hpux11*",
2009 (const char*)NULL };
2010
2011 /*
2012 * content selection pattern - do fix if pattern found
2013 */
2014 tSCC zHpux11_Size_TSelect0[] =
2015 "__size_t";
2016
2017 #define HPUX11_SIZE_T_TEST_CT 1
2018 static tTestDesc aHpux11_Size_TTests[] = {
2019 { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2020
2021 /*
2022 * Fix Command Arguments for Hpux11_Size_T
2023 */
2024 static const char* apzHpux11_Size_TPatch[] = {
2025 "format",
2026 "_hpux_size_t",
2027 (char*)NULL };
2028
2029 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2030 *
2031 * Description of Hpux11_Uint32_C fix
2032 */
2033 tSCC zHpux11_Uint32_CName[] =
2034 "hpux11_uint32_c";
2035
2036 /*
2037 * File name selection pattern
2038 */
2039 tSCC zHpux11_Uint32_CList[] =
2040 "|inttypes.h|";
2041 /*
2042 * Machine/OS name selection pattern
2043 */
2044 #define apzHpux11_Uint32_CMachs (const char**)NULL
2045
2046 /*
2047 * content selection pattern - do fix if pattern found
2048 */
2049 tSCC zHpux11_Uint32_CSelect0[] =
2050 "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2051
2052 #define HPUX11_UINT32_C_TEST_CT 1
2053 static tTestDesc aHpux11_Uint32_CTests[] = {
2054 { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2055
2056 /*
2057 * Fix Command Arguments for Hpux11_Uint32_C
2058 */
2059 static const char* apzHpux11_Uint32_CPatch[] = {
2060 "format",
2061 "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2062 (char*)NULL };
2063
2064 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2065 *
2066 * Description of Hpux11_Vsnprintf fix
2067 */
2068 tSCC zHpux11_VsnprintfName[] =
2069 "hpux11_vsnprintf";
2070
2071 /*
2072 * File name selection pattern
2073 */
2074 tSCC zHpux11_VsnprintfList[] =
2075 "|stdio.h|";
2076 /*
2077 * Machine/OS name selection pattern
2078 */
2079 #define apzHpux11_VsnprintfMachs (const char**)NULL
2080
2081 /*
2082 * content selection pattern - do fix if pattern found
2083 */
2084 tSCC zHpux11_VsnprintfSelect0[] =
2085 "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2086
2087 #define HPUX11_VSNPRINTF_TEST_CT 1
2088 static tTestDesc aHpux11_VsnprintfTests[] = {
2089 { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2090
2091 /*
2092 * Fix Command Arguments for Hpux11_Vsnprintf
2093 */
2094 static const char* apzHpux11_VsnprintfPatch[] = {
2095 "format",
2096 "%1 __va_list);",
2097 (char*)NULL };
2098
2099 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2100 *
2101 * Description of Hpux8_Bogus_Inlines fix
2102 */
2103 tSCC zHpux8_Bogus_InlinesName[] =
2104 "hpux8_bogus_inlines";
2105
2106 /*
2107 * File name selection pattern
2108 */
2109 tSCC zHpux8_Bogus_InlinesList[] =
2110 "|math.h|";
2111 /*
2112 * Machine/OS name selection pattern
2113 */
2114 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2115
2116 /*
2117 * content selection pattern - do fix if pattern found
2118 */
2119 tSCC zHpux8_Bogus_InlinesSelect0[] =
2120 "inline";
2121
2122 #define HPUX8_BOGUS_INLINES_TEST_CT 1
2123 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2124 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2125
2126 /*
2127 * Fix Command Arguments for Hpux8_Bogus_Inlines
2128 */
2129 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2130 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2131 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2132 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2133 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2134 (char*)NULL };
2135
2136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2137 *
2138 * Description of Hpux_Ctype_Macros fix
2139 */
2140 tSCC zHpux_Ctype_MacrosName[] =
2141 "hpux_ctype_macros";
2142
2143 /*
2144 * File name selection pattern
2145 */
2146 tSCC zHpux_Ctype_MacrosList[] =
2147 "|ctype.h|";
2148 /*
2149 * Machine/OS name selection pattern
2150 */
2151 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2152
2153 /*
2154 * content selection pattern - do fix if pattern found
2155 */
2156 tSCC zHpux_Ctype_MacrosSelect0[] =
2157 "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2158
2159 #define HPUX_CTYPE_MACROS_TEST_CT 1
2160 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2161 { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2162
2163 /*
2164 * Fix Command Arguments for Hpux_Ctype_Macros
2165 */
2166 static const char* apzHpux_Ctype_MacrosPatch[] = {
2167 "format",
2168 "%1(int)%3",
2169 (char*)NULL };
2170
2171 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2172 *
2173 * Description of Hpux_Long_Double fix
2174 */
2175 tSCC zHpux_Long_DoubleName[] =
2176 "hpux_long_double";
2177
2178 /*
2179 * File name selection pattern
2180 */
2181 tSCC zHpux_Long_DoubleList[] =
2182 "|stdlib.h|";
2183 /*
2184 * Machine/OS name selection pattern
2185 */
2186 #define apzHpux_Long_DoubleMachs (const char**)NULL
2187
2188 /*
2189 * content selection pattern - do fix if pattern found
2190 */
2191 tSCC zHpux_Long_DoubleSelect0[] =
2192 "extern[ \t]long_double[ \t]strtold";
2193
2194 /*
2195 * content bypass pattern - skip fix if pattern found
2196 */
2197 tSCC zHpux_Long_DoubleBypass0[] =
2198 "long_double_t";
2199
2200 #define HPUX_LONG_DOUBLE_TEST_CT 2
2201 static tTestDesc aHpux_Long_DoubleTests[] = {
2202 { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2203 { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2204
2205 /*
2206 * Fix Command Arguments for Hpux_Long_Double
2207 */
2208 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2209 "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2210 "-e", "s/long_double/long double/g",
2211 (char*)NULL };
2212
2213 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2214 *
2215 * Description of Hpux_Maxint fix
2216 */
2217 tSCC zHpux_MaxintName[] =
2218 "hpux_maxint";
2219
2220 /*
2221 * File name selection pattern
2222 */
2223 tSCC zHpux_MaxintList[] =
2224 "|sys/param.h|values.h|";
2225 /*
2226 * Machine/OS name selection pattern
2227 */
2228 #define apzHpux_MaxintMachs (const char**)NULL
2229
2230 /*
2231 * content selection pattern - do fix if pattern found
2232 */
2233 tSCC zHpux_MaxintSelect0[] =
2234 "^#[ \t]*define[ \t]+MAXINT[ \t]";
2235
2236 /*
2237 * content bypass pattern - skip fix if pattern found
2238 */
2239 tSCC zHpux_MaxintBypass0[] =
2240 "^#[ \t]*ifndef[ \t]+MAXINT";
2241
2242 /*
2243 * perform the 'test' shell command - do fix on success
2244 */
2245 tSCC zHpux_MaxintTest0[] =
2246 "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2247
2248 #define HPUX_MAXINT_TEST_CT 3
2249 static tTestDesc aHpux_MaxintTests[] = {
2250 { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
2251 { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
2252 { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
2253
2254 /*
2255 * Fix Command Arguments for Hpux_Maxint
2256 */
2257 static const char* apzHpux_MaxintPatch[] = {
2258 "format",
2259 "#ifndef MAXINT\n\
2260 %0\n\
2261 #endif",
2262 "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2263 (char*)NULL };
2264
2265 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2266 *
2267 * Description of Hpux_Systime fix
2268 */
2269 tSCC zHpux_SystimeName[] =
2270 "hpux_systime";
2271
2272 /*
2273 * File name selection pattern
2274 */
2275 tSCC zHpux_SystimeList[] =
2276 "|sys/time.h|";
2277 /*
2278 * Machine/OS name selection pattern
2279 */
2280 #define apzHpux_SystimeMachs (const char**)NULL
2281
2282 /*
2283 * content selection pattern - do fix if pattern found
2284 */
2285 tSCC zHpux_SystimeSelect0[] =
2286 "^extern struct sigevent;";
2287
2288 #define HPUX_SYSTIME_TEST_CT 1
2289 static tTestDesc aHpux_SystimeTests[] = {
2290 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
2291
2292 /*
2293 * Fix Command Arguments for Hpux_Systime
2294 */
2295 static const char* apzHpux_SystimePatch[] = {
2296 "format",
2297 "struct sigevent;",
2298 (char*)NULL };
2299
2300 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2301 *
2302 * Description of Int_Abort_Free_And_Exit fix
2303 */
2304 tSCC zInt_Abort_Free_And_ExitName[] =
2305 "int_abort_free_and_exit";
2306
2307 /*
2308 * File name selection pattern
2309 */
2310 tSCC zInt_Abort_Free_And_ExitList[] =
2311 "|stdlib.h|";
2312 /*
2313 * Machine/OS name selection pattern
2314 */
2315 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2316
2317 /*
2318 * content selection pattern - do fix if pattern found
2319 */
2320 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2321 "int[ \t]+(abort|free|exit)[ \t]*\\(";
2322
2323 #define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
2324 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2325 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2326
2327 /*
2328 * Fix Command Arguments for Int_Abort_Free_And_Exit
2329 */
2330 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2331 "format",
2332 "void\t%1(",
2333 (char*)NULL };
2334
2335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2336 *
2337 * Description of Io_Quotes_Def fix
2338 */
2339 tSCC zIo_Quotes_DefName[] =
2340 "io_quotes_def";
2341
2342 /*
2343 * File name selection pattern
2344 */
2345 #define zIo_Quotes_DefList (char*)NULL
2346 /*
2347 * Machine/OS name selection pattern
2348 */
2349 #define apzIo_Quotes_DefMachs (const char**)NULL
2350
2351 /*
2352 * content selection pattern - do fix if pattern found
2353 */
2354 tSCC zIo_Quotes_DefSelect0[] =
2355 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2356
2357 #define IO_QUOTES_DEF_TEST_CT 1
2358 static tTestDesc aIo_Quotes_DefTests[] = {
2359 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2360
2361 /*
2362 * Fix Command Arguments for Io_Quotes_Def
2363 */
2364 static const char* apzIo_Quotes_DefPatch[] = {
2365 "char_macro_def",
2366 "IO",
2367 (char*)NULL };
2368
2369 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2370 *
2371 * Description of Io_Quotes_Use fix
2372 */
2373 tSCC zIo_Quotes_UseName[] =
2374 "io_quotes_use";
2375
2376 /*
2377 * File name selection pattern
2378 */
2379 #define zIo_Quotes_UseList (char*)NULL
2380 /*
2381 * Machine/OS name selection pattern
2382 */
2383 #define apzIo_Quotes_UseMachs (const char**)NULL
2384
2385 /*
2386 * content selection pattern - do fix if pattern found
2387 */
2388 tSCC zIo_Quotes_UseSelect0[] =
2389 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2390
2391 #define IO_QUOTES_USE_TEST_CT 1
2392 static tTestDesc aIo_Quotes_UseTests[] = {
2393 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2394
2395 /*
2396 * Fix Command Arguments for Io_Quotes_Use
2397 */
2398 static const char* apzIo_Quotes_UsePatch[] = {
2399 "char_macro_use",
2400 "IO",
2401 (char*)NULL };
2402
2403 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2404 *
2405 * Description of Ip_Missing_Semi fix
2406 */
2407 tSCC zIp_Missing_SemiName[] =
2408 "ip_missing_semi";
2409
2410 /*
2411 * File name selection pattern
2412 */
2413 tSCC zIp_Missing_SemiList[] =
2414 "|netinet/ip.h|";
2415 /*
2416 * Machine/OS name selection pattern
2417 */
2418 #define apzIp_Missing_SemiMachs (const char**)NULL
2419
2420 /*
2421 * content selection pattern - do fix if pattern found
2422 */
2423 tSCC zIp_Missing_SemiSelect0[] =
2424 "}$";
2425
2426 #define IP_MISSING_SEMI_TEST_CT 1
2427 static tTestDesc aIp_Missing_SemiTests[] = {
2428 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2429
2430 /*
2431 * Fix Command Arguments for Ip_Missing_Semi
2432 */
2433 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2434 "-e", "/^struct/,/^};/s/}$/};/",
2435 (char*)NULL };
2436
2437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2438 *
2439 * Description of Irix___Restrict fix
2440 */
2441 tSCC zIrix___RestrictName[] =
2442 "irix___restrict";
2443
2444 /*
2445 * File name selection pattern
2446 */
2447 tSCC zIrix___RestrictList[] =
2448 "|internal/sgimacros.h|";
2449 /*
2450 * Machine/OS name selection pattern
2451 */
2452 tSCC* apzIrix___RestrictMachs[] = {
2453 "mips-sgi-irix6.5",
2454 (const char*)NULL };
2455
2456 /*
2457 * content selection pattern - do fix if pattern found
2458 */
2459 tSCC zIrix___RestrictSelect0[] =
2460 "(#ifdef __c99\n\
2461 )(#[ \t]*define __restrict restrict)";
2462
2463 #define IRIX___RESTRICT_TEST_CT 1
2464 static tTestDesc aIrix___RestrictTests[] = {
2465 { TT_EGREP, zIrix___RestrictSelect0, (regex_t*)NULL }, };
2466
2467 /*
2468 * Fix Command Arguments for Irix___Restrict
2469 */
2470 static const char* apzIrix___RestrictPatch[] = {
2471 "format",
2472 "%1# ifndef __cplusplus\n\
2473 %2\n\
2474 # endif",
2475 (char*)NULL };
2476
2477 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2478 *
2479 * Description of Irix_Asm_Apostrophe fix
2480 */
2481 tSCC zIrix_Asm_ApostropheName[] =
2482 "irix_asm_apostrophe";
2483
2484 /*
2485 * File name selection pattern
2486 */
2487 tSCC zIrix_Asm_ApostropheList[] =
2488 "|sys/asm.h|";
2489 /*
2490 * Machine/OS name selection pattern
2491 */
2492 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2493
2494 /*
2495 * content selection pattern - do fix if pattern found
2496 */
2497 tSCC zIrix_Asm_ApostropheSelect0[] =
2498 "^[ \t]*#.*[Ww]e're";
2499
2500 #define IRIX_ASM_APOSTROPHE_TEST_CT 1
2501 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2502 { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2503
2504 /*
2505 * Fix Command Arguments for Irix_Asm_Apostrophe
2506 */
2507 static const char* apzIrix_Asm_ApostrophePatch[] = {
2508 "format",
2509 "%1 are",
2510 "^([ \t]*#.*[Ww]e)'re",
2511 (char*)NULL };
2512
2513 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2514 *
2515 * Description of Irix_Limits_Const fix
2516 */
2517 tSCC zIrix_Limits_ConstName[] =
2518 "irix_limits_const";
2519
2520 /*
2521 * File name selection pattern
2522 */
2523 tSCC zIrix_Limits_ConstList[] =
2524 "|fixinc-test-limits.h|limits.h|";
2525 /*
2526 * Machine/OS name selection pattern
2527 */
2528 #define apzIrix_Limits_ConstMachs (const char**)NULL
2529
2530 /*
2531 * content selection pattern - do fix if pattern found
2532 */
2533 tSCC zIrix_Limits_ConstSelect0[] =
2534 "^extern const ";
2535
2536 #define IRIX_LIMITS_CONST_TEST_CT 1
2537 static tTestDesc aIrix_Limits_ConstTests[] = {
2538 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2539
2540 /*
2541 * Fix Command Arguments for Irix_Limits_Const
2542 */
2543 static const char* apzIrix_Limits_ConstPatch[] = {
2544 "format",
2545 "extern __const ",
2546 (char*)NULL };
2547
2548 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2549 *
2550 * Description of Irix_Socklen_T fix
2551 */
2552 tSCC zIrix_Socklen_TName[] =
2553 "irix_socklen_t";
2554
2555 /*
2556 * File name selection pattern
2557 */
2558 tSCC zIrix_Socklen_TList[] =
2559 "|sys/socket.h|";
2560 /*
2561 * Machine/OS name selection pattern
2562 */
2563 tSCC* apzIrix_Socklen_TMachs[] = {
2564 "mips-sgi-irix6.5",
2565 (const char*)NULL };
2566
2567 /*
2568 * content selection pattern - do fix if pattern found
2569 */
2570 tSCC zIrix_Socklen_TSelect0[] =
2571 "(#define _SOCKLEN_T\n\
2572 )(typedef u_int32_t socklen_t;)";
2573
2574 #define IRIX_SOCKLEN_T_TEST_CT 1
2575 static tTestDesc aIrix_Socklen_TTests[] = {
2576 { TT_EGREP, zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
2577
2578 /*
2579 * Fix Command Arguments for Irix_Socklen_T
2580 */
2581 static const char* apzIrix_Socklen_TPatch[] = {
2582 "format",
2583 "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
2584 typedef int socklen_t;\n\
2585 #else\n\
2586 %2\n\
2587 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
2588 (char*)NULL };
2589
2590 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2591 *
2592 * Description of Irix_Stdio_Va_List fix
2593 */
2594 tSCC zIrix_Stdio_Va_ListName[] =
2595 "irix_stdio_va_list";
2596
2597 /*
2598 * File name selection pattern
2599 */
2600 tSCC zIrix_Stdio_Va_ListList[] =
2601 "|stdio.h|internal/stdio_core.h|";
2602 /*
2603 * Machine/OS name selection pattern
2604 */
2605 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2606
2607 /*
2608 * content selection pattern - do fix if pattern found
2609 */
2610 tSCC zIrix_Stdio_Va_ListSelect0[] =
2611 "(printf\\(.*), /\\* va_list \\*/ char \\*";
2612
2613 #define IRIX_STDIO_VA_LIST_TEST_CT 1
2614 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2615 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2616
2617 /*
2618 * Fix Command Arguments for Irix_Stdio_Va_List
2619 */
2620 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2621 "format",
2622 "%1, __gnuc_va_list",
2623 (char*)NULL };
2624
2625 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2626 *
2627 * Description of Irix_Wcsftime fix
2628 */
2629 tSCC zIrix_WcsftimeName[] =
2630 "irix_wcsftime";
2631
2632 /*
2633 * File name selection pattern
2634 */
2635 tSCC zIrix_WcsftimeList[] =
2636 "|internal/wchar_core.h|";
2637 /*
2638 * Machine/OS name selection pattern
2639 */
2640 tSCC* apzIrix_WcsftimeMachs[] = {
2641 "mips-sgi-irix6.5",
2642 (const char*)NULL };
2643
2644 /*
2645 * content selection pattern - do fix if pattern found
2646 */
2647 tSCC zIrix_WcsftimeSelect0[] =
2648 "#if _NO_XOPEN5\n\
2649 (extern size_t[ \t]+wcsftime.*const char *.*)";
2650
2651 #define IRIX_WCSFTIME_TEST_CT 1
2652 static tTestDesc aIrix_WcsftimeTests[] = {
2653 { TT_EGREP, zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
2654
2655 /*
2656 * Fix Command Arguments for Irix_Wcsftime
2657 */
2658 static const char* apzIrix_WcsftimePatch[] = {
2659 "format",
2660 "#if _NO_XOPEN5 && !defined(__c99)\n\
2661 %1",
2662 (char*)NULL };
2663
2664 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2665 *
2666 * Description of Isc_Fmod fix
2667 */
2668 tSCC zIsc_FmodName[] =
2669 "isc_fmod";
2670
2671 /*
2672 * File name selection pattern
2673 */
2674 tSCC zIsc_FmodList[] =
2675 "|math.h|";
2676 /*
2677 * Machine/OS name selection pattern
2678 */
2679 #define apzIsc_FmodMachs (const char**)NULL
2680
2681 /*
2682 * content selection pattern - do fix if pattern found
2683 */
2684 tSCC zIsc_FmodSelect0[] =
2685 "fmod\\(double\\)";
2686
2687 #define ISC_FMOD_TEST_CT 1
2688 static tTestDesc aIsc_FmodTests[] = {
2689 { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, };
2690
2691 /*
2692 * Fix Command Arguments for Isc_Fmod
2693 */
2694 static const char* apzIsc_FmodPatch[] = {
2695 "format",
2696 "fmod(double, double)",
2697 (char*)NULL };
2698
2699 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2700 *
2701 * Description of Isc_Omits_With_Stdc fix
2702 */
2703 tSCC zIsc_Omits_With_StdcName[] =
2704 "isc_omits_with_stdc";
2705
2706 /*
2707 * File name selection pattern
2708 */
2709 tSCC zIsc_Omits_With_StdcList[] =
2710 "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2711 /*
2712 * Machine/OS name selection pattern
2713 */
2714 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2715
2716 /*
2717 * content selection pattern - do fix if pattern found
2718 */
2719 tSCC zIsc_Omits_With_StdcSelect0[] =
2720 "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2721
2722 #define ISC_OMITS_WITH_STDC_TEST_CT 1
2723 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2724 { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2725
2726 /*
2727 * Fix Command Arguments for Isc_Omits_With_Stdc
2728 */
2729 static const char* apzIsc_Omits_With_StdcPatch[] = {
2730 "format",
2731 "!defined(_POSIX_SOURCE)",
2732 (char*)NULL };
2733
2734 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2735 *
2736 * Description of Kandr_Concat fix
2737 */
2738 tSCC zKandr_ConcatName[] =
2739 "kandr_concat";
2740
2741 /*
2742 * File name selection pattern
2743 */
2744 tSCC zKandr_ConcatList[] =
2745 "|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|";
2746 /*
2747 * Machine/OS name selection pattern
2748 */
2749 #define apzKandr_ConcatMachs (const char**)NULL
2750
2751 /*
2752 * content selection pattern - do fix if pattern found
2753 */
2754 tSCC zKandr_ConcatSelect0[] =
2755 "/\\*\\*/";
2756
2757 #define KANDR_CONCAT_TEST_CT 1
2758 static tTestDesc aKandr_ConcatTests[] = {
2759 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
2760
2761 /*
2762 * Fix Command Arguments for Kandr_Concat
2763 */
2764 static const char* apzKandr_ConcatPatch[] = {
2765 "format",
2766 "##",
2767 (char*)NULL };
2768
2769 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2770 *
2771 * Description of Libc1_G_Va_List fix
2772 */
2773 tSCC zLibc1_G_Va_ListName[] =
2774 "libc1_G_va_list";
2775
2776 /*
2777 * File name selection pattern
2778 */
2779 tSCC zLibc1_G_Va_ListList[] =
2780 "|_G_config.h|";
2781 /*
2782 * Machine/OS name selection pattern
2783 */
2784 tSCC* apzLibc1_G_Va_ListMachs[] = {
2785 "*-*-linux*libc1",
2786 (const char*)NULL };
2787
2788 /*
2789 * content selection pattern - do fix if pattern found
2790 */
2791 tSCC zLibc1_G_Va_ListSelect0[] =
2792 "typedef void \\* _G_va_list;";
2793
2794 #define LIBC1_G_VA_LIST_TEST_CT 1
2795 static tTestDesc aLibc1_G_Va_ListTests[] = {
2796 { TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
2797
2798 /*
2799 * Fix Command Arguments for Libc1_G_Va_List
2800 */
2801 static const char* apzLibc1_G_Va_ListPatch[] = {
2802 "format",
2803 "typedef __builtin_va_list _G_va_list;",
2804 (char*)NULL };
2805
2806 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2807 *
2808 * Description of Libc1_Ifdefd_Memx fix
2809 */
2810 tSCC zLibc1_Ifdefd_MemxName[] =
2811 "libc1_ifdefd_memx";
2812
2813 /*
2814 * File name selection pattern
2815 */
2816 tSCC zLibc1_Ifdefd_MemxList[] =
2817 "|testing.h|string.h|";
2818 /*
2819 * Machine/OS name selection pattern
2820 */
2821 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2822
2823 /*
2824 * content selection pattern - do fix if pattern found
2825 */
2826 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2827 "' is a built-in function for gcc 2\\.x\\. \\*/";
2828
2829 /*
2830 * content bypass pattern - skip fix if pattern found
2831 */
2832 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2833 "__cplusplus";
2834
2835 #define LIBC1_IFDEFD_MEMX_TEST_CT 2
2836 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2837 { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2838 { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2839
2840 /*
2841 * Fix Command Arguments for Libc1_Ifdefd_Memx
2842 */
2843 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2844 "format",
2845 "%1",
2846 "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2847 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
2848 (/\\* .* \\*/\n\
2849 extern [a-z_]+ mem.*(\n\
2850 [^#].*)*;)\n\
2851 #endif",
2852 (char*)NULL };
2853
2854 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2855 *
2856 * Description of Limits_Ifndefs fix
2857 */
2858 tSCC zLimits_IfndefsName[] =
2859 "limits_ifndefs";
2860
2861 /*
2862 * File name selection pattern
2863 */
2864 tSCC zLimits_IfndefsList[] =
2865 "|sys/limits.h|limits.h|";
2866 /*
2867 * Machine/OS name selection pattern
2868 */
2869 #define apzLimits_IfndefsMachs (const char**)NULL
2870
2871 /*
2872 * content selection pattern - do fix if pattern found
2873 */
2874 tSCC zLimits_IfndefsSelect0[] =
2875 "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*";
2876
2877 /*
2878 * content bypass pattern - skip fix if pattern found
2879 */
2880 tSCC zLimits_IfndefsBypass0[] =
2881 "ifndef[ \t]+FLT_(MIN|MAX)";
2882
2883 #define LIMITS_IFNDEFS_TEST_CT 2
2884 static tTestDesc aLimits_IfndefsTests[] = {
2885 { TT_NEGREP, zLimits_IfndefsBypass0, (regex_t*)NULL },
2886 { TT_EGREP, zLimits_IfndefsSelect0, (regex_t*)NULL }, };
2887
2888 /*
2889 * Fix Command Arguments for Limits_Ifndefs
2890 */
2891 static const char* apzLimits_IfndefsPatch[] = {
2892 "format",
2893 "#ifndef %1\n\
2894 %0\n\
2895 #endif",
2896 (char*)NULL };
2897
2898 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2899 *
2900 * Description of Lynx_Void_Int fix
2901 */
2902 tSCC zLynx_Void_IntName[] =
2903 "lynx_void_int";
2904
2905 /*
2906 * File name selection pattern
2907 */
2908 tSCC zLynx_Void_IntList[] =
2909 "|curses.h|";
2910 /*
2911 * Machine/OS name selection pattern
2912 */
2913 #define apzLynx_Void_IntMachs (const char**)NULL
2914
2915 /*
2916 * content selection pattern - do fix if pattern found
2917 */
2918 tSCC zLynx_Void_IntSelect0[] =
2919 "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
2920
2921 #define LYNX_VOID_INT_TEST_CT 1
2922 static tTestDesc aLynx_Void_IntTests[] = {
2923 { TT_EGREP, zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2924
2925 /*
2926 * Fix Command Arguments for Lynx_Void_Int
2927 */
2928 static const char* apzLynx_Void_IntPatch[] = {
2929 "format",
2930 "",
2931 (char*)NULL };
2932
2933 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2934 *
2935 * Description of Lynxos_Fcntl_Proto fix
2936 */
2937 tSCC zLynxos_Fcntl_ProtoName[] =
2938 "lynxos_fcntl_proto";
2939
2940 /*
2941 * File name selection pattern
2942 */
2943 tSCC zLynxos_Fcntl_ProtoList[] =
2944 "|fcntl.h|";
2945 /*
2946 * Machine/OS name selection pattern
2947 */
2948 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2949
2950 /*
2951 * content selection pattern - do fix if pattern found
2952 */
2953 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2954 "fcntl[ \t]*\\(int, int, int\\)";
2955
2956 #define LYNXOS_FCNTL_PROTO_TEST_CT 1
2957 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2958 { TT_EGREP, zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2959
2960 /*
2961 * Fix Command Arguments for Lynxos_Fcntl_Proto
2962 */
2963 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
2964 "format",
2965 "%1...)",
2966 "(fcntl[ \t]*\\(int, int, )int\\)",
2967 (char*)NULL };
2968
2969 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2970 *
2971 * Description of Machine_Ansi_H_Va_List fix
2972 */
2973 tSCC zMachine_Ansi_H_Va_ListName[] =
2974 "machine_ansi_h_va_list";
2975
2976 /*
2977 * File name selection pattern
2978 */
2979 #define zMachine_Ansi_H_Va_ListList (char*)NULL
2980 /*
2981 * Machine/OS name selection pattern
2982 */
2983 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2984
2985 /*
2986 * content selection pattern - do fix if pattern found
2987 */
2988 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
2989 "define[ \t]+_BSD_VA_LIST_[ \t]";
2990
2991 /*
2992 * content bypass pattern - skip fix if pattern found
2993 */
2994 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2995 "__builtin_va_list";
2996
2997 #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
2998 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
2999 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3000 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3001
3002 /*
3003 * Fix Command Arguments for Machine_Ansi_H_Va_List
3004 */
3005 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3006 "format",
3007 "%1__builtin_va_list",
3008 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3009 (char*)NULL };
3010
3011 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3012 *
3013 * Description of Machine_Name fix
3014 */
3015 tSCC zMachine_NameName[] =
3016 "machine_name";
3017
3018 /*
3019 * File name selection pattern
3020 */
3021 #define zMachine_NameList (char*)NULL
3022 /*
3023 * Machine/OS name selection pattern
3024 */
3025 #define apzMachine_NameMachs (const char**)NULL
3026
3027 /*
3028 * perform the C function call test
3029 */
3030 tSCC zMachine_NameFTst0[] = "machine_name";
3031
3032 #define MACHINE_NAME_TEST_CT 1
3033 static tTestDesc aMachine_NameTests[] = {
3034 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
3035
3036 /*
3037 * Fix Command Arguments for Machine_Name
3038 */
3039 static const char* apzMachine_NamePatch[] = {
3040 "machine_name",
3041 (char*)NULL };
3042
3043 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3044 *
3045 * Description of Math_Exception fix
3046 */
3047 tSCC zMath_ExceptionName[] =
3048 "math_exception";
3049
3050 /*
3051 * File name selection pattern
3052 */
3053 tSCC zMath_ExceptionList[] =
3054 "|math.h|";
3055 /*
3056 * Machine/OS name selection pattern
3057 */
3058 #define apzMath_ExceptionMachs (const char**)NULL
3059
3060 /*
3061 * content selection pattern - do fix if pattern found
3062 */
3063 tSCC zMath_ExceptionSelect0[] =
3064 "struct exception";
3065
3066 /*
3067 * content bypass pattern - skip fix if pattern found
3068 */
3069 tSCC zMath_ExceptionBypass0[] =
3070 "__cplusplus";
3071
3072 #define MATH_EXCEPTION_TEST_CT 2
3073 static tTestDesc aMath_ExceptionTests[] = {
3074 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
3075 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
3076
3077 /*
3078 * Fix Command Arguments for Math_Exception
3079 */
3080 static const char* apzMath_ExceptionPatch[] = {
3081 "wrap",
3082 "#ifdef __cplusplus\n\
3083 #define exception __math_exception\n\
3084 #endif\n",
3085 "#ifdef __cplusplus\n\
3086 #undef exception\n\
3087 #endif\n",
3088 (char*)NULL };
3089
3090 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3091 *
3092 * Description of Math_Huge_Val_From_Dbl_Max fix
3093 */
3094 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3095 "math_huge_val_from_dbl_max";
3096
3097 /*
3098 * File name selection pattern
3099 */
3100 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3101 "|math.h|";
3102 /*
3103 * Machine/OS name selection pattern
3104 */
3105 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3106
3107 /*
3108 * content selection pattern - do fix if pattern found
3109 */
3110 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3111 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3112
3113 /*
3114 * content bypass pattern - skip fix if pattern found
3115 */
3116 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3117 "define[ \t]+DBL_MAX";
3118
3119 #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
3120 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3121 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
3122 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
3123
3124 /*
3125 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
3126 */
3127 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
3128 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
3129 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
3130 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
3131 \telse cat\n\
3132 \tfi",
3133 (char*)NULL };
3134
3135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3136 *
3137 * Description of Math_Huge_Val_Ifndef fix
3138 */
3139 tSCC zMath_Huge_Val_IfndefName[] =
3140 "math_huge_val_ifndef";
3141
3142 /*
3143 * File name selection pattern
3144 */
3145 tSCC zMath_Huge_Val_IfndefList[] =
3146 "|math.h|math/math.h|";
3147 /*
3148 * Machine/OS name selection pattern
3149 */
3150 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
3151
3152 /*
3153 * content selection pattern - do fix if pattern found
3154 */
3155 tSCC zMath_Huge_Val_IfndefSelect0[] =
3156 "define[ \t]+HUGE_VAL";
3157
3158 #define MATH_HUGE_VAL_IFNDEF_TEST_CT 1
3159 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3160 { TT_EGREP, zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3161
3162 /*
3163 * Fix Command Arguments for Math_Huge_Val_Ifndef
3164 */
3165 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3166 "format",
3167 "#ifndef HUGE_VAL\n\
3168 %0\n\
3169 #endif",
3170 "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3171 (char*)NULL };
3172
3173 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3174 *
3175 * Description of Nested_Auth_Des fix
3176 */
3177 tSCC zNested_Auth_DesName[] =
3178 "nested_auth_des";
3179
3180 /*
3181 * File name selection pattern
3182 */
3183 tSCC zNested_Auth_DesList[] =
3184 "|rpc/rpc.h|";
3185 /*
3186 * Machine/OS name selection pattern
3187 */
3188 #define apzNested_Auth_DesMachs (const char**)NULL
3189
3190 /*
3191 * content selection pattern - do fix if pattern found
3192 */
3193 tSCC zNested_Auth_DesSelect0[] =
3194 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3195
3196 #define NESTED_AUTH_DES_TEST_CT 1
3197 static tTestDesc aNested_Auth_DesTests[] = {
3198 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3199
3200 /*
3201 * Fix Command Arguments for Nested_Auth_Des
3202 */
3203 static const char* apzNested_Auth_DesPatch[] = {
3204 "format",
3205 "%1*/ /*",
3206 (char*)NULL };
3207
3208 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3209 *
3210 * Description of Nested_Motorola fix
3211 */
3212 tSCC zNested_MotorolaName[] =
3213 "nested_motorola";
3214
3215 /*
3216 * File name selection pattern
3217 */
3218 tSCC zNested_MotorolaList[] =
3219 "|sys/limits.h|limits.h|";
3220 /*
3221 * Machine/OS name selection pattern
3222 */
3223 tSCC* apzNested_MotorolaMachs[] = {
3224 "m68k-motorola-sysv*",
3225 (const char*)NULL };
3226
3227 /*
3228 * content selection pattern - do fix if pattern found
3229 */
3230 tSCC zNested_MotorolaSelect0[] =
3231 "max # bytes atomic in write|error value returned by Math lib";
3232
3233 #define NESTED_MOTOROLA_TEST_CT 1
3234 static tTestDesc aNested_MotorolaTests[] = {
3235 { TT_EGREP, zNested_MotorolaSelect0, (regex_t*)NULL }, };
3236
3237 /*
3238 * Fix Command Arguments for Nested_Motorola
3239 */
3240 static const char* apzNested_MotorolaPatch[] = { "sed",
3241 "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3242 "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3243 (char*)NULL };
3244
3245 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3246 *
3247 * Description of Nested_Sys_Limits fix
3248 */
3249 tSCC zNested_Sys_LimitsName[] =
3250 "nested_sys_limits";
3251
3252 /*
3253 * File name selection pattern
3254 */
3255 tSCC zNested_Sys_LimitsList[] =
3256 "|sys/limits.h|";
3257 /*
3258 * Machine/OS name selection pattern
3259 */
3260 #define apzNested_Sys_LimitsMachs (const char**)NULL
3261
3262 /*
3263 * content selection pattern - do fix if pattern found
3264 */
3265 tSCC zNested_Sys_LimitsSelect0[] =
3266 "CHILD_MAX";
3267
3268 #define NESTED_SYS_LIMITS_TEST_CT 1
3269 static tTestDesc aNested_Sys_LimitsTests[] = {
3270 { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3271
3272 /*
3273 * Fix Command Arguments for Nested_Sys_Limits
3274 */
3275 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3276 "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3277 "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3278 (char*)NULL };
3279
3280 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3281 *
3282 * Description of Netbsd_Extra_Semicolon fix
3283 */
3284 tSCC zNetbsd_Extra_SemicolonName[] =
3285 "netbsd_extra_semicolon";
3286
3287 /*
3288 * File name selection pattern
3289 */
3290 tSCC zNetbsd_Extra_SemicolonList[] =
3291 "|sys/cdefs.h|";
3292 /*
3293 * Machine/OS name selection pattern
3294 */
3295 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
3296 "*-*-netbsd*",
3297 (const char*)NULL };
3298
3299 /*
3300 * content selection pattern - do fix if pattern found
3301 */
3302 tSCC zNetbsd_Extra_SemicolonSelect0[] =
3303 "#define[ \t]*__END_DECLS[ \t]*};";
3304
3305 #define NETBSD_EXTRA_SEMICOLON_TEST_CT 1
3306 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
3307 { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
3308
3309 /*
3310 * Fix Command Arguments for Netbsd_Extra_Semicolon
3311 */
3312 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
3313 "format",
3314 "#define __END_DECLS }",
3315 (char*)NULL };
3316
3317 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3318 *
3319 * Description of Next_Math_Prefix fix
3320 */
3321 tSCC zNext_Math_PrefixName[] =
3322 "next_math_prefix";
3323
3324 /*
3325 * File name selection pattern
3326 */
3327 tSCC zNext_Math_PrefixList[] =
3328 "|ansi/math.h|";
3329 /*
3330 * Machine/OS name selection pattern
3331 */
3332 #define apzNext_Math_PrefixMachs (const char**)NULL
3333
3334 /*
3335 * content selection pattern - do fix if pattern found
3336 */
3337 tSCC zNext_Math_PrefixSelect0[] =
3338 "^extern[ \t]+double[ \t]+__const__[ \t]";
3339
3340 #define NEXT_MATH_PREFIX_TEST_CT 1
3341 static tTestDesc aNext_Math_PrefixTests[] = {
3342 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3343
3344 /*
3345 * Fix Command Arguments for Next_Math_Prefix
3346 */
3347 static const char* apzNext_Math_PrefixPatch[] = {
3348 "format",
3349 "extern double %1(",
3350 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3351 (char*)NULL };
3352
3353 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3354 *
3355 * Description of Next_Template fix
3356 */
3357 tSCC zNext_TemplateName[] =
3358 "next_template";
3359
3360 /*
3361 * File name selection pattern
3362 */
3363 tSCC zNext_TemplateList[] =
3364 "|bsd/libc.h|";
3365 /*
3366 * Machine/OS name selection pattern
3367 */
3368 #define apzNext_TemplateMachs (const char**)NULL
3369
3370 /*
3371 * content selection pattern - do fix if pattern found
3372 */
3373 tSCC zNext_TemplateSelect0[] =
3374 "[ \t]template\\)";
3375
3376 #define NEXT_TEMPLATE_TEST_CT 1
3377 static tTestDesc aNext_TemplateTests[] = {
3378 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
3379
3380 /*
3381 * Fix Command Arguments for Next_Template
3382 */
3383 static const char* apzNext_TemplatePatch[] = {
3384 "format",
3385 "(%1)",
3386 "\\(([^)]*)[ \t]template\\)",
3387 (char*)NULL };
3388
3389 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3390 *
3391 * Description of Next_Volitile fix
3392 */
3393 tSCC zNext_VolitileName[] =
3394 "next_volitile";
3395
3396 /*
3397 * File name selection pattern
3398 */
3399 tSCC zNext_VolitileList[] =
3400 "|ansi/stdlib.h|";
3401 /*
3402 * Machine/OS name selection pattern
3403 */
3404 #define apzNext_VolitileMachs (const char**)NULL
3405
3406 /*
3407 * content selection pattern - do fix if pattern found
3408 */
3409 tSCC zNext_VolitileSelect0[] =
3410 "^extern[ \t]+volatile[ \t]+void[ \t]";
3411
3412 #define NEXT_VOLITILE_TEST_CT 1
3413 static tTestDesc aNext_VolitileTests[] = {
3414 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
3415
3416 /*
3417 * Fix Command Arguments for Next_Volitile
3418 */
3419 static const char* apzNext_VolitilePatch[] = {
3420 "format",
3421 "extern void %1(",
3422 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3423 (char*)NULL };
3424
3425 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3426 *
3427 * Description of Next_Wait_Union fix
3428 */
3429 tSCC zNext_Wait_UnionName[] =
3430 "next_wait_union";
3431
3432 /*
3433 * File name selection pattern
3434 */
3435 tSCC zNext_Wait_UnionList[] =
3436 "|sys/wait.h|";
3437 /*
3438 * Machine/OS name selection pattern
3439 */
3440 #define apzNext_Wait_UnionMachs (const char**)NULL
3441
3442 /*
3443 * content selection pattern - do fix if pattern found
3444 */
3445 tSCC zNext_Wait_UnionSelect0[] =
3446 "wait\\(union wait";
3447
3448 #define NEXT_WAIT_UNION_TEST_CT 1
3449 static tTestDesc aNext_Wait_UnionTests[] = {
3450 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3451
3452 /*
3453 * Fix Command Arguments for Next_Wait_Union
3454 */
3455 static const char* apzNext_Wait_UnionPatch[] = {
3456 "format",
3457 "wait(void",
3458 (char*)NULL };
3459
3460 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3461 *
3462 * Description of Nodeent_Syntax fix
3463 */
3464 tSCC zNodeent_SyntaxName[] =
3465 "nodeent_syntax";
3466
3467 /*
3468 * File name selection pattern
3469 */
3470 tSCC zNodeent_SyntaxList[] =
3471 "|netdnet/dnetdb.h|";
3472 /*
3473 * Machine/OS name selection pattern
3474 */
3475 #define apzNodeent_SyntaxMachs (const char**)NULL
3476
3477 /*
3478 * content selection pattern - do fix if pattern found
3479 */
3480 tSCC zNodeent_SyntaxSelect0[] =
3481 "char[ \t]*\\*na_addr[ \t]*$";
3482
3483 #define NODEENT_SYNTAX_TEST_CT 1
3484 static tTestDesc aNodeent_SyntaxTests[] = {
3485 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3486
3487 /*
3488 * Fix Command Arguments for Nodeent_Syntax
3489 */
3490 static const char* apzNodeent_SyntaxPatch[] = {
3491 "format",
3492 "%0;",
3493 (char*)NULL };
3494
3495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3496 *
3497 * Description of Osf_Namespace_A fix
3498 */
3499 tSCC zOsf_Namespace_AName[] =
3500 "osf_namespace_a";
3501
3502 /*
3503 * File name selection pattern
3504 */
3505 tSCC zOsf_Namespace_AList[] =
3506 "|reg_types.h|sys/lc_core.h|";
3507 /*
3508 * Machine/OS name selection pattern
3509 */
3510 #define apzOsf_Namespace_AMachs (const char**)NULL
3511
3512 /*
3513 * perform the 'test' shell command - do fix on success
3514 */
3515 tSCC zOsf_Namespace_ATest0[] =
3516 " -r reg_types.h";
3517 tSCC zOsf_Namespace_ATest1[] =
3518 " -r sys/lc_core.h";
3519 tSCC zOsf_Namespace_ATest2[] =
3520 " -n \"`grep '} regex_t;' reg_types.h`\"";
3521 tSCC zOsf_Namespace_ATest3[] =
3522 " -z \"`grep __regex_t regex.h`\"";
3523
3524 #define OSF_NAMESPACE_A_TEST_CT 4
3525 static tTestDesc aOsf_Namespace_ATests[] = {
3526 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
3527 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
3528 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
3529 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
3530
3531 /*
3532 * Fix Command Arguments for Osf_Namespace_A
3533 */
3534 static const char* apzOsf_Namespace_APatch[] = {
3535 "format",
3536 "__%0",
3537 "reg(ex|off|match)_t",
3538 (char*)NULL };
3539
3540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3541 *
3542 * Description of Osf_Namespace_C fix
3543 */
3544 tSCC zOsf_Namespace_CName[] =
3545 "osf_namespace_c";
3546
3547 /*
3548 * File name selection pattern
3549 */
3550 tSCC zOsf_Namespace_CList[] =
3551 "|regex.h|";
3552 /*
3553 * Machine/OS name selection pattern
3554 */
3555 #define apzOsf_Namespace_CMachs (const char**)NULL
3556
3557 /*
3558 * content selection pattern - do fix if pattern found
3559 */
3560 tSCC zOsf_Namespace_CSelect0[] =
3561 "#include <reg_types.h>.*";
3562
3563 /*
3564 * perform the 'test' shell command - do fix on success
3565 */
3566 tSCC zOsf_Namespace_CTest0[] =
3567 " -r reg_types.h";
3568 tSCC zOsf_Namespace_CTest1[] =
3569 " -r sys/lc_core.h";
3570 tSCC zOsf_Namespace_CTest2[] =
3571 " -n \"`grep '} regex_t;' reg_types.h`\"";
3572 tSCC zOsf_Namespace_CTest3[] =
3573 " -z \"`grep __regex_t regex.h`\"";
3574
3575 #define OSF_NAMESPACE_C_TEST_CT 5
3576 static tTestDesc aOsf_Namespace_CTests[] = {
3577 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
3578 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
3579 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
3580 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
3581 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3582
3583 /*
3584 * Fix Command Arguments for Osf_Namespace_C
3585 */
3586 static const char* apzOsf_Namespace_CPatch[] = {
3587 "format",
3588 "%0\n\
3589 typedef __regex_t\tregex_t;\n\
3590 typedef __regoff_t\tregoff_t;\n\
3591 typedef __regmatch_t\tregmatch_t;",
3592 (char*)NULL };
3593
3594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3595 *
3596 * Description of Pthread_Page_Size fix
3597 */
3598 tSCC zPthread_Page_SizeName[] =
3599 "pthread_page_size";
3600
3601 /*
3602 * File name selection pattern
3603 */
3604 tSCC zPthread_Page_SizeList[] =
3605 "|pthread.h|";
3606 /*
3607 * Machine/OS name selection pattern
3608 */
3609 #define apzPthread_Page_SizeMachs (const char**)NULL
3610
3611 /*
3612 * content selection pattern - do fix if pattern found
3613 */
3614 tSCC zPthread_Page_SizeSelect0[] =
3615 "^int __page_size";
3616
3617 #define PTHREAD_PAGE_SIZE_TEST_CT 1
3618 static tTestDesc aPthread_Page_SizeTests[] = {
3619 { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3620
3621 /*
3622 * Fix Command Arguments for Pthread_Page_Size
3623 */
3624 static const char* apzPthread_Page_SizePatch[] = {
3625 "format",
3626 "extern %0",
3627 (char*)NULL };
3628
3629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3630 *
3631 * Description of Read_Ret_Type fix
3632 */
3633 tSCC zRead_Ret_TypeName[] =
3634 "read_ret_type";
3635
3636 /*
3637 * File name selection pattern
3638 */
3639 tSCC zRead_Ret_TypeList[] =
3640 "|stdio.h|";
3641 /*
3642 * Machine/OS name selection pattern
3643 */
3644 #define apzRead_Ret_TypeMachs (const char**)NULL
3645
3646 /*
3647 * content selection pattern - do fix if pattern found
3648 */
3649 tSCC zRead_Ret_TypeSelect0[] =
3650 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3651
3652 #define READ_RET_TYPE_TEST_CT 1
3653 static tTestDesc aRead_Ret_TypeTests[] = {
3654 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3655
3656 /*
3657 * Fix Command Arguments for Read_Ret_Type
3658 */
3659 static const char* apzRead_Ret_TypePatch[] = {
3660 "format",
3661 "extern unsigned int fread(), fwrite();\n\
3662 %1%2",
3663 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3664 (char*)NULL };
3665
3666 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3667 *
3668 * Description of Rs6000_Double fix
3669 */
3670 tSCC zRs6000_DoubleName[] =
3671 "rs6000_double";
3672
3673 /*
3674 * File name selection pattern
3675 */
3676 tSCC zRs6000_DoubleList[] =
3677 "|math.h|";
3678 /*
3679 * Machine/OS name selection pattern
3680 */
3681 #define apzRs6000_DoubleMachs (const char**)NULL
3682
3683 /*
3684 * content selection pattern - do fix if pattern found
3685 */
3686 tSCC zRs6000_DoubleSelect0[] =
3687 "[^a-zA-Z_]class\\(";
3688
3689 #define RS6000_DOUBLE_TEST_CT 1
3690 static tTestDesc aRs6000_DoubleTests[] = {
3691 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3692
3693 /*
3694 * Fix Command Arguments for Rs6000_Double
3695 */
3696 static const char* apzRs6000_DoublePatch[] = {
3697 "format",
3698 "#ifndef __cplusplus\n\
3699 %0\n\
3700 #endif",
3701 "^.*[^a-zA-Z_]class\\(.*",
3702 (char*)NULL };
3703
3704 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3705 *
3706 * Description of Rs6000_Fchmod fix
3707 */
3708 tSCC zRs6000_FchmodName[] =
3709 "rs6000_fchmod";
3710
3711 /*
3712 * File name selection pattern
3713 */
3714 tSCC zRs6000_FchmodList[] =
3715 "|sys/stat.h|";
3716 /*
3717 * Machine/OS name selection pattern
3718 */
3719 #define apzRs6000_FchmodMachs (const char**)NULL
3720
3721 /*
3722 * content selection pattern - do fix if pattern found
3723 */
3724 tSCC zRs6000_FchmodSelect0[] =
3725 "fchmod\\(char \\*";
3726
3727 #define RS6000_FCHMOD_TEST_CT 1
3728 static tTestDesc aRs6000_FchmodTests[] = {
3729 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3730
3731 /*
3732 * Fix Command Arguments for Rs6000_Fchmod
3733 */
3734 static const char* apzRs6000_FchmodPatch[] = {
3735 "format",
3736 "fchmod(int",
3737 (char*)NULL };
3738
3739 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3740 *
3741 * Description of Rs6000_Param fix
3742 */
3743 tSCC zRs6000_ParamName[] =
3744 "rs6000_param";
3745
3746 /*
3747 * File name selection pattern
3748 */
3749 tSCC zRs6000_ParamList[] =
3750 "|stdio.h|unistd.h|";
3751 /*
3752 * Machine/OS name selection pattern
3753 */
3754 #define apzRs6000_ParamMachs (const char**)NULL
3755
3756 /*
3757 * content selection pattern - do fix if pattern found
3758 */
3759 tSCC zRs6000_ParamSelect0[] =
3760 "rename\\(const char \\*old, const char \\*new\\)";
3761
3762 #define RS6000_PARAM_TEST_CT 1
3763 static tTestDesc aRs6000_ParamTests[] = {
3764 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
3765
3766 /*
3767 * Fix Command Arguments for Rs6000_Param
3768 */
3769 static const char* apzRs6000_ParamPatch[] = {
3770 "format",
3771 "rename(const char *_old, const char *_new)",
3772 (char*)NULL };
3773
3774 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3775 *
3776 * Description of Sco_Math fix
3777 */
3778 tSCC zSco_MathName[] =
3779 "sco_math";
3780
3781 /*
3782 * File name selection pattern
3783 */
3784 tSCC zSco_MathList[] =
3785 "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
3786 /*
3787 * Machine/OS name selection pattern
3788 */
3789 #define apzSco_MathMachs (const char**)NULL
3790
3791 /*
3792 * content selection pattern - do fix if pattern found
3793 */
3794 tSCC zSco_MathSelect0[] =
3795 "inline double abs";
3796
3797 #define SCO_MATH_TEST_CT 1
3798 static tTestDesc aSco_MathTests[] = {
3799 { TT_EGREP, zSco_MathSelect0, (regex_t*)NULL }, };
3800
3801 /*
3802 * Fix Command Arguments for Sco_Math
3803 */
3804 static const char* apzSco_MathPatch[] = { "sed",
3805 "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
3806 #ifndef __GNUC__\n",
3807 "-e", "/.*__builtin_generic/a\\\n\
3808 #else\\\n\
3809 #define __fp_class(a) \\\\\\\n\
3810 __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
3811 __fpclassifyl(a), \\\\\\\n\
3812 __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
3813 __fpclassifyf(a),__fpclassify(a)))\\\n\
3814 #endif",
3815 "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
3816 #ifndef __GNUC__\n",
3817 "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
3818 #endif /* ! __GNUC__ */",
3819 (char*)NULL };
3820
3821 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3822 *
3823 * Description of Sco_Regset fix
3824 */
3825 tSCC zSco_RegsetName[] =
3826 "sco_regset";
3827
3828 /*
3829 * File name selection pattern
3830 */
3831 tSCC zSco_RegsetList[] =
3832 "|sys/regset.h|";
3833 /*
3834 * Machine/OS name selection pattern
3835 */
3836 tSCC* apzSco_RegsetMachs[] = {
3837 "*-*-sco3.2v5*",
3838 (const char*)NULL };
3839
3840 /*
3841 * content selection pattern - do fix if pattern found
3842 */
3843 tSCC zSco_RegsetSelect0[] =
3844 "(struct[ \t]+.*)fpstate";
3845
3846 #define SCO_REGSET_TEST_CT 1
3847 static tTestDesc aSco_RegsetTests[] = {
3848 { TT_EGREP, zSco_RegsetSelect0, (regex_t*)NULL }, };
3849
3850 /*
3851 * Fix Command Arguments for Sco_Regset
3852 */
3853 static const char* apzSco_RegsetPatch[] = {
3854 "format",
3855 "%1rsfpstate",
3856 (char*)NULL };
3857
3858 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3859 *
3860 * Description of Sco_Static_Func fix
3861 */
3862 tSCC zSco_Static_FuncName[] =
3863 "sco_static_func";
3864
3865 /*
3866 * File name selection pattern
3867 */
3868 tSCC zSco_Static_FuncList[] =
3869 "|sys/stat.h|";
3870 /*
3871 * Machine/OS name selection pattern
3872 */
3873 tSCC* apzSco_Static_FuncMachs[] = {
3874 "i?86-*-sco3.2*",
3875 (const char*)NULL };
3876
3877 /*
3878 * content selection pattern - do fix if pattern found
3879 */
3880 tSCC zSco_Static_FuncSelect0[] =
3881 "^static int";
3882
3883 #define SCO_STATIC_FUNC_TEST_CT 1
3884 static tTestDesc aSco_Static_FuncTests[] = {
3885 { TT_EGREP, zSco_Static_FuncSelect0, (regex_t*)NULL }, };
3886
3887 /*
3888 * Fix Command Arguments for Sco_Static_Func
3889 */
3890 static const char* apzSco_Static_FuncPatch[] = { "sed",
3891 "-e", "/^static int/i\\\n\
3892 #if __cplusplus\\\n\
3893 extern \"C\" {\\\n\
3894 #endif /* __cplusplus */",
3895 "-e", "/^}$/a\\\n\
3896 #if __cplusplus\\\n\
3897 }\\\n\
3898 #endif /* __cplusplus */",
3899 (char*)NULL };
3900
3901 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3902 *
3903 * Description of Sco_Utime fix
3904 */
3905 tSCC zSco_UtimeName[] =
3906 "sco_utime";
3907
3908 /*
3909 * File name selection pattern
3910 */
3911 tSCC zSco_UtimeList[] =
3912 "|sys/times.h|";
3913 /*
3914 * Machine/OS name selection pattern
3915 */
3916 tSCC* apzSco_UtimeMachs[] = {
3917 "i?86-*-sco3.2v4*",
3918 (const char*)NULL };
3919
3920 /*
3921 * content selection pattern - do fix if pattern found
3922 */
3923 tSCC zSco_UtimeSelect0[] =
3924 "\\(const char \\*, struct utimbuf \\*\\);";
3925
3926 #define SCO_UTIME_TEST_CT 1
3927 static tTestDesc aSco_UtimeTests[] = {
3928 { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
3929
3930 /*
3931 * Fix Command Arguments for Sco_Utime
3932 */
3933 static const char* apzSco_UtimePatch[] = {
3934 "format",
3935 "(const char *, const struct utimbuf *);",
3936 (char*)NULL };
3937
3938 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3939 *
3940 * Description of Solaris_Mutex_Init_1 fix
3941 */
3942 tSCC zSolaris_Mutex_Init_1Name[] =
3943 "solaris_mutex_init_1";
3944
3945 /*
3946 * File name selection pattern
3947 */
3948 tSCC zSolaris_Mutex_Init_1List[] =
3949 "|pthread.h|";
3950 /*
3951 * Machine/OS name selection pattern
3952 */
3953 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
3954
3955 /*
3956 * content selection pattern - do fix if pattern found
3957 */
3958 tSCC zSolaris_Mutex_Init_1Select0[] =
3959 "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
3960
3961 #define SOLARIS_MUTEX_INIT_1_TEST_CT 1
3962 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
3963 { TT_EGREP, zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
3964
3965 /*
3966 * Fix Command Arguments for Solaris_Mutex_Init_1
3967 */
3968 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
3969 "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
3970 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
3971 (char*)NULL };
3972
3973 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3974 *
3975 * Description of Solaris_Mutex_Init_2 fix
3976 */
3977 tSCC zSolaris_Mutex_Init_2Name[] =
3978 "solaris_mutex_init_2";
3979
3980 /*
3981 * File name selection pattern
3982 */
3983 tSCC zSolaris_Mutex_Init_2List[] =
3984 "|pthread.h|";
3985 /*
3986 * Machine/OS name selection pattern
3987 */
3988 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
3989
3990 /*
3991 * content selection pattern - do fix if pattern found
3992 */
3993 tSCC zSolaris_Mutex_Init_2Select0[] =
3994 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
3995
3996 #define SOLARIS_MUTEX_INIT_2_TEST_CT 1
3997 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
3998 { TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
3999
4000 /*
4001 * Fix Command Arguments for Solaris_Mutex_Init_2
4002 */
4003 static const char* apzSolaris_Mutex_Init_2Patch[] = {
4004 "format",
4005 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
4006 %0\n\
4007 #else\n\
4008 %1, {0}}%3\n\
4009 #endif",
4010 "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
4011 (char*)NULL };
4012
4013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4014 *
4015 * Description of Solaris_Socket fix
4016 */
4017 tSCC zSolaris_SocketName[] =
4018 "solaris_socket";
4019
4020 /*
4021 * File name selection pattern
4022 */
4023 tSCC zSolaris_SocketList[] =
4024 "|sys/socket.h|";
4025 /*
4026 * Machine/OS name selection pattern
4027 */
4028 #define apzSolaris_SocketMachs (const char**)NULL
4029
4030 /*
4031 * content selection pattern - do fix if pattern found
4032 */
4033 tSCC zSolaris_SocketSelect0[] =
4034 "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
4035
4036 #define SOLARIS_SOCKET_TEST_CT 1
4037 static tTestDesc aSolaris_SocketTests[] = {
4038 { TT_EGREP, zSolaris_SocketSelect0, (regex_t*)NULL }, };
4039
4040 /*
4041 * Fix Command Arguments for Solaris_Socket
4042 */
4043 static const char* apzSolaris_SocketPatch[] = {
4044 "format",
4045 "extern int %1(int, %2void *, int, int);",
4046 "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
4047 (char*)NULL };
4048
4049 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4050 *
4051 * Description of Solaris_Stdio_Tag fix
4052 */
4053 tSCC zSolaris_Stdio_TagName[] =
4054 "solaris_stdio_tag";
4055
4056 /*
4057 * File name selection pattern
4058 */
4059 tSCC zSolaris_Stdio_TagList[] =
4060 "|stdio_tag.h|";
4061 /*
4062 * Machine/OS name selection pattern
4063 */
4064 #define apzSolaris_Stdio_TagMachs (const char**)NULL
4065
4066 /*
4067 * content selection pattern - do fix if pattern found
4068 */
4069 tSCC zSolaris_Stdio_TagSelect0[] =
4070 "__cplusplus < 54321L";
4071
4072 #define SOLARIS_STDIO_TAG_TEST_CT 1
4073 static tTestDesc aSolaris_Stdio_TagTests[] = {
4074 { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
4075
4076 /*
4077 * Fix Command Arguments for Solaris_Stdio_Tag
4078 */
4079 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
4080 "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
4081 (char*)NULL };
4082
4083 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4084 *
4085 * Description of Solaris_Unistd fix
4086 */
4087 tSCC zSolaris_UnistdName[] =
4088 "solaris_unistd";
4089
4090 /*
4091 * File name selection pattern
4092 */
4093 tSCC zSolaris_UnistdList[] =
4094 "|unistd.h|";
4095 /*
4096 * Machine/OS name selection pattern
4097 */
4098 #define apzSolaris_UnistdMachs (const char**)NULL
4099
4100 /*
4101 * content selection pattern - do fix if pattern found
4102 */
4103 tSCC zSolaris_UnistdSelect0[] =
4104 "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
4105
4106 /*
4107 * content bypass pattern - skip fix if pattern found
4108 */
4109 tSCC zSolaris_UnistdBypass0[] =
4110 "getpagesize";
4111
4112 #define SOLARIS_UNISTD_TEST_CT 2
4113 static tTestDesc aSolaris_UnistdTests[] = {
4114 { TT_NEGREP, zSolaris_UnistdBypass0, (regex_t*)NULL },
4115 { TT_EGREP, zSolaris_UnistdSelect0, (regex_t*)NULL }, };
4116
4117 /*
4118 * Fix Command Arguments for Solaris_Unistd
4119 */
4120 static const char* apzSolaris_UnistdPatch[] = {
4121 "format",
4122 "extern int getpagesize();\n\
4123 %0",
4124 "^extern (pid_t|int) getpgid\\(.*\\);",
4125 (char*)NULL };
4126
4127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4128 *
4129 * Description of Solaris_Widec fix
4130 */
4131 tSCC zSolaris_WidecName[] =
4132 "solaris_widec";
4133
4134 /*
4135 * File name selection pattern
4136 */
4137 tSCC zSolaris_WidecList[] =
4138 "|widec.h|";
4139 /*
4140 * Machine/OS name selection pattern
4141 */
4142 tSCC* apzSolaris_WidecMachs[] = {
4143 "*-*-solaris2.[0-5]*",
4144 (const char*)NULL };
4145
4146 /*
4147 * content selection pattern - do fix if pattern found
4148 */
4149 tSCC zSolaris_WidecSelect0[] =
4150 "#include <euc.h>";
4151
4152 /*
4153 * content bypass pattern - skip fix if pattern found
4154 */
4155 tSCC zSolaris_WidecBypass0[] =
4156 "include.*wchar\\.h";
4157
4158 #define SOLARIS_WIDEC_TEST_CT 2
4159 static tTestDesc aSolaris_WidecTests[] = {
4160 { TT_NEGREP, zSolaris_WidecBypass0, (regex_t*)NULL },
4161 { TT_EGREP, zSolaris_WidecSelect0, (regex_t*)NULL }, };
4162
4163 /*
4164 * Fix Command Arguments for Solaris_Widec
4165 */
4166 static const char* apzSolaris_WidecPatch[] = {
4167 "format",
4168 "%0\n\
4169 #include <wchar.h>",
4170 (char*)NULL };
4171
4172 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4173 *
4174 * Description of Statsswtch fix
4175 */
4176 tSCC zStatsswtchName[] =
4177 "statsswtch";
4178
4179 /*
4180 * File name selection pattern
4181 */
4182 tSCC zStatsswtchList[] =
4183 "|rpcsvc/rstat.h|";
4184 /*
4185 * Machine/OS name selection pattern
4186 */
4187 #define apzStatsswtchMachs (const char**)NULL
4188
4189 /*
4190 * content selection pattern - do fix if pattern found
4191 */
4192 tSCC zStatsswtchSelect0[] =
4193 "boottime$";
4194
4195 #define STATSSWTCH_TEST_CT 1
4196 static tTestDesc aStatsswtchTests[] = {
4197 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
4198
4199 /*
4200 * Fix Command Arguments for Statsswtch
4201 */
4202 static const char* apzStatsswtchPatch[] = {
4203 "format",
4204 "boottime;",
4205 (char*)NULL };
4206
4207 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4208 *
4209 * Description of Stdio_Stdarg_H fix
4210 */
4211 tSCC zStdio_Stdarg_HName[] =
4212 "stdio_stdarg_h";
4213
4214 /*
4215 * File name selection pattern
4216 */
4217 tSCC zStdio_Stdarg_HList[] =
4218 "|stdio.h|";
4219 /*
4220 * Machine/OS name selection pattern
4221 */
4222 #define apzStdio_Stdarg_HMachs (const char**)NULL
4223
4224 /*
4225 * content bypass pattern - skip fix if pattern found
4226 */
4227 tSCC zStdio_Stdarg_HBypass0[] =
4228 "include.*(stdarg.h|machine/ansi.h)";
4229
4230 #define STDIO_STDARG_H_TEST_CT 1
4231 static tTestDesc aStdio_Stdarg_HTests[] = {
4232 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
4233
4234 /*
4235 * Fix Command Arguments for Stdio_Stdarg_H
4236 */
4237 static const char* apzStdio_Stdarg_HPatch[] = {
4238 "wrap",
4239 "#define __need___va_list\n\
4240 #include <stdarg.h>\n",
4241 (char*)NULL };
4242
4243 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4244 *
4245 * Description of Stdio_Va_List fix
4246 */
4247 tSCC zStdio_Va_ListName[] =
4248 "stdio_va_list";
4249
4250 /*
4251 * File name selection pattern
4252 */
4253 tSCC zStdio_Va_ListList[] =
4254 "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
4255 /*
4256 * Machine/OS name selection pattern
4257 */
4258 #define apzStdio_Va_ListMachs (const char**)NULL
4259
4260 /*
4261 * content bypass pattern - skip fix if pattern found
4262 */
4263 tSCC zStdio_Va_ListBypass0[] =
4264 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
4265
4266 #define STDIO_VA_LIST_TEST_CT 1
4267 static tTestDesc aStdio_Va_ListTests[] = {
4268 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
4269
4270 /*
4271 * Fix Command Arguments for Stdio_Va_List
4272 */
4273 static const char* apzStdio_Va_ListPatch[] = { "sed",
4274 "-e", "s@ va_list @ __gnuc_va_list @\n\
4275 s@ va_list)@ __gnuc_va_list)@\n\
4276 s@va_list _ap;@__gnuc_va_list _ap;@\n\
4277 s@(va_list)&@(__gnuc_va_list)\\&@\n\
4278 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
4279 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
4280 s@ va_list@ __not_va_list__@\n\
4281 s@\\*va_list@*__not_va_list__@\n\
4282 s@ __va_list)@ __gnuc_va_list)@\n\
4283 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
4284 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
4285 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
4286 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
4287 s@VA_LIST@DUMMY_VA_LIST@\n\
4288 s@_Va_LIST@_VA_LIST@",
4289 (char*)NULL };
4290
4291 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4292 *
4293 * Description of Strict_Ansi_Not fix
4294 */
4295 tSCC zStrict_Ansi_NotName[] =
4296 "strict_ansi_not";
4297
4298 /*
4299 * File name selection pattern
4300 */
4301 #define zStrict_Ansi_NotList (char*)NULL
4302 /*
4303 * Machine/OS name selection pattern
4304 */
4305 #define apzStrict_Ansi_NotMachs (const char**)NULL
4306
4307 /*
4308 * content selection pattern - do fix if pattern found
4309 */
4310 tSCC zStrict_Ansi_NotSelect0[] =
4311 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
4312
4313 /*
4314 * content bypass pattern - skip fix if pattern found
4315 */
4316 tSCC zStrict_Ansi_NotBypass0[] =
4317 "GNU and MIPS C compilers define __STDC__ differently";
4318 tSCC zStrict_Ansi_NotBypass1[] =
4319 "__SCO_VERSION__.*__STDC__ != 1";
4320
4321 /*
4322 * perform the C function call test
4323 */
4324 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
4325
4326 #define STRICT_ANSI_NOT_TEST_CT 4
4327 static tTestDesc aStrict_Ansi_NotTests[] = {
4328 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
4329 { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
4330 { TT_NEGREP, zStrict_Ansi_NotBypass1, (regex_t*)NULL },
4331 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
4332
4333 /*
4334 * Fix Command Arguments for Strict_Ansi_Not
4335 */
4336 static const char* apzStrict_Ansi_NotPatch[] = {
4337 "format",
4338 "%1 !defined(__STRICT_ANSI__)",
4339 (char*)NULL };
4340
4341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4342 *
4343 * Description of Strict_Ansi_Not_Ctd fix
4344 */
4345 tSCC zStrict_Ansi_Not_CtdName[] =
4346 "strict_ansi_not_ctd";
4347
4348 /*
4349 * File name selection pattern
4350 */
4351 tSCC zStrict_Ansi_Not_CtdList[] =
4352 "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
4353 /*
4354 * Machine/OS name selection pattern
4355 */
4356 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
4357
4358 /*
4359 * content selection pattern - do fix if pattern found
4360 */
4361 tSCC zStrict_Ansi_Not_CtdSelect0[] =
4362 "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
4363
4364 /*
4365 * perform the C function call test
4366 */
4367 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
4368
4369 #define STRICT_ANSI_NOT_CTD_TEST_CT 2
4370 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
4371 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
4372 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
4373
4374 /*
4375 * Fix Command Arguments for Strict_Ansi_Not_Ctd
4376 */
4377 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
4378 "format",
4379 "%1 !defined(__STRICT_ANSI__)",
4380 (char*)NULL };
4381
4382 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4383 *
4384 * Description of Strict_Ansi_Only fix
4385 */
4386 tSCC zStrict_Ansi_OnlyName[] =
4387 "strict_ansi_only";
4388
4389 /*
4390 * File name selection pattern
4391 */
4392 #define zStrict_Ansi_OnlyList (char*)NULL
4393 /*
4394 * Machine/OS name selection pattern
4395 */
4396 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
4397
4398 /*
4399 * content selection pattern - do fix if pattern found
4400 */
4401 tSCC zStrict_Ansi_OnlySelect0[] =
4402 "^([ \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)";
4403
4404 /*
4405 * perform the C function call test
4406 */
4407 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
4408
4409 #define STRICT_ANSI_ONLY_TEST_CT 2
4410 static tTestDesc aStrict_Ansi_OnlyTests[] = {
4411 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
4412 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
4413
4414 /*
4415 * Fix Command Arguments for Strict_Ansi_Only
4416 */
4417 static const char* apzStrict_Ansi_OnlyPatch[] = {
4418 "format",
4419 "%1 defined(__STRICT_ANSI__)",
4420 (char*)NULL };
4421
4422 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4423 *
4424 * Description of Struct_File fix
4425 */
4426 tSCC zStruct_FileName[] =
4427 "struct_file";
4428
4429 /*
4430 * File name selection pattern
4431 */
4432 tSCC zStruct_FileList[] =
4433 "|rpc/xdr.h|";
4434 /*
4435 * Machine/OS name selection pattern
4436 */
4437 #define apzStruct_FileMachs (const char**)NULL
4438
4439 /*
4440 * content selection pattern - do fix if pattern found
4441 */
4442 tSCC zStruct_FileSelect0[] =
4443 "^.*xdrstdio_create.*struct __file_s";
4444
4445 #define STRUCT_FILE_TEST_CT 1
4446 static tTestDesc aStruct_FileTests[] = {
4447 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
4448
4449 /*
4450 * Fix Command Arguments for Struct_File
4451 */
4452 static const char* apzStruct_FilePatch[] = {
4453 "format",
4454 "struct __file_s;\n\
4455 %0",
4456 (char*)NULL };
4457
4458 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4459 *
4460 * Description of Struct_Sockaddr fix
4461 */
4462 tSCC zStruct_SockaddrName[] =
4463 "struct_sockaddr";
4464
4465 /*
4466 * File name selection pattern
4467 */
4468 tSCC zStruct_SockaddrList[] =
4469 "|rpc/auth.h|";
4470 /*
4471 * Machine/OS name selection pattern
4472 */
4473 #define apzStruct_SockaddrMachs (const char**)NULL
4474
4475 /*
4476 * content selection pattern - do fix if pattern found
4477 */
4478 tSCC zStruct_SockaddrSelect0[] =
4479 "^.*authdes_create.*struct sockaddr[^_]";
4480
4481 /*
4482 * content bypass pattern - skip fix if pattern found
4483 */
4484 tSCC zStruct_SockaddrBypass0[] =
4485 "<sys/socket.h>";
4486 tSCC zStruct_SockaddrBypass1[] =
4487 "struct sockaddr;\n";
4488
4489 #define STRUCT_SOCKADDR_TEST_CT 3
4490 static tTestDesc aStruct_SockaddrTests[] = {
4491 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
4492 { TT_NEGREP, zStruct_SockaddrBypass1, (regex_t*)NULL },
4493 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4494
4495 /*
4496 * Fix Command Arguments for Struct_Sockaddr
4497 */
4498 static const char* apzStruct_SockaddrPatch[] = {
4499 "format",
4500 "struct sockaddr;\n\
4501 %0",
4502 (char*)NULL };
4503
4504 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4505 *
4506 * Description of Sun_Auth_Proto fix
4507 */
4508 tSCC zSun_Auth_ProtoName[] =
4509 "sun_auth_proto";
4510
4511 /*
4512 * File name selection pattern
4513 */
4514 tSCC zSun_Auth_ProtoList[] =
4515 "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4516 /*
4517 * Machine/OS name selection pattern
4518 */
4519 #define apzSun_Auth_ProtoMachs (const char**)NULL
4520
4521 /*
4522 * content selection pattern - do fix if pattern found
4523 */
4524 tSCC zSun_Auth_ProtoSelect0[] =
4525 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4526
4527 #define SUN_AUTH_PROTO_TEST_CT 1
4528 static tTestDesc aSun_Auth_ProtoTests[] = {
4529 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4530
4531 /*
4532 * Fix Command Arguments for Sun_Auth_Proto
4533 */
4534 static const char* apzSun_Auth_ProtoPatch[] = {
4535 "format",
4536 "#ifdef __cplusplus\n\
4537 %1(...);%2\n\
4538 #else\n\
4539 %1();%2\n\
4540 #endif",
4541 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4542 (char*)NULL };
4543
4544 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4545 *
4546 * Description of Sun_Bogus_Ifdef fix
4547 */
4548 tSCC zSun_Bogus_IfdefName[] =
4549 "sun_bogus_ifdef";
4550
4551 /*
4552 * File name selection pattern
4553 */
4554 tSCC zSun_Bogus_IfdefList[] =
4555 "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
4556 /*
4557 * Machine/OS name selection pattern
4558 */
4559 #define apzSun_Bogus_IfdefMachs (const char**)NULL
4560
4561 /*
4562 * content selection pattern - do fix if pattern found
4563 */
4564 tSCC zSun_Bogus_IfdefSelect0[] =
4565 "#ifdef(.*\\|\\|.*)";
4566
4567 #define SUN_BOGUS_IFDEF_TEST_CT 1
4568 static tTestDesc aSun_Bogus_IfdefTests[] = {
4569 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
4570
4571 /*
4572 * Fix Command Arguments for Sun_Bogus_Ifdef
4573 */
4574 static const char* apzSun_Bogus_IfdefPatch[] = {
4575 "format",
4576 "#if%1",
4577 (char*)NULL };
4578
4579 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4580 *
4581 * Description of Sun_Catmacro fix
4582 */
4583 tSCC zSun_CatmacroName[] =
4584 "sun_catmacro";
4585
4586 /*
4587 * File name selection pattern
4588 */
4589 tSCC zSun_CatmacroList[] =
4590 "|pixrect/memvar.h|";
4591 /*
4592 * Machine/OS name selection pattern
4593 */
4594 #define apzSun_CatmacroMachs (const char**)NULL
4595
4596 /*
4597 * content selection pattern - do fix if pattern found
4598 */
4599 tSCC zSun_CatmacroSelect0[] =
4600 "^#define[ \t]+CAT\\(a,b\\).*";
4601
4602 #define SUN_CATMACRO_TEST_CT 1
4603 static tTestDesc aSun_CatmacroTests[] = {
4604 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
4605
4606 /*
4607 * Fix Command Arguments for Sun_Catmacro
4608 */
4609 static const char* apzSun_CatmacroPatch[] = {
4610 "format",
4611 "#ifdef __STDC__\n\
4612 # define CAT(a,b) a##b\n\
4613 #else\n\
4614 %0\n\
4615 #endif",
4616 (char*)NULL };
4617
4618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4619 *
4620 * Description of Sun_Malloc fix
4621 */
4622 tSCC zSun_MallocName[] =
4623 "sun_malloc";
4624
4625 /*
4626 * File name selection pattern
4627 */
4628 tSCC zSun_MallocList[] =
4629 "|malloc.h|";
4630 /*
4631 * Machine/OS name selection pattern
4632 */
4633 #define apzSun_MallocMachs (const char**)NULL
4634 #define SUN_MALLOC_TEST_CT 0
4635 #define aSun_MallocTests (tTestDesc*)NULL
4636
4637 /*
4638 * Fix Command Arguments for Sun_Malloc
4639 */
4640 static const char* apzSun_MallocPatch[] = { "sed",
4641 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4642 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4643 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4644 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
4645 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
4646 (char*)NULL };
4647
4648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4649 *
4650 * Description of Sun_Rusers_Semi fix
4651 */
4652 tSCC zSun_Rusers_SemiName[] =
4653 "sun_rusers_semi";
4654
4655 /*
4656 * File name selection pattern
4657 */
4658 tSCC zSun_Rusers_SemiList[] =
4659 "|rpcsvc/rusers.h|";
4660 /*
4661 * Machine/OS name selection pattern
4662 */
4663 #define apzSun_Rusers_SemiMachs (const char**)NULL
4664
4665 /*
4666 * content selection pattern - do fix if pattern found
4667 */
4668 tSCC zSun_Rusers_SemiSelect0[] =
4669 "_cnt$";
4670
4671 #define SUN_RUSERS_SEMI_TEST_CT 1
4672 static tTestDesc aSun_Rusers_SemiTests[] = {
4673 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
4674
4675 /*
4676 * Fix Command Arguments for Sun_Rusers_Semi
4677 */
4678 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
4679 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
4680 (char*)NULL };
4681
4682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4683 *
4684 * Description of Sun_Signal fix
4685 */
4686 tSCC zSun_SignalName[] =
4687 "sun_signal";
4688
4689 /*
4690 * File name selection pattern
4691 */
4692 tSCC zSun_SignalList[] =
4693 "|sys/signal.h|signal.h|";
4694 /*
4695 * Machine/OS name selection pattern
4696 */
4697 #define apzSun_SignalMachs (const char**)NULL
4698
4699 /*
4700 * content selection pattern - do fix if pattern found
4701 */
4702 tSCC zSun_SignalSelect0[] =
4703 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
4704
4705 #define SUN_SIGNAL_TEST_CT 1
4706 static tTestDesc aSun_SignalTests[] = {
4707 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
4708
4709 /*
4710 * Fix Command Arguments for Sun_Signal
4711 */
4712 static const char* apzSun_SignalPatch[] = {
4713 "format",
4714 "#ifdef __cplusplus\n\
4715 void\t(*signal(...))(...);\n\
4716 #else\n\
4717 %0\n\
4718 #endif",
4719 (char*)NULL };
4720
4721 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4722 *
4723 * Description of Sunos_Matherr_Decl fix
4724 */
4725 tSCC zSunos_Matherr_DeclName[] =
4726 "sunos_matherr_decl";
4727
4728 /*
4729 * File name selection pattern
4730 */
4731 tSCC zSunos_Matherr_DeclList[] =
4732 "|math.h|";
4733 /*
4734 * Machine/OS name selection pattern
4735 */
4736 #define apzSunos_Matherr_DeclMachs (const char**)NULL
4737
4738 /*
4739 * content selection pattern - do fix if pattern found
4740 */
4741 tSCC zSunos_Matherr_DeclSelect0[] =
4742 "matherr";
4743
4744 /*
4745 * content bypass pattern - skip fix if pattern found
4746 */
4747 tSCC zSunos_Matherr_DeclBypass0[] =
4748 "matherr.*(struct exception|__MATH_EXCEPTION)";
4749
4750 #define SUNOS_MATHERR_DECL_TEST_CT 2
4751 static tTestDesc aSunos_Matherr_DeclTests[] = {
4752 { TT_NEGREP, zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4753 { TT_EGREP, zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
4754
4755 /*
4756 * Fix Command Arguments for Sunos_Matherr_Decl
4757 */
4758 static const char* apzSunos_Matherr_DeclPatch[] = {
4759 "wrap",
4760 "struct exception;\n",
4761 (char*)NULL };
4762
4763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4764 *
4765 * Description of Sunos_Strlen fix
4766 */
4767 tSCC zSunos_StrlenName[] =
4768 "sunos_strlen";
4769
4770 /*
4771 * File name selection pattern
4772 */
4773 tSCC zSunos_StrlenList[] =
4774 "|strings.h|";
4775 /*
4776 * Machine/OS name selection pattern
4777 */
4778 #define apzSunos_StrlenMachs (const char**)NULL
4779
4780 /*
4781 * content selection pattern - do fix if pattern found
4782 */
4783 tSCC zSunos_StrlenSelect0[] =
4784 "int[ \t]*strlen\\(\\);(.*)";
4785
4786 #define SUNOS_STRLEN_TEST_CT 1
4787 static tTestDesc aSunos_StrlenTests[] = {
4788 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
4789
4790 /*
4791 * Fix Command Arguments for Sunos_Strlen
4792 */
4793 static const char* apzSunos_StrlenPatch[] = {
4794 "format",
4795 "__SIZE_TYPE__ strlen();%1",
4796 (char*)NULL };
4797
4798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4799 *
4800 * Description of Svr4__P fix
4801 */
4802 tSCC zSvr4__PName[] =
4803 "svr4__p";
4804
4805 /*
4806 * File name selection pattern
4807 */
4808 tSCC zSvr4__PList[] =
4809 "|math.h|floatingpoint.h|";
4810 /*
4811 * Machine/OS name selection pattern
4812 */
4813 #define apzSvr4__PMachs (const char**)NULL
4814
4815 /*
4816 * content selection pattern - do fix if pattern found
4817 */
4818 tSCC zSvr4__PSelect0[] =
4819 "^#define[ \t]+__P.*";
4820
4821 #define SVR4__P_TEST_CT 1
4822 static tTestDesc aSvr4__PTests[] = {
4823 { TT_EGREP, zSvr4__PSelect0, (regex_t*)NULL }, };
4824
4825 /*
4826 * Fix Command Arguments for Svr4__P
4827 */
4828 static const char* apzSvr4__PPatch[] = {
4829 "format",
4830 "#ifndef __P\n\
4831 %0\n\
4832 #endif",
4833 (char*)NULL };
4834
4835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4836 *
4837 * Description of Svr4_Disable_Opt fix
4838 */
4839 tSCC zSvr4_Disable_OptName[] =
4840 "svr4_disable_opt";
4841
4842 /*
4843 * File name selection pattern
4844 */
4845 tSCC zSvr4_Disable_OptList[] =
4846 "|string.h|";
4847 /*
4848 * Machine/OS name selection pattern
4849 */
4850 #define apzSvr4_Disable_OptMachs (const char**)NULL
4851
4852 /*
4853 * content selection pattern - do fix if pattern found
4854 */
4855 tSCC zSvr4_Disable_OptSelect0[] =
4856 "#define.*__std_hdr_";
4857
4858 #define SVR4_DISABLE_OPT_TEST_CT 1
4859 static tTestDesc aSvr4_Disable_OptTests[] = {
4860 { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
4861
4862 /*
4863 * Fix Command Arguments for Svr4_Disable_Opt
4864 */
4865 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
4866 "-e", "/#define.*__std_hdr_/d",
4867 (char*)NULL };
4868
4869 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4870 *
4871 * Description of Svr4_Getcwd fix
4872 */
4873 tSCC zSvr4_GetcwdName[] =
4874 "svr4_getcwd";
4875
4876 /*
4877 * File name selection pattern
4878 */
4879 tSCC zSvr4_GetcwdList[] =
4880 "|stdlib.h|unistd.h|prototypes.h|";
4881 /*
4882 * Machine/OS name selection pattern
4883 */
4884 #define apzSvr4_GetcwdMachs (const char**)NULL
4885
4886 /*
4887 * content selection pattern - do fix if pattern found
4888 */
4889 tSCC zSvr4_GetcwdSelect0[] =
4890 "getcwd\\(char \\*, int\\)";
4891
4892 #define SVR4_GETCWD_TEST_CT 1
4893 static tTestDesc aSvr4_GetcwdTests[] = {
4894 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4895
4896 /*
4897 * Fix Command Arguments for Svr4_Getcwd
4898 */
4899 static const char* apzSvr4_GetcwdPatch[] = {
4900 "format",
4901 "getcwd(char *, size_t)",
4902 (char*)NULL };
4903
4904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4905 *
4906 * Description of Svr4_Profil fix
4907 */
4908 tSCC zSvr4_ProfilName[] =
4909 "svr4_profil";
4910
4911 /*
4912 * File name selection pattern
4913 */
4914 tSCC zSvr4_ProfilList[] =
4915 "|stdlib.h|unistd.h|";
4916 /*
4917 * Machine/OS name selection pattern
4918 */
4919 #define apzSvr4_ProfilMachs (const char**)NULL
4920
4921 /*
4922 * content selection pattern - do fix if pattern found
4923 */
4924 tSCC zSvr4_ProfilSelect0[] =
4925 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4926
4927 #define SVR4_PROFIL_TEST_CT 1
4928 static tTestDesc aSvr4_ProfilTests[] = {
4929 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4930
4931 /*
4932 * Fix Command Arguments for Svr4_Profil
4933 */
4934 static const char* apzSvr4_ProfilPatch[] = {
4935 "format",
4936 "profil(unsigned short *, size_t, int, unsigned int)",
4937 (char*)NULL };
4938
4939 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4940 *
4941 * Description of Sysv68_String fix
4942 */
4943 tSCC zSysv68_StringName[] =
4944 "sysv68_string";
4945
4946 /*
4947 * File name selection pattern
4948 */
4949 tSCC zSysv68_StringList[] =
4950 "|testing.h|string.h|";
4951 /*
4952 * Machine/OS name selection pattern
4953 */
4954 #define apzSysv68_StringMachs (const char**)NULL
4955 #define SYSV68_STRING_TEST_CT 0
4956 #define aSysv68_StringTests (tTestDesc*)NULL
4957
4958 /*
4959 * Fix Command Arguments for Sysv68_String
4960 */
4961 static const char* apzSysv68_StringPatch[] = { "sed",
4962 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4963 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4964 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4965 "-e", "/^extern char$/N",
4966 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
4967 "-e", "/^extern int$/N",
4968 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
4969 "-e", "/^\tstrncmp(),$/N",
4970 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4971 extern unsigned int\\\n\
4972 \\2/",
4973 (char*)NULL };
4974
4975 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4976 *
4977 * Description of Sysz_Stdlib_For_Sun fix
4978 */
4979 tSCC zSysz_Stdlib_For_SunName[] =
4980 "sysz_stdlib_for_sun";
4981
4982 /*
4983 * File name selection pattern
4984 */
4985 tSCC zSysz_Stdlib_For_SunList[] =
4986 "|stdlib.h|";
4987 /*
4988 * Machine/OS name selection pattern
4989 */
4990 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
4991
4992 /*
4993 * content selection pattern - do fix if pattern found
4994 */
4995 tSCC zSysz_Stdlib_For_SunSelect0[] =
4996 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4997
4998 #define SYSZ_STDLIB_FOR_SUN_TEST_CT 1
4999 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
5000 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
5001
5002 /*
5003 * Fix Command Arguments for Sysz_Stdlib_For_Sun
5004 */
5005 static const char* apzSysz_Stdlib_For_SunPatch[] = {
5006 "format",
5007 "void *\t%1(",
5008 (char*)NULL };
5009
5010 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5011 *
5012 * Description of Thread_Keyword fix
5013 */
5014 tSCC zThread_KeywordName[] =
5015 "thread_keyword";
5016
5017 /*
5018 * File name selection pattern
5019 */
5020 tSCC zThread_KeywordList[] =
5021 "|pthread.h|bits/sigthread.h|";
5022 /*
5023 * Machine/OS name selection pattern
5024 */
5025 #define apzThread_KeywordMachs (const char**)NULL
5026
5027 /*
5028 * content selection pattern - do fix if pattern found
5029 */
5030 tSCC zThread_KeywordSelect0[] =
5031 "([* ])__thread([,)])";
5032
5033 #define THREAD_KEYWORD_TEST_CT 1
5034 static tTestDesc aThread_KeywordTests[] = {
5035 { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
5036
5037 /*
5038 * Fix Command Arguments for Thread_Keyword
5039 */
5040 static const char* apzThread_KeywordPatch[] = {
5041 "format",
5042 "%1__thr%2",
5043 (char*)NULL };
5044
5045 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5046 *
5047 * Description of Tinfo_Cplusplus fix
5048 */
5049 tSCC zTinfo_CplusplusName[] =
5050 "tinfo_cplusplus";
5051
5052 /*
5053 * File name selection pattern
5054 */
5055 tSCC zTinfo_CplusplusList[] =
5056 "|tinfo.h|";
5057 /*
5058 * Machine/OS name selection pattern
5059 */
5060 #define apzTinfo_CplusplusMachs (const char**)NULL
5061
5062 /*
5063 * content selection pattern - do fix if pattern found
5064 */
5065 tSCC zTinfo_CplusplusSelect0[] =
5066 "[ \t]_cplusplus";
5067
5068 #define TINFO_CPLUSPLUS_TEST_CT 1
5069 static tTestDesc aTinfo_CplusplusTests[] = {
5070 { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
5071
5072 /*
5073 * Fix Command Arguments for Tinfo_Cplusplus
5074 */
5075 static const char* apzTinfo_CplusplusPatch[] = {
5076 "format",
5077 " __cplusplus",
5078 (char*)NULL };
5079
5080 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5081 *
5082 * Description of Ultrix_Atexit_Param fix
5083 */
5084 tSCC zUltrix_Atexit_ParamName[] =
5085 "ultrix_atexit_param";
5086
5087 /*
5088 * File name selection pattern
5089 */
5090 tSCC zUltrix_Atexit_ParamList[] =
5091 "|stdlib.h|";
5092 /*
5093 * Machine/OS name selection pattern
5094 */
5095 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
5096
5097 /*
5098 * content selection pattern - do fix if pattern found
5099 */
5100 tSCC zUltrix_Atexit_ParamSelect0[] =
5101 "atexit\\(.*\\(\\)";
5102
5103 #define ULTRIX_ATEXIT_PARAM_TEST_CT 1
5104 static tTestDesc aUltrix_Atexit_ParamTests[] = {
5105 { TT_EGREP, zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
5106
5107 /*
5108 * Fix Command Arguments for Ultrix_Atexit_Param
5109 */
5110 static const char* apzUltrix_Atexit_ParamPatch[] = {
5111 "format",
5112 "atexit( void (*__func)( void )",
5113 (char*)NULL };
5114
5115 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5116 *
5117 * Description of Ultrix_Atof_Param fix
5118 */
5119 tSCC zUltrix_Atof_ParamName[] =
5120 "ultrix_atof_param";
5121
5122 /*
5123 * File name selection pattern
5124 */
5125 tSCC zUltrix_Atof_ParamList[] =
5126 "|math.h|";
5127 /*
5128 * Machine/OS name selection pattern
5129 */
5130 #define apzUltrix_Atof_ParamMachs (const char**)NULL
5131
5132 /*
5133 * content selection pattern - do fix if pattern found
5134 */
5135 tSCC zUltrix_Atof_ParamSelect0[] =
5136 "atof\\([ \t]*char";
5137
5138 #define ULTRIX_ATOF_PARAM_TEST_CT 1
5139 static tTestDesc aUltrix_Atof_ParamTests[] = {
5140 { TT_EGREP, zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
5141
5142 /*
5143 * Fix Command Arguments for Ultrix_Atof_Param
5144 */
5145 static const char* apzUltrix_Atof_ParamPatch[] = {
5146 "format",
5147 "atof(const char",
5148 (char*)NULL };
5149
5150 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5151 *
5152 * Description of Ultrix_Const fix
5153 */
5154 tSCC zUltrix_ConstName[] =
5155 "ultrix_const";
5156
5157 /*
5158 * File name selection pattern
5159 */
5160 tSCC zUltrix_ConstList[] =
5161 "|stdio.h|";
5162 /*
5163 * Machine/OS name selection pattern
5164 */
5165 #define apzUltrix_ConstMachs (const char**)NULL
5166
5167 /*
5168 * content selection pattern - do fix if pattern found
5169 */
5170 tSCC zUltrix_ConstSelect0[] =
5171 "perror\\( char \\*";
5172
5173 #define ULTRIX_CONST_TEST_CT 1
5174 static tTestDesc aUltrix_ConstTests[] = {
5175 { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
5176
5177 /*
5178 * Fix Command Arguments for Ultrix_Const
5179 */
5180 static const char* apzUltrix_ConstPatch[] = {
5181 "format",
5182 "%1 const %3 *__",
5183 "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
5184 (char*)NULL };
5185
5186 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5187 *
5188 * Description of Ultrix_Const2 fix
5189 */
5190 tSCC zUltrix_Const2Name[] =
5191 "ultrix_const2";
5192
5193 /*
5194 * File name selection pattern
5195 */
5196 tSCC zUltrix_Const2List[] =
5197 "|stdio.h|";
5198 /*
5199 * Machine/OS name selection pattern
5200 */
5201 #define apzUltrix_Const2Machs (const char**)NULL
5202
5203 /*
5204 * content selection pattern - do fix if pattern found
5205 */
5206 tSCC zUltrix_Const2Select0[] =
5207 "\\*fopen\\( char \\*";
5208
5209 #define ULTRIX_CONST2_TEST_CT 1
5210 static tTestDesc aUltrix_Const2Tests[] = {
5211 { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
5212
5213 /*
5214 * Fix Command Arguments for Ultrix_Const2
5215 */
5216 static const char* apzUltrix_Const2Patch[] = {
5217 "format",
5218 "%1( const char *%3, const char *",
5219 "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
5220 (char*)NULL };
5221
5222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5223 *
5224 * Description of Ultrix_Fix_Fixproto fix
5225 */
5226 tSCC zUltrix_Fix_FixprotoName[] =
5227 "ultrix_fix_fixproto";
5228
5229 /*
5230 * File name selection pattern
5231 */
5232 tSCC zUltrix_Fix_FixprotoList[] =
5233 "|sys/utsname.h|";
5234 /*
5235 * Machine/OS name selection pattern
5236 */
5237 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
5238
5239 /*
5240 * content selection pattern - do fix if pattern found
5241 */
5242 tSCC zUltrix_Fix_FixprotoSelect0[] =
5243 "ULTRIX";
5244
5245 #define ULTRIX_FIX_FIXPROTO_TEST_CT 1
5246 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
5247 { TT_EGREP, zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
5248
5249 /*
5250 * Fix Command Arguments for Ultrix_Fix_Fixproto
5251 */
5252 static const char* apzUltrix_Fix_FixprotoPatch[] = {
5253 "format",
5254 "struct utsname;\n\
5255 %0",
5256 "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
5257 (char*)NULL };
5258
5259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5260 *
5261 * Description of Ultrix_Ifdef fix
5262 */
5263 tSCC zUltrix_IfdefName[] =
5264 "ultrix_ifdef";
5265
5266 /*
5267 * File name selection pattern
5268 */
5269 tSCC zUltrix_IfdefList[] =
5270 "|sys/file.h|";
5271 /*
5272 * Machine/OS name selection pattern
5273 */
5274 #define apzUltrix_IfdefMachs (const char**)NULL
5275
5276 /*
5277 * content selection pattern - do fix if pattern found
5278 */
5279 tSCC zUltrix_IfdefSelect0[] =
5280 "^#ifdef KERNEL[ \t]+&&";
5281
5282 #define ULTRIX_IFDEF_TEST_CT 1
5283 static tTestDesc aUltrix_IfdefTests[] = {
5284 { TT_EGREP, zUltrix_IfdefSelect0, (regex_t*)NULL }, };
5285
5286 /*
5287 * Fix Command Arguments for Ultrix_Ifdef
5288 */
5289 static const char* apzUltrix_IfdefPatch[] = {
5290 "format",
5291 "#if defined(KERNEL) &&",
5292 (char*)NULL };
5293
5294 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5295 *
5296 * Description of Ultrix_Math_Ifdef fix
5297 */
5298 tSCC zUltrix_Math_IfdefName[] =
5299 "ultrix_math_ifdef";
5300
5301 /*
5302 * File name selection pattern
5303 */
5304 tSCC zUltrix_Math_IfdefList[] =
5305 "|sys/limits.h|float.h|math.h|";
5306 /*
5307 * Machine/OS name selection pattern
5308 */
5309 #define apzUltrix_Math_IfdefMachs (const char**)NULL
5310
5311 /*
5312 * content selection pattern - do fix if pattern found
5313 */
5314 tSCC zUltrix_Math_IfdefSelect0[] =
5315 "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
5316
5317 #define ULTRIX_MATH_IFDEF_TEST_CT 1
5318 static tTestDesc aUltrix_Math_IfdefTests[] = {
5319 { TT_EGREP, zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
5320
5321 /*
5322 * Fix Command Arguments for Ultrix_Math_Ifdef
5323 */
5324 static const char* apzUltrix_Math_IfdefPatch[] = {
5325 "format",
5326 "%1",
5327 (char*)NULL };
5328
5329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5330 *
5331 * Description of Ultrix_Nested_Ioctl fix
5332 */
5333 tSCC zUltrix_Nested_IoctlName[] =
5334 "ultrix_nested_ioctl";
5335
5336 /*
5337 * File name selection pattern
5338 */
5339 tSCC zUltrix_Nested_IoctlList[] =
5340 "|sys/ioctl.h|";
5341 /*
5342 * Machine/OS name selection pattern
5343 */
5344 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
5345
5346 /*
5347 * content selection pattern - do fix if pattern found
5348 */
5349 tSCC zUltrix_Nested_IoctlSelect0[] =
5350 "^/\\* #define SIOCSCREEN";
5351
5352 #define ULTRIX_NESTED_IOCTL_TEST_CT 1
5353 static tTestDesc aUltrix_Nested_IoctlTests[] = {
5354 { TT_EGREP, zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
5355
5356 /*
5357 * Fix Command Arguments for Ultrix_Nested_Ioctl
5358 */
5359 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
5360 "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
5361 (char*)NULL };
5362
5363 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5364 *
5365 * Description of Ultrix_Nested_Svc fix
5366 */
5367 tSCC zUltrix_Nested_SvcName[] =
5368 "ultrix_nested_svc";
5369
5370 /*
5371 * File name selection pattern
5372 */
5373 tSCC zUltrix_Nested_SvcList[] =
5374 "|rpc/svc.h|";
5375 /*
5376 * Machine/OS name selection pattern
5377 */
5378 #define apzUltrix_Nested_SvcMachs (const char**)NULL
5379
5380 /*
5381 * content selection pattern - do fix if pattern found
5382 */
5383 tSCC zUltrix_Nested_SvcSelect0[] =
5384 "^ \\*[ \t]*int protocol; */\\*";
5385
5386 #define ULTRIX_NESTED_SVC_TEST_CT 1
5387 static tTestDesc aUltrix_Nested_SvcTests[] = {
5388 { TT_EGREP, zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
5389
5390 /*
5391 * Fix Command Arguments for Ultrix_Nested_Svc
5392 */
5393 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
5394 "-e", "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@",
5395 (char*)NULL };
5396
5397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5398 *
5399 * Description of Ultrix_Stat fix
5400 */
5401 tSCC zUltrix_StatName[] =
5402 "ultrix_stat";
5403
5404 /*
5405 * File name selection pattern
5406 */
5407 tSCC zUltrix_StatList[] =
5408 "|sys/stat.h|";
5409 /*
5410 * Machine/OS name selection pattern
5411 */
5412 #define apzUltrix_StatMachs (const char**)NULL
5413
5414 /*
5415 * content selection pattern - do fix if pattern found
5416 */
5417 tSCC zUltrix_StatSelect0[] =
5418 "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
5419
5420 #define ULTRIX_STAT_TEST_CT 1
5421 static tTestDesc aUltrix_StatTests[] = {
5422 { TT_EGREP, zUltrix_StatSelect0, (regex_t*)NULL }, };
5423
5424 /*
5425 * Fix Command Arguments for Ultrix_Stat
5426 */
5427 static const char* apzUltrix_StatPatch[] = { "sed",
5428 "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
5429 \\\n\
5430 /* macro to test for symbolic link */\\\n\
5431 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
5432 "-e", "/^[ \t]*fstat(),$/a\\\n\
5433 \tlstat(),\n",
5434 (char*)NULL };
5435
5436 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5437 *
5438 * Description of Ultrix_Static fix
5439 */
5440 tSCC zUltrix_StaticName[] =
5441 "ultrix_static";
5442
5443 /*
5444 * File name selection pattern
5445 */
5446 tSCC zUltrix_StaticList[] =
5447 "|machine/cpu.h|";
5448 /*
5449 * Machine/OS name selection pattern
5450 */
5451 #define apzUltrix_StaticMachs (const char**)NULL
5452
5453 /*
5454 * content selection pattern - do fix if pattern found
5455 */
5456 tSCC zUltrix_StaticSelect0[] =
5457 "#include \"r[34]_cpu";
5458
5459 #define ULTRIX_STATIC_TEST_CT 1
5460 static tTestDesc aUltrix_StaticTests[] = {
5461 { TT_EGREP, zUltrix_StaticSelect0, (regex_t*)NULL }, };
5462
5463 /*
5464 * Fix Command Arguments for Ultrix_Static
5465 */
5466 static const char* apzUltrix_StaticPatch[] = { "sed",
5467 "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
5468 "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
5469 "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
5470 (char*)NULL };
5471
5472 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5473 *
5474 * Description of Ultrix_Strings fix
5475 */
5476 tSCC zUltrix_StringsName[] =
5477 "ultrix_strings";
5478
5479 /*
5480 * File name selection pattern
5481 */
5482 tSCC zUltrix_StringsList[] =
5483 "|strings.h|";
5484 /*
5485 * Machine/OS name selection pattern
5486 */
5487 #define apzUltrix_StringsMachs (const char**)NULL
5488
5489 /*
5490 * content selection pattern - do fix if pattern found
5491 */
5492 tSCC zUltrix_StringsSelect0[] =
5493 "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
5494
5495 #define ULTRIX_STRINGS_TEST_CT 1
5496 static tTestDesc aUltrix_StringsTests[] = {
5497 { TT_EGREP, zUltrix_StringsSelect0, (regex_t*)NULL }, };
5498
5499 /*
5500 * Fix Command Arguments for Ultrix_Strings
5501 */
5502 static const char* apzUltrix_StringsPatch[] = {
5503 "wrap",
5504 (char*)NULL };
5505
5506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5507 *
5508 * Description of Undefine_Null fix
5509 */
5510 tSCC zUndefine_NullName[] =
5511 "undefine_null";
5512
5513 /*
5514 * File name selection pattern
5515 */
5516 #define zUndefine_NullList (char*)NULL
5517 /*
5518 * Machine/OS name selection pattern
5519 */
5520 #define apzUndefine_NullMachs (const char**)NULL
5521
5522 /*
5523 * content selection pattern - do fix if pattern found
5524 */
5525 tSCC zUndefine_NullSelect0[] =
5526 "^#[ \t]*define[ \t]+NULL[ \t]";
5527
5528 /*
5529 * content bypass pattern - skip fix if pattern found
5530 */
5531 tSCC zUndefine_NullBypass0[] =
5532 "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
5533
5534 #define UNDEFINE_NULL_TEST_CT 2
5535 static tTestDesc aUndefine_NullTests[] = {
5536 { TT_NEGREP, zUndefine_NullBypass0, (regex_t*)NULL },
5537 { TT_EGREP, zUndefine_NullSelect0, (regex_t*)NULL }, };
5538
5539 /*
5540 * Fix Command Arguments for Undefine_Null
5541 */
5542 static const char* apzUndefine_NullPatch[] = {
5543 "format",
5544 "#ifndef NULL%2\n\
5545 #define NULL%1%2\n\
5546 #endif%2\n",
5547 "^#[ \t]*define[ \t]*[ \t]NULL([^\r\n\
5548 ]+)([\r]*)\n",
5549 (char*)NULL };
5550
5551 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5552 *
5553 * Description of Unicosmk_Restrict fix
5554 */
5555 tSCC zUnicosmk_RestrictName[] =
5556 "unicosmk_restrict";
5557
5558 /*
5559 * File name selection pattern
5560 */
5561 tSCC zUnicosmk_RestrictList[] =
5562 "|stdio.h|stdlib.h|wchar.h|";
5563 /*
5564 * Machine/OS name selection pattern
5565 */
5566 tSCC* apzUnicosmk_RestrictMachs[] = {
5567 "*-*-unicosmk*",
5568 (const char*)NULL };
5569
5570 /*
5571 * content selection pattern - do fix if pattern found
5572 */
5573 tSCC zUnicosmk_RestrictSelect0[] =
5574 "(\\*[ \t]*)restrict([ \t]+)";
5575
5576 #define UNICOSMK_RESTRICT_TEST_CT 1
5577 static tTestDesc aUnicosmk_RestrictTests[] = {
5578 { TT_EGREP, zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
5579
5580 /*
5581 * Fix Command Arguments for Unicosmk_Restrict
5582 */
5583 static const char* apzUnicosmk_RestrictPatch[] = {
5584 "format",
5585 "%1__restrict__%2",
5586 (char*)NULL };
5587
5588 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5589 *
5590 * Description of Uw7_Byteorder_Fix fix
5591 */
5592 tSCC zUw7_Byteorder_FixName[] =
5593 "uw7_byteorder_fix";
5594
5595 /*
5596 * File name selection pattern
5597 */
5598 tSCC zUw7_Byteorder_FixList[] =
5599 "|arpa/inet.h|";
5600 /*
5601 * Machine/OS name selection pattern
5602 */
5603 tSCC* apzUw7_Byteorder_FixMachs[] = {
5604 "*-*-sysv4*",
5605 "i?86-*-sysv5*",
5606 "i?86-*-udk*",
5607 "i?86-*-solaris2.[0-4]",
5608 "powerpcle-*-solaris2.[0-4]",
5609 "sparc-*-solaris2.[0-4]",
5610 (const char*)NULL };
5611
5612 /*
5613 * content selection pattern - do fix if pattern found
5614 */
5615 tSCC zUw7_Byteorder_FixSelect0[] =
5616 "in_port_t";
5617
5618 /*
5619 * perform the 'test' shell command - do fix on success
5620 */
5621 tSCC zUw7_Byteorder_FixTest0[] =
5622 "-f sys/byteorder.h";
5623
5624 #define UW7_BYTEORDER_FIX_TEST_CT 2
5625 static tTestDesc aUw7_Byteorder_FixTests[] = {
5626 { TT_TEST, zUw7_Byteorder_FixTest0, 0 /* unused */ },
5627 { TT_EGREP, zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
5628
5629 /*
5630 * Fix Command Arguments for Uw7_Byteorder_Fix
5631 */
5632 static const char* apzUw7_Byteorder_FixPatch[] = {
5633 "format",
5634 "",
5635 "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
5636 (char*)NULL };
5637
5638 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5639 *
5640 * Description of Va_I960_Macro fix
5641 */
5642 tSCC zVa_I960_MacroName[] =
5643 "va_i960_macro";
5644
5645 /*
5646 * File name selection pattern
5647 */
5648 tSCC zVa_I960_MacroList[] =
5649 "|arch/i960/archI960.h|";
5650 /*
5651 * Machine/OS name selection pattern
5652 */
5653 #define apzVa_I960_MacroMachs (const char**)NULL
5654
5655 /*
5656 * content selection pattern - do fix if pattern found
5657 */
5658 tSCC zVa_I960_MacroSelect0[] =
5659 "__(vsiz|vali|vpad|alignof__)";
5660
5661 #define VA_I960_MACRO_TEST_CT 1
5662 static tTestDesc aVa_I960_MacroTests[] = {
5663 { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
5664
5665 /*
5666 * Fix Command Arguments for Va_I960_Macro
5667 */
5668 static const char* apzVa_I960_MacroPatch[] = {
5669 "format",
5670 "__vx%1",
5671 (char*)NULL };
5672
5673 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5674 *
5675 * Description of Void_Null fix
5676 */
5677 tSCC zVoid_NullName[] =
5678 "void_null";
5679
5680 /*
5681 * File name selection pattern
5682 */
5683 tSCC zVoid_NullList[] =
5684 "|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|";
5685 /*
5686 * Machine/OS name selection pattern
5687 */
5688 #define apzVoid_NullMachs (const char**)NULL
5689
5690 /*
5691 * content selection pattern - do fix if pattern found
5692 */
5693 tSCC zVoid_NullSelect0[] =
5694 "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
5695
5696 #define VOID_NULL_TEST_CT 1
5697 static tTestDesc aVoid_NullTests[] = {
5698 { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
5699
5700 /*
5701 * Fix Command Arguments for Void_Null
5702 */
5703 static const char* apzVoid_NullPatch[] = {
5704 "format",
5705 "#define NULL 0",
5706 (char*)NULL };
5707
5708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5709 *
5710 * Description of Vxworks_Gcc_Problem fix
5711 */
5712 tSCC zVxworks_Gcc_ProblemName[] =
5713 "vxworks_gcc_problem";
5714
5715 /*
5716 * File name selection pattern
5717 */
5718 tSCC zVxworks_Gcc_ProblemList[] =
5719 "|types/vxTypesBase.h|";
5720 /*
5721 * Machine/OS name selection pattern
5722 */
5723 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
5724
5725 /*
5726 * content selection pattern - do fix if pattern found
5727 */
5728 tSCC zVxworks_Gcc_ProblemSelect0[] =
5729 "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
5730
5731 #define VXWORKS_GCC_PROBLEM_TEST_CT 1
5732 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
5733 { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
5734
5735 /*
5736 * Fix Command Arguments for Vxworks_Gcc_Problem
5737 */
5738 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
5739 "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
5740 "-e", "/[ \t]size_t/i\\\n\
5741 #ifndef _GCC_SIZE_T\\\n\
5742 #define _GCC_SIZE_T\n",
5743 "-e", "/[ \t]size_t/a\\\n\
5744 #endif\n",
5745 "-e", "/[ \t]ptrdiff_t/i\\\n\
5746 #ifndef _GCC_PTRDIFF_T\\\n\
5747 #define _GCC_PTRDIFF_T\n",
5748 "-e", "/[ \t]ptrdiff_t/a\\\n\
5749 #endif\n",
5750 "-e", "/[ \t]wchar_t/i\\\n\
5751 #ifndef _GCC_WCHAR_T\\\n\
5752 #define _GCC_WCHAR_T\n",
5753 "-e", "/[ \t]wchar_t/a\\\n\
5754 #endif\n",
5755 (char*)NULL };
5756
5757 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5758 *
5759 * Description of Vxworks_Needs_Vxtypes fix
5760 */
5761 tSCC zVxworks_Needs_VxtypesName[] =
5762 "vxworks_needs_vxtypes";
5763
5764 /*
5765 * File name selection pattern
5766 */
5767 tSCC zVxworks_Needs_VxtypesList[] =
5768 "|time.h|";
5769 /*
5770 * Machine/OS name selection pattern
5771 */
5772 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
5773
5774 /*
5775 * content selection pattern - do fix if pattern found
5776 */
5777 tSCC zVxworks_Needs_VxtypesSelect0[] =
5778 "uint_t([ \t]+_clocks_per_sec)";
5779
5780 #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
5781 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
5782 { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
5783
5784 /*
5785 * Fix Command Arguments for Vxworks_Needs_Vxtypes
5786 */
5787 static const char* apzVxworks_Needs_VxtypesPatch[] = {
5788 "format",
5789 "unsigned int%1",
5790 (char*)NULL };
5791
5792 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5793 *
5794 * Description of Vxworks_Needs_Vxworks fix
5795 */
5796 tSCC zVxworks_Needs_VxworksName[] =
5797 "vxworks_needs_vxworks";
5798
5799 /*
5800 * File name selection pattern
5801 */
5802 tSCC zVxworks_Needs_VxworksList[] =
5803 "|sys/stat.h|";
5804 /*
5805 * Machine/OS name selection pattern
5806 */
5807 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
5808
5809 /*
5810 * content selection pattern - do fix if pattern found
5811 */
5812 tSCC zVxworks_Needs_VxworksSelect0[] =
5813 "#[ \t]define[ \t]+__INCstath";
5814
5815 /*
5816 * perform the 'test' shell command - do fix on success
5817 */
5818 tSCC zVxworks_Needs_VxworksTest0[] =
5819 " -r types/vxTypesOld.h";
5820 tSCC zVxworks_Needs_VxworksTest1[] =
5821 " -n \"`egrep '#include' $file`\"";
5822 tSCC zVxworks_Needs_VxworksTest2[] =
5823 " -n \"`egrep ULONG $file`\"";
5824
5825 #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
5826 static tTestDesc aVxworks_Needs_VxworksTests[] = {
5827 { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
5828 { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
5829 { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
5830 { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
5831
5832 /*
5833 * Fix Command Arguments for Vxworks_Needs_Vxworks
5834 */
5835 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
5836 "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
5837 #include <types/vxTypesOld.h>\n",
5838 (char*)NULL };
5839
5840 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5841 *
5842 * Description of Vxworks_Time fix
5843 */
5844 tSCC zVxworks_TimeName[] =
5845 "vxworks_time";
5846
5847 /*
5848 * File name selection pattern
5849 */
5850 tSCC zVxworks_TimeList[] =
5851 "|time.h|";
5852 /*
5853 * Machine/OS name selection pattern
5854 */
5855 #define apzVxworks_TimeMachs (const char**)NULL
5856
5857 /*
5858 * content selection pattern - do fix if pattern found
5859 */
5860 tSCC zVxworks_TimeSelect0[] =
5861 "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
5862
5863 /*
5864 * perform the 'test' shell command - do fix on success
5865 */
5866 tSCC zVxworks_TimeTest0[] =
5867 " -r vxWorks.h";
5868
5869 #define VXWORKS_TIME_TEST_CT 2
5870 static tTestDesc aVxworks_TimeTests[] = {
5871 { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
5872 { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
5873
5874 /*
5875 * Fix Command Arguments for Vxworks_Time
5876 */
5877 static const char* apzVxworks_TimePatch[] = {
5878 "format",
5879 "#ifndef __gcc_VOIDFUNCPTR_defined\n\
5880 #ifdef __cplusplus\n\
5881 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
5882 #else\n\
5883 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
5884 #endif\n\
5885 #define __gcc_VOIDFUNCPTR_defined\n\
5886 #endif\n\
5887 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
5888 (char*)NULL };
5889
5890 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5891 *
5892 * Description of Windiss_Math1 fix
5893 */
5894 tSCC zWindiss_Math1Name[] =
5895 "windiss_math1";
5896
5897 /*
5898 * File name selection pattern
5899 */
5900 tSCC zWindiss_Math1List[] =
5901 "|math.h|";
5902 /*
5903 * Machine/OS name selection pattern
5904 */
5905 tSCC* apzWindiss_Math1Machs[] = {
5906 "*-*-windiss",
5907 (const char*)NULL };
5908 #define WINDISS_MATH1_TEST_CT 0
5909 #define aWindiss_Math1Tests (tTestDesc*)NULL
5910
5911 /*
5912 * Fix Command Arguments for Windiss_Math1
5913 */
5914 static const char* apzWindiss_Math1Patch[] = { "sed",
5915 "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
5916 (char*)NULL };
5917
5918 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5919 *
5920 * Description of Windiss_Math2 fix
5921 */
5922 tSCC zWindiss_Math2Name[] =
5923 "windiss_math2";
5924
5925 /*
5926 * File name selection pattern
5927 */
5928 tSCC zWindiss_Math2List[] =
5929 "|math.h|";
5930 /*
5931 * Machine/OS name selection pattern
5932 */
5933 tSCC* apzWindiss_Math2Machs[] = {
5934 "*-*-windiss",
5935 (const char*)NULL };
5936 #define WINDISS_MATH2_TEST_CT 0
5937 #define aWindiss_Math2Tests (tTestDesc*)NULL
5938
5939 /*
5940 * Fix Command Arguments for Windiss_Math2
5941 */
5942 static const char* apzWindiss_Math2Patch[] = { "sed",
5943 "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
5944 (char*)NULL };
5945
5946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5947 *
5948 * Description of Windiss_Valist fix
5949 */
5950 tSCC zWindiss_ValistName[] =
5951 "windiss_valist";
5952
5953 /*
5954 * File name selection pattern
5955 */
5956 #define zWindiss_ValistList (char*)NULL
5957 /*
5958 * Machine/OS name selection pattern
5959 */
5960 tSCC* apzWindiss_ValistMachs[] = {
5961 "*-*-windiss",
5962 (const char*)NULL };
5963
5964 /*
5965 * content selection pattern - do fix if pattern found
5966 */
5967 tSCC zWindiss_ValistSelect0[] =
5968 "(#include.*)diab/va_list.h";
5969
5970 #define WINDISS_VALIST_TEST_CT 1
5971 static tTestDesc aWindiss_ValistTests[] = {
5972 { TT_EGREP, zWindiss_ValistSelect0, (regex_t*)NULL }, };
5973
5974 /*
5975 * Fix Command Arguments for Windiss_Valist
5976 */
5977 static const char* apzWindiss_ValistPatch[] = { "sed",
5978 "-e", "s|diab/va_list.h|stdarg.h|",
5979 (char*)NULL };
5980
5981 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5982 *
5983 * Description of X11_Class fix
5984 */
5985 tSCC zX11_ClassName[] =
5986 "x11_class";
5987
5988 /*
5989 * File name selection pattern
5990 */
5991 tSCC zX11_ClassList[] =
5992 "|X11/ShellP.h|";
5993 /*
5994 * Machine/OS name selection pattern
5995 */
5996 #define apzX11_ClassMachs (const char**)NULL
5997
5998 /*
5999 * content selection pattern - do fix if pattern found
6000 */
6001 tSCC zX11_ClassSelect0[] =
6002 "^([ \t]*char \\*)class;(.*)";
6003
6004 /*
6005 * content bypass pattern - skip fix if pattern found
6006 */
6007 tSCC zX11_ClassBypass0[] =
6008 "__cplusplus";
6009
6010 #define X11_CLASS_TEST_CT 2
6011 static tTestDesc aX11_ClassTests[] = {
6012 { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
6013 { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
6014
6015 /*
6016 * Fix Command Arguments for X11_Class
6017 */
6018 static const char* apzX11_ClassPatch[] = {
6019 "format",
6020 "#ifdef __cplusplus\n\
6021 %1c_class;%2\n\
6022 #else\n\
6023 %1class;%2\n\
6024 #endif",
6025 (char*)NULL };
6026
6027 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6028 *
6029 * Description of X11_Class_Usage fix
6030 */
6031 tSCC zX11_Class_UsageName[] =
6032 "x11_class_usage";
6033
6034 /*
6035 * File name selection pattern
6036 */
6037 tSCC zX11_Class_UsageList[] =
6038 "|Xm/BaseClassI.h|";
6039 /*
6040 * Machine/OS name selection pattern
6041 */
6042 #define apzX11_Class_UsageMachs (const char**)NULL
6043
6044 /*
6045 * content selection pattern - do fix if pattern found
6046 */
6047 tSCC zX11_Class_UsageSelect0[] =
6048 " class\\)";
6049
6050 /*
6051 * content bypass pattern - skip fix if pattern found
6052 */
6053 tSCC zX11_Class_UsageBypass0[] =
6054 "__cplusplus";
6055
6056 #define X11_CLASS_USAGE_TEST_CT 2
6057 static tTestDesc aX11_Class_UsageTests[] = {
6058 { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
6059 { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
6060
6061 /*
6062 * Fix Command Arguments for X11_Class_Usage
6063 */
6064 static const char* apzX11_Class_UsagePatch[] = {
6065 "format",
6066 " c_class)",
6067 (char*)NULL };
6068
6069 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6070 *
6071 * Description of X11_New fix
6072 */
6073 tSCC zX11_NewName[] =
6074 "x11_new";
6075
6076 /*
6077 * File name selection pattern
6078 */
6079 tSCC zX11_NewList[] =
6080 "|Xm/Traversal.h|";
6081 /*
6082 * Machine/OS name selection pattern
6083 */
6084 #define apzX11_NewMachs (const char**)NULL
6085
6086 /*
6087 * content bypass pattern - skip fix if pattern found
6088 */
6089 tSCC zX11_NewBypass0[] =
6090 "__cplusplus";
6091
6092 #define X11_NEW_TEST_CT 1
6093 static tTestDesc aX11_NewTests[] = {
6094 { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
6095
6096 /*
6097 * Fix Command Arguments for X11_New
6098 */
6099 static const char* apzX11_NewPatch[] = { "sed",
6100 "-e", "/Widget\told, new;/i\\\n\
6101 #ifdef __cplusplus\\\n\
6102 \tWidget\told, c_new;\\\n\
6103 #else\n",
6104 "-e", "/Widget\told, new;/a\\\n\
6105 #endif\n",
6106 "-e", "s/Widget new,/Widget c_new,/g",
6107 (char*)NULL };
6108
6109 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6110 *
6111 * Description of X11_Sprintf fix
6112 */
6113 tSCC zX11_SprintfName[] =
6114 "x11_sprintf";
6115
6116 /*
6117 * File name selection pattern
6118 */
6119 tSCC zX11_SprintfList[] =
6120 "|X11/Xmu.h|X11/Xmu/Xmu.h|";
6121 /*
6122 * Machine/OS name selection pattern
6123 */
6124 #define apzX11_SprintfMachs (const char**)NULL
6125
6126 /*
6127 * content selection pattern - do fix if pattern found
6128 */
6129 tSCC zX11_SprintfSelect0[] =
6130 "^extern char \\*\tsprintf\\(\\);$";
6131
6132 #define X11_SPRINTF_TEST_CT 1
6133 static tTestDesc aX11_SprintfTests[] = {
6134 { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
6135
6136 /*
6137 * Fix Command Arguments for X11_Sprintf
6138 */
6139 static const char* apzX11_SprintfPatch[] = {
6140 "format",
6141 "#ifndef __STDC__\n\
6142 %0\n\
6143 #endif /* !defined __STDC__ */",
6144 (char*)NULL };
6145
6146
6147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6148 *
6149 * List of all fixes
6150 */
6151 #define REGEX_COUNT 174
6152 #define MACH_LIST_SIZE_LIMIT 261
6153 #define FIX_COUNT 155
6154
6155 /*
6156 * Enumerate the fixes
6157 */
6158 typedef enum {
6159 AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
6160 AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
6161 AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
6162 AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
6163 AAB_SUN_MEMCPY_FIXIDX,
6164 AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
6165 AAB_ULTRIX_LIMITS_FIXIDX,
6166 AAB_ULTRIX_MEMORY_FIXIDX,
6167 AAB_ULTRIX_STRING_FIXIDX,
6168 AIX_PTHREAD_FIXIDX,
6169 AIX_SYSMACHINE_FIXIDX,
6170 AIX_SYSWAIT_FIXIDX,
6171 AIX_VOLATILE_FIXIDX,
6172 ALPHA___ASSERT_FIXIDX,
6173 ALPHA___EXTERN_PREFIX_FIXIDX,
6174 ALPHA_ASSERT_FIXIDX,
6175 ALPHA_GETOPT_FIXIDX,
6176 ALPHA_PARENS_FIXIDX,
6177 ALPHA_PTHREAD_FIXIDX,
6178 ALPHA_SBRK_FIXIDX,
6179 AVOID_BOOL_DEFINE_FIXIDX,
6180 AVOID_BOOL_TYPE_FIXIDX,
6181 AVOID_WCHAR_T_TYPE_FIXIDX,
6182 BAD_LVAL_FIXIDX,
6183 BAD_STRUCT_TERM_FIXIDX,
6184 BADQUOTE_FIXIDX,
6185 BROKEN_ASSERT_STDIO_FIXIDX,
6186 BROKEN_ASSERT_STDLIB_FIXIDX,
6187 BROKEN_CABS_FIXIDX,
6188 BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
6189 CTRL_QUOTES_DEF_FIXIDX,
6190 CTRL_QUOTES_USE_FIXIDX,
6191 CXX_UNREADY_FIXIDX,
6192 DEC_INTERN_ASM_FIXIDX,
6193 DJGPP_WCHAR_H_FIXIDX,
6194 ECD_CURSOR_FIXIDX,
6195 FREEBSD_GCC3_BREAKAGE_FIXIDX,
6196 GNU_TYPES_FIXIDX,
6197 HP_INLINE_FIXIDX,
6198 HP_SYSFILE_FIXIDX,
6199 HPUX10_CPP_POW_INLINE_FIXIDX,
6200 HPUX11_CPP_POW_INLINE_FIXIDX,
6201 HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
6202 HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
6203 HPUX11_ABS_FIXIDX,
6204 HPUX11_FABSF_FIXIDX,
6205 HPUX11_SIZE_T_FIXIDX,
6206 HPUX11_UINT32_C_FIXIDX,
6207 HPUX11_VSNPRINTF_FIXIDX,
6208 HPUX8_BOGUS_INLINES_FIXIDX,
6209 HPUX_CTYPE_MACROS_FIXIDX,
6210 HPUX_LONG_DOUBLE_FIXIDX,
6211 HPUX_MAXINT_FIXIDX,
6212 HPUX_SYSTIME_FIXIDX,
6213 INT_ABORT_FREE_AND_EXIT_FIXIDX,
6214 IO_QUOTES_DEF_FIXIDX,
6215 IO_QUOTES_USE_FIXIDX,
6216 IP_MISSING_SEMI_FIXIDX,
6217 IRIX___RESTRICT_FIXIDX,
6218 IRIX_ASM_APOSTROPHE_FIXIDX,
6219 IRIX_LIMITS_CONST_FIXIDX,
6220 IRIX_SOCKLEN_T_FIXIDX,
6221 IRIX_STDIO_VA_LIST_FIXIDX,
6222 IRIX_WCSFTIME_FIXIDX,
6223 ISC_FMOD_FIXIDX,
6224 ISC_OMITS_WITH_STDC_FIXIDX,
6225 KANDR_CONCAT_FIXIDX,
6226 LIBC1_G_VA_LIST_FIXIDX,
6227 LIBC1_IFDEFD_MEMX_FIXIDX,
6228 LIMITS_IFNDEFS_FIXIDX,
6229 LYNX_VOID_INT_FIXIDX,
6230 LYNXOS_FCNTL_PROTO_FIXIDX,
6231 MACHINE_ANSI_H_VA_LIST_FIXIDX,
6232 MACHINE_NAME_FIXIDX,
6233 MATH_EXCEPTION_FIXIDX,
6234 MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
6235 MATH_HUGE_VAL_IFNDEF_FIXIDX,
6236 NESTED_AUTH_DES_FIXIDX,
6237 NESTED_MOTOROLA_FIXIDX,
6238 NESTED_SYS_LIMITS_FIXIDX,
6239 NETBSD_EXTRA_SEMICOLON_FIXIDX,
6240 NEXT_MATH_PREFIX_FIXIDX,
6241 NEXT_TEMPLATE_FIXIDX,
6242 NEXT_VOLITILE_FIXIDX,
6243 NEXT_WAIT_UNION_FIXIDX,
6244 NODEENT_SYNTAX_FIXIDX,
6245 OSF_NAMESPACE_A_FIXIDX,
6246 OSF_NAMESPACE_C_FIXIDX,
6247 PTHREAD_PAGE_SIZE_FIXIDX,
6248 READ_RET_TYPE_FIXIDX,
6249 RS6000_DOUBLE_FIXIDX,
6250 RS6000_FCHMOD_FIXIDX,
6251 RS6000_PARAM_FIXIDX,
6252 SCO_MATH_FIXIDX,
6253 SCO_REGSET_FIXIDX,
6254 SCO_STATIC_FUNC_FIXIDX,
6255 SCO_UTIME_FIXIDX,
6256 SOLARIS_MUTEX_INIT_1_FIXIDX,
6257 SOLARIS_MUTEX_INIT_2_FIXIDX,
6258 SOLARIS_SOCKET_FIXIDX,
6259 SOLARIS_STDIO_TAG_FIXIDX,
6260 SOLARIS_UNISTD_FIXIDX,
6261 SOLARIS_WIDEC_FIXIDX,
6262 STATSSWTCH_FIXIDX,
6263 STDIO_STDARG_H_FIXIDX,
6264 STDIO_VA_LIST_FIXIDX,
6265 STRICT_ANSI_NOT_FIXIDX,
6266 STRICT_ANSI_NOT_CTD_FIXIDX,
6267 STRICT_ANSI_ONLY_FIXIDX,
6268 STRUCT_FILE_FIXIDX,
6269 STRUCT_SOCKADDR_FIXIDX,
6270 SUN_AUTH_PROTO_FIXIDX,
6271 SUN_BOGUS_IFDEF_FIXIDX,
6272 SUN_CATMACRO_FIXIDX,
6273 SUN_MALLOC_FIXIDX,
6274 SUN_RUSERS_SEMI_FIXIDX,
6275 SUN_SIGNAL_FIXIDX,
6276 SUNOS_MATHERR_DECL_FIXIDX,
6277 SUNOS_STRLEN_FIXIDX,
6278 SVR4__P_FIXIDX,
6279 SVR4_DISABLE_OPT_FIXIDX,
6280 SVR4_GETCWD_FIXIDX,
6281 SVR4_PROFIL_FIXIDX,
6282 SYSV68_STRING_FIXIDX,
6283 SYSZ_STDLIB_FOR_SUN_FIXIDX,
6284 THREAD_KEYWORD_FIXIDX,
6285 TINFO_CPLUSPLUS_FIXIDX,
6286 ULTRIX_ATEXIT_PARAM_FIXIDX,
6287 ULTRIX_ATOF_PARAM_FIXIDX,
6288 ULTRIX_CONST_FIXIDX,
6289 ULTRIX_CONST2_FIXIDX,
6290 ULTRIX_FIX_FIXPROTO_FIXIDX,
6291 ULTRIX_IFDEF_FIXIDX,
6292 ULTRIX_MATH_IFDEF_FIXIDX,
6293 ULTRIX_NESTED_IOCTL_FIXIDX,
6294 ULTRIX_NESTED_SVC_FIXIDX,
6295 ULTRIX_STAT_FIXIDX,
6296 ULTRIX_STATIC_FIXIDX,
6297 ULTRIX_STRINGS_FIXIDX,
6298 UNDEFINE_NULL_FIXIDX,
6299 UNICOSMK_RESTRICT_FIXIDX,
6300 UW7_BYTEORDER_FIX_FIXIDX,
6301 VA_I960_MACRO_FIXIDX,
6302 VOID_NULL_FIXIDX,
6303 VXWORKS_GCC_PROBLEM_FIXIDX,
6304 VXWORKS_NEEDS_VXTYPES_FIXIDX,
6305 VXWORKS_NEEDS_VXWORKS_FIXIDX,
6306 VXWORKS_TIME_FIXIDX,
6307 WINDISS_MATH1_FIXIDX,
6308 WINDISS_MATH2_FIXIDX,
6309 WINDISS_VALIST_FIXIDX,
6310 X11_CLASS_FIXIDX,
6311 X11_CLASS_USAGE_FIXIDX,
6312 X11_NEW_FIXIDX,
6313 X11_SPRINTF_FIXIDX
6314 } t_fixinc_idx;
6315
6316 tFixDesc fixDescList[ FIX_COUNT ] = {
6317 { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
6318 apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
6319 AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6320 aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
6321
6322 { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
6323 apzAab_Fd_Zero_Gnu_Types_HMachs,
6324 AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6325 aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
6326
6327 { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
6328 apzAab_Fd_Zero_Selectbits_HMachs,
6329 AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6330 aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
6331
6332 { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
6333 apzAab_Solaris_Sys_Varargs_HMachs,
6334 AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6335 aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
6336
6337 { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
6338 apzAab_Sun_MemcpyMachs,
6339 AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6340 aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
6341
6342 { zAab_Ultrix_Ansi_CompatName, zAab_Ultrix_Ansi_CompatList,
6343 apzAab_Ultrix_Ansi_CompatMachs,
6344 AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6345 aAab_Ultrix_Ansi_CompatTests, apzAab_Ultrix_Ansi_CompatPatch, 0 },
6346
6347 { zAab_Ultrix_LimitsName, zAab_Ultrix_LimitsList,
6348 apzAab_Ultrix_LimitsMachs,
6349 AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6350 aAab_Ultrix_LimitsTests, apzAab_Ultrix_LimitsPatch, 0 },
6351
6352 { zAab_Ultrix_MemoryName, zAab_Ultrix_MemoryList,
6353 apzAab_Ultrix_MemoryMachs,
6354 AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6355 aAab_Ultrix_MemoryTests, apzAab_Ultrix_MemoryPatch, 0 },
6356
6357 { zAab_Ultrix_StringName, zAab_Ultrix_StringList,
6358 apzAab_Ultrix_StringMachs,
6359 AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
6360 aAab_Ultrix_StringTests, apzAab_Ultrix_StringPatch, 0 },
6361
6362 { zAix_PthreadName, zAix_PthreadList,
6363 apzAix_PthreadMachs,
6364 AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6365 aAix_PthreadTests, apzAix_PthreadPatch, 0 },
6366
6367 { zAix_SysmachineName, zAix_SysmachineList,
6368 apzAix_SysmachineMachs,
6369 AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6370 aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
6371
6372 { zAix_SyswaitName, zAix_SyswaitList,
6373 apzAix_SyswaitMachs,
6374 AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6375 aAix_SyswaitTests, apzAix_SyswaitPatch, 0 },
6376
6377 { zAix_VolatileName, zAix_VolatileList,
6378 apzAix_VolatileMachs,
6379 AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6380 aAix_VolatileTests, apzAix_VolatilePatch, 0 },
6381
6382 { zAlpha___AssertName, zAlpha___AssertList,
6383 apzAlpha___AssertMachs,
6384 ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6385 aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
6386
6387 { zAlpha___Extern_PrefixName, zAlpha___Extern_PrefixList,
6388 apzAlpha___Extern_PrefixMachs,
6389 ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6390 aAlpha___Extern_PrefixTests, apzAlpha___Extern_PrefixPatch, 0 },
6391
6392 { zAlpha_AssertName, zAlpha_AssertList,
6393 apzAlpha_AssertMachs,
6394 ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6395 aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
6396
6397 { zAlpha_GetoptName, zAlpha_GetoptList,
6398 apzAlpha_GetoptMachs,
6399 ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6400 aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
6401
6402 { zAlpha_ParensName, zAlpha_ParensList,
6403 apzAlpha_ParensMachs,
6404 ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6405 aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
6406
6407 { zAlpha_PthreadName, zAlpha_PthreadList,
6408 apzAlpha_PthreadMachs,
6409 ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6410 aAlpha_PthreadTests, apzAlpha_PthreadPatch, 0 },
6411
6412 { zAlpha_SbrkName, zAlpha_SbrkList,
6413 apzAlpha_SbrkMachs,
6414 ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6415 aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
6416
6417 { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
6418 apzAvoid_Bool_DefineMachs,
6419 AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6420 aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
6421
6422 { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
6423 apzAvoid_Bool_TypeMachs,
6424 AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6425 aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
6426
6427 { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
6428 apzAvoid_Wchar_T_TypeMachs,
6429 AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6430 aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
6431
6432 { zBad_LvalName, zBad_LvalList,
6433 apzBad_LvalMachs,
6434 BAD_LVAL_TEST_CT, FD_MACH_ONLY,
6435 aBad_LvalTests, apzBad_LvalPatch, 0 },
6436
6437 { zBad_Struct_TermName, zBad_Struct_TermList,
6438 apzBad_Struct_TermMachs,
6439 BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6440 aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
6441
6442 { zBadquoteName, zBadquoteList,
6443 apzBadquoteMachs,
6444 BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6445 aBadquoteTests, apzBadquotePatch, 0 },
6446
6447 { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
6448 apzBroken_Assert_StdioMachs,
6449 BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6450 aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
6451
6452 { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
6453 apzBroken_Assert_StdlibMachs,
6454 BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6455 aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
6456
6457 { zBroken_CabsName, zBroken_CabsList,
6458 apzBroken_CabsMachs,
6459 BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6460 aBroken_CabsTests, apzBroken_CabsPatch, 0 },
6461
6462 { zBsd_Stdio_Attrs_ConflictName, zBsd_Stdio_Attrs_ConflictList,
6463 apzBsd_Stdio_Attrs_ConflictMachs,
6464 BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6465 aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
6466
6467 { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
6468 apzCtrl_Quotes_DefMachs,
6469 CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6470 aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
6471
6472 { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
6473 apzCtrl_Quotes_UseMachs,
6474 CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6475 aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
6476
6477 { zCxx_UnreadyName, zCxx_UnreadyList,
6478 apzCxx_UnreadyMachs,
6479 CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6480 aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
6481
6482 { zDec_Intern_AsmName, zDec_Intern_AsmList,
6483 apzDec_Intern_AsmMachs,
6484 DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
6485 aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
6486
6487 { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
6488 apzDjgpp_Wchar_HMachs,
6489 DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6490 aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
6491
6492 { zEcd_CursorName, zEcd_CursorList,
6493 apzEcd_CursorMachs,
6494 ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6495 aEcd_CursorTests, apzEcd_CursorPatch, 0 },
6496
6497 { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
6498 apzFreebsd_Gcc3_BreakageMachs,
6499 FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6500 aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
6501
6502 { zGnu_TypesName, zGnu_TypesList,
6503 apzGnu_TypesMachs,
6504 GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6505 aGnu_TypesTests, apzGnu_TypesPatch, 0 },
6506
6507 { zHp_InlineName, zHp_InlineList,
6508 apzHp_InlineMachs,
6509 HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6510 aHp_InlineTests, apzHp_InlinePatch, 0 },
6511
6512 { zHp_SysfileName, zHp_SysfileList,
6513 apzHp_SysfileMachs,
6514 HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6515 aHp_SysfileTests, apzHp_SysfilePatch, 0 },
6516
6517 { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
6518 apzHpux10_Cpp_Pow_InlineMachs,
6519 HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6520 aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
6521
6522 { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
6523 apzHpux11_Cpp_Pow_InlineMachs,
6524 HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6525 aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
6526
6527 { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List,
6528 apzHpux10_Ctype_Declarations1Machs,
6529 HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6530 aHpux10_Ctype_Declarations1Tests, apzHpux10_Ctype_Declarations1Patch, 0 },
6531
6532 { zHpux10_Ctype_Declarations2Name, zHpux10_Ctype_Declarations2List,
6533 apzHpux10_Ctype_Declarations2Machs,
6534 HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6535 aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
6536
6537 { zHpux11_AbsName, zHpux11_AbsList,
6538 apzHpux11_AbsMachs,
6539 HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6540 aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
6541
6542 { zHpux11_FabsfName, zHpux11_FabsfList,
6543 apzHpux11_FabsfMachs,
6544 HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6545 aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
6546
6547 { zHpux11_Size_TName, zHpux11_Size_TList,
6548 apzHpux11_Size_TMachs,
6549 HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6550 aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
6551
6552 { zHpux11_Uint32_CName, zHpux11_Uint32_CList,
6553 apzHpux11_Uint32_CMachs,
6554 HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6555 aHpux11_Uint32_CTests, apzHpux11_Uint32_CPatch, 0 },
6556
6557 { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
6558 apzHpux11_VsnprintfMachs,
6559 HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6560 aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
6561
6562 { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
6563 apzHpux8_Bogus_InlinesMachs,
6564 HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
6565 aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
6566
6567 { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList,
6568 apzHpux_Ctype_MacrosMachs,
6569 HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6570 aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 },
6571
6572 { zHpux_Long_DoubleName, zHpux_Long_DoubleList,
6573 apzHpux_Long_DoubleMachs,
6574 HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
6575 aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 },
6576
6577 { zHpux_MaxintName, zHpux_MaxintList,
6578 apzHpux_MaxintMachs,
6579 HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6580 aHpux_MaxintTests, apzHpux_MaxintPatch, 0 },
6581
6582 { zHpux_SystimeName, zHpux_SystimeList,
6583 apzHpux_SystimeMachs,
6584 HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6585 aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
6586
6587 { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
6588 apzInt_Abort_Free_And_ExitMachs,
6589 INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6590 aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
6591
6592 { zIo_Quotes_DefName, zIo_Quotes_DefList,
6593 apzIo_Quotes_DefMachs,
6594 IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6595 aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
6596
6597 { zIo_Quotes_UseName, zIo_Quotes_UseList,
6598 apzIo_Quotes_UseMachs,
6599 IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6600 aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
6601
6602 { zIp_Missing_SemiName, zIp_Missing_SemiList,
6603 apzIp_Missing_SemiMachs,
6604 IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
6605 aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
6606
6607 { zIrix___RestrictName, zIrix___RestrictList,
6608 apzIrix___RestrictMachs,
6609 IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6610 aIrix___RestrictTests, apzIrix___RestrictPatch, 0 },
6611
6612 { zIrix_Asm_ApostropheName, zIrix_Asm_ApostropheList,
6613 apzIrix_Asm_ApostropheMachs,
6614 IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6615 aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 },
6616
6617 { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
6618 apzIrix_Limits_ConstMachs,
6619 IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6620 aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
6621
6622 { zIrix_Socklen_TName, zIrix_Socklen_TList,
6623 apzIrix_Socklen_TMachs,
6624 IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6625 aIrix_Socklen_TTests, apzIrix_Socklen_TPatch, 0 },
6626
6627 { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
6628 apzIrix_Stdio_Va_ListMachs,
6629 IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6630 aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
6631
6632 { zIrix_WcsftimeName, zIrix_WcsftimeList,
6633 apzIrix_WcsftimeMachs,
6634 IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6635 aIrix_WcsftimeTests, apzIrix_WcsftimePatch, 0 },
6636
6637 { zIsc_FmodName, zIsc_FmodList,
6638 apzIsc_FmodMachs,
6639 ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6640 aIsc_FmodTests, apzIsc_FmodPatch, 0 },
6641
6642 { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
6643 apzIsc_Omits_With_StdcMachs,
6644 ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6645 aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
6646
6647 { zKandr_ConcatName, zKandr_ConcatList,
6648 apzKandr_ConcatMachs,
6649 KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6650 aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
6651
6652 { zLibc1_G_Va_ListName, zLibc1_G_Va_ListList,
6653 apzLibc1_G_Va_ListMachs,
6654 LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6655 aLibc1_G_Va_ListTests, apzLibc1_G_Va_ListPatch, 0 },
6656
6657 { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
6658 apzLibc1_Ifdefd_MemxMachs,
6659 LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6660 aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
6661
6662 { zLimits_IfndefsName, zLimits_IfndefsList,
6663 apzLimits_IfndefsMachs,
6664 LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6665 aLimits_IfndefsTests, apzLimits_IfndefsPatch, 0 },
6666
6667 { zLynx_Void_IntName, zLynx_Void_IntList,
6668 apzLynx_Void_IntMachs,
6669 LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6670 aLynx_Void_IntTests, apzLynx_Void_IntPatch, 0 },
6671
6672 { zLynxos_Fcntl_ProtoName, zLynxos_Fcntl_ProtoList,
6673 apzLynxos_Fcntl_ProtoMachs,
6674 LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6675 aLynxos_Fcntl_ProtoTests, apzLynxos_Fcntl_ProtoPatch, 0 },
6676
6677 { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
6678 apzMachine_Ansi_H_Va_ListMachs,
6679 MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6680 aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
6681
6682 { zMachine_NameName, zMachine_NameList,
6683 apzMachine_NameMachs,
6684 MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6685 aMachine_NameTests, apzMachine_NamePatch, 0 },
6686
6687 { zMath_ExceptionName, zMath_ExceptionList,
6688 apzMath_ExceptionMachs,
6689 MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6690 aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
6691
6692 { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
6693 apzMath_Huge_Val_From_Dbl_MaxMachs,
6694 MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
6695 aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
6696
6697 { zMath_Huge_Val_IfndefName, zMath_Huge_Val_IfndefList,
6698 apzMath_Huge_Val_IfndefMachs,
6699 MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6700 aMath_Huge_Val_IfndefTests, apzMath_Huge_Val_IfndefPatch, 0 },
6701
6702 { zNested_Auth_DesName, zNested_Auth_DesList,
6703 apzNested_Auth_DesMachs,
6704 NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6705 aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
6706
6707 { zNested_MotorolaName, zNested_MotorolaList,
6708 apzNested_MotorolaMachs,
6709 NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
6710 aNested_MotorolaTests, apzNested_MotorolaPatch, 0 },
6711
6712 { zNested_Sys_LimitsName, zNested_Sys_LimitsList,
6713 apzNested_Sys_LimitsMachs,
6714 NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
6715 aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 },
6716
6717 { zNetbsd_Extra_SemicolonName, zNetbsd_Extra_SemicolonList,
6718 apzNetbsd_Extra_SemicolonMachs,
6719 NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6720 aNetbsd_Extra_SemicolonTests, apzNetbsd_Extra_SemicolonPatch, 0 },
6721
6722 { zNext_Math_PrefixName, zNext_Math_PrefixList,
6723 apzNext_Math_PrefixMachs,
6724 NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6725 aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
6726
6727 { zNext_TemplateName, zNext_TemplateList,
6728 apzNext_TemplateMachs,
6729 NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6730 aNext_TemplateTests, apzNext_TemplatePatch, 0 },
6731
6732 { zNext_VolitileName, zNext_VolitileList,
6733 apzNext_VolitileMachs,
6734 NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6735 aNext_VolitileTests, apzNext_VolitilePatch, 0 },
6736
6737 { zNext_Wait_UnionName, zNext_Wait_UnionList,
6738 apzNext_Wait_UnionMachs,
6739 NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6740 aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
6741
6742 { zNodeent_SyntaxName, zNodeent_SyntaxList,
6743 apzNodeent_SyntaxMachs,
6744 NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6745 aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
6746
6747 { zOsf_Namespace_AName, zOsf_Namespace_AList,
6748 apzOsf_Namespace_AMachs,
6749 OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6750 aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
6751
6752 { zOsf_Namespace_CName, zOsf_Namespace_CList,
6753 apzOsf_Namespace_CMachs,
6754 OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6755 aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
6756
6757 { zPthread_Page_SizeName, zPthread_Page_SizeList,
6758 apzPthread_Page_SizeMachs,
6759 PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6760 aPthread_Page_SizeTests, apzPthread_Page_SizePatch, 0 },
6761
6762 { zRead_Ret_TypeName, zRead_Ret_TypeList,
6763 apzRead_Ret_TypeMachs,
6764 READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6765 aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
6766
6767 { zRs6000_DoubleName, zRs6000_DoubleList,
6768 apzRs6000_DoubleMachs,
6769 RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6770 aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
6771
6772 { zRs6000_FchmodName, zRs6000_FchmodList,
6773 apzRs6000_FchmodMachs,
6774 RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6775 aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
6776
6777 { zRs6000_ParamName, zRs6000_ParamList,
6778 apzRs6000_ParamMachs,
6779 RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6780 aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
6781
6782 { zSco_MathName, zSco_MathList,
6783 apzSco_MathMachs,
6784 SCO_MATH_TEST_CT, FD_MACH_ONLY,
6785 aSco_MathTests, apzSco_MathPatch, 0 },
6786
6787 { zSco_RegsetName, zSco_RegsetList,
6788 apzSco_RegsetMachs,
6789 SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6790 aSco_RegsetTests, apzSco_RegsetPatch, 0 },
6791
6792 { zSco_Static_FuncName, zSco_Static_FuncList,
6793 apzSco_Static_FuncMachs,
6794 SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
6795 aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 },
6796
6797 { zSco_UtimeName, zSco_UtimeList,
6798 apzSco_UtimeMachs,
6799 SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6800 aSco_UtimeTests, apzSco_UtimePatch, 0 },
6801
6802 { zSolaris_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
6803 apzSolaris_Mutex_Init_1Machs,
6804 SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
6805 aSolaris_Mutex_Init_1Tests, apzSolaris_Mutex_Init_1Patch, 0 },
6806
6807 { zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List,
6808 apzSolaris_Mutex_Init_2Machs,
6809 SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6810 aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 },
6811
6812 { zSolaris_SocketName, zSolaris_SocketList,
6813 apzSolaris_SocketMachs,
6814 SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6815 aSolaris_SocketTests, apzSolaris_SocketPatch, 0 },
6816
6817 { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
6818 apzSolaris_Stdio_TagMachs,
6819 SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
6820 aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
6821
6822 { zSolaris_UnistdName, zSolaris_UnistdList,
6823 apzSolaris_UnistdMachs,
6824 SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6825 aSolaris_UnistdTests, apzSolaris_UnistdPatch, 0 },
6826
6827 { zSolaris_WidecName, zSolaris_WidecList,
6828 apzSolaris_WidecMachs,
6829 SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6830 aSolaris_WidecTests, apzSolaris_WidecPatch, 0 },
6831
6832 { zStatsswtchName, zStatsswtchList,
6833 apzStatsswtchMachs,
6834 STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6835 aStatsswtchTests, apzStatsswtchPatch, 0 },
6836
6837 { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
6838 apzStdio_Stdarg_HMachs,
6839 STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6840 aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
6841
6842 { zStdio_Va_ListName, zStdio_Va_ListList,
6843 apzStdio_Va_ListMachs,
6844 STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
6845 aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
6846
6847 { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
6848 apzStrict_Ansi_NotMachs,
6849 STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6850 aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
6851
6852 { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
6853 apzStrict_Ansi_Not_CtdMachs,
6854 STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6855 aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
6856
6857 { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
6858 apzStrict_Ansi_OnlyMachs,
6859 STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6860 aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
6861
6862 { zStruct_FileName, zStruct_FileList,
6863 apzStruct_FileMachs,
6864 STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6865 aStruct_FileTests, apzStruct_FilePatch, 0 },
6866
6867 { zStruct_SockaddrName, zStruct_SockaddrList,
6868 apzStruct_SockaddrMachs,
6869 STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6870 aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
6871
6872 { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
6873 apzSun_Auth_ProtoMachs,
6874 SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6875 aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
6876
6877 { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
6878 apzSun_Bogus_IfdefMachs,
6879 SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6880 aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
6881
6882 { zSun_CatmacroName, zSun_CatmacroList,
6883 apzSun_CatmacroMachs,
6884 SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6885 aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
6886
6887 { zSun_MallocName, zSun_MallocList,
6888 apzSun_MallocMachs,
6889 SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
6890 aSun_MallocTests, apzSun_MallocPatch, 0 },
6891
6892 { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
6893 apzSun_Rusers_SemiMachs,
6894 SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
6895 aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
6896
6897 { zSun_SignalName, zSun_SignalList,
6898 apzSun_SignalMachs,
6899 SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6900 aSun_SignalTests, apzSun_SignalPatch, 0 },
6901
6902 { zSunos_Matherr_DeclName, zSunos_Matherr_DeclList,
6903 apzSunos_Matherr_DeclMachs,
6904 SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6905 aSunos_Matherr_DeclTests, apzSunos_Matherr_DeclPatch, 0 },
6906
6907 { zSunos_StrlenName, zSunos_StrlenList,
6908 apzSunos_StrlenMachs,
6909 SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6910 aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
6911
6912 { zSvr4__PName, zSvr4__PList,
6913 apzSvr4__PMachs,
6914 SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6915 aSvr4__PTests, apzSvr4__PPatch, 0 },
6916
6917 { zSvr4_Disable_OptName, zSvr4_Disable_OptList,
6918 apzSvr4_Disable_OptMachs,
6919 SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
6920 aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 },
6921
6922 { zSvr4_GetcwdName, zSvr4_GetcwdList,
6923 apzSvr4_GetcwdMachs,
6924 SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6925 aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
6926
6927 { zSvr4_ProfilName, zSvr4_ProfilList,
6928 apzSvr4_ProfilMachs,
6929 SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6930 aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
6931
6932 { zSysv68_StringName, zSysv68_StringList,
6933 apzSysv68_StringMachs,
6934 SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
6935 aSysv68_StringTests, apzSysv68_StringPatch, 0 },
6936
6937 { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
6938 apzSysz_Stdlib_For_SunMachs,
6939 SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6940 aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
6941
6942 { zThread_KeywordName, zThread_KeywordList,
6943 apzThread_KeywordMachs,
6944 THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6945 aThread_KeywordTests, apzThread_KeywordPatch, 0 },
6946
6947 { zTinfo_CplusplusName, zTinfo_CplusplusList,
6948 apzTinfo_CplusplusMachs,
6949 TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6950 aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
6951
6952 { zUltrix_Atexit_ParamName, zUltrix_Atexit_ParamList,
6953 apzUltrix_Atexit_ParamMachs,
6954 ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6955 aUltrix_Atexit_ParamTests, apzUltrix_Atexit_ParamPatch, 0 },
6956
6957 { zUltrix_Atof_ParamName, zUltrix_Atof_ParamList,
6958 apzUltrix_Atof_ParamMachs,
6959 ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6960 aUltrix_Atof_ParamTests, apzUltrix_Atof_ParamPatch, 0 },
6961
6962 { zUltrix_ConstName, zUltrix_ConstList,
6963 apzUltrix_ConstMachs,
6964 ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6965 aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
6966
6967 { zUltrix_Const2Name, zUltrix_Const2List,
6968 apzUltrix_Const2Machs,
6969 ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6970 aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
6971
6972 { zUltrix_Fix_FixprotoName, zUltrix_Fix_FixprotoList,
6973 apzUltrix_Fix_FixprotoMachs,
6974 ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6975 aUltrix_Fix_FixprotoTests, apzUltrix_Fix_FixprotoPatch, 0 },
6976
6977 { zUltrix_IfdefName, zUltrix_IfdefList,
6978 apzUltrix_IfdefMachs,
6979 ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6980 aUltrix_IfdefTests, apzUltrix_IfdefPatch, 0 },
6981
6982 { zUltrix_Math_IfdefName, zUltrix_Math_IfdefList,
6983 apzUltrix_Math_IfdefMachs,
6984 ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
6985 aUltrix_Math_IfdefTests, apzUltrix_Math_IfdefPatch, 0 },
6986
6987 { zUltrix_Nested_IoctlName, zUltrix_Nested_IoctlList,
6988 apzUltrix_Nested_IoctlMachs,
6989 ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
6990 aUltrix_Nested_IoctlTests, apzUltrix_Nested_IoctlPatch, 0 },
6991
6992 { zUltrix_Nested_SvcName, zUltrix_Nested_SvcList,
6993 apzUltrix_Nested_SvcMachs,
6994 ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
6995 aUltrix_Nested_SvcTests, apzUltrix_Nested_SvcPatch, 0 },
6996
6997 { zUltrix_StatName, zUltrix_StatList,
6998 apzUltrix_StatMachs,
6999 ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
7000 aUltrix_StatTests, apzUltrix_StatPatch, 0 },
7001
7002 { zUltrix_StaticName, zUltrix_StaticList,
7003 apzUltrix_StaticMachs,
7004 ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
7005 aUltrix_StaticTests, apzUltrix_StaticPatch, 0 },
7006
7007 { zUltrix_StringsName, zUltrix_StringsList,
7008 apzUltrix_StringsMachs,
7009 ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7010 aUltrix_StringsTests, apzUltrix_StringsPatch, 0 },
7011
7012 { zUndefine_NullName, zUndefine_NullList,
7013 apzUndefine_NullMachs,
7014 UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7015 aUndefine_NullTests, apzUndefine_NullPatch, 0 },
7016
7017 { zUnicosmk_RestrictName, zUnicosmk_RestrictList,
7018 apzUnicosmk_RestrictMachs,
7019 UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7020 aUnicosmk_RestrictTests, apzUnicosmk_RestrictPatch, 0 },
7021
7022 { zUw7_Byteorder_FixName, zUw7_Byteorder_FixList,
7023 apzUw7_Byteorder_FixMachs,
7024 UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7025 aUw7_Byteorder_FixTests, apzUw7_Byteorder_FixPatch, 0 },
7026
7027 { zVa_I960_MacroName, zVa_I960_MacroList,
7028 apzVa_I960_MacroMachs,
7029 VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7030 aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
7031
7032 { zVoid_NullName, zVoid_NullList,
7033 apzVoid_NullMachs,
7034 VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7035 aVoid_NullTests, apzVoid_NullPatch, 0 },
7036
7037 { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
7038 apzVxworks_Gcc_ProblemMachs,
7039 VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
7040 aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
7041
7042 { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
7043 apzVxworks_Needs_VxtypesMachs,
7044 VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7045 aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
7046
7047 { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
7048 apzVxworks_Needs_VxworksMachs,
7049 VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
7050 aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
7051
7052 { zVxworks_TimeName, zVxworks_TimeList,
7053 apzVxworks_TimeMachs,
7054 VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7055 aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
7056
7057 { zWindiss_Math1Name, zWindiss_Math1List,
7058 apzWindiss_Math1Machs,
7059 WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
7060 aWindiss_Math1Tests, apzWindiss_Math1Patch, 0 },
7061
7062 { zWindiss_Math2Name, zWindiss_Math2List,
7063 apzWindiss_Math2Machs,
7064 WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
7065 aWindiss_Math2Tests, apzWindiss_Math2Patch, 0 },
7066
7067 { zWindiss_ValistName, zWindiss_ValistList,
7068 apzWindiss_ValistMachs,
7069 WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
7070 aWindiss_ValistTests, apzWindiss_ValistPatch, 0 },
7071
7072 { zX11_ClassName, zX11_ClassList,
7073 apzX11_ClassMachs,
7074 X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7075 aX11_ClassTests, apzX11_ClassPatch, 0 },
7076
7077 { zX11_Class_UsageName, zX11_Class_UsageList,
7078 apzX11_Class_UsageMachs,
7079 X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7080 aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
7081
7082 { zX11_NewName, zX11_NewList,
7083 apzX11_NewMachs,
7084 X11_NEW_TEST_CT, FD_MACH_ONLY,
7085 aX11_NewTests, apzX11_NewPatch, 0 },
7086
7087 { zX11_SprintfName, zX11_SprintfList,
7088 apzX11_SprintfMachs,
7089 X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
7090 aX11_SprintfTests, apzX11_SprintfPatch, 0 }
7091 };