move inclusion of signal.h
[gcc.git] / gcc / fixinc / fixincl.x
1 /*
2 * DO NOT EDIT THIS FILE - it has been generated
3 *
4 * Install modified versions of certain ANSI-incompatible system header
5 * files which are fixed to work correctly with ANSI C and placed in a
6 * directory that GNU C will search.
7 *
8 * This file contains 125 fixup descriptions.
9 *
10 * See README for more information.
11 *
12 * inclhack copyright (c) 1998, 1999, 2000, 2001
13 * The Free Software Foundation, Inc.
14 *
15 * inclhack is free software.
16 *
17 * You may redistribute it and/or modify it under the terms of the
18 * GNU General Public License, as published by the Free Software
19 * Foundation; either version 2, or (at your option) any later version.
20 *
21 * inclhack is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
24 * See the GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU General Public License
27 * along with inclhack. See the file "COPYING". If not,
28 * write to: The Free Software Foundation, Inc.,
29 * 59 Temple Place - Suite 330,
30 * Boston, MA 02111-1307, USA.
31 */
32
33 /* * * * * * * * * * * * * * * * * * * * * * * * * *
34 *
35 * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
36 */
37 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
38 "AAB_fd_zero_asm_posix_types_h";
39
40 /*
41 * File name selection pattern
42 */
43 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
44 "|asm/posix_types.h|";
45 /*
46 * Machine/OS name selection pattern
47 */
48 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
49 "i[34567]86-*-linux*",
50 (const char*)NULL };
51
52 /*
53 * content bypass pattern - skip fix if pattern found
54 */
55 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
56 "} while";
57
58 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 1
59 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
60 { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
61
62 /*
63 * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
64 */
65 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
66 "/* This file fixes a bug in the __FD_ZERO macro\n\
67 for older versions of the Linux kernel. */\n\
68 #ifndef _POSIX_TYPES_H_WRAPPER\n\
69 #include <features.h>\n\
70 #include_next <asm/posix_types.h>\n\n\
71 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
72 #undef __FD_ZERO\n\
73 #define __FD_ZERO(fdsetp) \\\n\
74 do { \\\n\
75 int __d0, __d1; \\\n\
76 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
77 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
78 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
79 \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
80 } while (0)\n\
81 #endif\n\n\
82 #define _POSIX_TYPES_H_WRAPPER\n\
83 #endif /* _POSIX_TYPES_H_WRAPPER */",
84 (char*)NULL };
85
86 /* * * * * * * * * * * * * * * * * * * * * * * * * *
87 *
88 * Description of Aab_Fd_Zero_Gnu_Types_H fix
89 */
90 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
91 "AAB_fd_zero_gnu_types_h";
92
93 /*
94 * File name selection pattern
95 */
96 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
97 "|gnu/types.h|";
98 /*
99 * Machine/OS name selection pattern
100 */
101 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
102 "i[34567]86-*-linux*",
103 (const char*)NULL };
104 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
105 #define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
106
107 /*
108 * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
109 */
110 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
111 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
112 #ifndef _TYPES_H_WRAPPER\n\
113 #include <features.h>\n\
114 #include_next <gnu/types.h>\n\n\
115 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
116 #undef __FD_ZERO\n\
117 # define __FD_ZERO(fdsetp) \\\n\
118 do { \\\n\
119 int __d0, __d1; \\\n\
120 \t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
121 \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
122 \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
123 \t\t \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
124 } while (0)\n\
125 #endif\n\n\
126 #define _TYPES_H_WRAPPER\n\
127 #endif /* _TYPES_H_WRAPPER */\n",
128 (char*)NULL };
129
130 /* * * * * * * * * * * * * * * * * * * * * * * * * *
131 *
132 * Description of Aab_Fd_Zero_Selectbits_H fix
133 */
134 tSCC zAab_Fd_Zero_Selectbits_HName[] =
135 "AAB_fd_zero_selectbits_h";
136
137 /*
138 * File name selection pattern
139 */
140 tSCC zAab_Fd_Zero_Selectbits_HList[] =
141 "|selectbits.h|";
142 /*
143 * Machine/OS name selection pattern
144 */
145 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
146 "i[34567]86-*-linux*",
147 (const char*)NULL };
148 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
149 #define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
150
151 /*
152 * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
153 */
154 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
155 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
156 #ifndef _SELECTBITS_H_WRAPPER\n\
157 #include <features.h>\n\
158 #include_next <selectbits.h>\n\n\
159 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
160 \t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
161 \t&& __GLIBC_MINOR__ == 0\n\
162 #undef __FD_ZERO\n\
163 #define __FD_ZERO(fdsetp) \\\n\
164 do { \\\n\
165 int __d0, __d1; \\\n\
166 __asm__ __volatile__ (\"cld; rep; stosl\" \\\n\
167 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
168 : \"a\" (0), \"0\" (sizeof (__fd_set) \\\n\
169 / sizeof (__fd_mask)), \\\n\
170 \"1\" ((__fd_mask *) (fdsetp)) \\\n\
171 : \"memory\"); \\\n\
172 } while (0)\n\
173 #endif\n\n\
174 #define _SELECTBITS_H_WRAPPER\n\
175 #endif /* _SELECTBITS_H_WRAPPER */\n",
176 (char*)NULL };
177
178 /* * * * * * * * * * * * * * * * * * * * * * * * * *
179 *
180 * Description of Aab_Solaris_Sys_Varargs_H fix
181 */
182 tSCC zAab_Solaris_Sys_Varargs_HName[] =
183 "AAB_solaris_sys_varargs_h";
184
185 /*
186 * File name selection pattern
187 */
188 tSCC zAab_Solaris_Sys_Varargs_HList[] =
189 "|sys/varargs.h|";
190 /*
191 * Machine/OS name selection pattern
192 */
193 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
194 "*-*-solaris*",
195 (const char*)NULL };
196 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0
197 #define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL
198
199 /*
200 * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
201 */
202 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
203 "#ifdef __STDC__\n\
204 #include <stdarg.h>\n\
205 #else\n\
206 #include <varargs.h>\n\
207 #endif\n",
208 (char*)NULL };
209
210 /* * * * * * * * * * * * * * * * * * * * * * * * * *
211 *
212 * Description of Aab_Sun_Memcpy fix
213 */
214 tSCC zAab_Sun_MemcpyName[] =
215 "AAB_sun_memcpy";
216
217 /*
218 * File name selection pattern
219 */
220 tSCC zAab_Sun_MemcpyList[] =
221 "|memory.h|";
222 /*
223 * Machine/OS name selection pattern
224 */
225 #define apzAab_Sun_MemcpyMachs (const char**)NULL
226
227 /*
228 * content selection pattern - do fix if pattern found
229 */
230 tSCC zAab_Sun_MemcpySelect0[] =
231 "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
232
233 #define AAB_SUN_MEMCPY_TEST_CT 1
234 static tTestDesc aAab_Sun_MemcpyTests[] = {
235 { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
236
237 /*
238 * Fix Command Arguments for Aab_Sun_Memcpy
239 */
240 static const char* apzAab_Sun_MemcpyPatch[] = {
241 "/* This file was generated by fixincludes */\n\
242 #ifndef __memory_h__\n\
243 #define __memory_h__\n\n\
244 #ifdef __STDC__\n\
245 extern void *memccpy();\n\
246 extern void *memchr();\n\
247 extern void *memcpy();\n\
248 extern void *memset();\n\
249 #else\n\
250 extern char *memccpy();\n\
251 extern char *memchr();\n\
252 extern char *memcpy();\n\
253 extern char *memset();\n\
254 #endif /* __STDC__ */\n\n\
255 extern int memcmp();\n\n\
256 #endif /* __memory_h__ */",
257 (char*)NULL };
258
259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
260 *
261 * Description of Aab_Svr4_Replace_Byteorder fix
262 */
263 tSCC zAab_Svr4_Replace_ByteorderName[] =
264 "AAB_svr4_replace_byteorder";
265
266 /*
267 * File name selection pattern
268 */
269 tSCC zAab_Svr4_Replace_ByteorderList[] =
270 "|sys/byteorder.h|";
271 /*
272 * Machine/OS name selection pattern
273 */
274 tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
275 "*-*-sysv4*",
276 "i[34567]86-*-sysv5*",
277 "i[34567]86-*-udk*",
278 "i[34567]86-*-solaris2.[0-4]",
279 "powerpcle-*-solaris2.[0-4]",
280 "sparc-*-solaris2.[0-4]",
281 (const char*)NULL };
282 #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0
283 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL
284
285 /*
286 * Fix Command Arguments for Aab_Svr4_Replace_Byteorder
287 */
288 static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
289 "#ifndef _SYS_BYTEORDER_H\n\
290 #define _SYS_BYTEORDER_H\n\n\
291 /* Functions to convert `short' and `long' quantities from host byte order\n\
292 to (internet) network byte order (i.e. big-endian).\n\n\
293 Written by Ron Guilmette (rfg@ncd.com).\n\n\
294 This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
295 For big-endian machines these functions are essentially no-ops.\n\n\
296 For little-endian machines, we define the functions using specialized\n\
297 asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
298 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
299 #error You lose! This file is only useful with GNU compilers.\n\
300 #endif\n\n\
301 #ifndef __BYTE_ORDER__\n\
302 /* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
303 double underscores added at the front and back. */\n\
304 #define __LITTLE_ENDIAN__ 1234\n\
305 #define __BIG_ENDIAN__ 4321\n\
306 #define __PDP_ENDIAN__ 3412\n\
307 #endif\n\n\
308 #ifdef __STDC__\n\
309 static __inline__ unsigned long htonl (unsigned long);\n\
310 static __inline__ unsigned short htons (unsigned int);\n\
311 static __inline__ unsigned long ntohl (unsigned long);\n\
312 static __inline__ unsigned short ntohs (unsigned int);\n\
313 #endif /* defined (__STDC__) */\n\n\
314 #if defined (__i386__)\n\n\
315 #ifndef __BYTE_ORDER__\n\
316 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
317 #endif\n\n\
318 /* Convert a host long to a network long. */\n\n\
319 /* We must use a new-style function definition, so that this will also\n\
320 be valid for C++. */\n\
321 static __inline__ unsigned long\n\
322 htonl (unsigned long __arg)\n\
323 {\n\
324 register unsigned long __result;\n\n\
325 __asm__ (\"xchg%B0 %b0,%h0\n\
326 ror%L0 $16,%0\n\
327 xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
328 return __result;\n\
329 }\n\n\
330 /* Convert a host short to a network short. */\n\n\
331 static __inline__ unsigned short\n\
332 htons (unsigned int __arg)\n\
333 {\n\
334 register unsigned short __result;\n\n\
335 __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
336 return __result;\n\
337 }\n\n\
338 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
339 #ifndef __BYTE_ORDER__\n\
340 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
341 #endif\n\n\
342 /* For other little-endian machines, using C code is just as efficient as\n\
343 using assembly code. */\n\n\
344 /* Convert a host long to a network long. */\n\n\
345 static __inline__ unsigned long\n\
346 htonl (unsigned long __arg)\n\
347 {\n\
348 register unsigned long __result;\n\n\
349 __result = (__arg >> 24) & 0x000000ff;\n\
350 __result |= (__arg >> 8) & 0x0000ff00;\n\
351 __result |= (__arg << 8) & 0x00ff0000;\n\
352 __result |= (__arg << 24) & 0xff000000;\n\
353 return __result;\n\
354 }\n\n\
355 /* Convert a host short to a network short. */\n\n\
356 static __inline__ unsigned short\n\
357 htons (unsigned int __arg)\n\
358 {\n\
359 register unsigned short __result;\n\n\
360 __result = (__arg << 8) & 0xff00;\n\
361 __result |= (__arg >> 8) & 0x00ff;\n\
362 return __result;\n\
363 }\n\n\
364 #else /* must be a big-endian machine */\n\n\
365 #ifndef __BYTE_ORDER__\n\
366 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
367 #endif\n\n\
368 /* Convert a host long to a network long. */\n\n\
369 static __inline__ unsigned long\n\
370 htonl (unsigned long __arg)\n\
371 {\n\
372 return __arg;\n\
373 }\n\n\
374 /* Convert a host short to a network short. */\n\n\
375 static __inline__ unsigned short\n\
376 htons (unsigned int __arg)\n\
377 {\n\
378 return __arg;\n\
379 }\n\n\
380 #endif /* big-endian */\n\n\
381 /* Convert a network long to a host long. */\n\n\
382 static __inline__ unsigned long\n\
383 ntohl (unsigned long __arg)\n\
384 {\n\
385 return htonl (__arg);\n\
386 }\n\n\
387 /* Convert a network short to a host short. */\n\n\
388 static __inline__ unsigned short\n\
389 ntohs (unsigned int __arg)\n\
390 {\n\
391 return htons (__arg);\n\
392 }\n\
393 #endif",
394 (char*)NULL };
395
396 /* * * * * * * * * * * * * * * * * * * * * * * * * *
397 *
398 * Description of Aix_Pthread fix
399 */
400 tSCC zAix_PthreadName[] =
401 "aix_pthread";
402
403 /*
404 * File name selection pattern
405 */
406 tSCC zAix_PthreadList[] =
407 "|pthread.h|";
408 /*
409 * Machine/OS name selection pattern
410 */
411 #define apzAix_PthreadMachs (const char**)NULL
412
413 /*
414 * content selection pattern - do fix if pattern found
415 */
416 tSCC zAix_PthreadSelect0[] =
417 "(#define [A-Za-z_0-9]+)(\\\\\n\
418 [^A-Za-z_0-9 \t\n\
419 (])";
420
421 #define AIX_PTHREAD_TEST_CT 1
422 static tTestDesc aAix_PthreadTests[] = {
423 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
424
425 /*
426 * Fix Command Arguments for Aix_Pthread
427 */
428 static const char* apzAix_PthreadPatch[] = {
429 "format",
430 "%1 %2",
431 (char*)NULL };
432
433 /* * * * * * * * * * * * * * * * * * * * * * * * * *
434 *
435 * Description of Aix_Sysmachine fix
436 */
437 tSCC zAix_SysmachineName[] =
438 "aix_sysmachine";
439
440 /*
441 * File name selection pattern
442 */
443 tSCC zAix_SysmachineList[] =
444 "|sys/machine.h|";
445 /*
446 * Machine/OS name selection pattern
447 */
448 #define apzAix_SysmachineMachs (const char**)NULL
449
450 /*
451 * content selection pattern - do fix if pattern found
452 */
453 tSCC zAix_SysmachineSelect0[] =
454 "\\\\ +\n";
455
456 #define AIX_SYSMACHINE_TEST_CT 1
457 static tTestDesc aAix_SysmachineTests[] = {
458 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
459
460 /*
461 * Fix Command Arguments for Aix_Sysmachine
462 */
463 static const char* apzAix_SysmachinePatch[] = {
464 "format",
465 "\\\n",
466 (char*)NULL };
467
468 /* * * * * * * * * * * * * * * * * * * * * * * * * *
469 *
470 * Description of Aix_Syswait fix
471 */
472 tSCC zAix_SyswaitName[] =
473 "aix_syswait";
474
475 /*
476 * File name selection pattern
477 */
478 tSCC zAix_SyswaitList[] =
479 "|sys/wait.h|";
480 /*
481 * Machine/OS name selection pattern
482 */
483 #define apzAix_SyswaitMachs (const char**)NULL
484
485 /*
486 * content selection pattern - do fix if pattern found
487 */
488 tSCC zAix_SyswaitSelect0[] =
489 "^extern pid_t wait3\\(\\);\n";
490 tSCC zAix_SyswaitSelect1[] =
491 "bos325,";
492
493 #define AIX_SYSWAIT_TEST_CT 2
494 static tTestDesc aAix_SyswaitTests[] = {
495 { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
496 { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
497
498 /*
499 * Fix Command Arguments for Aix_Syswait
500 */
501 static const char* apzAix_SyswaitPatch[] = {
502 "format",
503 "struct rusage;\n\
504 %0",
505 (char*)NULL };
506
507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
508 *
509 * Description of Aix_Volatile fix
510 */
511 tSCC zAix_VolatileName[] =
512 "aix_volatile";
513
514 /*
515 * File name selection pattern
516 */
517 tSCC zAix_VolatileList[] =
518 "|sys/signal.h|";
519 /*
520 * Machine/OS name selection pattern
521 */
522 #define apzAix_VolatileMachs (const char**)NULL
523
524 /*
525 * content selection pattern - do fix if pattern found
526 */
527 tSCC zAix_VolatileSelect0[] =
528 "typedef volatile int sig_atomic_t";
529
530 #define AIX_VOLATILE_TEST_CT 1
531 static tTestDesc aAix_VolatileTests[] = {
532 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
533
534 /*
535 * Fix Command Arguments for Aix_Volatile
536 */
537 static const char* apzAix_VolatilePatch[] = {
538 "format",
539 "typedef int sig_atomic_t",
540 (char*)NULL };
541
542 /* * * * * * * * * * * * * * * * * * * * * * * * * *
543 *
544 * Description of Alpha___Assert fix
545 */
546 tSCC zAlpha___AssertName[] =
547 "alpha___assert";
548
549 /*
550 * File name selection pattern
551 */
552 tSCC zAlpha___AssertList[] =
553 "|assert.h|";
554 /*
555 * Machine/OS name selection pattern
556 */
557 #define apzAlpha___AssertMachs (const char**)NULL
558
559 /*
560 * content selection pattern - do fix if pattern found
561 */
562 tSCC zAlpha___AssertSelect0[] =
563 "__assert\\(char \\*, char \\*, int\\)";
564
565 #define ALPHA___ASSERT_TEST_CT 1
566 static tTestDesc aAlpha___AssertTests[] = {
567 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
568
569 /*
570 * Fix Command Arguments for Alpha___Assert
571 */
572 static const char* apzAlpha___AssertPatch[] = {
573 "format",
574 "__assert(const char *, const char *, int)",
575 (char*)NULL };
576
577 /* * * * * * * * * * * * * * * * * * * * * * * * * *
578 *
579 * Description of Alpha_Assert fix
580 */
581 tSCC zAlpha_AssertName[] =
582 "alpha_assert";
583
584 /*
585 * File name selection pattern
586 */
587 tSCC zAlpha_AssertList[] =
588 "|assert.h|";
589 /*
590 * Machine/OS name selection pattern
591 */
592 #define apzAlpha_AssertMachs (const char**)NULL
593
594 /*
595 * content selection pattern - do fix if pattern found
596 */
597 tSCC zAlpha_AssertSelect0[] =
598 "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
599
600 #define ALPHA_ASSERT_TEST_CT 1
601 static tTestDesc aAlpha_AssertTests[] = {
602 { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
603
604 /*
605 * Fix Command Arguments for Alpha_Assert
606 */
607 static const char* apzAlpha_AssertPatch[] = {
608 "format",
609 "%1(EX)",
610 (char*)NULL };
611
612 /* * * * * * * * * * * * * * * * * * * * * * * * * *
613 *
614 * Description of Alpha_Getopt fix
615 */
616 tSCC zAlpha_GetoptName[] =
617 "alpha_getopt";
618
619 /*
620 * File name selection pattern
621 */
622 tSCC zAlpha_GetoptList[] =
623 "|stdio.h|stdlib.h|";
624 /*
625 * Machine/OS name selection pattern
626 */
627 #define apzAlpha_GetoptMachs (const char**)NULL
628
629 /*
630 * content selection pattern - do fix if pattern found
631 */
632 tSCC zAlpha_GetoptSelect0[] =
633 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
634
635 #define ALPHA_GETOPT_TEST_CT 1
636 static tTestDesc aAlpha_GetoptTests[] = {
637 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
638
639 /*
640 * Fix Command Arguments for Alpha_Getopt
641 */
642 static const char* apzAlpha_GetoptPatch[] = {
643 "format",
644 "getopt(int, char *const[], const char *)",
645 (char*)NULL };
646
647 /* * * * * * * * * * * * * * * * * * * * * * * * * *
648 *
649 * Description of Alpha_Parens fix
650 */
651 tSCC zAlpha_ParensName[] =
652 "alpha_parens";
653
654 /*
655 * File name selection pattern
656 */
657 tSCC zAlpha_ParensList[] =
658 "|sym.h|";
659 /*
660 * Machine/OS name selection pattern
661 */
662 #define apzAlpha_ParensMachs (const char**)NULL
663
664 /*
665 * content selection pattern - do fix if pattern found
666 */
667 tSCC zAlpha_ParensSelect0[] =
668 "#ifndef\\(__mips64\\)";
669
670 #define ALPHA_PARENS_TEST_CT 1
671 static tTestDesc aAlpha_ParensTests[] = {
672 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
673
674 /*
675 * Fix Command Arguments for Alpha_Parens
676 */
677 static const char* apzAlpha_ParensPatch[] = {
678 "format",
679 "#ifndef __mips64",
680 (char*)NULL };
681
682 /* * * * * * * * * * * * * * * * * * * * * * * * * *
683 *
684 * Description of Alpha_Sbrk fix
685 */
686 tSCC zAlpha_SbrkName[] =
687 "alpha_sbrk";
688
689 /*
690 * File name selection pattern
691 */
692 tSCC zAlpha_SbrkList[] =
693 "|unistd.h|";
694 /*
695 * Machine/OS name selection pattern
696 */
697 #define apzAlpha_SbrkMachs (const char**)NULL
698
699 /*
700 * content selection pattern - do fix if pattern found
701 */
702 tSCC zAlpha_SbrkSelect0[] =
703 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
704
705 #define ALPHA_SBRK_TEST_CT 1
706 static tTestDesc aAlpha_SbrkTests[] = {
707 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
708
709 /*
710 * Fix Command Arguments for Alpha_Sbrk
711 */
712 static const char* apzAlpha_SbrkPatch[] = {
713 "format",
714 "void *sbrk(",
715 (char*)NULL };
716
717 /* * * * * * * * * * * * * * * * * * * * * * * * * *
718 *
719 * Description of Avoid_Bool_Define fix
720 */
721 tSCC zAvoid_Bool_DefineName[] =
722 "avoid_bool_define";
723
724 /*
725 * File name selection pattern
726 */
727 tSCC zAvoid_Bool_DefineList[] =
728 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
729 /*
730 * Machine/OS name selection pattern
731 */
732 #define apzAvoid_Bool_DefineMachs (const char**)NULL
733
734 /*
735 * content selection pattern - do fix if pattern found
736 */
737 tSCC zAvoid_Bool_DefineSelect0[] =
738 "#[ \t]*define[ \t]+bool[ \t]";
739
740 /*
741 * content bypass pattern - skip fix if pattern found
742 */
743 tSCC zAvoid_Bool_DefineBypass0[] =
744 "we must use the C\\+\\+ compiler's type";
745
746 #define AVOID_BOOL_DEFINE_TEST_CT 2
747 static tTestDesc aAvoid_Bool_DefineTests[] = {
748 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
749 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
750
751 /*
752 * Fix Command Arguments for Avoid_Bool_Define
753 */
754 static const char* apzAvoid_Bool_DefinePatch[] = {
755 "format",
756 "#ifndef __cplusplus\n\
757 %0\n\
758 #endif",
759 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
760 (char*)NULL };
761
762 /* * * * * * * * * * * * * * * * * * * * * * * * * *
763 *
764 * Description of Avoid_Bool_Type fix
765 */
766 tSCC zAvoid_Bool_TypeName[] =
767 "avoid_bool_type";
768
769 /*
770 * File name selection pattern
771 */
772 tSCC zAvoid_Bool_TypeList[] =
773 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
774 /*
775 * Machine/OS name selection pattern
776 */
777 #define apzAvoid_Bool_TypeMachs (const char**)NULL
778
779 /*
780 * content selection pattern - do fix if pattern found
781 */
782 tSCC zAvoid_Bool_TypeSelect0[] =
783 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
784
785 /*
786 * content bypass pattern - skip fix if pattern found
787 */
788 tSCC zAvoid_Bool_TypeBypass0[] =
789 "we must use the C\\+\\+ compiler's type";
790
791 #define AVOID_BOOL_TYPE_TEST_CT 2
792 static tTestDesc aAvoid_Bool_TypeTests[] = {
793 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
794 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
795
796 /*
797 * Fix Command Arguments for Avoid_Bool_Type
798 */
799 static const char* apzAvoid_Bool_TypePatch[] = {
800 "format",
801 "#ifndef __cplusplus\n\
802 %0\n\
803 #endif",
804 (char*)NULL };
805
806 /* * * * * * * * * * * * * * * * * * * * * * * * * *
807 *
808 * Description of Avoid_Wchar_T_Type fix
809 */
810 tSCC zAvoid_Wchar_T_TypeName[] =
811 "avoid_wchar_t_type";
812
813 /*
814 * File name selection pattern
815 */
816 #define zAvoid_Wchar_T_TypeList (char*)NULL
817 /*
818 * Machine/OS name selection pattern
819 */
820 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
821
822 /*
823 * content selection pattern - do fix if pattern found
824 */
825 tSCC zAvoid_Wchar_T_TypeSelect0[] =
826 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
827
828 #define AVOID_WCHAR_T_TYPE_TEST_CT 1
829 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
830 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
831
832 /*
833 * Fix Command Arguments for Avoid_Wchar_T_Type
834 */
835 static const char* apzAvoid_Wchar_T_TypePatch[] = {
836 "format",
837 "#ifndef __cplusplus\n\
838 %0\n\
839 #endif",
840 (char*)NULL };
841
842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
843 *
844 * Description of Bad_Lval fix
845 */
846 tSCC zBad_LvalName[] =
847 "bad_lval";
848
849 /*
850 * File name selection pattern
851 */
852 tSCC zBad_LvalList[] =
853 "|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|";
854 /*
855 * Machine/OS name selection pattern
856 */
857 #define apzBad_LvalMachs (const char**)NULL
858
859 /*
860 * content selection pattern - do fix if pattern found
861 */
862 tSCC zBad_LvalSelect0[] =
863 "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
864
865 #define BAD_LVAL_TEST_CT 1
866 static tTestDesc aBad_LvalTests[] = {
867 { TT_EGREP, zBad_LvalSelect0, (regex_t*)NULL }, };
868
869 /*
870 * Fix Command Arguments for Bad_Lval
871 */
872 static const char* apzBad_LvalPatch[] = { "sed",
873 "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
874 (char*)NULL };
875
876 /* * * * * * * * * * * * * * * * * * * * * * * * * *
877 *
878 * Description of Bad_Struct_Term fix
879 */
880 tSCC zBad_Struct_TermName[] =
881 "bad_struct_term";
882
883 /*
884 * File name selection pattern
885 */
886 tSCC zBad_Struct_TermList[] =
887 "|curses.h|";
888 /*
889 * Machine/OS name selection pattern
890 */
891 #define apzBad_Struct_TermMachs (const char**)NULL
892
893 /*
894 * content selection pattern - do fix if pattern found
895 */
896 tSCC zBad_Struct_TermSelect0[] =
897 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
898
899 #define BAD_STRUCT_TERM_TEST_CT 1
900 static tTestDesc aBad_Struct_TermTests[] = {
901 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
902
903 /*
904 * Fix Command Arguments for Bad_Struct_Term
905 */
906 static const char* apzBad_Struct_TermPatch[] = {
907 "format",
908 "struct term;",
909 (char*)NULL };
910
911 /* * * * * * * * * * * * * * * * * * * * * * * * * *
912 *
913 * Description of Badquote fix
914 */
915 tSCC zBadquoteName[] =
916 "badquote";
917
918 /*
919 * File name selection pattern
920 */
921 tSCC zBadquoteList[] =
922 "|sundev/vuid_event.h|";
923 /*
924 * Machine/OS name selection pattern
925 */
926 #define apzBadquoteMachs (const char**)NULL
927
928 /*
929 * content selection pattern - do fix if pattern found
930 */
931 tSCC zBadquoteSelect0[] =
932 "doesn't";
933
934 #define BADQUOTE_TEST_CT 1
935 static tTestDesc aBadquoteTests[] = {
936 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
937
938 /*
939 * Fix Command Arguments for Badquote
940 */
941 static const char* apzBadquotePatch[] = {
942 "format",
943 "does not",
944 (char*)NULL };
945
946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
947 *
948 * Description of Broken_Assert_Stdio fix
949 */
950 tSCC zBroken_Assert_StdioName[] =
951 "broken_assert_stdio";
952
953 /*
954 * File name selection pattern
955 */
956 tSCC zBroken_Assert_StdioList[] =
957 "|assert.h|";
958 /*
959 * Machine/OS name selection pattern
960 */
961 #define apzBroken_Assert_StdioMachs (const char**)NULL
962
963 /*
964 * content selection pattern - do fix if pattern found
965 */
966 tSCC zBroken_Assert_StdioSelect0[] =
967 "stderr";
968
969 /*
970 * content bypass pattern - skip fix if pattern found
971 */
972 tSCC zBroken_Assert_StdioBypass0[] =
973 "include.*stdio\\.h";
974
975 #define BROKEN_ASSERT_STDIO_TEST_CT 2
976 static tTestDesc aBroken_Assert_StdioTests[] = {
977 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
978 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
979
980 /*
981 * Fix Command Arguments for Broken_Assert_Stdio
982 */
983 static const char* apzBroken_Assert_StdioPatch[] = {
984 "wrap",
985 "#include <stdio.h>\n",
986 (char*)NULL };
987
988 /* * * * * * * * * * * * * * * * * * * * * * * * * *
989 *
990 * Description of Broken_Assert_Stdlib fix
991 */
992 tSCC zBroken_Assert_StdlibName[] =
993 "broken_assert_stdlib";
994
995 /*
996 * File name selection pattern
997 */
998 tSCC zBroken_Assert_StdlibList[] =
999 "|assert.h|";
1000 /*
1001 * Machine/OS name selection pattern
1002 */
1003 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1004
1005 /*
1006 * content selection pattern - do fix if pattern found
1007 */
1008 tSCC zBroken_Assert_StdlibSelect0[] =
1009 "exit *\\(|abort *\\(";
1010
1011 /*
1012 * content bypass pattern - skip fix if pattern found
1013 */
1014 tSCC zBroken_Assert_StdlibBypass0[] =
1015 "include.*stdlib\\.h";
1016
1017 #define BROKEN_ASSERT_STDLIB_TEST_CT 2
1018 static tTestDesc aBroken_Assert_StdlibTests[] = {
1019 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1020 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1021
1022 /*
1023 * Fix Command Arguments for Broken_Assert_Stdlib
1024 */
1025 static const char* apzBroken_Assert_StdlibPatch[] = {
1026 "wrap",
1027 "#ifdef __cplusplus\n\
1028 #include <stdlib.h>\n\
1029 #endif\n",
1030 (char*)NULL };
1031
1032 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1033 *
1034 * Description of Broken_Cabs fix
1035 */
1036 tSCC zBroken_CabsName[] =
1037 "broken_cabs";
1038
1039 /*
1040 * File name selection pattern
1041 */
1042 tSCC zBroken_CabsList[] =
1043 "|math.h|";
1044 /*
1045 * Machine/OS name selection pattern
1046 */
1047 #define apzBroken_CabsMachs (const char**)NULL
1048
1049 /*
1050 * content selection pattern - do fix if pattern found
1051 */
1052 tSCC zBroken_CabsSelect0[] =
1053 "^extern[ \\t]+double[ \\t]+cabs";
1054
1055 #define BROKEN_CABS_TEST_CT 1
1056 static tTestDesc aBroken_CabsTests[] = {
1057 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1058
1059 /*
1060 * Fix Command Arguments for Broken_Cabs
1061 */
1062 static const char* apzBroken_CabsPatch[] = {
1063 "format",
1064 "",
1065 "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
1066 (char*)NULL };
1067
1068 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1069 *
1070 * Description of Ctrl_Quotes_Def fix
1071 */
1072 tSCC zCtrl_Quotes_DefName[] =
1073 "ctrl_quotes_def";
1074
1075 /*
1076 * File name selection pattern
1077 */
1078 #define zCtrl_Quotes_DefList (char*)NULL
1079 /*
1080 * Machine/OS name selection pattern
1081 */
1082 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1083
1084 /*
1085 * content selection pattern - do fix if pattern found
1086 */
1087 tSCC zCtrl_Quotes_DefSelect0[] =
1088 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1089
1090 #define CTRL_QUOTES_DEF_TEST_CT 1
1091 static tTestDesc aCtrl_Quotes_DefTests[] = {
1092 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1093
1094 /*
1095 * Fix Command Arguments for Ctrl_Quotes_Def
1096 */
1097 static const char* apzCtrl_Quotes_DefPatch[] = {
1098 "char_macro_def",
1099 "CTRL",
1100 (char*)NULL };
1101
1102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1103 *
1104 * Description of Ctrl_Quotes_Use fix
1105 */
1106 tSCC zCtrl_Quotes_UseName[] =
1107 "ctrl_quotes_use";
1108
1109 /*
1110 * File name selection pattern
1111 */
1112 #define zCtrl_Quotes_UseList (char*)NULL
1113 /*
1114 * Machine/OS name selection pattern
1115 */
1116 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1117
1118 /*
1119 * content selection pattern - do fix if pattern found
1120 */
1121 tSCC zCtrl_Quotes_UseSelect0[] =
1122 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1123
1124 #define CTRL_QUOTES_USE_TEST_CT 1
1125 static tTestDesc aCtrl_Quotes_UseTests[] = {
1126 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1127
1128 /*
1129 * Fix Command Arguments for Ctrl_Quotes_Use
1130 */
1131 static const char* apzCtrl_Quotes_UsePatch[] = {
1132 "char_macro_use",
1133 "CTRL",
1134 (char*)NULL };
1135
1136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1137 *
1138 * Description of Cxx_Unready fix
1139 */
1140 tSCC zCxx_UnreadyName[] =
1141 "cxx_unready";
1142
1143 /*
1144 * File name selection pattern
1145 */
1146 tSCC zCxx_UnreadyList[] =
1147 "|sys/mman.h|rpc/types.h|";
1148 /*
1149 * Machine/OS name selection pattern
1150 */
1151 #define apzCxx_UnreadyMachs (const char**)NULL
1152
1153 /*
1154 * content selection pattern - do fix if pattern found
1155 */
1156 tSCC zCxx_UnreadySelect0[] =
1157 "[^#]+malloc.*;";
1158
1159 /*
1160 * content bypass pattern - skip fix if pattern found
1161 */
1162 tSCC zCxx_UnreadyBypass0[] =
1163 "\"C\"|__BEGIN_DECLS";
1164
1165 #define CXX_UNREADY_TEST_CT 2
1166 static tTestDesc aCxx_UnreadyTests[] = {
1167 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1168 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
1169
1170 /*
1171 * Fix Command Arguments for Cxx_Unready
1172 */
1173 static const char* apzCxx_UnreadyPatch[] = {
1174 "wrap",
1175 "#ifdef __cplusplus\n\
1176 extern \"C\" {\n\
1177 #endif\n",
1178 "#ifdef __cplusplus\n\
1179 }\n\
1180 #endif\n",
1181 (char*)NULL };
1182
1183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1184 *
1185 * Description of Dec_Intern_Asm fix
1186 */
1187 tSCC zDec_Intern_AsmName[] =
1188 "dec_intern_asm";
1189
1190 /*
1191 * File name selection pattern
1192 */
1193 tSCC zDec_Intern_AsmList[] =
1194 "|c_asm.h|";
1195 /*
1196 * Machine/OS name selection pattern
1197 */
1198 #define apzDec_Intern_AsmMachs (const char**)NULL
1199 #define DEC_INTERN_ASM_TEST_CT 0
1200 #define aDec_Intern_AsmTests (tTestDesc*)NULL
1201
1202 /*
1203 * Fix Command Arguments for Dec_Intern_Asm
1204 */
1205 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1206 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1207 #ifdef __DECC\n",
1208 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1209 #endif\n",
1210 (char*)NULL };
1211
1212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1213 *
1214 * Description of Djgpp_Wchar_H fix
1215 */
1216 tSCC zDjgpp_Wchar_HName[] =
1217 "djgpp_wchar_h";
1218
1219 /*
1220 * File name selection pattern
1221 */
1222 #define zDjgpp_Wchar_HList (char*)NULL
1223 /*
1224 * Machine/OS name selection pattern
1225 */
1226 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1227
1228 /*
1229 * content selection pattern - do fix if pattern found
1230 */
1231 tSCC zDjgpp_Wchar_HSelect0[] =
1232 "__DJ_wint_t";
1233
1234 /*
1235 * content bypass pattern - skip fix if pattern found
1236 */
1237 tSCC zDjgpp_Wchar_HBypass0[] =
1238 "sys/djtypes.h";
1239
1240 #define DJGPP_WCHAR_H_TEST_CT 2
1241 static tTestDesc aDjgpp_Wchar_HTests[] = {
1242 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1243 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1244
1245 /*
1246 * Fix Command Arguments for Djgpp_Wchar_H
1247 */
1248 static const char* apzDjgpp_Wchar_HPatch[] = {
1249 "format",
1250 "%0\n\
1251 #include <sys/djtypes.h>",
1252 "#include <stddef.h>",
1253 (char*)NULL };
1254
1255 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1256 *
1257 * Description of Ecd_Cursor fix
1258 */
1259 tSCC zEcd_CursorName[] =
1260 "ecd_cursor";
1261
1262 /*
1263 * File name selection pattern
1264 */
1265 tSCC zEcd_CursorList[] =
1266 "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1267 /*
1268 * Machine/OS name selection pattern
1269 */
1270 #define apzEcd_CursorMachs (const char**)NULL
1271
1272 /*
1273 * content selection pattern - do fix if pattern found
1274 */
1275 tSCC zEcd_CursorSelect0[] =
1276 "ecd\\.cursor";
1277
1278 #define ECD_CURSOR_TEST_CT 1
1279 static tTestDesc aEcd_CursorTests[] = {
1280 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
1281
1282 /*
1283 * Fix Command Arguments for Ecd_Cursor
1284 */
1285 static const char* apzEcd_CursorPatch[] = {
1286 "format",
1287 "ecd_cursor",
1288 (char*)NULL };
1289
1290 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1291 *
1292 * Description of Freebsd_Gcc3_Breakage fix
1293 */
1294 tSCC zFreebsd_Gcc3_BreakageName[] =
1295 "freebsd_gcc3_breakage";
1296
1297 /*
1298 * File name selection pattern
1299 */
1300 tSCC zFreebsd_Gcc3_BreakageList[] =
1301 "|sys/cdefs.h|";
1302 /*
1303 * Machine/OS name selection pattern
1304 */
1305 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1306 "*-*-freebsd*",
1307 (const char*)NULL };
1308
1309 /*
1310 * content selection pattern - do fix if pattern found
1311 */
1312 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1313 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1314
1315 /*
1316 * content bypass pattern - skip fix if pattern found
1317 */
1318 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1319 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1320
1321 #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
1322 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1323 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1324 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1325
1326 /*
1327 * Fix Command Arguments for Freebsd_Gcc3_Breakage
1328 */
1329 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1330 "format",
1331 "%0 || __GNUC__ >= 3",
1332 (char*)NULL };
1333
1334 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1335 *
1336 * Description of Gnu_Types fix
1337 */
1338 tSCC zGnu_TypesName[] =
1339 "gnu_types";
1340
1341 /*
1342 * File name selection pattern
1343 */
1344 tSCC zGnu_TypesList[] =
1345 "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
1346 /*
1347 * Machine/OS name selection pattern
1348 */
1349 #define apzGnu_TypesMachs (const char**)NULL
1350
1351 /*
1352 * content selection pattern - do fix if pattern found
1353 */
1354 tSCC zGnu_TypesSelect0[] =
1355 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
1356
1357 /*
1358 * content bypass pattern - skip fix if pattern found
1359 */
1360 tSCC zGnu_TypesBypass0[] =
1361 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
1362
1363 #define GNU_TYPES_TEST_CT 2
1364 static tTestDesc aGnu_TypesTests[] = {
1365 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
1366 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
1367
1368 /*
1369 * Fix Command Arguments for Gnu_Types
1370 */
1371 static const char* apzGnu_TypesPatch[] = {
1372 "gnu_type",
1373 (char*)NULL };
1374
1375 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1376 *
1377 * Description of Hp_Inline fix
1378 */
1379 tSCC zHp_InlineName[] =
1380 "hp_inline";
1381
1382 /*
1383 * File name selection pattern
1384 */
1385 tSCC zHp_InlineList[] =
1386 "|sys/spinlock.h|machine/machparam.h|";
1387 /*
1388 * Machine/OS name selection pattern
1389 */
1390 #define apzHp_InlineMachs (const char**)NULL
1391
1392 /*
1393 * content selection pattern - do fix if pattern found
1394 */
1395 tSCC zHp_InlineSelect0[] =
1396 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1397
1398 #define HP_INLINE_TEST_CT 1
1399 static tTestDesc aHp_InlineTests[] = {
1400 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
1401
1402 /*
1403 * Fix Command Arguments for Hp_Inline
1404 */
1405 static const char* apzHp_InlinePatch[] = {
1406 "format",
1407 "%1<machine/%2.h>",
1408 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1409 (char*)NULL };
1410
1411 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1412 *
1413 * Description of Hp_Sysfile fix
1414 */
1415 tSCC zHp_SysfileName[] =
1416 "hp_sysfile";
1417
1418 /*
1419 * File name selection pattern
1420 */
1421 tSCC zHp_SysfileList[] =
1422 "|sys/file.h|";
1423 /*
1424 * Machine/OS name selection pattern
1425 */
1426 #define apzHp_SysfileMachs (const char**)NULL
1427
1428 /*
1429 * content selection pattern - do fix if pattern found
1430 */
1431 tSCC zHp_SysfileSelect0[] =
1432 "HPUX_SOURCE";
1433
1434 #define HP_SYSFILE_TEST_CT 1
1435 static tTestDesc aHp_SysfileTests[] = {
1436 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
1437
1438 /*
1439 * Fix Command Arguments for Hp_Sysfile
1440 */
1441 static const char* apzHp_SysfilePatch[] = {
1442 "format",
1443 "(struct file *, ...)",
1444 "\\(\\.\\.\\.\\)",
1445 (char*)NULL };
1446
1447 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1448 *
1449 * Description of Hpux10_Cpp_Pow_Inline fix
1450 */
1451 tSCC zHpux10_Cpp_Pow_InlineName[] =
1452 "hpux10_cpp_pow_inline";
1453
1454 /*
1455 * File name selection pattern
1456 */
1457 tSCC zHpux10_Cpp_Pow_InlineList[] =
1458 "|fixinc-test-limits.h|math.h|";
1459 /*
1460 * Machine/OS name selection pattern
1461 */
1462 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
1463
1464 /*
1465 * content selection pattern - do fix if pattern found
1466 */
1467 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
1468 "^# +ifdef +__cplusplus\n\
1469 +}\n\
1470 +inline +double +pow\\(double +__d,int +__expon\\) +{\n\
1471 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
1472 +}\n\
1473 +extern +\"C\" +{\n\
1474 #else\n\
1475 # +endif";
1476
1477 #define HPUX10_CPP_POW_INLINE_TEST_CT 1
1478 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
1479 { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1480
1481 /*
1482 * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
1483 */
1484 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
1485 "format",
1486 "",
1487 (char*)NULL };
1488
1489 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1490 *
1491 * Description of Hpux11_Cpp_Pow_Inline fix
1492 */
1493 tSCC zHpux11_Cpp_Pow_InlineName[] =
1494 "hpux11_cpp_pow_inline";
1495
1496 /*
1497 * File name selection pattern
1498 */
1499 tSCC zHpux11_Cpp_Pow_InlineList[] =
1500 "|math.h|";
1501 /*
1502 * Machine/OS name selection pattern
1503 */
1504 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
1505
1506 /*
1507 * content selection pattern - do fix if pattern found
1508 */
1509 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
1510 " +inline double pow\\(double d,int expon\\) {\n\
1511 +return pow\\(d, \\(double\\)expon\\);\n\
1512 +}\n";
1513
1514 #define HPUX11_CPP_POW_INLINE_TEST_CT 1
1515 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
1516 { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
1517
1518 /*
1519 * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
1520 */
1521 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
1522 "format",
1523 "",
1524 (char*)NULL };
1525
1526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1527 *
1528 * Description of Hpux11_Abs fix
1529 */
1530 tSCC zHpux11_AbsName[] =
1531 "hpux11_abs";
1532
1533 /*
1534 * File name selection pattern
1535 */
1536 tSCC zHpux11_AbsList[] =
1537 "|stdlib.h|";
1538 /*
1539 * Machine/OS name selection pattern
1540 */
1541 tSCC* apzHpux11_AbsMachs[] = {
1542 "ia64-hp-hpux11*",
1543 (const char*)NULL };
1544
1545 /*
1546 * content selection pattern - do fix if pattern found
1547 */
1548 tSCC zHpux11_AbsSelect0[] =
1549 "ifndef _MATH_INCLUDED";
1550
1551 #define HPUX11_ABS_TEST_CT 1
1552 static tTestDesc aHpux11_AbsTests[] = {
1553 { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, };
1554
1555 /*
1556 * Fix Command Arguments for Hpux11_Abs
1557 */
1558 static const char* apzHpux11_AbsPatch[] = {
1559 "format",
1560 "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
1561 (char*)NULL };
1562
1563 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1564 *
1565 * Description of Hpux11_Fabsf fix
1566 */
1567 tSCC zHpux11_FabsfName[] =
1568 "hpux11_fabsf";
1569
1570 /*
1571 * File name selection pattern
1572 */
1573 tSCC zHpux11_FabsfList[] =
1574 "|math.h|";
1575 /*
1576 * Machine/OS name selection pattern
1577 */
1578 #define apzHpux11_FabsfMachs (const char**)NULL
1579
1580 /*
1581 * content selection pattern - do fix if pattern found
1582 */
1583 tSCC zHpux11_FabsfSelect0[] =
1584 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1585
1586 /*
1587 * content bypass pattern - skip fix if pattern found
1588 */
1589 tSCC zHpux11_FabsfBypass0[] =
1590 "__cplusplus";
1591
1592 #define HPUX11_FABSF_TEST_CT 2
1593 static tTestDesc aHpux11_FabsfTests[] = {
1594 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
1595 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1596
1597 /*
1598 * Fix Command Arguments for Hpux11_Fabsf
1599 */
1600 static const char* apzHpux11_FabsfPatch[] = {
1601 "format",
1602 "#ifndef __cplusplus\n\
1603 %0\n\
1604 #endif",
1605 (char*)NULL };
1606
1607 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1608 *
1609 * Description of Hpux11_Size_T fix
1610 */
1611 tSCC zHpux11_Size_TName[] =
1612 "hpux11_size_t";
1613
1614 /*
1615 * File name selection pattern
1616 */
1617 #define zHpux11_Size_TList (char*)NULL
1618 /*
1619 * Machine/OS name selection pattern
1620 */
1621 tSCC* apzHpux11_Size_TMachs[] = {
1622 "*-hp-hpux11*",
1623 (const char*)NULL };
1624
1625 /*
1626 * content selection pattern - do fix if pattern found
1627 */
1628 tSCC zHpux11_Size_TSelect0[] =
1629 "__size_t";
1630
1631 #define HPUX11_SIZE_T_TEST_CT 1
1632 static tTestDesc aHpux11_Size_TTests[] = {
1633 { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
1634
1635 /*
1636 * Fix Command Arguments for Hpux11_Size_T
1637 */
1638 static const char* apzHpux11_Size_TPatch[] = {
1639 "format",
1640 "_hpux_size_t",
1641 (char*)NULL };
1642
1643 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1644 *
1645 * Description of Hpux11_Uint32_C fix
1646 */
1647 tSCC zHpux11_Uint32_CName[] =
1648 "hpux11_uint32_c";
1649
1650 /*
1651 * File name selection pattern
1652 */
1653 tSCC zHpux11_Uint32_CList[] =
1654 "|inttypes.h|";
1655 /*
1656 * Machine/OS name selection pattern
1657 */
1658 #define apzHpux11_Uint32_CMachs (const char**)NULL
1659
1660 /*
1661 * content selection pattern - do fix if pattern found
1662 */
1663 tSCC zHpux11_Uint32_CSelect0[] =
1664 "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
1665
1666 #define HPUX11_UINT32_C_TEST_CT 1
1667 static tTestDesc aHpux11_Uint32_CTests[] = {
1668 { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
1669
1670 /*
1671 * Fix Command Arguments for Hpux11_Uint32_C
1672 */
1673 static const char* apzHpux11_Uint32_CPatch[] = {
1674 "format",
1675 "#define UINT32_C(__c) __CONCAT__(__c,ul)",
1676 (char*)NULL };
1677
1678 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1679 *
1680 * Description of Hpux11_Vsnprintf fix
1681 */
1682 tSCC zHpux11_VsnprintfName[] =
1683 "hpux11_vsnprintf";
1684
1685 /*
1686 * File name selection pattern
1687 */
1688 tSCC zHpux11_VsnprintfList[] =
1689 "|stdio.h|";
1690 /*
1691 * Machine/OS name selection pattern
1692 */
1693 #define apzHpux11_VsnprintfMachs (const char**)NULL
1694
1695 /*
1696 * content selection pattern - do fix if pattern found
1697 */
1698 tSCC zHpux11_VsnprintfSelect0[] =
1699 "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
1700
1701 #define HPUX11_VSNPRINTF_TEST_CT 1
1702 static tTestDesc aHpux11_VsnprintfTests[] = {
1703 { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
1704
1705 /*
1706 * Fix Command Arguments for Hpux11_Vsnprintf
1707 */
1708 static const char* apzHpux11_VsnprintfPatch[] = {
1709 "format",
1710 "%1 __va_list);",
1711 (char*)NULL };
1712
1713 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1714 *
1715 * Description of Hpux8_Bogus_Inlines fix
1716 */
1717 tSCC zHpux8_Bogus_InlinesName[] =
1718 "hpux8_bogus_inlines";
1719
1720 /*
1721 * File name selection pattern
1722 */
1723 tSCC zHpux8_Bogus_InlinesList[] =
1724 "|math.h|";
1725 /*
1726 * Machine/OS name selection pattern
1727 */
1728 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
1729
1730 /*
1731 * content selection pattern - do fix if pattern found
1732 */
1733 tSCC zHpux8_Bogus_InlinesSelect0[] =
1734 "inline";
1735
1736 #define HPUX8_BOGUS_INLINES_TEST_CT 1
1737 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
1738 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
1739
1740 /*
1741 * Fix Command Arguments for Hpux8_Bogus_Inlines
1742 */
1743 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
1744 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
1745 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
1746 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
1747 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
1748 (char*)NULL };
1749
1750 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1751 *
1752 * Description of Hpux_Maxint fix
1753 */
1754 tSCC zHpux_MaxintName[] =
1755 "hpux_maxint";
1756
1757 /*
1758 * File name selection pattern
1759 */
1760 tSCC zHpux_MaxintList[] =
1761 "|sys/param.h|values.h|";
1762 /*
1763 * Machine/OS name selection pattern
1764 */
1765 #define apzHpux_MaxintMachs (const char**)NULL
1766
1767 /*
1768 * content selection pattern - do fix if pattern found
1769 */
1770 tSCC zHpux_MaxintSelect0[] =
1771 "^#[ \t]*define[ \t]+MAXINT[ \t]";
1772
1773 /*
1774 * content bypass pattern - skip fix if pattern found
1775 */
1776 tSCC zHpux_MaxintBypass0[] =
1777 "^#[ \t]*ifndef[ \t]+MAXINT";
1778
1779 /*
1780 * perform the 'test' shell command - do fix on success
1781 */
1782 tSCC zHpux_MaxintTest0[] =
1783 "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
1784
1785 #define HPUX_MAXINT_TEST_CT 3
1786 static tTestDesc aHpux_MaxintTests[] = {
1787 { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
1788 { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
1789 { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
1790
1791 /*
1792 * Fix Command Arguments for Hpux_Maxint
1793 */
1794 static const char* apzHpux_MaxintPatch[] = {
1795 "format",
1796 "#ifndef MAXINT\n\
1797 %0\n\
1798 #endif",
1799 "^#[ \t]*define[ \t]+MAXINT[ \t].*",
1800 (char*)NULL };
1801
1802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1803 *
1804 * Description of Hpux_Systime fix
1805 */
1806 tSCC zHpux_SystimeName[] =
1807 "hpux_systime";
1808
1809 /*
1810 * File name selection pattern
1811 */
1812 tSCC zHpux_SystimeList[] =
1813 "|sys/time.h|";
1814 /*
1815 * Machine/OS name selection pattern
1816 */
1817 #define apzHpux_SystimeMachs (const char**)NULL
1818
1819 /*
1820 * content selection pattern - do fix if pattern found
1821 */
1822 tSCC zHpux_SystimeSelect0[] =
1823 "^extern struct sigevent;";
1824
1825 #define HPUX_SYSTIME_TEST_CT 1
1826 static tTestDesc aHpux_SystimeTests[] = {
1827 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
1828
1829 /*
1830 * Fix Command Arguments for Hpux_Systime
1831 */
1832 static const char* apzHpux_SystimePatch[] = {
1833 "format",
1834 "struct sigevent;",
1835 (char*)NULL };
1836
1837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1838 *
1839 * Description of Int_Abort_Free_And_Exit fix
1840 */
1841 tSCC zInt_Abort_Free_And_ExitName[] =
1842 "int_abort_free_and_exit";
1843
1844 /*
1845 * File name selection pattern
1846 */
1847 tSCC zInt_Abort_Free_And_ExitList[] =
1848 "|stdlib.h|";
1849 /*
1850 * Machine/OS name selection pattern
1851 */
1852 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
1853
1854 /*
1855 * content selection pattern - do fix if pattern found
1856 */
1857 tSCC zInt_Abort_Free_And_ExitSelect0[] =
1858 "int[ \t]+(abort|free|exit)[ \t]*\\(";
1859
1860 #define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
1861 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
1862 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
1863
1864 /*
1865 * Fix Command Arguments for Int_Abort_Free_And_Exit
1866 */
1867 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
1868 "format",
1869 "void\t%1(",
1870 (char*)NULL };
1871
1872 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1873 *
1874 * Description of Io_Quotes_Def fix
1875 */
1876 tSCC zIo_Quotes_DefName[] =
1877 "io_quotes_def";
1878
1879 /*
1880 * File name selection pattern
1881 */
1882 #define zIo_Quotes_DefList (char*)NULL
1883 /*
1884 * Machine/OS name selection pattern
1885 */
1886 #define apzIo_Quotes_DefMachs (const char**)NULL
1887
1888 /*
1889 * content selection pattern - do fix if pattern found
1890 */
1891 tSCC zIo_Quotes_DefSelect0[] =
1892 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
1893
1894 #define IO_QUOTES_DEF_TEST_CT 1
1895 static tTestDesc aIo_Quotes_DefTests[] = {
1896 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
1897
1898 /*
1899 * Fix Command Arguments for Io_Quotes_Def
1900 */
1901 static const char* apzIo_Quotes_DefPatch[] = {
1902 "char_macro_def",
1903 "IO",
1904 (char*)NULL };
1905
1906 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1907 *
1908 * Description of Io_Quotes_Use fix
1909 */
1910 tSCC zIo_Quotes_UseName[] =
1911 "io_quotes_use";
1912
1913 /*
1914 * File name selection pattern
1915 */
1916 #define zIo_Quotes_UseList (char*)NULL
1917 /*
1918 * Machine/OS name selection pattern
1919 */
1920 #define apzIo_Quotes_UseMachs (const char**)NULL
1921
1922 /*
1923 * content selection pattern - do fix if pattern found
1924 */
1925 tSCC zIo_Quotes_UseSelect0[] =
1926 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
1927
1928 #define IO_QUOTES_USE_TEST_CT 1
1929 static tTestDesc aIo_Quotes_UseTests[] = {
1930 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
1931
1932 /*
1933 * Fix Command Arguments for Io_Quotes_Use
1934 */
1935 static const char* apzIo_Quotes_UsePatch[] = {
1936 "char_macro_use",
1937 "IO",
1938 (char*)NULL };
1939
1940 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1941 *
1942 * Description of Ip_Missing_Semi fix
1943 */
1944 tSCC zIp_Missing_SemiName[] =
1945 "ip_missing_semi";
1946
1947 /*
1948 * File name selection pattern
1949 */
1950 tSCC zIp_Missing_SemiList[] =
1951 "|netinet/ip.h|";
1952 /*
1953 * Machine/OS name selection pattern
1954 */
1955 #define apzIp_Missing_SemiMachs (const char**)NULL
1956
1957 /*
1958 * content selection pattern - do fix if pattern found
1959 */
1960 tSCC zIp_Missing_SemiSelect0[] =
1961 "}$";
1962
1963 #define IP_MISSING_SEMI_TEST_CT 1
1964 static tTestDesc aIp_Missing_SemiTests[] = {
1965 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
1966
1967 /*
1968 * Fix Command Arguments for Ip_Missing_Semi
1969 */
1970 static const char* apzIp_Missing_SemiPatch[] = { "sed",
1971 "-e", "/^struct/,/^};/s/}$/};/",
1972 (char*)NULL };
1973
1974 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1975 *
1976 * Description of Irix_Asm_Apostrophe fix
1977 */
1978 tSCC zIrix_Asm_ApostropheName[] =
1979 "irix_asm_apostrophe";
1980
1981 /*
1982 * File name selection pattern
1983 */
1984 tSCC zIrix_Asm_ApostropheList[] =
1985 "|sys/asm.h|";
1986 /*
1987 * Machine/OS name selection pattern
1988 */
1989 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
1990
1991 /*
1992 * content selection pattern - do fix if pattern found
1993 */
1994 tSCC zIrix_Asm_ApostropheSelect0[] =
1995 "^[ \t]*#.*[Ww]e're";
1996
1997 #define IRIX_ASM_APOSTROPHE_TEST_CT 1
1998 static tTestDesc aIrix_Asm_ApostropheTests[] = {
1999 { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2000
2001 /*
2002 * Fix Command Arguments for Irix_Asm_Apostrophe
2003 */
2004 static const char* apzIrix_Asm_ApostrophePatch[] = {
2005 "format",
2006 "%1 are",
2007 "^([ \t]*#.*[Ww]e)'re",
2008 (char*)NULL };
2009
2010 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2011 *
2012 * Description of Irix_Limits_Const fix
2013 */
2014 tSCC zIrix_Limits_ConstName[] =
2015 "irix_limits_const";
2016
2017 /*
2018 * File name selection pattern
2019 */
2020 tSCC zIrix_Limits_ConstList[] =
2021 "|fixinc-test-limits.h|limits.h|";
2022 /*
2023 * Machine/OS name selection pattern
2024 */
2025 #define apzIrix_Limits_ConstMachs (const char**)NULL
2026
2027 /*
2028 * content selection pattern - do fix if pattern found
2029 */
2030 tSCC zIrix_Limits_ConstSelect0[] =
2031 "^extern const ";
2032
2033 #define IRIX_LIMITS_CONST_TEST_CT 1
2034 static tTestDesc aIrix_Limits_ConstTests[] = {
2035 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2036
2037 /*
2038 * Fix Command Arguments for Irix_Limits_Const
2039 */
2040 static const char* apzIrix_Limits_ConstPatch[] = {
2041 "format",
2042 "extern __const ",
2043 (char*)NULL };
2044
2045 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2046 *
2047 * Description of Irix_Stdio_Va_List fix
2048 */
2049 tSCC zIrix_Stdio_Va_ListName[] =
2050 "irix_stdio_va_list";
2051
2052 /*
2053 * File name selection pattern
2054 */
2055 tSCC zIrix_Stdio_Va_ListList[] =
2056 "|stdio.h|";
2057 /*
2058 * Machine/OS name selection pattern
2059 */
2060 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2061
2062 /*
2063 * content selection pattern - do fix if pattern found
2064 */
2065 tSCC zIrix_Stdio_Va_ListSelect0[] =
2066 "(printf\\(.*), /\\* va_list \\*/ char \\*";
2067
2068 #define IRIX_STDIO_VA_LIST_TEST_CT 1
2069 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2070 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2071
2072 /*
2073 * Fix Command Arguments for Irix_Stdio_Va_List
2074 */
2075 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2076 "format",
2077 "%1, __gnuc_va_list",
2078 (char*)NULL };
2079
2080 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2081 *
2082 * Description of Isc_Fmod fix
2083 */
2084 tSCC zIsc_FmodName[] =
2085 "isc_fmod";
2086
2087 /*
2088 * File name selection pattern
2089 */
2090 tSCC zIsc_FmodList[] =
2091 "|math.h|";
2092 /*
2093 * Machine/OS name selection pattern
2094 */
2095 #define apzIsc_FmodMachs (const char**)NULL
2096
2097 /*
2098 * content selection pattern - do fix if pattern found
2099 */
2100 tSCC zIsc_FmodSelect0[] =
2101 "fmod\\(double\\)";
2102
2103 #define ISC_FMOD_TEST_CT 1
2104 static tTestDesc aIsc_FmodTests[] = {
2105 { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, };
2106
2107 /*
2108 * Fix Command Arguments for Isc_Fmod
2109 */
2110 static const char* apzIsc_FmodPatch[] = {
2111 "format",
2112 "fmod(double, double)",
2113 (char*)NULL };
2114
2115 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2116 *
2117 * Description of Isc_Omits_With_Stdc fix
2118 */
2119 tSCC zIsc_Omits_With_StdcName[] =
2120 "isc_omits_with_stdc";
2121
2122 /*
2123 * File name selection pattern
2124 */
2125 tSCC zIsc_Omits_With_StdcList[] =
2126 "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2127 /*
2128 * Machine/OS name selection pattern
2129 */
2130 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2131
2132 /*
2133 * content selection pattern - do fix if pattern found
2134 */
2135 tSCC zIsc_Omits_With_StdcSelect0[] =
2136 "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2137
2138 #define ISC_OMITS_WITH_STDC_TEST_CT 1
2139 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2140 { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2141
2142 /*
2143 * Fix Command Arguments for Isc_Omits_With_Stdc
2144 */
2145 static const char* apzIsc_Omits_With_StdcPatch[] = {
2146 "format",
2147 "!defined(_POSIX_SOURCE)",
2148 (char*)NULL };
2149
2150 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2151 *
2152 * Description of Kandr_Concat fix
2153 */
2154 tSCC zKandr_ConcatName[] =
2155 "kandr_concat";
2156
2157 /*
2158 * File name selection pattern
2159 */
2160 tSCC zKandr_ConcatList[] =
2161 "|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|";
2162 /*
2163 * Machine/OS name selection pattern
2164 */
2165 #define apzKandr_ConcatMachs (const char**)NULL
2166
2167 /*
2168 * content selection pattern - do fix if pattern found
2169 */
2170 tSCC zKandr_ConcatSelect0[] =
2171 "/\\*\\*/";
2172
2173 #define KANDR_CONCAT_TEST_CT 1
2174 static tTestDesc aKandr_ConcatTests[] = {
2175 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
2176
2177 /*
2178 * Fix Command Arguments for Kandr_Concat
2179 */
2180 static const char* apzKandr_ConcatPatch[] = {
2181 "format",
2182 "##",
2183 (char*)NULL };
2184
2185 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2186 *
2187 * Description of Libc1_G_Va_List fix
2188 */
2189 tSCC zLibc1_G_Va_ListName[] =
2190 "libc1_G_va_list";
2191
2192 /*
2193 * File name selection pattern
2194 */
2195 tSCC zLibc1_G_Va_ListList[] =
2196 "|_G_config.h|";
2197 /*
2198 * Machine/OS name selection pattern
2199 */
2200 tSCC* apzLibc1_G_Va_ListMachs[] = {
2201 "*-*-linux*libc1",
2202 (const char*)NULL };
2203
2204 /*
2205 * content selection pattern - do fix if pattern found
2206 */
2207 tSCC zLibc1_G_Va_ListSelect0[] =
2208 "typedef void \\* _G_va_list;";
2209
2210 #define LIBC1_G_VA_LIST_TEST_CT 1
2211 static tTestDesc aLibc1_G_Va_ListTests[] = {
2212 { TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
2213
2214 /*
2215 * Fix Command Arguments for Libc1_G_Va_List
2216 */
2217 static const char* apzLibc1_G_Va_ListPatch[] = {
2218 "format",
2219 "typedef __builtin_va_list _G_va_list;",
2220 (char*)NULL };
2221
2222 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2223 *
2224 * Description of Libc1_Ifdefd_Memx fix
2225 */
2226 tSCC zLibc1_Ifdefd_MemxName[] =
2227 "libc1_ifdefd_memx";
2228
2229 /*
2230 * File name selection pattern
2231 */
2232 tSCC zLibc1_Ifdefd_MemxList[] =
2233 "|testing.h|string.h|";
2234 /*
2235 * Machine/OS name selection pattern
2236 */
2237 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2238
2239 /*
2240 * content selection pattern - do fix if pattern found
2241 */
2242 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2243 "' is a built-in function for gcc 2\\.x\\. \\*/";
2244
2245 /*
2246 * content bypass pattern - skip fix if pattern found
2247 */
2248 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2249 "__cplusplus";
2250
2251 #define LIBC1_IFDEFD_MEMX_TEST_CT 2
2252 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2253 { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2254 { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2255
2256 /*
2257 * Fix Command Arguments for Libc1_Ifdefd_Memx
2258 */
2259 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2260 "format",
2261 "%1",
2262 "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2263 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
2264 (/\\* .* \\*/\n\
2265 extern [a-z_]+ mem.*(\n\
2266 [^#].*)*;)\n\
2267 #endif",
2268 (char*)NULL };
2269
2270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2271 *
2272 * Description of Limits_Ifndefs fix
2273 */
2274 tSCC zLimits_IfndefsName[] =
2275 "limits_ifndefs";
2276
2277 /*
2278 * File name selection pattern
2279 */
2280 tSCC zLimits_IfndefsList[] =
2281 "|sys/limits.h|limits.h|";
2282 /*
2283 * Machine/OS name selection pattern
2284 */
2285 #define apzLimits_IfndefsMachs (const char**)NULL
2286
2287 /*
2288 * content bypass pattern - skip fix if pattern found
2289 */
2290 tSCC zLimits_IfndefsBypass0[] =
2291 "ifndef[ \t]+FLT_MIN";
2292
2293 #define LIMITS_IFNDEFS_TEST_CT 1
2294 static tTestDesc aLimits_IfndefsTests[] = {
2295 { TT_NEGREP, zLimits_IfndefsBypass0, (regex_t*)NULL }, };
2296
2297 /*
2298 * Fix Command Arguments for Limits_Ifndefs
2299 */
2300 static const char* apzLimits_IfndefsPatch[] = {
2301 "format",
2302 "#ifndef %1\n\
2303 %0\n\
2304 #endif",
2305 "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
2306 (char*)NULL };
2307
2308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2309 *
2310 * Description of Lynx_Void_Int fix
2311 */
2312 tSCC zLynx_Void_IntName[] =
2313 "lynx_void_int";
2314
2315 /*
2316 * File name selection pattern
2317 */
2318 tSCC zLynx_Void_IntList[] =
2319 "|curses.h|";
2320 /*
2321 * Machine/OS name selection pattern
2322 */
2323 #define apzLynx_Void_IntMachs (const char**)NULL
2324
2325 /*
2326 * content selection pattern - do fix if pattern found
2327 */
2328 tSCC zLynx_Void_IntSelect0[] =
2329 "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
2330
2331 #define LYNX_VOID_INT_TEST_CT 1
2332 static tTestDesc aLynx_Void_IntTests[] = {
2333 { TT_EGREP, zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2334
2335 /*
2336 * Fix Command Arguments for Lynx_Void_Int
2337 */
2338 static const char* apzLynx_Void_IntPatch[] = {
2339 "format",
2340 "",
2341 (char*)NULL };
2342
2343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2344 *
2345 * Description of Lynxos_Fcntl_Proto fix
2346 */
2347 tSCC zLynxos_Fcntl_ProtoName[] =
2348 "lynxos_fcntl_proto";
2349
2350 /*
2351 * File name selection pattern
2352 */
2353 tSCC zLynxos_Fcntl_ProtoList[] =
2354 "|fcntl.h|";
2355 /*
2356 * Machine/OS name selection pattern
2357 */
2358 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2359
2360 /*
2361 * content selection pattern - do fix if pattern found
2362 */
2363 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2364 "fcntl[ \t]*\\(int, int, int\\)";
2365
2366 #define LYNXOS_FCNTL_PROTO_TEST_CT 1
2367 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2368 { TT_EGREP, zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2369
2370 /*
2371 * Fix Command Arguments for Lynxos_Fcntl_Proto
2372 */
2373 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
2374 "format",
2375 "%1...)",
2376 "(fcntl[ \t]*\\(int, int, )int\\)",
2377 (char*)NULL };
2378
2379 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2380 *
2381 * Description of Machine_Ansi_H_Va_List fix
2382 */
2383 tSCC zMachine_Ansi_H_Va_ListName[] =
2384 "machine_ansi_h_va_list";
2385
2386 /*
2387 * File name selection pattern
2388 */
2389 #define zMachine_Ansi_H_Va_ListList (char*)NULL
2390 /*
2391 * Machine/OS name selection pattern
2392 */
2393 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2394
2395 /*
2396 * content selection pattern - do fix if pattern found
2397 */
2398 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
2399 "define[ \t]+_BSD_VA_LIST_[ \t]";
2400
2401 /*
2402 * content bypass pattern - skip fix if pattern found
2403 */
2404 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2405 "__builtin_va_list";
2406
2407 #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
2408 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
2409 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
2410 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
2411
2412 /*
2413 * Fix Command Arguments for Machine_Ansi_H_Va_List
2414 */
2415 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
2416 "format",
2417 "%1__builtin_va_list",
2418 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
2419 (char*)NULL };
2420
2421 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2422 *
2423 * Description of Machine_Name fix
2424 */
2425 tSCC zMachine_NameName[] =
2426 "machine_name";
2427
2428 /*
2429 * File name selection pattern
2430 */
2431 #define zMachine_NameList (char*)NULL
2432 /*
2433 * Machine/OS name selection pattern
2434 */
2435 #define apzMachine_NameMachs (const char**)NULL
2436
2437 /*
2438 * perform the C function call test
2439 */
2440 tSCC zMachine_NameFTst0[] = "machine_name";
2441
2442 #define MACHINE_NAME_TEST_CT 1
2443 static tTestDesc aMachine_NameTests[] = {
2444 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
2445
2446 /*
2447 * Fix Command Arguments for Machine_Name
2448 */
2449 static const char* apzMachine_NamePatch[] = {
2450 "machine_name",
2451 (char*)NULL };
2452
2453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2454 *
2455 * Description of Math_Exception fix
2456 */
2457 tSCC zMath_ExceptionName[] =
2458 "math_exception";
2459
2460 /*
2461 * File name selection pattern
2462 */
2463 tSCC zMath_ExceptionList[] =
2464 "|math.h|";
2465 /*
2466 * Machine/OS name selection pattern
2467 */
2468 #define apzMath_ExceptionMachs (const char**)NULL
2469
2470 /*
2471 * content selection pattern - do fix if pattern found
2472 */
2473 tSCC zMath_ExceptionSelect0[] =
2474 "struct exception";
2475
2476 /*
2477 * content bypass pattern - skip fix if pattern found
2478 */
2479 tSCC zMath_ExceptionBypass0[] =
2480 "We have a problem when using C\\+\\+";
2481
2482 #define MATH_EXCEPTION_TEST_CT 2
2483 static tTestDesc aMath_ExceptionTests[] = {
2484 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
2485 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
2486
2487 /*
2488 * Fix Command Arguments for Math_Exception
2489 */
2490 static const char* apzMath_ExceptionPatch[] = {
2491 "wrap",
2492 "#ifdef __cplusplus\n\
2493 #define exception __math_exception\n\
2494 #endif\n",
2495 "#ifdef __cplusplus\n\
2496 #undef exception\n\
2497 #endif\n",
2498 (char*)NULL };
2499
2500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2501 *
2502 * Description of Math_Huge_Val_From_Dbl_Max fix
2503 */
2504 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
2505 "math_huge_val_from_dbl_max";
2506
2507 /*
2508 * File name selection pattern
2509 */
2510 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
2511 "|math.h|";
2512 /*
2513 * Machine/OS name selection pattern
2514 */
2515 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
2516
2517 /*
2518 * content selection pattern - do fix if pattern found
2519 */
2520 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
2521 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
2522
2523 /*
2524 * content bypass pattern - skip fix if pattern found
2525 */
2526 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
2527 "define[ \t]+DBL_MAX";
2528
2529 #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
2530 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
2531 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
2532 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
2533
2534 /*
2535 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
2536 */
2537 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
2538 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
2539 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
2540 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
2541 \telse cat\n\
2542 \tfi",
2543 (char*)NULL };
2544
2545 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2546 *
2547 * Description of Math_Huge_Val_Ifndef fix
2548 */
2549 tSCC zMath_Huge_Val_IfndefName[] =
2550 "math_huge_val_ifndef";
2551
2552 /*
2553 * File name selection pattern
2554 */
2555 tSCC zMath_Huge_Val_IfndefList[] =
2556 "|math.h|math/math.h|";
2557 /*
2558 * Machine/OS name selection pattern
2559 */
2560 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
2561
2562 /*
2563 * content selection pattern - do fix if pattern found
2564 */
2565 tSCC zMath_Huge_Val_IfndefSelect0[] =
2566 "define[ \t]+HUGE_VAL";
2567
2568 #define MATH_HUGE_VAL_IFNDEF_TEST_CT 1
2569 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
2570 { TT_EGREP, zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
2571
2572 /*
2573 * Fix Command Arguments for Math_Huge_Val_Ifndef
2574 */
2575 static const char* apzMath_Huge_Val_IfndefPatch[] = {
2576 "format",
2577 "#ifndef HUGE_VAL\n\
2578 %0\n\
2579 #endif",
2580 "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
2581 (char*)NULL };
2582
2583 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2584 *
2585 * Description of Nested_Auth_Des fix
2586 */
2587 tSCC zNested_Auth_DesName[] =
2588 "nested_auth_des";
2589
2590 /*
2591 * File name selection pattern
2592 */
2593 tSCC zNested_Auth_DesList[] =
2594 "|rpc/rpc.h|";
2595 /*
2596 * Machine/OS name selection pattern
2597 */
2598 #define apzNested_Auth_DesMachs (const char**)NULL
2599
2600 /*
2601 * content selection pattern - do fix if pattern found
2602 */
2603 tSCC zNested_Auth_DesSelect0[] =
2604 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
2605
2606 #define NESTED_AUTH_DES_TEST_CT 1
2607 static tTestDesc aNested_Auth_DesTests[] = {
2608 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
2609
2610 /*
2611 * Fix Command Arguments for Nested_Auth_Des
2612 */
2613 static const char* apzNested_Auth_DesPatch[] = {
2614 "format",
2615 "%1*/ /*",
2616 (char*)NULL };
2617
2618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2619 *
2620 * Description of Nested_Motorola fix
2621 */
2622 tSCC zNested_MotorolaName[] =
2623 "nested_motorola";
2624
2625 /*
2626 * File name selection pattern
2627 */
2628 tSCC zNested_MotorolaList[] =
2629 "|sys/limits.h|limits.h|";
2630 /*
2631 * Machine/OS name selection pattern
2632 */
2633 tSCC* apzNested_MotorolaMachs[] = {
2634 "m68k-motorola-sysv*",
2635 (const char*)NULL };
2636
2637 /*
2638 * content selection pattern - do fix if pattern found
2639 */
2640 tSCC zNested_MotorolaSelect0[] =
2641 "max # bytes atomic in write|error value returned by Math lib";
2642
2643 #define NESTED_MOTOROLA_TEST_CT 1
2644 static tTestDesc aNested_MotorolaTests[] = {
2645 { TT_EGREP, zNested_MotorolaSelect0, (regex_t*)NULL }, };
2646
2647 /*
2648 * Fix Command Arguments for Nested_Motorola
2649 */
2650 static const char* apzNested_MotorolaPatch[] = { "sed",
2651 "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
2652 "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
2653 (char*)NULL };
2654
2655 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2656 *
2657 * Description of Nested_Sys_Limits fix
2658 */
2659 tSCC zNested_Sys_LimitsName[] =
2660 "nested_sys_limits";
2661
2662 /*
2663 * File name selection pattern
2664 */
2665 tSCC zNested_Sys_LimitsList[] =
2666 "|sys/limits.h|";
2667 /*
2668 * Machine/OS name selection pattern
2669 */
2670 #define apzNested_Sys_LimitsMachs (const char**)NULL
2671
2672 /*
2673 * content selection pattern - do fix if pattern found
2674 */
2675 tSCC zNested_Sys_LimitsSelect0[] =
2676 "CHILD_MAX";
2677
2678 #define NESTED_SYS_LIMITS_TEST_CT 1
2679 static tTestDesc aNested_Sys_LimitsTests[] = {
2680 { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
2681
2682 /*
2683 * Fix Command Arguments for Nested_Sys_Limits
2684 */
2685 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
2686 "-e", "/CHILD_MAX/s,/\\* Max, Max,",
2687 "-e", "/OPEN_MAX/s,/\\* Max, Max,",
2688 (char*)NULL };
2689
2690 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2691 *
2692 * Description of Next_Math_Prefix fix
2693 */
2694 tSCC zNext_Math_PrefixName[] =
2695 "next_math_prefix";
2696
2697 /*
2698 * File name selection pattern
2699 */
2700 tSCC zNext_Math_PrefixList[] =
2701 "|ansi/math.h|";
2702 /*
2703 * Machine/OS name selection pattern
2704 */
2705 #define apzNext_Math_PrefixMachs (const char**)NULL
2706
2707 /*
2708 * content selection pattern - do fix if pattern found
2709 */
2710 tSCC zNext_Math_PrefixSelect0[] =
2711 "^extern[ \t]+double[ \t]+__const__[ \t]";
2712
2713 #define NEXT_MATH_PREFIX_TEST_CT 1
2714 static tTestDesc aNext_Math_PrefixTests[] = {
2715 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
2716
2717 /*
2718 * Fix Command Arguments for Next_Math_Prefix
2719 */
2720 static const char* apzNext_Math_PrefixPatch[] = {
2721 "format",
2722 "extern double %1(",
2723 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
2724 (char*)NULL };
2725
2726 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2727 *
2728 * Description of Next_Template fix
2729 */
2730 tSCC zNext_TemplateName[] =
2731 "next_template";
2732
2733 /*
2734 * File name selection pattern
2735 */
2736 tSCC zNext_TemplateList[] =
2737 "|bsd/libc.h|";
2738 /*
2739 * Machine/OS name selection pattern
2740 */
2741 #define apzNext_TemplateMachs (const char**)NULL
2742
2743 /*
2744 * content selection pattern - do fix if pattern found
2745 */
2746 tSCC zNext_TemplateSelect0[] =
2747 "[ \t]template\\)";
2748
2749 #define NEXT_TEMPLATE_TEST_CT 1
2750 static tTestDesc aNext_TemplateTests[] = {
2751 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
2752
2753 /*
2754 * Fix Command Arguments for Next_Template
2755 */
2756 static const char* apzNext_TemplatePatch[] = {
2757 "format",
2758 "(%1)",
2759 "\\(([^)]*)[ \t]template\\)",
2760 (char*)NULL };
2761
2762 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2763 *
2764 * Description of Next_Volitile fix
2765 */
2766 tSCC zNext_VolitileName[] =
2767 "next_volitile";
2768
2769 /*
2770 * File name selection pattern
2771 */
2772 tSCC zNext_VolitileList[] =
2773 "|ansi/stdlib.h|";
2774 /*
2775 * Machine/OS name selection pattern
2776 */
2777 #define apzNext_VolitileMachs (const char**)NULL
2778
2779 /*
2780 * content selection pattern - do fix if pattern found
2781 */
2782 tSCC zNext_VolitileSelect0[] =
2783 "^extern[ \t]+volatile[ \t]+void[ \t]";
2784
2785 #define NEXT_VOLITILE_TEST_CT 1
2786 static tTestDesc aNext_VolitileTests[] = {
2787 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
2788
2789 /*
2790 * Fix Command Arguments for Next_Volitile
2791 */
2792 static const char* apzNext_VolitilePatch[] = {
2793 "format",
2794 "extern void %1(",
2795 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
2796 (char*)NULL };
2797
2798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2799 *
2800 * Description of Next_Wait_Union fix
2801 */
2802 tSCC zNext_Wait_UnionName[] =
2803 "next_wait_union";
2804
2805 /*
2806 * File name selection pattern
2807 */
2808 tSCC zNext_Wait_UnionList[] =
2809 "|sys/wait.h|";
2810 /*
2811 * Machine/OS name selection pattern
2812 */
2813 #define apzNext_Wait_UnionMachs (const char**)NULL
2814
2815 /*
2816 * content selection pattern - do fix if pattern found
2817 */
2818 tSCC zNext_Wait_UnionSelect0[] =
2819 "wait\\(union wait";
2820
2821 #define NEXT_WAIT_UNION_TEST_CT 1
2822 static tTestDesc aNext_Wait_UnionTests[] = {
2823 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
2824
2825 /*
2826 * Fix Command Arguments for Next_Wait_Union
2827 */
2828 static const char* apzNext_Wait_UnionPatch[] = {
2829 "format",
2830 "wait(void",
2831 (char*)NULL };
2832
2833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2834 *
2835 * Description of Nodeent_Syntax fix
2836 */
2837 tSCC zNodeent_SyntaxName[] =
2838 "nodeent_syntax";
2839
2840 /*
2841 * File name selection pattern
2842 */
2843 tSCC zNodeent_SyntaxList[] =
2844 "|netdnet/dnetdb.h|";
2845 /*
2846 * Machine/OS name selection pattern
2847 */
2848 #define apzNodeent_SyntaxMachs (const char**)NULL
2849
2850 /*
2851 * content selection pattern - do fix if pattern found
2852 */
2853 tSCC zNodeent_SyntaxSelect0[] =
2854 "char[ \t]*\\*na_addr[ \t]*$";
2855
2856 #define NODEENT_SYNTAX_TEST_CT 1
2857 static tTestDesc aNodeent_SyntaxTests[] = {
2858 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
2859
2860 /*
2861 * Fix Command Arguments for Nodeent_Syntax
2862 */
2863 static const char* apzNodeent_SyntaxPatch[] = {
2864 "format",
2865 "%0;",
2866 (char*)NULL };
2867
2868 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2869 *
2870 * Description of Osf_Namespace_A fix
2871 */
2872 tSCC zOsf_Namespace_AName[] =
2873 "osf_namespace_a";
2874
2875 /*
2876 * File name selection pattern
2877 */
2878 tSCC zOsf_Namespace_AList[] =
2879 "|reg_types.h|sys/lc_core.h|";
2880 /*
2881 * Machine/OS name selection pattern
2882 */
2883 #define apzOsf_Namespace_AMachs (const char**)NULL
2884
2885 /*
2886 * perform the 'test' shell command - do fix on success
2887 */
2888 tSCC zOsf_Namespace_ATest0[] =
2889 " -r reg_types.h";
2890 tSCC zOsf_Namespace_ATest1[] =
2891 " -r sys/lc_core.h";
2892 tSCC zOsf_Namespace_ATest2[] =
2893 " -n \"`grep '} regex_t;' reg_types.h`\"";
2894 tSCC zOsf_Namespace_ATest3[] =
2895 " -z \"`grep __regex_t regex.h`\"";
2896
2897 #define OSF_NAMESPACE_A_TEST_CT 4
2898 static tTestDesc aOsf_Namespace_ATests[] = {
2899 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
2900 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
2901 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
2902 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
2903
2904 /*
2905 * Fix Command Arguments for Osf_Namespace_A
2906 */
2907 static const char* apzOsf_Namespace_APatch[] = {
2908 "format",
2909 "__%0",
2910 "reg(ex|off|match)_t",
2911 (char*)NULL };
2912
2913 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2914 *
2915 * Description of Osf_Namespace_C fix
2916 */
2917 tSCC zOsf_Namespace_CName[] =
2918 "osf_namespace_c";
2919
2920 /*
2921 * File name selection pattern
2922 */
2923 tSCC zOsf_Namespace_CList[] =
2924 "|regex.h|";
2925 /*
2926 * Machine/OS name selection pattern
2927 */
2928 #define apzOsf_Namespace_CMachs (const char**)NULL
2929
2930 /*
2931 * content selection pattern - do fix if pattern found
2932 */
2933 tSCC zOsf_Namespace_CSelect0[] =
2934 "#include <reg_types.h>.*";
2935
2936 /*
2937 * perform the 'test' shell command - do fix on success
2938 */
2939 tSCC zOsf_Namespace_CTest0[] =
2940 " -r reg_types.h";
2941 tSCC zOsf_Namespace_CTest1[] =
2942 " -r sys/lc_core.h";
2943 tSCC zOsf_Namespace_CTest2[] =
2944 " -n \"`grep '} regex_t;' reg_types.h`\"";
2945 tSCC zOsf_Namespace_CTest3[] =
2946 " -z \"`grep __regex_t regex.h`\"";
2947
2948 #define OSF_NAMESPACE_C_TEST_CT 5
2949 static tTestDesc aOsf_Namespace_CTests[] = {
2950 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
2951 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
2952 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
2953 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
2954 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
2955
2956 /*
2957 * Fix Command Arguments for Osf_Namespace_C
2958 */
2959 static const char* apzOsf_Namespace_CPatch[] = {
2960 "format",
2961 "%0\n\
2962 typedef __regex_t\tregex_t;\n\
2963 typedef __regoff_t\tregoff_t;\n\
2964 typedef __regmatch_t\tregmatch_t;",
2965 (char*)NULL };
2966
2967 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2968 *
2969 * Description of Pthread_Page_Size fix
2970 */
2971 tSCC zPthread_Page_SizeName[] =
2972 "pthread_page_size";
2973
2974 /*
2975 * File name selection pattern
2976 */
2977 tSCC zPthread_Page_SizeList[] =
2978 "|pthread.h|";
2979 /*
2980 * Machine/OS name selection pattern
2981 */
2982 #define apzPthread_Page_SizeMachs (const char**)NULL
2983
2984 /*
2985 * content selection pattern - do fix if pattern found
2986 */
2987 tSCC zPthread_Page_SizeSelect0[] =
2988 "^int __page_size";
2989
2990 #define PTHREAD_PAGE_SIZE_TEST_CT 1
2991 static tTestDesc aPthread_Page_SizeTests[] = {
2992 { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
2993
2994 /*
2995 * Fix Command Arguments for Pthread_Page_Size
2996 */
2997 static const char* apzPthread_Page_SizePatch[] = {
2998 "format",
2999 "extern %0",
3000 (char*)NULL };
3001
3002 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3003 *
3004 * Description of Read_Ret_Type fix
3005 */
3006 tSCC zRead_Ret_TypeName[] =
3007 "read_ret_type";
3008
3009 /*
3010 * File name selection pattern
3011 */
3012 tSCC zRead_Ret_TypeList[] =
3013 "|stdio.h|";
3014 /*
3015 * Machine/OS name selection pattern
3016 */
3017 #define apzRead_Ret_TypeMachs (const char**)NULL
3018
3019 /*
3020 * content selection pattern - do fix if pattern found
3021 */
3022 tSCC zRead_Ret_TypeSelect0[] =
3023 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3024
3025 #define READ_RET_TYPE_TEST_CT 1
3026 static tTestDesc aRead_Ret_TypeTests[] = {
3027 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3028
3029 /*
3030 * Fix Command Arguments for Read_Ret_Type
3031 */
3032 static const char* apzRead_Ret_TypePatch[] = {
3033 "format",
3034 "extern unsigned int fread(), fwrite();\n\
3035 %1%2",
3036 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3037 (char*)NULL };
3038
3039 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3040 *
3041 * Description of Rs6000_Double fix
3042 */
3043 tSCC zRs6000_DoubleName[] =
3044 "rs6000_double";
3045
3046 /*
3047 * File name selection pattern
3048 */
3049 tSCC zRs6000_DoubleList[] =
3050 "|math.h|";
3051 /*
3052 * Machine/OS name selection pattern
3053 */
3054 #define apzRs6000_DoubleMachs (const char**)NULL
3055
3056 /*
3057 * content selection pattern - do fix if pattern found
3058 */
3059 tSCC zRs6000_DoubleSelect0[] =
3060 "[^a-zA-Z_]class\\(";
3061
3062 #define RS6000_DOUBLE_TEST_CT 1
3063 static tTestDesc aRs6000_DoubleTests[] = {
3064 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3065
3066 /*
3067 * Fix Command Arguments for Rs6000_Double
3068 */
3069 static const char* apzRs6000_DoublePatch[] = {
3070 "format",
3071 "#ifndef __cplusplus\n\
3072 %0\n\
3073 #endif",
3074 "^.*[^a-zA-Z_]class\\(.*",
3075 (char*)NULL };
3076
3077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3078 *
3079 * Description of Rs6000_Fchmod fix
3080 */
3081 tSCC zRs6000_FchmodName[] =
3082 "rs6000_fchmod";
3083
3084 /*
3085 * File name selection pattern
3086 */
3087 tSCC zRs6000_FchmodList[] =
3088 "|sys/stat.h|";
3089 /*
3090 * Machine/OS name selection pattern
3091 */
3092 #define apzRs6000_FchmodMachs (const char**)NULL
3093
3094 /*
3095 * content selection pattern - do fix if pattern found
3096 */
3097 tSCC zRs6000_FchmodSelect0[] =
3098 "fchmod\\(char \\*";
3099
3100 #define RS6000_FCHMOD_TEST_CT 1
3101 static tTestDesc aRs6000_FchmodTests[] = {
3102 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3103
3104 /*
3105 * Fix Command Arguments for Rs6000_Fchmod
3106 */
3107 static const char* apzRs6000_FchmodPatch[] = {
3108 "format",
3109 "fchmod(int",
3110 (char*)NULL };
3111
3112 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3113 *
3114 * Description of Rs6000_Param fix
3115 */
3116 tSCC zRs6000_ParamName[] =
3117 "rs6000_param";
3118
3119 /*
3120 * File name selection pattern
3121 */
3122 tSCC zRs6000_ParamList[] =
3123 "|stdio.h|unistd.h|";
3124 /*
3125 * Machine/OS name selection pattern
3126 */
3127 #define apzRs6000_ParamMachs (const char**)NULL
3128
3129 /*
3130 * content selection pattern - do fix if pattern found
3131 */
3132 tSCC zRs6000_ParamSelect0[] =
3133 "rename\\(const char \\*old, const char \\*new\\)";
3134
3135 #define RS6000_PARAM_TEST_CT 1
3136 static tTestDesc aRs6000_ParamTests[] = {
3137 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
3138
3139 /*
3140 * Fix Command Arguments for Rs6000_Param
3141 */
3142 static const char* apzRs6000_ParamPatch[] = {
3143 "format",
3144 "rename(const char *_old, const char *_new)",
3145 (char*)NULL };
3146
3147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3148 *
3149 * Description of Sco_Static_Func fix
3150 */
3151 tSCC zSco_Static_FuncName[] =
3152 "sco_static_func";
3153
3154 /*
3155 * File name selection pattern
3156 */
3157 tSCC zSco_Static_FuncList[] =
3158 "|sys/stat.h|";
3159 /*
3160 * Machine/OS name selection pattern
3161 */
3162 tSCC* apzSco_Static_FuncMachs[] = {
3163 "i?86-*-sco3.2*",
3164 (const char*)NULL };
3165
3166 /*
3167 * content selection pattern - do fix if pattern found
3168 */
3169 tSCC zSco_Static_FuncSelect0[] =
3170 "^static int";
3171
3172 #define SCO_STATIC_FUNC_TEST_CT 1
3173 static tTestDesc aSco_Static_FuncTests[] = {
3174 { TT_EGREP, zSco_Static_FuncSelect0, (regex_t*)NULL }, };
3175
3176 /*
3177 * Fix Command Arguments for Sco_Static_Func
3178 */
3179 static const char* apzSco_Static_FuncPatch[] = { "sed",
3180 "-e", "/^static int/i\\\n\
3181 #if __cplusplus\\\n\
3182 extern \"C\" {\\\n\
3183 #endif /* __cplusplus */",
3184 "-e", "/^}$/a\\\n\
3185 #if __cplusplus\\\n\
3186 }\\\n\
3187 #endif /* __cplusplus */",
3188 (char*)NULL };
3189
3190 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3191 *
3192 * Description of Sco_Utime fix
3193 */
3194 tSCC zSco_UtimeName[] =
3195 "sco_utime";
3196
3197 /*
3198 * File name selection pattern
3199 */
3200 tSCC zSco_UtimeList[] =
3201 "|sys/times.h|";
3202 /*
3203 * Machine/OS name selection pattern
3204 */
3205 tSCC* apzSco_UtimeMachs[] = {
3206 "i?86-*-sco3.2v4*",
3207 (const char*)NULL };
3208
3209 /*
3210 * content selection pattern - do fix if pattern found
3211 */
3212 tSCC zSco_UtimeSelect0[] =
3213 "\\(const char \\*, struct utimbuf \\*\\);";
3214
3215 #define SCO_UTIME_TEST_CT 1
3216 static tTestDesc aSco_UtimeTests[] = {
3217 { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
3218
3219 /*
3220 * Fix Command Arguments for Sco_Utime
3221 */
3222 static const char* apzSco_UtimePatch[] = {
3223 "format",
3224 "(const char *, const struct utimbuf *);",
3225 (char*)NULL };
3226
3227 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3228 *
3229 * Description of Solaris_Mutex_Init fix
3230 */
3231 tSCC zSolaris_Mutex_InitName[] =
3232 "solaris_mutex_init";
3233
3234 /*
3235 * File name selection pattern
3236 */
3237 tSCC zSolaris_Mutex_InitList[] =
3238 "|pthread.h|";
3239 /*
3240 * Machine/OS name selection pattern
3241 */
3242 #define apzSolaris_Mutex_InitMachs (const char**)NULL
3243
3244 /*
3245 * content selection pattern - do fix if pattern found
3246 */
3247 tSCC zSolaris_Mutex_InitSelect0[] =
3248 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
3249
3250 #define SOLARIS_MUTEX_INIT_TEST_CT 1
3251 static tTestDesc aSolaris_Mutex_InitTests[] = {
3252 { TT_EGREP, zSolaris_Mutex_InitSelect0, (regex_t*)NULL }, };
3253
3254 /*
3255 * Fix Command Arguments for Solaris_Mutex_Init
3256 */
3257 static const char* apzSolaris_Mutex_InitPatch[] = {
3258 "format",
3259 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
3260 %0\n\
3261 #else\n\
3262 %1, {0}}%3\n\
3263 #endif",
3264 "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+{.*),[ \t]*0}(|[ \t].*)$",
3265 (char*)NULL };
3266
3267 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3268 *
3269 * Description of Solaris_Stdio_Tag fix
3270 */
3271 tSCC zSolaris_Stdio_TagName[] =
3272 "solaris_stdio_tag";
3273
3274 /*
3275 * File name selection pattern
3276 */
3277 tSCC zSolaris_Stdio_TagList[] =
3278 "|stdio_tag.h|";
3279 /*
3280 * Machine/OS name selection pattern
3281 */
3282 #define apzSolaris_Stdio_TagMachs (const char**)NULL
3283
3284 /*
3285 * content selection pattern - do fix if pattern found
3286 */
3287 tSCC zSolaris_Stdio_TagSelect0[] =
3288 "__cplusplus < 54321L";
3289
3290 #define SOLARIS_STDIO_TAG_TEST_CT 1
3291 static tTestDesc aSolaris_Stdio_TagTests[] = {
3292 { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
3293
3294 /*
3295 * Fix Command Arguments for Solaris_Stdio_Tag
3296 */
3297 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
3298 "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
3299 (char*)NULL };
3300
3301 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3302 *
3303 * Description of Solaris_Widec fix
3304 */
3305 tSCC zSolaris_WidecName[] =
3306 "solaris_widec";
3307
3308 /*
3309 * File name selection pattern
3310 */
3311 tSCC zSolaris_WidecList[] =
3312 "|widec.h|";
3313 /*
3314 * Machine/OS name selection pattern
3315 */
3316 tSCC* apzSolaris_WidecMachs[] = {
3317 "*-*-solaris2.[0-5]*",
3318 (const char*)NULL };
3319
3320 /*
3321 * content selection pattern - do fix if pattern found
3322 */
3323 tSCC zSolaris_WidecSelect0[] =
3324 "#include <euc.h>";
3325
3326 /*
3327 * content bypass pattern - skip fix if pattern found
3328 */
3329 tSCC zSolaris_WidecBypass0[] =
3330 "include.*wchar\\.h";
3331
3332 #define SOLARIS_WIDEC_TEST_CT 2
3333 static tTestDesc aSolaris_WidecTests[] = {
3334 { TT_NEGREP, zSolaris_WidecBypass0, (regex_t*)NULL },
3335 { TT_EGREP, zSolaris_WidecSelect0, (regex_t*)NULL }, };
3336
3337 /*
3338 * Fix Command Arguments for Solaris_Widec
3339 */
3340 static const char* apzSolaris_WidecPatch[] = {
3341 "format",
3342 "%0\n\
3343 #include <wchar.h>",
3344 (char*)NULL };
3345
3346 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3347 *
3348 * Description of Statsswtch fix
3349 */
3350 tSCC zStatsswtchName[] =
3351 "statsswtch";
3352
3353 /*
3354 * File name selection pattern
3355 */
3356 tSCC zStatsswtchList[] =
3357 "|rpcsvc/rstat.h|";
3358 /*
3359 * Machine/OS name selection pattern
3360 */
3361 #define apzStatsswtchMachs (const char**)NULL
3362
3363 /*
3364 * content selection pattern - do fix if pattern found
3365 */
3366 tSCC zStatsswtchSelect0[] =
3367 "boottime$";
3368
3369 #define STATSSWTCH_TEST_CT 1
3370 static tTestDesc aStatsswtchTests[] = {
3371 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
3372
3373 /*
3374 * Fix Command Arguments for Statsswtch
3375 */
3376 static const char* apzStatsswtchPatch[] = {
3377 "format",
3378 "boottime;",
3379 (char*)NULL };
3380
3381 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3382 *
3383 * Description of Stdio_Stdarg_H fix
3384 */
3385 tSCC zStdio_Stdarg_HName[] =
3386 "stdio_stdarg_h";
3387
3388 /*
3389 * File name selection pattern
3390 */
3391 tSCC zStdio_Stdarg_HList[] =
3392 "|stdio.h|";
3393 /*
3394 * Machine/OS name selection pattern
3395 */
3396 #define apzStdio_Stdarg_HMachs (const char**)NULL
3397
3398 /*
3399 * content bypass pattern - skip fix if pattern found
3400 */
3401 tSCC zStdio_Stdarg_HBypass0[] =
3402 "include.*(stdarg.h|machine/ansi.h)";
3403
3404 #define STDIO_STDARG_H_TEST_CT 1
3405 static tTestDesc aStdio_Stdarg_HTests[] = {
3406 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
3407
3408 /*
3409 * Fix Command Arguments for Stdio_Stdarg_H
3410 */
3411 static const char* apzStdio_Stdarg_HPatch[] = {
3412 "wrap",
3413 "#define __need___va_list\n\
3414 #include <stdarg.h>\n",
3415 (char*)NULL };
3416
3417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3418 *
3419 * Description of Stdio_Va_List fix
3420 */
3421 tSCC zStdio_Va_ListName[] =
3422 "stdio_va_list";
3423
3424 /*
3425 * File name selection pattern
3426 */
3427 tSCC zStdio_Va_ListList[] =
3428 "|stdio.h|";
3429 /*
3430 * Machine/OS name selection pattern
3431 */
3432 #define apzStdio_Va_ListMachs (const char**)NULL
3433
3434 /*
3435 * content bypass pattern - skip fix if pattern found
3436 */
3437 tSCC zStdio_Va_ListBypass0[] =
3438 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
3439
3440 #define STDIO_VA_LIST_TEST_CT 1
3441 static tTestDesc aStdio_Va_ListTests[] = {
3442 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
3443
3444 /*
3445 * Fix Command Arguments for Stdio_Va_List
3446 */
3447 static const char* apzStdio_Va_ListPatch[] = { "sed",
3448 "-e", "s@ va_list @ __gnuc_va_list @\n\
3449 s@ va_list)@ __gnuc_va_list)@\n\
3450 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
3451 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
3452 s@ va_list@ __not_va_list__@\n\
3453 s@\\*va_list@*__not_va_list__@\n\
3454 s@ __va_list)@ __gnuc_va_list)@\n\
3455 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
3456 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
3457 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
3458 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
3459 s@VA_LIST@DUMMY_VA_LIST@\n\
3460 s@_Va_LIST@_VA_LIST@",
3461 (char*)NULL };
3462
3463 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3464 *
3465 * Description of Strict_Ansi_Not fix
3466 */
3467 tSCC zStrict_Ansi_NotName[] =
3468 "strict_ansi_not";
3469
3470 /*
3471 * File name selection pattern
3472 */
3473 #define zStrict_Ansi_NotList (char*)NULL
3474 /*
3475 * Machine/OS name selection pattern
3476 */
3477 #define apzStrict_Ansi_NotMachs (const char**)NULL
3478
3479 /*
3480 * content selection pattern - do fix if pattern found
3481 */
3482 tSCC zStrict_Ansi_NotSelect0[] =
3483 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
3484
3485 /*
3486 * content bypass pattern - skip fix if pattern found
3487 */
3488 tSCC zStrict_Ansi_NotBypass0[] =
3489 "GNU and MIPS C compilers define __STDC__ differently";
3490
3491 /*
3492 * perform the C function call test
3493 */
3494 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
3495
3496 #define STRICT_ANSI_NOT_TEST_CT 3
3497 static tTestDesc aStrict_Ansi_NotTests[] = {
3498 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
3499 { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
3500 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
3501
3502 /*
3503 * Fix Command Arguments for Strict_Ansi_Not
3504 */
3505 static const char* apzStrict_Ansi_NotPatch[] = {
3506 "format",
3507 "%1 !defined(__STRICT_ANSI__)",
3508 (char*)NULL };
3509
3510 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3511 *
3512 * Description of Strict_Ansi_Not_Ctd fix
3513 */
3514 tSCC zStrict_Ansi_Not_CtdName[] =
3515 "strict_ansi_not_ctd";
3516
3517 /*
3518 * File name selection pattern
3519 */
3520 tSCC zStrict_Ansi_Not_CtdList[] =
3521 "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
3522 /*
3523 * Machine/OS name selection pattern
3524 */
3525 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
3526
3527 /*
3528 * content selection pattern - do fix if pattern found
3529 */
3530 tSCC zStrict_Ansi_Not_CtdSelect0[] =
3531 "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
3532
3533 /*
3534 * perform the C function call test
3535 */
3536 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
3537
3538 #define STRICT_ANSI_NOT_CTD_TEST_CT 2
3539 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
3540 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
3541 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
3542
3543 /*
3544 * Fix Command Arguments for Strict_Ansi_Not_Ctd
3545 */
3546 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
3547 "format",
3548 "%1 !defined(__STRICT_ANSI__)",
3549 (char*)NULL };
3550
3551 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3552 *
3553 * Description of Strict_Ansi_Only fix
3554 */
3555 tSCC zStrict_Ansi_OnlyName[] =
3556 "strict_ansi_only";
3557
3558 /*
3559 * File name selection pattern
3560 */
3561 #define zStrict_Ansi_OnlyList (char*)NULL
3562 /*
3563 * Machine/OS name selection pattern
3564 */
3565 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
3566
3567 /*
3568 * content selection pattern - do fix if pattern found
3569 */
3570 tSCC zStrict_Ansi_OnlySelect0[] =
3571 "^([ \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)";
3572
3573 /*
3574 * perform the C function call test
3575 */
3576 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
3577
3578 #define STRICT_ANSI_ONLY_TEST_CT 2
3579 static tTestDesc aStrict_Ansi_OnlyTests[] = {
3580 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
3581 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
3582
3583 /*
3584 * Fix Command Arguments for Strict_Ansi_Only
3585 */
3586 static const char* apzStrict_Ansi_OnlyPatch[] = {
3587 "format",
3588 "%1 defined(__STRICT_ANSI__)",
3589 (char*)NULL };
3590
3591 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3592 *
3593 * Description of Struct_File fix
3594 */
3595 tSCC zStruct_FileName[] =
3596 "struct_file";
3597
3598 /*
3599 * File name selection pattern
3600 */
3601 tSCC zStruct_FileList[] =
3602 "|rpc/xdr.h|";
3603 /*
3604 * Machine/OS name selection pattern
3605 */
3606 #define apzStruct_FileMachs (const char**)NULL
3607
3608 /*
3609 * content selection pattern - do fix if pattern found
3610 */
3611 tSCC zStruct_FileSelect0[] =
3612 "^.*xdrstdio_create.*struct __file_s";
3613
3614 #define STRUCT_FILE_TEST_CT 1
3615 static tTestDesc aStruct_FileTests[] = {
3616 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
3617
3618 /*
3619 * Fix Command Arguments for Struct_File
3620 */
3621 static const char* apzStruct_FilePatch[] = {
3622 "format",
3623 "struct __file_s;\n\
3624 %0",
3625 (char*)NULL };
3626
3627 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3628 *
3629 * Description of Struct_Sockaddr fix
3630 */
3631 tSCC zStruct_SockaddrName[] =
3632 "struct_sockaddr";
3633
3634 /*
3635 * File name selection pattern
3636 */
3637 tSCC zStruct_SockaddrList[] =
3638 "|rpc/auth.h|";
3639 /*
3640 * Machine/OS name selection pattern
3641 */
3642 #define apzStruct_SockaddrMachs (const char**)NULL
3643
3644 /*
3645 * content selection pattern - do fix if pattern found
3646 */
3647 tSCC zStruct_SockaddrSelect0[] =
3648 "^.*authdes_create.*struct sockaddr";
3649
3650 /*
3651 * content bypass pattern - skip fix if pattern found
3652 */
3653 tSCC zStruct_SockaddrBypass0[] =
3654 "<sys/socket.h>";
3655
3656 #define STRUCT_SOCKADDR_TEST_CT 2
3657 static tTestDesc aStruct_SockaddrTests[] = {
3658 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
3659 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
3660
3661 /*
3662 * Fix Command Arguments for Struct_Sockaddr
3663 */
3664 static const char* apzStruct_SockaddrPatch[] = {
3665 "format",
3666 "struct sockaddr;\n\
3667 %0",
3668 (char*)NULL };
3669
3670 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3671 *
3672 * Description of Sun_Auth_Proto fix
3673 */
3674 tSCC zSun_Auth_ProtoName[] =
3675 "sun_auth_proto";
3676
3677 /*
3678 * File name selection pattern
3679 */
3680 tSCC zSun_Auth_ProtoList[] =
3681 "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
3682 /*
3683 * Machine/OS name selection pattern
3684 */
3685 #define apzSun_Auth_ProtoMachs (const char**)NULL
3686
3687 /*
3688 * content selection pattern - do fix if pattern found
3689 */
3690 tSCC zSun_Auth_ProtoSelect0[] =
3691 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
3692
3693 #define SUN_AUTH_PROTO_TEST_CT 1
3694 static tTestDesc aSun_Auth_ProtoTests[] = {
3695 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
3696
3697 /*
3698 * Fix Command Arguments for Sun_Auth_Proto
3699 */
3700 static const char* apzSun_Auth_ProtoPatch[] = {
3701 "format",
3702 "#ifdef __cplusplus\n\
3703 %1(...);%2\n\
3704 #else\n\
3705 %1();%2\n\
3706 #endif",
3707 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
3708 (char*)NULL };
3709
3710 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3711 *
3712 * Description of Sun_Bogus_Ifdef fix
3713 */
3714 tSCC zSun_Bogus_IfdefName[] =
3715 "sun_bogus_ifdef";
3716
3717 /*
3718 * File name selection pattern
3719 */
3720 tSCC zSun_Bogus_IfdefList[] =
3721 "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
3722 /*
3723 * Machine/OS name selection pattern
3724 */
3725 #define apzSun_Bogus_IfdefMachs (const char**)NULL
3726
3727 /*
3728 * content selection pattern - do fix if pattern found
3729 */
3730 tSCC zSun_Bogus_IfdefSelect0[] =
3731 "#ifdef(.*\\|\\|.*)";
3732
3733 #define SUN_BOGUS_IFDEF_TEST_CT 1
3734 static tTestDesc aSun_Bogus_IfdefTests[] = {
3735 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
3736
3737 /*
3738 * Fix Command Arguments for Sun_Bogus_Ifdef
3739 */
3740 static const char* apzSun_Bogus_IfdefPatch[] = {
3741 "format",
3742 "#if%1",
3743 (char*)NULL };
3744
3745 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3746 *
3747 * Description of Sun_Catmacro fix
3748 */
3749 tSCC zSun_CatmacroName[] =
3750 "sun_catmacro";
3751
3752 /*
3753 * File name selection pattern
3754 */
3755 tSCC zSun_CatmacroList[] =
3756 "|pixrect/memvar.h|";
3757 /*
3758 * Machine/OS name selection pattern
3759 */
3760 #define apzSun_CatmacroMachs (const char**)NULL
3761
3762 /*
3763 * content selection pattern - do fix if pattern found
3764 */
3765 tSCC zSun_CatmacroSelect0[] =
3766 "^#define[ \t]+CAT\\(a,b\\).*";
3767
3768 #define SUN_CATMACRO_TEST_CT 1
3769 static tTestDesc aSun_CatmacroTests[] = {
3770 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
3771
3772 /*
3773 * Fix Command Arguments for Sun_Catmacro
3774 */
3775 static const char* apzSun_CatmacroPatch[] = {
3776 "format",
3777 "#ifdef __STDC__\n\
3778 # define CAT(a,b) a##b\n\
3779 #else\n\
3780 %0\n\
3781 #endif",
3782 (char*)NULL };
3783
3784 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3785 *
3786 * Description of Sun_Malloc fix
3787 */
3788 tSCC zSun_MallocName[] =
3789 "sun_malloc";
3790
3791 /*
3792 * File name selection pattern
3793 */
3794 tSCC zSun_MallocList[] =
3795 "|malloc.h|";
3796 /*
3797 * Machine/OS name selection pattern
3798 */
3799 #define apzSun_MallocMachs (const char**)NULL
3800 #define SUN_MALLOC_TEST_CT 0
3801 #define aSun_MallocTests (tTestDesc*)NULL
3802
3803 /*
3804 * Fix Command Arguments for Sun_Malloc
3805 */
3806 static const char* apzSun_MallocPatch[] = { "sed",
3807 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
3808 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
3809 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
3810 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
3811 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
3812 (char*)NULL };
3813
3814 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3815 *
3816 * Description of Sun_Rusers_Semi fix
3817 */
3818 tSCC zSun_Rusers_SemiName[] =
3819 "sun_rusers_semi";
3820
3821 /*
3822 * File name selection pattern
3823 */
3824 tSCC zSun_Rusers_SemiList[] =
3825 "|rpcsvc/rusers.h|";
3826 /*
3827 * Machine/OS name selection pattern
3828 */
3829 #define apzSun_Rusers_SemiMachs (const char**)NULL
3830
3831 /*
3832 * content selection pattern - do fix if pattern found
3833 */
3834 tSCC zSun_Rusers_SemiSelect0[] =
3835 "_cnt$";
3836
3837 #define SUN_RUSERS_SEMI_TEST_CT 1
3838 static tTestDesc aSun_Rusers_SemiTests[] = {
3839 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
3840
3841 /*
3842 * Fix Command Arguments for Sun_Rusers_Semi
3843 */
3844 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
3845 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
3846 (char*)NULL };
3847
3848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3849 *
3850 * Description of Sun_Signal fix
3851 */
3852 tSCC zSun_SignalName[] =
3853 "sun_signal";
3854
3855 /*
3856 * File name selection pattern
3857 */
3858 tSCC zSun_SignalList[] =
3859 "|sys/signal.h|signal.h|";
3860 /*
3861 * Machine/OS name selection pattern
3862 */
3863 #define apzSun_SignalMachs (const char**)NULL
3864
3865 /*
3866 * content selection pattern - do fix if pattern found
3867 */
3868 tSCC zSun_SignalSelect0[] =
3869 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
3870
3871 #define SUN_SIGNAL_TEST_CT 1
3872 static tTestDesc aSun_SignalTests[] = {
3873 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
3874
3875 /*
3876 * Fix Command Arguments for Sun_Signal
3877 */
3878 static const char* apzSun_SignalPatch[] = {
3879 "format",
3880 "#ifdef __cplusplus\n\
3881 void\t(*signal(...))(...);\n\
3882 #else\n\
3883 %0\n\
3884 #endif",
3885 (char*)NULL };
3886
3887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3888 *
3889 * Description of Sunos_Matherr_Decl fix
3890 */
3891 tSCC zSunos_Matherr_DeclName[] =
3892 "sunos_matherr_decl";
3893
3894 /*
3895 * File name selection pattern
3896 */
3897 tSCC zSunos_Matherr_DeclList[] =
3898 "|math.h|";
3899 /*
3900 * Machine/OS name selection pattern
3901 */
3902 #define apzSunos_Matherr_DeclMachs (const char**)NULL
3903
3904 /*
3905 * content selection pattern - do fix if pattern found
3906 */
3907 tSCC zSunos_Matherr_DeclSelect0[] =
3908 "matherr";
3909
3910 /*
3911 * content bypass pattern - skip fix if pattern found
3912 */
3913 tSCC zSunos_Matherr_DeclBypass0[] =
3914 "matherr.*(struct exception|__MATH_EXCEPTION)";
3915
3916 #define SUNOS_MATHERR_DECL_TEST_CT 2
3917 static tTestDesc aSunos_Matherr_DeclTests[] = {
3918 { TT_NEGREP, zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
3919 { TT_EGREP, zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
3920
3921 /*
3922 * Fix Command Arguments for Sunos_Matherr_Decl
3923 */
3924 static const char* apzSunos_Matherr_DeclPatch[] = {
3925 "wrap",
3926 "struct exception;\n",
3927 (char*)NULL };
3928
3929 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3930 *
3931 * Description of Sunos_Strlen fix
3932 */
3933 tSCC zSunos_StrlenName[] =
3934 "sunos_strlen";
3935
3936 /*
3937 * File name selection pattern
3938 */
3939 tSCC zSunos_StrlenList[] =
3940 "|strings.h|";
3941 /*
3942 * Machine/OS name selection pattern
3943 */
3944 #define apzSunos_StrlenMachs (const char**)NULL
3945
3946 /*
3947 * content selection pattern - do fix if pattern found
3948 */
3949 tSCC zSunos_StrlenSelect0[] =
3950 "int[ \t]*strlen\\(\\);(.*)";
3951
3952 #define SUNOS_STRLEN_TEST_CT 1
3953 static tTestDesc aSunos_StrlenTests[] = {
3954 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
3955
3956 /*
3957 * Fix Command Arguments for Sunos_Strlen
3958 */
3959 static const char* apzSunos_StrlenPatch[] = {
3960 "format",
3961 "__SIZE_TYPE__ strlen();%1",
3962 (char*)NULL };
3963
3964 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3965 *
3966 * Description of Svr4__P fix
3967 */
3968 tSCC zSvr4__PName[] =
3969 "svr4__p";
3970
3971 /*
3972 * File name selection pattern
3973 */
3974 tSCC zSvr4__PList[] =
3975 "|math.h|floatingpoint.h|";
3976 /*
3977 * Machine/OS name selection pattern
3978 */
3979 #define apzSvr4__PMachs (const char**)NULL
3980
3981 /*
3982 * content selection pattern - do fix if pattern found
3983 */
3984 tSCC zSvr4__PSelect0[] =
3985 "^#define[ \t]+__P.*";
3986
3987 #define SVR4__P_TEST_CT 1
3988 static tTestDesc aSvr4__PTests[] = {
3989 { TT_EGREP, zSvr4__PSelect0, (regex_t*)NULL }, };
3990
3991 /*
3992 * Fix Command Arguments for Svr4__P
3993 */
3994 static const char* apzSvr4__PPatch[] = {
3995 "format",
3996 "#ifndef __P\n\
3997 %0\n\
3998 #endif",
3999 (char*)NULL };
4000
4001 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4002 *
4003 * Description of Svr4_Getcwd fix
4004 */
4005 tSCC zSvr4_GetcwdName[] =
4006 "svr4_getcwd";
4007
4008 /*
4009 * File name selection pattern
4010 */
4011 tSCC zSvr4_GetcwdList[] =
4012 "|stdlib.h|unistd.h|prototypes.h|";
4013 /*
4014 * Machine/OS name selection pattern
4015 */
4016 #define apzSvr4_GetcwdMachs (const char**)NULL
4017
4018 /*
4019 * content selection pattern - do fix if pattern found
4020 */
4021 tSCC zSvr4_GetcwdSelect0[] =
4022 "getcwd\\(char \\*, int\\)";
4023
4024 #define SVR4_GETCWD_TEST_CT 1
4025 static tTestDesc aSvr4_GetcwdTests[] = {
4026 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4027
4028 /*
4029 * Fix Command Arguments for Svr4_Getcwd
4030 */
4031 static const char* apzSvr4_GetcwdPatch[] = {
4032 "format",
4033 "getcwd(char *, size_t)",
4034 (char*)NULL };
4035
4036 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4037 *
4038 * Description of Svr4_Profil fix
4039 */
4040 tSCC zSvr4_ProfilName[] =
4041 "svr4_profil";
4042
4043 /*
4044 * File name selection pattern
4045 */
4046 tSCC zSvr4_ProfilList[] =
4047 "|stdlib.h|unistd.h|";
4048 /*
4049 * Machine/OS name selection pattern
4050 */
4051 #define apzSvr4_ProfilMachs (const char**)NULL
4052
4053 /*
4054 * content selection pattern - do fix if pattern found
4055 */
4056 tSCC zSvr4_ProfilSelect0[] =
4057 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4058
4059 #define SVR4_PROFIL_TEST_CT 1
4060 static tTestDesc aSvr4_ProfilTests[] = {
4061 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4062
4063 /*
4064 * Fix Command Arguments for Svr4_Profil
4065 */
4066 static const char* apzSvr4_ProfilPatch[] = {
4067 "format",
4068 "profil(unsigned short *, size_t, int, unsigned int)",
4069 (char*)NULL };
4070
4071 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4072 *
4073 * Description of Sysv68_String fix
4074 */
4075 tSCC zSysv68_StringName[] =
4076 "sysv68_string";
4077
4078 /*
4079 * File name selection pattern
4080 */
4081 tSCC zSysv68_StringList[] =
4082 "|testing.h|string.h|";
4083 /*
4084 * Machine/OS name selection pattern
4085 */
4086 #define apzSysv68_StringMachs (const char**)NULL
4087 #define SYSV68_STRING_TEST_CT 0
4088 #define aSysv68_StringTests (tTestDesc*)NULL
4089
4090 /*
4091 * Fix Command Arguments for Sysv68_String
4092 */
4093 static const char* apzSysv68_StringPatch[] = { "sed",
4094 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4095 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4096 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4097 "-e", "/^extern char$/N",
4098 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
4099 "-e", "/^extern int$/N",
4100 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
4101 "-e", "/^\tstrncmp(),$/N",
4102 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4103 extern unsigned int\\\n\
4104 \\2/",
4105 (char*)NULL };
4106
4107 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4108 *
4109 * Description of Sysz_Stdlib_For_Sun fix
4110 */
4111 tSCC zSysz_Stdlib_For_SunName[] =
4112 "sysz_stdlib_for_sun";
4113
4114 /*
4115 * File name selection pattern
4116 */
4117 tSCC zSysz_Stdlib_For_SunList[] =
4118 "|stdlib.h|";
4119 /*
4120 * Machine/OS name selection pattern
4121 */
4122 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
4123
4124 /*
4125 * content selection pattern - do fix if pattern found
4126 */
4127 tSCC zSysz_Stdlib_For_SunSelect0[] =
4128 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4129
4130 #define SYSZ_STDLIB_FOR_SUN_TEST_CT 1
4131 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
4132 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
4133
4134 /*
4135 * Fix Command Arguments for Sysz_Stdlib_For_Sun
4136 */
4137 static const char* apzSysz_Stdlib_For_SunPatch[] = {
4138 "format",
4139 "void *\t%1(",
4140 (char*)NULL };
4141
4142 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4143 *
4144 * Description of Thread_Keyword fix
4145 */
4146 tSCC zThread_KeywordName[] =
4147 "thread_keyword";
4148
4149 /*
4150 * File name selection pattern
4151 */
4152 tSCC zThread_KeywordList[] =
4153 "|pthread.h|bits/sigthread.h|";
4154 /*
4155 * Machine/OS name selection pattern
4156 */
4157 #define apzThread_KeywordMachs (const char**)NULL
4158
4159 /*
4160 * content selection pattern - do fix if pattern found
4161 */
4162 tSCC zThread_KeywordSelect0[] =
4163 "([* ])__thread([,)])";
4164
4165 #define THREAD_KEYWORD_TEST_CT 1
4166 static tTestDesc aThread_KeywordTests[] = {
4167 { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
4168
4169 /*
4170 * Fix Command Arguments for Thread_Keyword
4171 */
4172 static const char* apzThread_KeywordPatch[] = {
4173 "format",
4174 "%1__thr%2",
4175 (char*)NULL };
4176
4177 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4178 *
4179 * Description of Tinfo_Cplusplus fix
4180 */
4181 tSCC zTinfo_CplusplusName[] =
4182 "tinfo_cplusplus";
4183
4184 /*
4185 * File name selection pattern
4186 */
4187 tSCC zTinfo_CplusplusList[] =
4188 "|tinfo.h|";
4189 /*
4190 * Machine/OS name selection pattern
4191 */
4192 #define apzTinfo_CplusplusMachs (const char**)NULL
4193
4194 /*
4195 * content selection pattern - do fix if pattern found
4196 */
4197 tSCC zTinfo_CplusplusSelect0[] =
4198 "[ \t]_cplusplus";
4199
4200 #define TINFO_CPLUSPLUS_TEST_CT 1
4201 static tTestDesc aTinfo_CplusplusTests[] = {
4202 { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
4203
4204 /*
4205 * Fix Command Arguments for Tinfo_Cplusplus
4206 */
4207 static const char* apzTinfo_CplusplusPatch[] = {
4208 "format",
4209 " __cplusplus",
4210 (char*)NULL };
4211
4212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4213 *
4214 * Description of Ultrix_Const fix
4215 */
4216 tSCC zUltrix_ConstName[] =
4217 "ultrix_const";
4218
4219 /*
4220 * File name selection pattern
4221 */
4222 tSCC zUltrix_ConstList[] =
4223 "|stdio.h|";
4224 /*
4225 * Machine/OS name selection pattern
4226 */
4227 #define apzUltrix_ConstMachs (const char**)NULL
4228
4229 /*
4230 * content selection pattern - do fix if pattern found
4231 */
4232 tSCC zUltrix_ConstSelect0[] =
4233 "perror\\( char \\*";
4234
4235 #define ULTRIX_CONST_TEST_CT 1
4236 static tTestDesc aUltrix_ConstTests[] = {
4237 { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
4238
4239 /*
4240 * Fix Command Arguments for Ultrix_Const
4241 */
4242 static const char* apzUltrix_ConstPatch[] = {
4243 "format",
4244 "%1 const %3 *__",
4245 "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
4246 (char*)NULL };
4247
4248 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4249 *
4250 * Description of Ultrix_Const2 fix
4251 */
4252 tSCC zUltrix_Const2Name[] =
4253 "ultrix_const2";
4254
4255 /*
4256 * File name selection pattern
4257 */
4258 tSCC zUltrix_Const2List[] =
4259 "|stdio.h|";
4260 /*
4261 * Machine/OS name selection pattern
4262 */
4263 #define apzUltrix_Const2Machs (const char**)NULL
4264
4265 /*
4266 * content selection pattern - do fix if pattern found
4267 */
4268 tSCC zUltrix_Const2Select0[] =
4269 "\\*fopen\\( char \\*";
4270
4271 #define ULTRIX_CONST2_TEST_CT 1
4272 static tTestDesc aUltrix_Const2Tests[] = {
4273 { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
4274
4275 /*
4276 * Fix Command Arguments for Ultrix_Const2
4277 */
4278 static const char* apzUltrix_Const2Patch[] = {
4279 "format",
4280 "%1( const char *%3, const char *",
4281 "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
4282 (char*)NULL };
4283
4284 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4285 *
4286 * Description of Undefine_Null fix
4287 */
4288 tSCC zUndefine_NullName[] =
4289 "undefine_null";
4290
4291 /*
4292 * File name selection pattern
4293 */
4294 #define zUndefine_NullList (char*)NULL
4295 /*
4296 * Machine/OS name selection pattern
4297 */
4298 #define apzUndefine_NullMachs (const char**)NULL
4299
4300 /*
4301 * content selection pattern - do fix if pattern found
4302 */
4303 tSCC zUndefine_NullSelect0[] =
4304 "^#[ \t]*define[ \t]+NULL[ \t]";
4305
4306 /*
4307 * content bypass pattern - skip fix if pattern found
4308 */
4309 tSCC zUndefine_NullBypass0[] =
4310 "#[ \t]*(ifn|un)def[ \t]+NULL($|[ \t\r])";
4311
4312 #define UNDEFINE_NULL_TEST_CT 2
4313 static tTestDesc aUndefine_NullTests[] = {
4314 { TT_NEGREP, zUndefine_NullBypass0, (regex_t*)NULL },
4315 { TT_EGREP, zUndefine_NullSelect0, (regex_t*)NULL }, };
4316
4317 /*
4318 * Fix Command Arguments for Undefine_Null
4319 */
4320 static const char* apzUndefine_NullPatch[] = {
4321 "format",
4322 "#ifndef NULL%2\n\
4323 #define NULL%1%2\n\
4324 #endif%2\n",
4325 "^#[ \t]*define[ \t]*[ \t]NULL([^\r\n\
4326 ]+)([\r]*)\n",
4327 (char*)NULL };
4328
4329 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4330 *
4331 * Description of Unicosmk_Restrict fix
4332 */
4333 tSCC zUnicosmk_RestrictName[] =
4334 "unicosmk_restrict";
4335
4336 /*
4337 * File name selection pattern
4338 */
4339 tSCC zUnicosmk_RestrictList[] =
4340 "|stdio.h|stdlib.h|wchar.h|";
4341 /*
4342 * Machine/OS name selection pattern
4343 */
4344 tSCC* apzUnicosmk_RestrictMachs[] = {
4345 "*-*-unicosmk*",
4346 (const char*)NULL };
4347
4348 /*
4349 * content selection pattern - do fix if pattern found
4350 */
4351 tSCC zUnicosmk_RestrictSelect0[] =
4352 "(\\*[ \t]*)restrict([ \t]+)";
4353
4354 #define UNICOSMK_RESTRICT_TEST_CT 1
4355 static tTestDesc aUnicosmk_RestrictTests[] = {
4356 { TT_EGREP, zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
4357
4358 /*
4359 * Fix Command Arguments for Unicosmk_Restrict
4360 */
4361 static const char* apzUnicosmk_RestrictPatch[] = {
4362 "format",
4363 "%1__restrict__%2",
4364 (char*)NULL };
4365
4366 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4367 *
4368 * Description of Uw7_Byteorder_Fix fix
4369 */
4370 tSCC zUw7_Byteorder_FixName[] =
4371 "uw7_byteorder_fix";
4372
4373 /*
4374 * File name selection pattern
4375 */
4376 tSCC zUw7_Byteorder_FixList[] =
4377 "|arpa/inet.h|";
4378 /*
4379 * Machine/OS name selection pattern
4380 */
4381 tSCC* apzUw7_Byteorder_FixMachs[] = {
4382 "*-*-sysv4*",
4383 "i?86-*-sysv5*",
4384 "i?86-*-udk*",
4385 "i?86-*-solaris2.[0-4]",
4386 "powerpcle-*-solaris2.[0-4]",
4387 "sparc-*-solaris2.[0-4]",
4388 (const char*)NULL };
4389
4390 /*
4391 * content selection pattern - do fix if pattern found
4392 */
4393 tSCC zUw7_Byteorder_FixSelect0[] =
4394 "in_port_t";
4395
4396 /*
4397 * perform the 'test' shell command - do fix on success
4398 */
4399 tSCC zUw7_Byteorder_FixTest0[] =
4400 "-f sys/byteorder.h";
4401
4402 #define UW7_BYTEORDER_FIX_TEST_CT 2
4403 static tTestDesc aUw7_Byteorder_FixTests[] = {
4404 { TT_TEST, zUw7_Byteorder_FixTest0, 0 /* unused */ },
4405 { TT_EGREP, zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
4406
4407 /*
4408 * Fix Command Arguments for Uw7_Byteorder_Fix
4409 */
4410 static const char* apzUw7_Byteorder_FixPatch[] = {
4411 "format",
4412 "",
4413 "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
4414 (char*)NULL };
4415
4416 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4417 *
4418 * Description of Va_I960_Macro fix
4419 */
4420 tSCC zVa_I960_MacroName[] =
4421 "va_i960_macro";
4422
4423 /*
4424 * File name selection pattern
4425 */
4426 tSCC zVa_I960_MacroList[] =
4427 "|arch/i960/archI960.h|";
4428 /*
4429 * Machine/OS name selection pattern
4430 */
4431 #define apzVa_I960_MacroMachs (const char**)NULL
4432
4433 /*
4434 * content selection pattern - do fix if pattern found
4435 */
4436 tSCC zVa_I960_MacroSelect0[] =
4437 "__(vsiz|vali|vpad|alignof__)";
4438
4439 #define VA_I960_MACRO_TEST_CT 1
4440 static tTestDesc aVa_I960_MacroTests[] = {
4441 { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
4442
4443 /*
4444 * Fix Command Arguments for Va_I960_Macro
4445 */
4446 static const char* apzVa_I960_MacroPatch[] = {
4447 "format",
4448 "__vx%1",
4449 (char*)NULL };
4450
4451 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4452 *
4453 * Description of Void_Null fix
4454 */
4455 tSCC zVoid_NullName[] =
4456 "void_null";
4457
4458 /*
4459 * File name selection pattern
4460 */
4461 tSCC zVoid_NullList[] =
4462 "|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|";
4463 /*
4464 * Machine/OS name selection pattern
4465 */
4466 #define apzVoid_NullMachs (const char**)NULL
4467
4468 /*
4469 * content selection pattern - do fix if pattern found
4470 */
4471 tSCC zVoid_NullSelect0[] =
4472 "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
4473
4474 #define VOID_NULL_TEST_CT 1
4475 static tTestDesc aVoid_NullTests[] = {
4476 { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
4477
4478 /*
4479 * Fix Command Arguments for Void_Null
4480 */
4481 static const char* apzVoid_NullPatch[] = {
4482 "format",
4483 "#define NULL 0",
4484 (char*)NULL };
4485
4486 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4487 *
4488 * Description of Vxworks_Gcc_Problem fix
4489 */
4490 tSCC zVxworks_Gcc_ProblemName[] =
4491 "vxworks_gcc_problem";
4492
4493 /*
4494 * File name selection pattern
4495 */
4496 tSCC zVxworks_Gcc_ProblemList[] =
4497 "|types/vxTypesBase.h|";
4498 /*
4499 * Machine/OS name selection pattern
4500 */
4501 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
4502
4503 /*
4504 * content selection pattern - do fix if pattern found
4505 */
4506 tSCC zVxworks_Gcc_ProblemSelect0[] =
4507 "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
4508
4509 #define VXWORKS_GCC_PROBLEM_TEST_CT 1
4510 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
4511 { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
4512
4513 /*
4514 * Fix Command Arguments for Vxworks_Gcc_Problem
4515 */
4516 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
4517 "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
4518 "-e", "/[ \t]size_t/i\\\n\
4519 #ifndef _GCC_SIZE_T\\\n\
4520 #define _GCC_SIZE_T\n",
4521 "-e", "/[ \t]size_t/a\\\n\
4522 #endif\n",
4523 "-e", "/[ \t]ptrdiff_t/i\\\n\
4524 #ifndef _GCC_PTRDIFF_T\\\n\
4525 #define _GCC_PTRDIFF_T\n",
4526 "-e", "/[ \t]ptrdiff_t/a\\\n\
4527 #endif\n",
4528 "-e", "/[ \t]wchar_t/i\\\n\
4529 #ifndef _GCC_WCHAR_T\\\n\
4530 #define _GCC_WCHAR_T\n",
4531 "-e", "/[ \t]wchar_t/a\\\n\
4532 #endif\n",
4533 (char*)NULL };
4534
4535 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4536 *
4537 * Description of Vxworks_Needs_Vxtypes fix
4538 */
4539 tSCC zVxworks_Needs_VxtypesName[] =
4540 "vxworks_needs_vxtypes";
4541
4542 /*
4543 * File name selection pattern
4544 */
4545 tSCC zVxworks_Needs_VxtypesList[] =
4546 "|time.h|";
4547 /*
4548 * Machine/OS name selection pattern
4549 */
4550 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
4551
4552 /*
4553 * content selection pattern - do fix if pattern found
4554 */
4555 tSCC zVxworks_Needs_VxtypesSelect0[] =
4556 "uint_t([ \t]+_clocks_per_sec)";
4557
4558 #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
4559 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
4560 { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
4561
4562 /*
4563 * Fix Command Arguments for Vxworks_Needs_Vxtypes
4564 */
4565 static const char* apzVxworks_Needs_VxtypesPatch[] = {
4566 "format",
4567 "unsigned int%1",
4568 (char*)NULL };
4569
4570 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4571 *
4572 * Description of Vxworks_Needs_Vxworks fix
4573 */
4574 tSCC zVxworks_Needs_VxworksName[] =
4575 "vxworks_needs_vxworks";
4576
4577 /*
4578 * File name selection pattern
4579 */
4580 tSCC zVxworks_Needs_VxworksList[] =
4581 "|sys/stat.h|";
4582 /*
4583 * Machine/OS name selection pattern
4584 */
4585 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
4586
4587 /*
4588 * content selection pattern - do fix if pattern found
4589 */
4590 tSCC zVxworks_Needs_VxworksSelect0[] =
4591 "#[ \t]define[ \t]+__INCstath";
4592
4593 /*
4594 * perform the 'test' shell command - do fix on success
4595 */
4596 tSCC zVxworks_Needs_VxworksTest0[] =
4597 " -r types/vxTypesOld.h";
4598 tSCC zVxworks_Needs_VxworksTest1[] =
4599 " -n \"`egrep '#include' $file`\"";
4600 tSCC zVxworks_Needs_VxworksTest2[] =
4601 " -n \"`egrep ULONG $file`\"";
4602
4603 #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
4604 static tTestDesc aVxworks_Needs_VxworksTests[] = {
4605 { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
4606 { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
4607 { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
4608 { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
4609
4610 /*
4611 * Fix Command Arguments for Vxworks_Needs_Vxworks
4612 */
4613 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
4614 "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
4615 #include <types/vxTypesOld.h>\n",
4616 (char*)NULL };
4617
4618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4619 *
4620 * Description of Vxworks_Time fix
4621 */
4622 tSCC zVxworks_TimeName[] =
4623 "vxworks_time";
4624
4625 /*
4626 * File name selection pattern
4627 */
4628 tSCC zVxworks_TimeList[] =
4629 "|time.h|";
4630 /*
4631 * Machine/OS name selection pattern
4632 */
4633 #define apzVxworks_TimeMachs (const char**)NULL
4634
4635 /*
4636 * content selection pattern - do fix if pattern found
4637 */
4638 tSCC zVxworks_TimeSelect0[] =
4639 "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
4640
4641 /*
4642 * perform the 'test' shell command - do fix on success
4643 */
4644 tSCC zVxworks_TimeTest0[] =
4645 " -r vxWorks.h";
4646
4647 #define VXWORKS_TIME_TEST_CT 2
4648 static tTestDesc aVxworks_TimeTests[] = {
4649 { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
4650 { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
4651
4652 /*
4653 * Fix Command Arguments for Vxworks_Time
4654 */
4655 static const char* apzVxworks_TimePatch[] = {
4656 "format",
4657 "#ifndef __gcc_VOIDFUNCPTR_defined\n\
4658 #ifdef __cplusplus\n\
4659 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
4660 #else\n\
4661 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
4662 #endif\n\
4663 #define __gcc_VOIDFUNCPTR_defined\n\
4664 #endif\n\
4665 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
4666 (char*)NULL };
4667
4668 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4669 *
4670 * Description of Windiss_Math1 fix
4671 */
4672 tSCC zWindiss_Math1Name[] =
4673 "windiss_math1";
4674
4675 /*
4676 * File name selection pattern
4677 */
4678 tSCC zWindiss_Math1List[] =
4679 "|math.h|";
4680 /*
4681 * Machine/OS name selection pattern
4682 */
4683 tSCC* apzWindiss_Math1Machs[] = {
4684 "*-*-windiss",
4685 (const char*)NULL };
4686 #define WINDISS_MATH1_TEST_CT 0
4687 #define aWindiss_Math1Tests (tTestDesc*)NULL
4688
4689 /*
4690 * Fix Command Arguments for Windiss_Math1
4691 */
4692 static const char* apzWindiss_Math1Patch[] = { "sed",
4693 "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
4694 (char*)NULL };
4695
4696 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4697 *
4698 * Description of Windiss_Math2 fix
4699 */
4700 tSCC zWindiss_Math2Name[] =
4701 "windiss_math2";
4702
4703 /*
4704 * File name selection pattern
4705 */
4706 tSCC zWindiss_Math2List[] =
4707 "|math.h|";
4708 /*
4709 * Machine/OS name selection pattern
4710 */
4711 tSCC* apzWindiss_Math2Machs[] = {
4712 "*-*-windiss",
4713 (const char*)NULL };
4714 #define WINDISS_MATH2_TEST_CT 0
4715 #define aWindiss_Math2Tests (tTestDesc*)NULL
4716
4717 /*
4718 * Fix Command Arguments for Windiss_Math2
4719 */
4720 static const char* apzWindiss_Math2Patch[] = { "sed",
4721 "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
4722 (char*)NULL };
4723
4724 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4725 *
4726 * Description of Windiss_Valist fix
4727 */
4728 tSCC zWindiss_ValistName[] =
4729 "windiss_valist";
4730
4731 /*
4732 * File name selection pattern
4733 */
4734 #define zWindiss_ValistList (char*)NULL
4735 /*
4736 * Machine/OS name selection pattern
4737 */
4738 tSCC* apzWindiss_ValistMachs[] = {
4739 "*-*-windiss",
4740 (const char*)NULL };
4741
4742 /*
4743 * content selection pattern - do fix if pattern found
4744 */
4745 tSCC zWindiss_ValistSelect0[] =
4746 "(#include.*)diab/va_list.h";
4747
4748 #define WINDISS_VALIST_TEST_CT 1
4749 static tTestDesc aWindiss_ValistTests[] = {
4750 { TT_EGREP, zWindiss_ValistSelect0, (regex_t*)NULL }, };
4751
4752 /*
4753 * Fix Command Arguments for Windiss_Valist
4754 */
4755 static const char* apzWindiss_ValistPatch[] = { "sed",
4756 "-e", "s|diab/va_list.h|stdarg.h|",
4757 (char*)NULL };
4758
4759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4760 *
4761 * Description of X11_Class fix
4762 */
4763 tSCC zX11_ClassName[] =
4764 "x11_class";
4765
4766 /*
4767 * File name selection pattern
4768 */
4769 tSCC zX11_ClassList[] =
4770 "|X11/ShellP.h|";
4771 /*
4772 * Machine/OS name selection pattern
4773 */
4774 #define apzX11_ClassMachs (const char**)NULL
4775
4776 /*
4777 * content selection pattern - do fix if pattern found
4778 */
4779 tSCC zX11_ClassSelect0[] =
4780 "^([ \t]*char \\*)class;(.*)";
4781
4782 /*
4783 * content bypass pattern - skip fix if pattern found
4784 */
4785 tSCC zX11_ClassBypass0[] =
4786 "__cplusplus";
4787
4788 #define X11_CLASS_TEST_CT 2
4789 static tTestDesc aX11_ClassTests[] = {
4790 { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
4791 { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
4792
4793 /*
4794 * Fix Command Arguments for X11_Class
4795 */
4796 static const char* apzX11_ClassPatch[] = {
4797 "format",
4798 "#ifdef __cplusplus\n\
4799 %1c_class;%2\n\
4800 #else\n\
4801 %1class;%2\n\
4802 #endif",
4803 (char*)NULL };
4804
4805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4806 *
4807 * Description of X11_Class_Usage fix
4808 */
4809 tSCC zX11_Class_UsageName[] =
4810 "x11_class_usage";
4811
4812 /*
4813 * File name selection pattern
4814 */
4815 tSCC zX11_Class_UsageList[] =
4816 "|Xm/BaseClassI.h|";
4817 /*
4818 * Machine/OS name selection pattern
4819 */
4820 #define apzX11_Class_UsageMachs (const char**)NULL
4821
4822 /*
4823 * content selection pattern - do fix if pattern found
4824 */
4825 tSCC zX11_Class_UsageSelect0[] =
4826 " class\\)";
4827
4828 /*
4829 * content bypass pattern - skip fix if pattern found
4830 */
4831 tSCC zX11_Class_UsageBypass0[] =
4832 "__cplusplus";
4833
4834 #define X11_CLASS_USAGE_TEST_CT 2
4835 static tTestDesc aX11_Class_UsageTests[] = {
4836 { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
4837 { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
4838
4839 /*
4840 * Fix Command Arguments for X11_Class_Usage
4841 */
4842 static const char* apzX11_Class_UsagePatch[] = {
4843 "format",
4844 " c_class)",
4845 (char*)NULL };
4846
4847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4848 *
4849 * Description of X11_New fix
4850 */
4851 tSCC zX11_NewName[] =
4852 "x11_new";
4853
4854 /*
4855 * File name selection pattern
4856 */
4857 tSCC zX11_NewList[] =
4858 "|Xm/Traversal.h|";
4859 /*
4860 * Machine/OS name selection pattern
4861 */
4862 #define apzX11_NewMachs (const char**)NULL
4863
4864 /*
4865 * content bypass pattern - skip fix if pattern found
4866 */
4867 tSCC zX11_NewBypass0[] =
4868 "__cplusplus";
4869
4870 #define X11_NEW_TEST_CT 1
4871 static tTestDesc aX11_NewTests[] = {
4872 { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
4873
4874 /*
4875 * Fix Command Arguments for X11_New
4876 */
4877 static const char* apzX11_NewPatch[] = { "sed",
4878 "-e", "/Widget\told, new;/i\\\n\
4879 #ifdef __cplusplus\\\n\
4880 \tWidget\told, c_new;\\\n\
4881 #else\n",
4882 "-e", "/Widget\told, new;/a\\\n\
4883 #endif\n",
4884 "-e", "s/Widget new,/Widget c_new,/g",
4885 (char*)NULL };
4886
4887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4888 *
4889 * Description of X11_Sprintf fix
4890 */
4891 tSCC zX11_SprintfName[] =
4892 "x11_sprintf";
4893
4894 /*
4895 * File name selection pattern
4896 */
4897 tSCC zX11_SprintfList[] =
4898 "|X11/Xmu.h|X11/Xmu/Xmu.h|";
4899 /*
4900 * Machine/OS name selection pattern
4901 */
4902 #define apzX11_SprintfMachs (const char**)NULL
4903
4904 /*
4905 * content selection pattern - do fix if pattern found
4906 */
4907 tSCC zX11_SprintfSelect0[] =
4908 "^extern char \\*\tsprintf\\(\\);$";
4909
4910 #define X11_SPRINTF_TEST_CT 1
4911 static tTestDesc aX11_SprintfTests[] = {
4912 { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
4913
4914 /*
4915 * Fix Command Arguments for X11_Sprintf
4916 */
4917 static const char* apzX11_SprintfPatch[] = {
4918 "format",
4919 "#ifndef __STDC__\n\
4920 %0\n\
4921 #endif /* !defined __STDC__ */",
4922 (char*)NULL };
4923
4924
4925 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4926 *
4927 * List of all fixes
4928 */
4929 #define REGEX_COUNT 136
4930 #define MACH_LIST_SIZE_LIMIT 279
4931 #define FIX_COUNT 125
4932
4933 /*
4934 * Enumerate the fixes
4935 */
4936 typedef enum {
4937 AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
4938 AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
4939 AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
4940 AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
4941 AAB_SUN_MEMCPY_FIXIDX,
4942 AAB_SVR4_REPLACE_BYTEORDER_FIXIDX,
4943 AIX_PTHREAD_FIXIDX,
4944 AIX_SYSMACHINE_FIXIDX,
4945 AIX_SYSWAIT_FIXIDX,
4946 AIX_VOLATILE_FIXIDX,
4947 ALPHA___ASSERT_FIXIDX,
4948 ALPHA_ASSERT_FIXIDX,
4949 ALPHA_GETOPT_FIXIDX,
4950 ALPHA_PARENS_FIXIDX,
4951 ALPHA_SBRK_FIXIDX,
4952 AVOID_BOOL_DEFINE_FIXIDX,
4953 AVOID_BOOL_TYPE_FIXIDX,
4954 AVOID_WCHAR_T_TYPE_FIXIDX,
4955 BAD_LVAL_FIXIDX,
4956 BAD_STRUCT_TERM_FIXIDX,
4957 BADQUOTE_FIXIDX,
4958 BROKEN_ASSERT_STDIO_FIXIDX,
4959 BROKEN_ASSERT_STDLIB_FIXIDX,
4960 BROKEN_CABS_FIXIDX,
4961 CTRL_QUOTES_DEF_FIXIDX,
4962 CTRL_QUOTES_USE_FIXIDX,
4963 CXX_UNREADY_FIXIDX,
4964 DEC_INTERN_ASM_FIXIDX,
4965 DJGPP_WCHAR_H_FIXIDX,
4966 ECD_CURSOR_FIXIDX,
4967 FREEBSD_GCC3_BREAKAGE_FIXIDX,
4968 GNU_TYPES_FIXIDX,
4969 HP_INLINE_FIXIDX,
4970 HP_SYSFILE_FIXIDX,
4971 HPUX10_CPP_POW_INLINE_FIXIDX,
4972 HPUX11_CPP_POW_INLINE_FIXIDX,
4973 HPUX11_ABS_FIXIDX,
4974 HPUX11_FABSF_FIXIDX,
4975 HPUX11_SIZE_T_FIXIDX,
4976 HPUX11_UINT32_C_FIXIDX,
4977 HPUX11_VSNPRINTF_FIXIDX,
4978 HPUX8_BOGUS_INLINES_FIXIDX,
4979 HPUX_MAXINT_FIXIDX,
4980 HPUX_SYSTIME_FIXIDX,
4981 INT_ABORT_FREE_AND_EXIT_FIXIDX,
4982 IO_QUOTES_DEF_FIXIDX,
4983 IO_QUOTES_USE_FIXIDX,
4984 IP_MISSING_SEMI_FIXIDX,
4985 IRIX_ASM_APOSTROPHE_FIXIDX,
4986 IRIX_LIMITS_CONST_FIXIDX,
4987 IRIX_STDIO_VA_LIST_FIXIDX,
4988 ISC_FMOD_FIXIDX,
4989 ISC_OMITS_WITH_STDC_FIXIDX,
4990 KANDR_CONCAT_FIXIDX,
4991 LIBC1_G_VA_LIST_FIXIDX,
4992 LIBC1_IFDEFD_MEMX_FIXIDX,
4993 LIMITS_IFNDEFS_FIXIDX,
4994 LYNX_VOID_INT_FIXIDX,
4995 LYNXOS_FCNTL_PROTO_FIXIDX,
4996 MACHINE_ANSI_H_VA_LIST_FIXIDX,
4997 MACHINE_NAME_FIXIDX,
4998 MATH_EXCEPTION_FIXIDX,
4999 MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
5000 MATH_HUGE_VAL_IFNDEF_FIXIDX,
5001 NESTED_AUTH_DES_FIXIDX,
5002 NESTED_MOTOROLA_FIXIDX,
5003 NESTED_SYS_LIMITS_FIXIDX,
5004 NEXT_MATH_PREFIX_FIXIDX,
5005 NEXT_TEMPLATE_FIXIDX,
5006 NEXT_VOLITILE_FIXIDX,
5007 NEXT_WAIT_UNION_FIXIDX,
5008 NODEENT_SYNTAX_FIXIDX,
5009 OSF_NAMESPACE_A_FIXIDX,
5010 OSF_NAMESPACE_C_FIXIDX,
5011 PTHREAD_PAGE_SIZE_FIXIDX,
5012 READ_RET_TYPE_FIXIDX,
5013 RS6000_DOUBLE_FIXIDX,
5014 RS6000_FCHMOD_FIXIDX,
5015 RS6000_PARAM_FIXIDX,
5016 SCO_STATIC_FUNC_FIXIDX,
5017 SCO_UTIME_FIXIDX,
5018 SOLARIS_MUTEX_INIT_FIXIDX,
5019 SOLARIS_STDIO_TAG_FIXIDX,
5020 SOLARIS_WIDEC_FIXIDX,
5021 STATSSWTCH_FIXIDX,
5022 STDIO_STDARG_H_FIXIDX,
5023 STDIO_VA_LIST_FIXIDX,
5024 STRICT_ANSI_NOT_FIXIDX,
5025 STRICT_ANSI_NOT_CTD_FIXIDX,
5026 STRICT_ANSI_ONLY_FIXIDX,
5027 STRUCT_FILE_FIXIDX,
5028 STRUCT_SOCKADDR_FIXIDX,
5029 SUN_AUTH_PROTO_FIXIDX,
5030 SUN_BOGUS_IFDEF_FIXIDX,
5031 SUN_CATMACRO_FIXIDX,
5032 SUN_MALLOC_FIXIDX,
5033 SUN_RUSERS_SEMI_FIXIDX,
5034 SUN_SIGNAL_FIXIDX,
5035 SUNOS_MATHERR_DECL_FIXIDX,
5036 SUNOS_STRLEN_FIXIDX,
5037 SVR4__P_FIXIDX,
5038 SVR4_GETCWD_FIXIDX,
5039 SVR4_PROFIL_FIXIDX,
5040 SYSV68_STRING_FIXIDX,
5041 SYSZ_STDLIB_FOR_SUN_FIXIDX,
5042 THREAD_KEYWORD_FIXIDX,
5043 TINFO_CPLUSPLUS_FIXIDX,
5044 ULTRIX_CONST_FIXIDX,
5045 ULTRIX_CONST2_FIXIDX,
5046 UNDEFINE_NULL_FIXIDX,
5047 UNICOSMK_RESTRICT_FIXIDX,
5048 UW7_BYTEORDER_FIX_FIXIDX,
5049 VA_I960_MACRO_FIXIDX,
5050 VOID_NULL_FIXIDX,
5051 VXWORKS_GCC_PROBLEM_FIXIDX,
5052 VXWORKS_NEEDS_VXTYPES_FIXIDX,
5053 VXWORKS_NEEDS_VXWORKS_FIXIDX,
5054 VXWORKS_TIME_FIXIDX,
5055 WINDISS_MATH1_FIXIDX,
5056 WINDISS_MATH2_FIXIDX,
5057 WINDISS_VALIST_FIXIDX,
5058 X11_CLASS_FIXIDX,
5059 X11_CLASS_USAGE_FIXIDX,
5060 X11_NEW_FIXIDX,
5061 X11_SPRINTF_FIXIDX
5062 } t_fixinc_idx;
5063
5064 tFixDesc fixDescList[ FIX_COUNT ] = {
5065 { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
5066 apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
5067 AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5068 aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
5069
5070 { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
5071 apzAab_Fd_Zero_Gnu_Types_HMachs,
5072 AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5073 aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
5074
5075 { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
5076 apzAab_Fd_Zero_Selectbits_HMachs,
5077 AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5078 aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
5079
5080 { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
5081 apzAab_Solaris_Sys_Varargs_HMachs,
5082 AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5083 aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
5084
5085 { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
5086 apzAab_Sun_MemcpyMachs,
5087 AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5088 aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
5089
5090 { zAab_Svr4_Replace_ByteorderName, zAab_Svr4_Replace_ByteorderList,
5091 apzAab_Svr4_Replace_ByteorderMachs,
5092 AAB_SVR4_REPLACE_BYTEORDER_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
5093 aAab_Svr4_Replace_ByteorderTests, apzAab_Svr4_Replace_ByteorderPatch, 0 },
5094
5095 { zAix_PthreadName, zAix_PthreadList,
5096 apzAix_PthreadMachs,
5097 AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5098 aAix_PthreadTests, apzAix_PthreadPatch, 0 },
5099
5100 { zAix_SysmachineName, zAix_SysmachineList,
5101 apzAix_SysmachineMachs,
5102 AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5103 aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
5104
5105 { zAix_SyswaitName, zAix_SyswaitList,
5106 apzAix_SyswaitMachs,
5107 AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5108 aAix_SyswaitTests, apzAix_SyswaitPatch, 0 },
5109
5110 { zAix_VolatileName, zAix_VolatileList,
5111 apzAix_VolatileMachs,
5112 AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5113 aAix_VolatileTests, apzAix_VolatilePatch, 0 },
5114
5115 { zAlpha___AssertName, zAlpha___AssertList,
5116 apzAlpha___AssertMachs,
5117 ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5118 aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
5119
5120 { zAlpha_AssertName, zAlpha_AssertList,
5121 apzAlpha_AssertMachs,
5122 ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5123 aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
5124
5125 { zAlpha_GetoptName, zAlpha_GetoptList,
5126 apzAlpha_GetoptMachs,
5127 ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5128 aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
5129
5130 { zAlpha_ParensName, zAlpha_ParensList,
5131 apzAlpha_ParensMachs,
5132 ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5133 aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
5134
5135 { zAlpha_SbrkName, zAlpha_SbrkList,
5136 apzAlpha_SbrkMachs,
5137 ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5138 aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
5139
5140 { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
5141 apzAvoid_Bool_DefineMachs,
5142 AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5143 aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
5144
5145 { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
5146 apzAvoid_Bool_TypeMachs,
5147 AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5148 aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
5149
5150 { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
5151 apzAvoid_Wchar_T_TypeMachs,
5152 AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5153 aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
5154
5155 { zBad_LvalName, zBad_LvalList,
5156 apzBad_LvalMachs,
5157 BAD_LVAL_TEST_CT, FD_MACH_ONLY,
5158 aBad_LvalTests, apzBad_LvalPatch, 0 },
5159
5160 { zBad_Struct_TermName, zBad_Struct_TermList,
5161 apzBad_Struct_TermMachs,
5162 BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5163 aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
5164
5165 { zBadquoteName, zBadquoteList,
5166 apzBadquoteMachs,
5167 BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5168 aBadquoteTests, apzBadquotePatch, 0 },
5169
5170 { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
5171 apzBroken_Assert_StdioMachs,
5172 BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5173 aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
5174
5175 { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
5176 apzBroken_Assert_StdlibMachs,
5177 BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5178 aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
5179
5180 { zBroken_CabsName, zBroken_CabsList,
5181 apzBroken_CabsMachs,
5182 BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5183 aBroken_CabsTests, apzBroken_CabsPatch, 0 },
5184
5185 { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
5186 apzCtrl_Quotes_DefMachs,
5187 CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5188 aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
5189
5190 { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
5191 apzCtrl_Quotes_UseMachs,
5192 CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5193 aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
5194
5195 { zCxx_UnreadyName, zCxx_UnreadyList,
5196 apzCxx_UnreadyMachs,
5197 CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5198 aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
5199
5200 { zDec_Intern_AsmName, zDec_Intern_AsmList,
5201 apzDec_Intern_AsmMachs,
5202 DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
5203 aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
5204
5205 { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
5206 apzDjgpp_Wchar_HMachs,
5207 DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5208 aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
5209
5210 { zEcd_CursorName, zEcd_CursorList,
5211 apzEcd_CursorMachs,
5212 ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5213 aEcd_CursorTests, apzEcd_CursorPatch, 0 },
5214
5215 { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
5216 apzFreebsd_Gcc3_BreakageMachs,
5217 FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5218 aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
5219
5220 { zGnu_TypesName, zGnu_TypesList,
5221 apzGnu_TypesMachs,
5222 GNU_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5223 aGnu_TypesTests, apzGnu_TypesPatch, 0 },
5224
5225 { zHp_InlineName, zHp_InlineList,
5226 apzHp_InlineMachs,
5227 HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5228 aHp_InlineTests, apzHp_InlinePatch, 0 },
5229
5230 { zHp_SysfileName, zHp_SysfileList,
5231 apzHp_SysfileMachs,
5232 HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5233 aHp_SysfileTests, apzHp_SysfilePatch, 0 },
5234
5235 { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
5236 apzHpux10_Cpp_Pow_InlineMachs,
5237 HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5238 aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
5239
5240 { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
5241 apzHpux11_Cpp_Pow_InlineMachs,
5242 HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5243 aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
5244
5245 { zHpux11_AbsName, zHpux11_AbsList,
5246 apzHpux11_AbsMachs,
5247 HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5248 aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
5249
5250 { zHpux11_FabsfName, zHpux11_FabsfList,
5251 apzHpux11_FabsfMachs,
5252 HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5253 aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
5254
5255 { zHpux11_Size_TName, zHpux11_Size_TList,
5256 apzHpux11_Size_TMachs,
5257 HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5258 aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
5259
5260 { zHpux11_Uint32_CName, zHpux11_Uint32_CList,
5261 apzHpux11_Uint32_CMachs,
5262 HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5263 aHpux11_Uint32_CTests, apzHpux11_Uint32_CPatch, 0 },
5264
5265 { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
5266 apzHpux11_VsnprintfMachs,
5267 HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5268 aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
5269
5270 { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
5271 apzHpux8_Bogus_InlinesMachs,
5272 HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
5273 aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
5274
5275 { zHpux_MaxintName, zHpux_MaxintList,
5276 apzHpux_MaxintMachs,
5277 HPUX_MAXINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5278 aHpux_MaxintTests, apzHpux_MaxintPatch, 0 },
5279
5280 { zHpux_SystimeName, zHpux_SystimeList,
5281 apzHpux_SystimeMachs,
5282 HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5283 aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
5284
5285 { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
5286 apzInt_Abort_Free_And_ExitMachs,
5287 INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5288 aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
5289
5290 { zIo_Quotes_DefName, zIo_Quotes_DefList,
5291 apzIo_Quotes_DefMachs,
5292 IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5293 aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
5294
5295 { zIo_Quotes_UseName, zIo_Quotes_UseList,
5296 apzIo_Quotes_UseMachs,
5297 IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5298 aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
5299
5300 { zIp_Missing_SemiName, zIp_Missing_SemiList,
5301 apzIp_Missing_SemiMachs,
5302 IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
5303 aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
5304
5305 { zIrix_Asm_ApostropheName, zIrix_Asm_ApostropheList,
5306 apzIrix_Asm_ApostropheMachs,
5307 IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5308 aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 },
5309
5310 { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
5311 apzIrix_Limits_ConstMachs,
5312 IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5313 aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
5314
5315 { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
5316 apzIrix_Stdio_Va_ListMachs,
5317 IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5318 aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
5319
5320 { zIsc_FmodName, zIsc_FmodList,
5321 apzIsc_FmodMachs,
5322 ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5323 aIsc_FmodTests, apzIsc_FmodPatch, 0 },
5324
5325 { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
5326 apzIsc_Omits_With_StdcMachs,
5327 ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5328 aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
5329
5330 { zKandr_ConcatName, zKandr_ConcatList,
5331 apzKandr_ConcatMachs,
5332 KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5333 aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
5334
5335 { zLibc1_G_Va_ListName, zLibc1_G_Va_ListList,
5336 apzLibc1_G_Va_ListMachs,
5337 LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5338 aLibc1_G_Va_ListTests, apzLibc1_G_Va_ListPatch, 0 },
5339
5340 { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
5341 apzLibc1_Ifdefd_MemxMachs,
5342 LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5343 aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
5344
5345 { zLimits_IfndefsName, zLimits_IfndefsList,
5346 apzLimits_IfndefsMachs,
5347 LIMITS_IFNDEFS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5348 aLimits_IfndefsTests, apzLimits_IfndefsPatch, 0 },
5349
5350 { zLynx_Void_IntName, zLynx_Void_IntList,
5351 apzLynx_Void_IntMachs,
5352 LYNX_VOID_INT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5353 aLynx_Void_IntTests, apzLynx_Void_IntPatch, 0 },
5354
5355 { zLynxos_Fcntl_ProtoName, zLynxos_Fcntl_ProtoList,
5356 apzLynxos_Fcntl_ProtoMachs,
5357 LYNXOS_FCNTL_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5358 aLynxos_Fcntl_ProtoTests, apzLynxos_Fcntl_ProtoPatch, 0 },
5359
5360 { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
5361 apzMachine_Ansi_H_Va_ListMachs,
5362 MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5363 aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
5364
5365 { zMachine_NameName, zMachine_NameList,
5366 apzMachine_NameMachs,
5367 MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5368 aMachine_NameTests, apzMachine_NamePatch, 0 },
5369
5370 { zMath_ExceptionName, zMath_ExceptionList,
5371 apzMath_ExceptionMachs,
5372 MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5373 aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
5374
5375 { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
5376 apzMath_Huge_Val_From_Dbl_MaxMachs,
5377 MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
5378 aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
5379
5380 { zMath_Huge_Val_IfndefName, zMath_Huge_Val_IfndefList,
5381 apzMath_Huge_Val_IfndefMachs,
5382 MATH_HUGE_VAL_IFNDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5383 aMath_Huge_Val_IfndefTests, apzMath_Huge_Val_IfndefPatch, 0 },
5384
5385 { zNested_Auth_DesName, zNested_Auth_DesList,
5386 apzNested_Auth_DesMachs,
5387 NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5388 aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
5389
5390 { zNested_MotorolaName, zNested_MotorolaList,
5391 apzNested_MotorolaMachs,
5392 NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
5393 aNested_MotorolaTests, apzNested_MotorolaPatch, 0 },
5394
5395 { zNested_Sys_LimitsName, zNested_Sys_LimitsList,
5396 apzNested_Sys_LimitsMachs,
5397 NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
5398 aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 },
5399
5400 { zNext_Math_PrefixName, zNext_Math_PrefixList,
5401 apzNext_Math_PrefixMachs,
5402 NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5403 aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
5404
5405 { zNext_TemplateName, zNext_TemplateList,
5406 apzNext_TemplateMachs,
5407 NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5408 aNext_TemplateTests, apzNext_TemplatePatch, 0 },
5409
5410 { zNext_VolitileName, zNext_VolitileList,
5411 apzNext_VolitileMachs,
5412 NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5413 aNext_VolitileTests, apzNext_VolitilePatch, 0 },
5414
5415 { zNext_Wait_UnionName, zNext_Wait_UnionList,
5416 apzNext_Wait_UnionMachs,
5417 NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5418 aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
5419
5420 { zNodeent_SyntaxName, zNodeent_SyntaxList,
5421 apzNodeent_SyntaxMachs,
5422 NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5423 aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
5424
5425 { zOsf_Namespace_AName, zOsf_Namespace_AList,
5426 apzOsf_Namespace_AMachs,
5427 OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5428 aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
5429
5430 { zOsf_Namespace_CName, zOsf_Namespace_CList,
5431 apzOsf_Namespace_CMachs,
5432 OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5433 aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
5434
5435 { zPthread_Page_SizeName, zPthread_Page_SizeList,
5436 apzPthread_Page_SizeMachs,
5437 PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5438 aPthread_Page_SizeTests, apzPthread_Page_SizePatch, 0 },
5439
5440 { zRead_Ret_TypeName, zRead_Ret_TypeList,
5441 apzRead_Ret_TypeMachs,
5442 READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5443 aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
5444
5445 { zRs6000_DoubleName, zRs6000_DoubleList,
5446 apzRs6000_DoubleMachs,
5447 RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5448 aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
5449
5450 { zRs6000_FchmodName, zRs6000_FchmodList,
5451 apzRs6000_FchmodMachs,
5452 RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5453 aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
5454
5455 { zRs6000_ParamName, zRs6000_ParamList,
5456 apzRs6000_ParamMachs,
5457 RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5458 aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
5459
5460 { zSco_Static_FuncName, zSco_Static_FuncList,
5461 apzSco_Static_FuncMachs,
5462 SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
5463 aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 },
5464
5465 { zSco_UtimeName, zSco_UtimeList,
5466 apzSco_UtimeMachs,
5467 SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5468 aSco_UtimeTests, apzSco_UtimePatch, 0 },
5469
5470 { zSolaris_Mutex_InitName, zSolaris_Mutex_InitList,
5471 apzSolaris_Mutex_InitMachs,
5472 SOLARIS_MUTEX_INIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5473 aSolaris_Mutex_InitTests, apzSolaris_Mutex_InitPatch, 0 },
5474
5475 { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
5476 apzSolaris_Stdio_TagMachs,
5477 SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
5478 aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
5479
5480 { zSolaris_WidecName, zSolaris_WidecList,
5481 apzSolaris_WidecMachs,
5482 SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5483 aSolaris_WidecTests, apzSolaris_WidecPatch, 0 },
5484
5485 { zStatsswtchName, zStatsswtchList,
5486 apzStatsswtchMachs,
5487 STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5488 aStatsswtchTests, apzStatsswtchPatch, 0 },
5489
5490 { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
5491 apzStdio_Stdarg_HMachs,
5492 STDIO_STDARG_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5493 aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
5494
5495 { zStdio_Va_ListName, zStdio_Va_ListList,
5496 apzStdio_Va_ListMachs,
5497 STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY,
5498 aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
5499
5500 { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
5501 apzStrict_Ansi_NotMachs,
5502 STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5503 aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
5504
5505 { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
5506 apzStrict_Ansi_Not_CtdMachs,
5507 STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5508 aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
5509
5510 { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
5511 apzStrict_Ansi_OnlyMachs,
5512 STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5513 aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
5514
5515 { zStruct_FileName, zStruct_FileList,
5516 apzStruct_FileMachs,
5517 STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5518 aStruct_FileTests, apzStruct_FilePatch, 0 },
5519
5520 { zStruct_SockaddrName, zStruct_SockaddrList,
5521 apzStruct_SockaddrMachs,
5522 STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5523 aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
5524
5525 { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
5526 apzSun_Auth_ProtoMachs,
5527 SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5528 aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
5529
5530 { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
5531 apzSun_Bogus_IfdefMachs,
5532 SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5533 aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
5534
5535 { zSun_CatmacroName, zSun_CatmacroList,
5536 apzSun_CatmacroMachs,
5537 SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5538 aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
5539
5540 { zSun_MallocName, zSun_MallocList,
5541 apzSun_MallocMachs,
5542 SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
5543 aSun_MallocTests, apzSun_MallocPatch, 0 },
5544
5545 { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
5546 apzSun_Rusers_SemiMachs,
5547 SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
5548 aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
5549
5550 { zSun_SignalName, zSun_SignalList,
5551 apzSun_SignalMachs,
5552 SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5553 aSun_SignalTests, apzSun_SignalPatch, 0 },
5554
5555 { zSunos_Matherr_DeclName, zSunos_Matherr_DeclList,
5556 apzSunos_Matherr_DeclMachs,
5557 SUNOS_MATHERR_DECL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5558 aSunos_Matherr_DeclTests, apzSunos_Matherr_DeclPatch, 0 },
5559
5560 { zSunos_StrlenName, zSunos_StrlenList,
5561 apzSunos_StrlenMachs,
5562 SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5563 aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
5564
5565 { zSvr4__PName, zSvr4__PList,
5566 apzSvr4__PMachs,
5567 SVR4__P_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5568 aSvr4__PTests, apzSvr4__PPatch, 0 },
5569
5570 { zSvr4_GetcwdName, zSvr4_GetcwdList,
5571 apzSvr4_GetcwdMachs,
5572 SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5573 aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
5574
5575 { zSvr4_ProfilName, zSvr4_ProfilList,
5576 apzSvr4_ProfilMachs,
5577 SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5578 aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
5579
5580 { zSysv68_StringName, zSysv68_StringList,
5581 apzSysv68_StringMachs,
5582 SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
5583 aSysv68_StringTests, apzSysv68_StringPatch, 0 },
5584
5585 { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
5586 apzSysz_Stdlib_For_SunMachs,
5587 SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5588 aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
5589
5590 { zThread_KeywordName, zThread_KeywordList,
5591 apzThread_KeywordMachs,
5592 THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5593 aThread_KeywordTests, apzThread_KeywordPatch, 0 },
5594
5595 { zTinfo_CplusplusName, zTinfo_CplusplusList,
5596 apzTinfo_CplusplusMachs,
5597 TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5598 aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
5599
5600 { zUltrix_ConstName, zUltrix_ConstList,
5601 apzUltrix_ConstMachs,
5602 ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5603 aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
5604
5605 { zUltrix_Const2Name, zUltrix_Const2List,
5606 apzUltrix_Const2Machs,
5607 ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5608 aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
5609
5610 { zUndefine_NullName, zUndefine_NullList,
5611 apzUndefine_NullMachs,
5612 UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5613 aUndefine_NullTests, apzUndefine_NullPatch, 0 },
5614
5615 { zUnicosmk_RestrictName, zUnicosmk_RestrictList,
5616 apzUnicosmk_RestrictMachs,
5617 UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5618 aUnicosmk_RestrictTests, apzUnicosmk_RestrictPatch, 0 },
5619
5620 { zUw7_Byteorder_FixName, zUw7_Byteorder_FixList,
5621 apzUw7_Byteorder_FixMachs,
5622 UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5623 aUw7_Byteorder_FixTests, apzUw7_Byteorder_FixPatch, 0 },
5624
5625 { zVa_I960_MacroName, zVa_I960_MacroList,
5626 apzVa_I960_MacroMachs,
5627 VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5628 aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
5629
5630 { zVoid_NullName, zVoid_NullList,
5631 apzVoid_NullMachs,
5632 VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5633 aVoid_NullTests, apzVoid_NullPatch, 0 },
5634
5635 { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
5636 apzVxworks_Gcc_ProblemMachs,
5637 VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
5638 aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
5639
5640 { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
5641 apzVxworks_Needs_VxtypesMachs,
5642 VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5643 aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
5644
5645 { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
5646 apzVxworks_Needs_VxworksMachs,
5647 VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
5648 aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
5649
5650 { zVxworks_TimeName, zVxworks_TimeList,
5651 apzVxworks_TimeMachs,
5652 VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5653 aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
5654
5655 { zWindiss_Math1Name, zWindiss_Math1List,
5656 apzWindiss_Math1Machs,
5657 WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
5658 aWindiss_Math1Tests, apzWindiss_Math1Patch, 0 },
5659
5660 { zWindiss_Math2Name, zWindiss_Math2List,
5661 apzWindiss_Math2Machs,
5662 WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
5663 aWindiss_Math2Tests, apzWindiss_Math2Patch, 0 },
5664
5665 { zWindiss_ValistName, zWindiss_ValistList,
5666 apzWindiss_ValistMachs,
5667 WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
5668 aWindiss_ValistTests, apzWindiss_ValistPatch, 0 },
5669
5670 { zX11_ClassName, zX11_ClassList,
5671 apzX11_ClassMachs,
5672 X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5673 aX11_ClassTests, apzX11_ClassPatch, 0 },
5674
5675 { zX11_Class_UsageName, zX11_Class_UsageList,
5676 apzX11_Class_UsageMachs,
5677 X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5678 aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
5679
5680 { zX11_NewName, zX11_NewList,
5681 apzX11_NewMachs,
5682 X11_NEW_TEST_CT, FD_MACH_ONLY,
5683 aX11_NewTests, apzX11_NewPatch, 0 },
5684
5685 { zX11_SprintfName, zX11_SprintfList,
5686 apzX11_SprintfMachs,
5687 X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
5688 aX11_SprintfTests, apzX11_SprintfPatch, 0 }
5689 };