2 * DO NOT EDIT THIS FILE - it has been generated
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.
8 * This file contains 139 fixup descriptions.
10 * See README for more information.
12 * inclhack copyright (c) 1998, 1999, 2000, 2001
13 * The Free Software Foundation, Inc.
15 * inclhack is free software.
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.
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.
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.
33 /* * * * * * * * * * * * * * * * * * * * * * * * * *
35 * Description of Aaa_Ki_Iface fix
37 #define AAA_KI_IFACE_FIXIDX 0
38 tSCC zAaa_Ki_IfaceName[] =
42 * File name selection pattern
44 tSCC zAaa_Ki_IfaceList[] =
47 * Machine/OS name selection pattern
49 #define apzAaa_Ki_IfaceMachs (const char**)NULL
52 * content selection pattern - do fix if pattern found
54 tSCC zAaa_Ki_IfaceSelect0[] =
55 "These definitions are for HP Internal developers";
57 #define AAA_KI_IFACE_TEST_CT 1
58 static tTestDesc aAaa_Ki_IfaceTests[] = {
59 { TT_EGREP, zAaa_Ki_IfaceSelect0, (regex_t*)NULL }, };
62 * Fix Command Arguments for Aaa_Ki_Iface
64 static const char* apzAaa_Ki_IfacePatch[] = {
67 /* * * * * * * * * * * * * * * * * * * * * * * * * *
69 * Description of Aaa_Ki fix
71 #define AAA_KI_FIXIDX 1
76 * File name selection pattern
81 * Machine/OS name selection pattern
83 #define apzAaa_KiMachs (const char**)NULL
86 * content selection pattern - do fix if pattern found
88 tSCC zAaa_KiSelect0[] =
91 #define AAA_KI_TEST_CT 1
92 static tTestDesc aAaa_KiTests[] = {
93 { TT_EGREP, zAaa_KiSelect0, (regex_t*)NULL }, };
96 * Fix Command Arguments for Aaa_Ki
98 static const char* apzAaa_KiPatch[] = {
101 /* * * * * * * * * * * * * * * * * * * * * * * * * *
103 * Description of Aaa_Ki_Calls fix
105 #define AAA_KI_CALLS_FIXIDX 2
106 tSCC zAaa_Ki_CallsName[] =
110 * File name selection pattern
112 tSCC zAaa_Ki_CallsList[] =
115 * Machine/OS name selection pattern
117 #define apzAaa_Ki_CallsMachs (const char**)NULL
120 * content selection pattern - do fix if pattern found
122 tSCC zAaa_Ki_CallsSelect0[] =
123 "kthread_create_caller_t";
125 #define AAA_KI_CALLS_TEST_CT 1
126 static tTestDesc aAaa_Ki_CallsTests[] = {
127 { TT_EGREP, zAaa_Ki_CallsSelect0, (regex_t*)NULL }, };
130 * Fix Command Arguments for Aaa_Ki_Calls
132 static const char* apzAaa_Ki_CallsPatch[] = {
135 /* * * * * * * * * * * * * * * * * * * * * * * * * *
137 * Description of Aaa_Ki_Defs fix
139 #define AAA_KI_DEFS_FIXIDX 3
140 tSCC zAaa_Ki_DefsName[] =
144 * File name selection pattern
146 tSCC zAaa_Ki_DefsList[] =
149 * Machine/OS name selection pattern
151 #define apzAaa_Ki_DefsMachs (const char**)NULL
154 * content selection pattern - do fix if pattern found
156 tSCC zAaa_Ki_DefsSelect0[] =
157 "Kernel Instrumentation Definitions";
159 #define AAA_KI_DEFS_TEST_CT 1
160 static tTestDesc aAaa_Ki_DefsTests[] = {
161 { TT_EGREP, zAaa_Ki_DefsSelect0, (regex_t*)NULL }, };
164 * Fix Command Arguments for Aaa_Ki_Defs
166 static const char* apzAaa_Ki_DefsPatch[] = {
169 /* * * * * * * * * * * * * * * * * * * * * * * * * *
171 * Description of Aaa_Standards fix
173 #define AAA_STANDARDS_FIXIDX 4
174 tSCC zAaa_StandardsName[] =
178 * File name selection pattern
180 tSCC zAaa_StandardsList[] =
183 * Machine/OS name selection pattern
185 #define apzAaa_StandardsMachs (const char**)NULL
188 * content selection pattern - do fix if pattern found
190 tSCC zAaa_StandardsSelect0[] =
191 "GNU and MIPS C compilers define __STDC__ differently";
193 #define AAA_STANDARDS_TEST_CT 1
194 static tTestDesc aAaa_StandardsTests[] = {
195 { TT_EGREP, zAaa_StandardsSelect0, (regex_t*)NULL }, };
198 * Fix Command Arguments for Aaa_Standards
200 static const char* apzAaa_StandardsPatch[] = {
203 /* * * * * * * * * * * * * * * * * * * * * * * * * *
205 * Description of Aaa_Bad_Fixes fix
207 #define AAA_BAD_FIXES_FIXIDX 5
208 tSCC zAaa_Bad_FixesName[] =
212 * File name selection pattern
214 tSCC zAaa_Bad_FixesList[] =
215 "|sundev/ipi_error.h|";
217 * Machine/OS name selection pattern
219 #define apzAaa_Bad_FixesMachs (const char**)NULL
220 #define AAA_BAD_FIXES_TEST_CT 0
221 #define aAaa_Bad_FixesTests (tTestDesc*)NULL
224 * Fix Command Arguments for Aaa_Bad_Fixes
226 static const char* apzAaa_Bad_FixesPatch[] = {
229 /* * * * * * * * * * * * * * * * * * * * * * * * * *
231 * Description of Aaa_Time fix
233 #define AAA_TIME_FIXIDX 6
234 tSCC zAaa_TimeName[] =
238 * File name selection pattern
240 tSCC zAaa_TimeList[] =
243 * Machine/OS name selection pattern
245 #define apzAaa_TimeMachs (const char**)NULL
248 * content selection pattern - do fix if pattern found
250 tSCC zAaa_TimeSelect0[] =
251 "11.0 and later representation of ki time";
253 #define AAA_TIME_TEST_CT 1
254 static tTestDesc aAaa_TimeTests[] = {
255 { TT_EGREP, zAaa_TimeSelect0, (regex_t*)NULL }, };
258 * Fix Command Arguments for Aaa_Time
260 static const char* apzAaa_TimePatch[] = {
263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
265 * Description of Aab_Dgux_Int_Varargs fix
267 #define AAB_DGUX_INT_VARARGS_FIXIDX 7
268 tSCC zAab_Dgux_Int_VarargsName[] =
269 "AAB_dgux_int_varargs";
272 * File name selection pattern
274 tSCC zAab_Dgux_Int_VarargsList[] =
277 * Machine/OS name selection pattern
279 #define apzAab_Dgux_Int_VarargsMachs (const char**)NULL
280 #define AAB_DGUX_INT_VARARGS_TEST_CT 0
281 #define aAab_Dgux_Int_VarargsTests (tTestDesc*)NULL
284 * Fix Command Arguments for Aab_Dgux_Int_Varargs
286 static const char* apzAab_Dgux_Int_VarargsPatch[] = {
287 "#ifndef __INT_VARARGS_H\n\
288 #define __INT_VARARGS_H\n\n\
289 /************************************************************************/\n\
290 /* _INT_VARARGS.H - Define the common stuff for varargs/stdarg/stdio. */\n\
291 /************************************************************************/\n\n\
293 ** This file is a DG internal header. Never include this\n\
296 #ifndef ___int_features_h\n\
297 #include <sys/_int_features.h>\n\
299 #if !(defined(_VA_LIST) || defined(_VA_LIST_))\n\
301 #define _VA_LIST_\n\n\
304 typedef void * va_list;\n\
306 typedef char * va_list;\n\
310 #if defined(__DCC__)\n\n\
316 #else /* ! defined(__DCC__) */\n\n\
318 int __va_arg; /* argument number */\n\
319 int *__va_stk; /* start of args passed on stack */\n\
320 int *__va_reg; /* start of args passed in regs */\n\
322 #endif /* ! defined(__DCC__) */\n\n\
324 #if defined(__GNUC__) || defined(__STDC__)\n\
325 typedef void * va_list;\n\
327 typedef char * va_list;\n\
329 #endif /* _IX86_ANY */\n\n\
330 #endif /* __LINT__ */\n\
331 #endif /* !(defined(_VA_LIST) || defined(_VA_LIST_)) */\n\
332 #endif /* #ifndef __INT_VARARGS_H */\n",
335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
337 * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
339 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX 8
340 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
341 "AAB_fd_zero_asm_posix_types_h";
344 * File name selection pattern
346 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
347 "|asm/posix_types.h|";
349 * Machine/OS name selection pattern
351 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
352 "i[34567]86-*-linux*",
356 * content bypass pattern - skip fix if pattern found
358 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
361 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 1
362 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
363 { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
366 * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
368 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
369 "/* This file fixes a bug in the __FD_ZERO macro\n\
370 for older versions of the Linux kernel. */\n\
371 #ifndef _POSIX_TYPES_H_WRAPPER\n\
372 #include <features.h>\n\
373 #include_next <asm/posix_types.h>\n\n\
374 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
376 #define __FD_ZERO(fdsetp) \\\n\
378 int __d0, __d1; \\\n\
379 \t\t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
380 \t\t\t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
381 \t\t\t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
382 \t\t\t \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
385 #define _POSIX_TYPES_H_WRAPPER\n\
386 #endif /* _POSIX_TYPES_H_WRAPPER */\n",
389 /* * * * * * * * * * * * * * * * * * * * * * * * * *
391 * Description of Aab_Fd_Zero_Gnu_Types_H fix
393 #define AAB_FD_ZERO_GNU_TYPES_H_FIXIDX 9
394 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
395 "AAB_fd_zero_gnu_types_h";
398 * File name selection pattern
400 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
403 * Machine/OS name selection pattern
405 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
406 "i[34567]86-*-linux*",
408 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
409 #define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
412 * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
414 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
415 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
416 #ifndef _TYPES_H_WRAPPER\n\
417 #include <features.h>\n\
418 #include_next <gnu/types.h>\n\n\
419 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
421 # define __FD_ZERO(fdsetp) \\\n\
423 int __d0, __d1; \\\n\
424 \t__asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
425 \t: \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
426 \t: \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
427 \t\t \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
430 #define _TYPES_H_WRAPPER\n\
431 #endif /* _TYPES_H_WRAPPER */\n",
434 /* * * * * * * * * * * * * * * * * * * * * * * * * *
436 * Description of Aab_Fd_Zero_Selectbits_H fix
438 #define AAB_FD_ZERO_SELECTBITS_H_FIXIDX 10
439 tSCC zAab_Fd_Zero_Selectbits_HName[] =
440 "AAB_fd_zero_selectbits_h";
443 * File name selection pattern
445 tSCC zAab_Fd_Zero_Selectbits_HList[] =
448 * Machine/OS name selection pattern
450 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
451 "i[34567]86-*-linux*",
453 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
454 #define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
457 * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
459 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
460 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
461 #ifndef _SELECTBITS_H_WRAPPER\n\
462 #include <features.h>\n\
463 #include_next <selectbits.h>\n\n\
464 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\n\
465 \t&& defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\n\
466 \t&& __GLIBC_MINOR__ == 0\n\
468 #define __FD_ZERO(fdsetp) \\\n\
470 int __d0, __d1; \\\n\
471 __asm__ __volatile__ (\"cld; rep; stosl\" \\\n\
472 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
473 : \"a\" (0), \"0\" (sizeof (__fd_set) \\\n\
474 / sizeof (__fd_mask)), \\\n\
475 \"1\" ((__fd_mask *) (fdsetp)) \\\n\
479 #define _SELECTBITS_H_WRAPPER\n\
480 #endif /* _SELECTBITS_H_WRAPPER */\n",
483 /* * * * * * * * * * * * * * * * * * * * * * * * * *
485 * Description of Aab_Sun_Memcpy fix
487 #define AAB_SUN_MEMCPY_FIXIDX 11
488 tSCC zAab_Sun_MemcpyName[] =
492 * File name selection pattern
494 tSCC zAab_Sun_MemcpyList[] =
497 * Machine/OS name selection pattern
499 #define apzAab_Sun_MemcpyMachs (const char**)NULL
502 * content selection pattern - do fix if pattern found
504 tSCC zAab_Sun_MemcpySelect0[] =
505 "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
507 #define AAB_SUN_MEMCPY_TEST_CT 1
508 static tTestDesc aAab_Sun_MemcpyTests[] = {
509 { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
512 * Fix Command Arguments for Aab_Sun_Memcpy
514 static const char* apzAab_Sun_MemcpyPatch[] = {
515 "/* This file was generated by fixincludes */\n\
516 #ifndef __memory_h__\n\
517 #define __memory_h__\n\n\
519 extern void *memccpy();\n\
520 extern void *memchr();\n\
521 extern void *memcpy();\n\
522 extern void *memset();\n\
524 extern char *memccpy();\n\
525 extern char *memchr();\n\
526 extern char *memcpy();\n\
527 extern char *memset();\n\
528 #endif /* __STDC__ */\n\n\
529 extern int memcmp();\n\n\
530 #endif /* __memory_h__ */\n",
533 /* * * * * * * * * * * * * * * * * * * * * * * * * *
535 * Description of Aab_Svr4_Replace_Byteorder fix
537 #define AAB_SVR4_REPLACE_BYTEORDER_FIXIDX 12
538 tSCC zAab_Svr4_Replace_ByteorderName[] =
539 "AAB_svr4_replace_byteorder";
542 * File name selection pattern
544 tSCC zAab_Svr4_Replace_ByteorderList[] =
547 * Machine/OS name selection pattern
549 tSCC* apzAab_Svr4_Replace_ByteorderMachs[] = {
551 "i[34567]86-*-sysv5*",
553 "i[34567]86-*-solaris2.[0-4]",
554 "powerpcle-*-solaris2.[0-4]",
555 "sparc-*-solaris2.[0-4]",
557 #define AAB_SVR4_REPLACE_BYTEORDER_TEST_CT 0
558 #define aAab_Svr4_Replace_ByteorderTests (tTestDesc*)NULL
561 * Fix Command Arguments for Aab_Svr4_Replace_Byteorder
563 static const char* apzAab_Svr4_Replace_ByteorderPatch[] = {
564 "#ifndef _SYS_BYTEORDER_H\n\
565 #define _SYS_BYTEORDER_H\n\n\
566 /* Functions to convert `short' and `long' quantities from host byte order\n\
567 to (internet) network byte order (i.e. big-endian).\n\n\
568 Written by Ron Guilmette (rfg@ncd.com).\n\n\
569 This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
570 For big-endian machines these functions are essentially no-ops.\n\n\
571 For little-endian machines, we define the functions using specialized\n\
572 asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
573 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
574 #error You lose! This file is only useful with GNU compilers.\n\
576 #ifndef __BYTE_ORDER__\n\
577 /* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
578 double underscores added at the front and back. */\n\
579 #define __LITTLE_ENDIAN__ 1234\n\
580 #define __BIG_ENDIAN__ 4321\n\
581 #define __PDP_ENDIAN__ 3412\n\
584 static __inline__ unsigned long htonl (unsigned long);\n\
585 static __inline__ unsigned short htons (unsigned int);\n\
586 static __inline__ unsigned long ntohl (unsigned long);\n\
587 static __inline__ unsigned short ntohs (unsigned int);\n\
588 #endif /* defined (__STDC__) */\n\n\
589 #if defined (__i386__)\n\n\
590 #ifndef __BYTE_ORDER__\n\
591 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
593 /* Convert a host long to a network long. */\n\n\
594 /* We must use a new-style function definition, so that this will also\n\
595 be valid for C++. */\n\
596 static __inline__ unsigned long\n\
597 htonl (unsigned long __arg)\n\
599 register unsigned long __result;\n\n\
600 __asm__ (\"xchg%B0 %b0,%h0\n\
602 \txchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
605 /* Convert a host short to a network short. */\n\n\
606 static __inline__ unsigned short\n\
607 htons (unsigned int __arg)\n\
609 register unsigned short __result;\n\n\
610 __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
613 #elif ((defined (__i860__) && !defined (__i860_big_endian__))\t\\\n\
614 || defined (__ns32k__) || defined (__vax__)\t\t\\\n\
615 || defined (__spur__) || defined (__arm__))\n\n\
616 #ifndef __BYTE_ORDER__\n\
617 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
619 /* For other little-endian machines, using C code is just as efficient as\n\
620 using assembly code. */\n\n\
621 /* Convert a host long to a network long. */\n\n\
622 static __inline__ unsigned long\n\
623 htonl (unsigned long __arg)\n\
625 register unsigned long __result;\n\n\
626 __result = (__arg >> 24) & 0x000000ff;\n\
627 __result |= (__arg >> 8) & 0x0000ff00;\n\
628 __result |= (__arg << 8) & 0x00ff0000;\n\
629 __result |= (__arg << 24) & 0xff000000;\n\
632 /* Convert a host short to a network short. */\n\n\
633 static __inline__ unsigned short\n\
634 htons (unsigned int __arg)\n\
636 register unsigned short __result;\n\n\
637 __result = (__arg << 8) & 0xff00;\n\
638 __result |= (__arg >> 8) & 0x00ff;\n\
641 #else /* must be a big-endian machine */\n\n\
642 #ifndef __BYTE_ORDER__\n\
643 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
645 /* Convert a host long to a network long. */\n\n\
646 static __inline__ unsigned long\n\
647 htonl (unsigned long __arg)\n\
651 /* Convert a host short to a network short. */\n\n\
652 static __inline__ unsigned short\n\
653 htons (unsigned int __arg)\n\
657 #endif /* big-endian */\n\n\
658 /* Convert a network long to a host long. */\n\n\
659 static __inline__ unsigned long\n\
660 ntohl (unsigned long __arg)\n\
662 return htonl (__arg);\n\
664 /* Convert a network short to a host short. */\n\n\
665 static __inline__ unsigned short\n\
666 ntohs (unsigned int __arg)\n\
668 return htons (__arg);\n\
673 /* * * * * * * * * * * * * * * * * * * * * * * * * *
675 * Description of Aab_Ultrix_Ansi_Compat fix
677 #define AAB_ULTRIX_ANSI_COMPAT_FIXIDX 13
678 tSCC zAab_Ultrix_Ansi_CompatName[] =
679 "AAB_ultrix_ansi_compat";
682 * File name selection pattern
684 tSCC zAab_Ultrix_Ansi_CompatList[] =
687 * Machine/OS name selection pattern
689 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
692 * content selection pattern - do fix if pattern found
694 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
697 #define AAB_ULTRIX_ANSI_COMPAT_TEST_CT 1
698 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
699 { TT_EGREP, zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
702 * Fix Command Arguments for Aab_Ultrix_Ansi_Compat
704 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
705 "/* This file intentionally left blank. */\n",
708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
710 * Description of Aab_Ultrix_Limits fix
712 #define AAB_ULTRIX_LIMITS_FIXIDX 14
713 tSCC zAab_Ultrix_LimitsName[] =
717 * File name selection pattern
719 tSCC zAab_Ultrix_LimitsList[] =
722 * Machine/OS name selection pattern
724 tSCC* apzAab_Ultrix_LimitsMachs[] = {
727 #define AAB_ULTRIX_LIMITS_TEST_CT 0
728 #define aAab_Ultrix_LimitsTests (tTestDesc*)NULL
731 * Fix Command Arguments for Aab_Ultrix_Limits
733 static const char* apzAab_Ultrix_LimitsPatch[] = {
734 "#ifndef _LIMITS_INCLUDED\n\
735 #define _LIMITS_INCLUDED\n\
736 #include <sys/limits.h>\n\
737 #endif /* _LIMITS_INCLUDED */\n",
740 /* * * * * * * * * * * * * * * * * * * * * * * * * *
742 * Description of Aab_Ultrix_Memory fix
744 #define AAB_ULTRIX_MEMORY_FIXIDX 15
745 tSCC zAab_Ultrix_MemoryName[] =
749 * File name selection pattern
751 tSCC zAab_Ultrix_MemoryList[] =
754 * Machine/OS name selection pattern
756 tSCC* apzAab_Ultrix_MemoryMachs[] = {
759 #define AAB_ULTRIX_MEMORY_TEST_CT 0
760 #define aAab_Ultrix_MemoryTests (tTestDesc*)NULL
763 * Fix Command Arguments for Aab_Ultrix_Memory
765 static const char* apzAab_Ultrix_MemoryPatch[] = {
766 "#ifndef _MEMORY_INCLUDED\n\
767 #define _MEMORY_INCLUDED\n\
768 #include <strings.h>\n\
769 #endif /* _MEMORY_INCLUDED */\n",
772 /* * * * * * * * * * * * * * * * * * * * * * * * * *
774 * Description of Aab_Ultrix_String fix
776 #define AAB_ULTRIX_STRING_FIXIDX 16
777 tSCC zAab_Ultrix_StringName[] =
781 * File name selection pattern
783 tSCC zAab_Ultrix_StringList[] =
786 * Machine/OS name selection pattern
788 tSCC* apzAab_Ultrix_StringMachs[] = {
791 #define AAB_ULTRIX_STRING_TEST_CT 0
792 #define aAab_Ultrix_StringTests (tTestDesc*)NULL
795 * Fix Command Arguments for Aab_Ultrix_String
797 static const char* apzAab_Ultrix_StringPatch[] = {
798 "#ifndef _STRING_INCLUDED\n\
799 #define _STRING_INCLUDED\n\
800 #include <strings.h>\n\
801 #endif /* _STRING_INCLUDED */\n",
804 /* * * * * * * * * * * * * * * * * * * * * * * * * *
806 * Description of Aix_Pthread fix
808 #define AIX_PTHREAD_FIXIDX 17
809 tSCC zAix_PthreadName[] =
813 * File name selection pattern
815 tSCC zAix_PthreadList[] =
818 * Machine/OS name selection pattern
820 #define apzAix_PthreadMachs (const char**)NULL
823 * content selection pattern - do fix if pattern found
825 tSCC zAix_PthreadSelect0[] =
826 "(#define [A-Za-z_0-9]+)(\\\\\n\
830 #define AIX_PTHREAD_TEST_CT 1
831 static tTestDesc aAix_PthreadTests[] = {
832 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
835 * Fix Command Arguments for Aix_Pthread
837 static const char* apzAix_PthreadPatch[] = {
842 /* * * * * * * * * * * * * * * * * * * * * * * * * *
844 * Description of Aix_Sysmachine fix
846 #define AIX_SYSMACHINE_FIXIDX 18
847 tSCC zAix_SysmachineName[] =
851 * File name selection pattern
853 tSCC zAix_SysmachineList[] =
856 * Machine/OS name selection pattern
858 #define apzAix_SysmachineMachs (const char**)NULL
861 * content selection pattern - do fix if pattern found
863 tSCC zAix_SysmachineSelect0[] =
866 #define AIX_SYSMACHINE_TEST_CT 1
867 static tTestDesc aAix_SysmachineTests[] = {
868 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
871 * Fix Command Arguments for Aix_Sysmachine
873 static const char* apzAix_SysmachinePatch[] = {
878 /* * * * * * * * * * * * * * * * * * * * * * * * * *
880 * Description of Aix_Syswait fix
882 #define AIX_SYSWAIT_FIXIDX 19
883 tSCC zAix_SyswaitName[] =
887 * File name selection pattern
889 tSCC zAix_SyswaitList[] =
892 * Machine/OS name selection pattern
894 #define apzAix_SyswaitMachs (const char**)NULL
897 * content selection pattern - do fix if pattern found
899 tSCC zAix_SyswaitSelect0[] =
900 "^extern pid_t wait3\\(\\);\n";
901 tSCC zAix_SyswaitSelect1[] =
904 #define AIX_SYSWAIT_TEST_CT 2
905 static tTestDesc aAix_SyswaitTests[] = {
906 { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
907 { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
910 * Fix Command Arguments for Aix_Syswait
912 static const char* apzAix_SyswaitPatch[] = {
918 /* * * * * * * * * * * * * * * * * * * * * * * * * *
920 * Description of Aix_Volatile fix
922 #define AIX_VOLATILE_FIXIDX 20
923 tSCC zAix_VolatileName[] =
927 * File name selection pattern
929 tSCC zAix_VolatileList[] =
932 * Machine/OS name selection pattern
934 #define apzAix_VolatileMachs (const char**)NULL
937 * content selection pattern - do fix if pattern found
939 tSCC zAix_VolatileSelect0[] =
940 "typedef volatile int sig_atomic_t";
942 #define AIX_VOLATILE_TEST_CT 1
943 static tTestDesc aAix_VolatileTests[] = {
944 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
947 * Fix Command Arguments for Aix_Volatile
949 static const char* apzAix_VolatilePatch[] = {
951 "typedef int sig_atomic_t",
954 /* * * * * * * * * * * * * * * * * * * * * * * * * *
956 * Description of Alpha___Assert fix
958 #define ALPHA___ASSERT_FIXIDX 21
959 tSCC zAlpha___AssertName[] =
963 * File name selection pattern
965 tSCC zAlpha___AssertList[] =
968 * Machine/OS name selection pattern
970 #define apzAlpha___AssertMachs (const char**)NULL
973 * content selection pattern - do fix if pattern found
975 tSCC zAlpha___AssertSelect0[] =
976 "__assert\\(char \\*, char \\*, int\\)";
978 #define ALPHA___ASSERT_TEST_CT 1
979 static tTestDesc aAlpha___AssertTests[] = {
980 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
983 * Fix Command Arguments for Alpha___Assert
985 static const char* apzAlpha___AssertPatch[] = {
987 "__assert(const char *, const char *, int)",
990 /* * * * * * * * * * * * * * * * * * * * * * * * * *
992 * Description of Alpha_Getopt fix
994 #define ALPHA_GETOPT_FIXIDX 22
995 tSCC zAlpha_GetoptName[] =
999 * File name selection pattern
1001 tSCC zAlpha_GetoptList[] =
1002 "|stdio.h|stdlib.h|";
1004 * Machine/OS name selection pattern
1006 #define apzAlpha_GetoptMachs (const char**)NULL
1009 * content selection pattern - do fix if pattern found
1011 tSCC zAlpha_GetoptSelect0[] =
1012 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1014 #define ALPHA_GETOPT_TEST_CT 1
1015 static tTestDesc aAlpha_GetoptTests[] = {
1016 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1019 * Fix Command Arguments for Alpha_Getopt
1021 static const char* apzAlpha_GetoptPatch[] = {
1023 "getopt(int, char *const[], const char *)",
1026 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1028 * Description of Alpha_Parens fix
1030 #define ALPHA_PARENS_FIXIDX 23
1031 tSCC zAlpha_ParensName[] =
1035 * File name selection pattern
1037 tSCC zAlpha_ParensList[] =
1040 * Machine/OS name selection pattern
1042 #define apzAlpha_ParensMachs (const char**)NULL
1045 * content selection pattern - do fix if pattern found
1047 tSCC zAlpha_ParensSelect0[] =
1048 "#ifndef\\(__mips64\\)";
1050 #define ALPHA_PARENS_TEST_CT 1
1051 static tTestDesc aAlpha_ParensTests[] = {
1052 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
1055 * Fix Command Arguments for Alpha_Parens
1057 static const char* apzAlpha_ParensPatch[] = {
1062 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1064 * Description of Alpha_Sbrk fix
1066 #define ALPHA_SBRK_FIXIDX 24
1067 tSCC zAlpha_SbrkName[] =
1071 * File name selection pattern
1073 tSCC zAlpha_SbrkList[] =
1076 * Machine/OS name selection pattern
1078 #define apzAlpha_SbrkMachs (const char**)NULL
1081 * content selection pattern - do fix if pattern found
1083 tSCC zAlpha_SbrkSelect0[] =
1084 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1086 #define ALPHA_SBRK_TEST_CT 1
1087 static tTestDesc aAlpha_SbrkTests[] = {
1088 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1091 * Fix Command Arguments for Alpha_Sbrk
1093 static const char* apzAlpha_SbrkPatch[] = {
1098 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1100 * Description of Arm_Norcroft_Hint fix
1102 #define ARM_NORCROFT_HINT_FIXIDX 25
1103 tSCC zArm_Norcroft_HintName[] =
1104 "arm_norcroft_hint";
1107 * File name selection pattern
1109 tSCC zArm_Norcroft_HintList[] =
1110 "|X11/Intrinsic.h|";
1112 * Machine/OS name selection pattern
1114 #define apzArm_Norcroft_HintMachs (const char**)NULL
1117 * content selection pattern - do fix if pattern found
1119 tSCC zArm_Norcroft_HintSelect0[] =
1122 #define ARM_NORCROFT_HINT_TEST_CT 1
1123 static tTestDesc aArm_Norcroft_HintTests[] = {
1124 { TT_EGREP, zArm_Norcroft_HintSelect0, (regex_t*)NULL }, };
1127 * Fix Command Arguments for Arm_Norcroft_Hint
1129 static const char* apzArm_Norcroft_HintPatch[] = {
1134 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1136 * Description of Arm_Wchar fix
1138 #define ARM_WCHAR_FIXIDX 26
1139 tSCC zArm_WcharName[] =
1143 * File name selection pattern
1145 tSCC zArm_WcharList[] =
1148 * Machine/OS name selection pattern
1150 #define apzArm_WcharMachs (const char**)NULL
1153 * content selection pattern - do fix if pattern found
1155 tSCC zArm_WcharSelect0[] =
1156 "#[ \t]*define[ \t]*__wchar_t";
1158 #define ARM_WCHAR_TEST_CT 1
1159 static tTestDesc aArm_WcharTests[] = {
1160 { TT_EGREP, zArm_WcharSelect0, (regex_t*)NULL }, };
1163 * Fix Command Arguments for Arm_Wchar
1165 static const char* apzArm_WcharPatch[] = {
1168 "(#[ \t]*(ifndef|define)[ \t]+)__wchar_t",
1171 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1173 * Description of Aux_Asm fix
1175 #define AUX_ASM_FIXIDX 27
1176 tSCC zAux_AsmName[] =
1180 * File name selection pattern
1182 tSCC zAux_AsmList[] =
1185 * Machine/OS name selection pattern
1187 #define apzAux_AsmMachs (const char**)NULL
1190 * content selection pattern - do fix if pattern found
1192 tSCC zAux_AsmSelect0[] =
1195 #define AUX_ASM_TEST_CT 1
1196 static tTestDesc aAux_AsmTests[] = {
1197 { TT_EGREP, zAux_AsmSelect0, (regex_t*)NULL }, };
1200 * Fix Command Arguments for Aux_Asm
1202 static const char* apzAux_AsmPatch[] = {
1204 "#if !defined(NOINLINE) && !defined(__GNUC__)",
1207 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1209 * Description of Avoid_Bool_Define fix
1211 #define AVOID_BOOL_DEFINE_FIXIDX 28
1212 tSCC zAvoid_Bool_DefineName[] =
1213 "avoid_bool_define";
1216 * File name selection pattern
1218 tSCC zAvoid_Bool_DefineList[] =
1219 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1221 * Machine/OS name selection pattern
1223 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1226 * content selection pattern - do fix if pattern found
1228 tSCC zAvoid_Bool_DefineSelect0[] =
1229 "#[ \t]*define[ \t]+bool[ \t]";
1232 * content bypass pattern - skip fix if pattern found
1234 tSCC zAvoid_Bool_DefineBypass0[] =
1235 "we must use the C\\+\\+ compiler's type";
1237 #define AVOID_BOOL_DEFINE_TEST_CT 2
1238 static tTestDesc aAvoid_Bool_DefineTests[] = {
1239 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1240 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1243 * Fix Command Arguments for Avoid_Bool_Define
1245 static const char* apzAvoid_Bool_DefinePatch[] = {
1247 "#ifndef __cplusplus\n\
1250 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1255 * Description of Avoid_Bool_Type fix
1257 #define AVOID_BOOL_TYPE_FIXIDX 29
1258 tSCC zAvoid_Bool_TypeName[] =
1262 * File name selection pattern
1264 tSCC zAvoid_Bool_TypeList[] =
1265 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1267 * Machine/OS name selection pattern
1269 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1272 * content selection pattern - do fix if pattern found
1274 tSCC zAvoid_Bool_TypeSelect0[] =
1275 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1278 * content bypass pattern - skip fix if pattern found
1280 tSCC zAvoid_Bool_TypeBypass0[] =
1281 "we must use the C\\+\\+ compiler's type";
1283 #define AVOID_BOOL_TYPE_TEST_CT 2
1284 static tTestDesc aAvoid_Bool_TypeTests[] = {
1285 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1286 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1289 * Fix Command Arguments for Avoid_Bool_Type
1291 static const char* apzAvoid_Bool_TypePatch[] = {
1293 "#ifndef __cplusplus\n\
1298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1300 * Description of Avoid_Wchar_T_Type fix
1302 #define AVOID_WCHAR_T_TYPE_FIXIDX 30
1303 tSCC zAvoid_Wchar_T_TypeName[] =
1304 "avoid_wchar_t_type";
1307 * File name selection pattern
1309 #define zAvoid_Wchar_T_TypeList (char*)NULL
1311 * Machine/OS name selection pattern
1313 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1316 * content selection pattern - do fix if pattern found
1318 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1319 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1321 #define AVOID_WCHAR_T_TYPE_TEST_CT 1
1322 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1323 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1326 * Fix Command Arguments for Avoid_Wchar_T_Type
1328 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1330 "#ifndef __cplusplus\n\
1335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1337 * Description of Bad_Lval fix
1339 #define BAD_LVAL_FIXIDX 31
1340 tSCC zBad_LvalName[] =
1344 * File name selection pattern
1346 tSCC zBad_LvalList[] =
1347 "|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|";
1349 * Machine/OS name selection pattern
1351 #define apzBad_LvalMachs (const char**)NULL
1354 * content selection pattern - do fix if pattern found
1356 tSCC zBad_LvalSelect0[] =
1357 "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1359 #define BAD_LVAL_TEST_CT 1
1360 static tTestDesc aBad_LvalTests[] = {
1361 { TT_EGREP, zBad_LvalSelect0, (regex_t*)NULL }, };
1364 * Fix Command Arguments for Bad_Lval
1366 static const char* apzBad_LvalPatch[] = { "sed",
1367 "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1370 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1372 * Description of Bad_Struct_Term fix
1374 #define BAD_STRUCT_TERM_FIXIDX 32
1375 tSCC zBad_Struct_TermName[] =
1379 * File name selection pattern
1381 tSCC zBad_Struct_TermList[] =
1384 * Machine/OS name selection pattern
1386 #define apzBad_Struct_TermMachs (const char**)NULL
1389 * content selection pattern - do fix if pattern found
1391 tSCC zBad_Struct_TermSelect0[] =
1392 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1394 #define BAD_STRUCT_TERM_TEST_CT 1
1395 static tTestDesc aBad_Struct_TermTests[] = {
1396 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1399 * Fix Command Arguments for Bad_Struct_Term
1401 static const char* apzBad_Struct_TermPatch[] = {
1406 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1408 * Description of Badquote fix
1410 #define BADQUOTE_FIXIDX 33
1411 tSCC zBadquoteName[] =
1415 * File name selection pattern
1417 tSCC zBadquoteList[] =
1418 "|sundev/vuid_event.h|";
1420 * Machine/OS name selection pattern
1422 #define apzBadquoteMachs (const char**)NULL
1425 * content selection pattern - do fix if pattern found
1427 tSCC zBadquoteSelect0[] =
1430 #define BADQUOTE_TEST_CT 1
1431 static tTestDesc aBadquoteTests[] = {
1432 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
1435 * Fix Command Arguments for Badquote
1437 static const char* apzBadquotePatch[] = {
1442 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1444 * Description of Broken_Assert_Stdio fix
1446 #define BROKEN_ASSERT_STDIO_FIXIDX 34
1447 tSCC zBroken_Assert_StdioName[] =
1448 "broken_assert_stdio";
1451 * File name selection pattern
1453 tSCC zBroken_Assert_StdioList[] =
1456 * Machine/OS name selection pattern
1458 #define apzBroken_Assert_StdioMachs (const char**)NULL
1461 * content selection pattern - do fix if pattern found
1463 tSCC zBroken_Assert_StdioSelect0[] =
1467 * content bypass pattern - skip fix if pattern found
1469 tSCC zBroken_Assert_StdioBypass0[] =
1470 "include.*stdio\\.h";
1472 #define BROKEN_ASSERT_STDIO_TEST_CT 2
1473 static tTestDesc aBroken_Assert_StdioTests[] = {
1474 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1475 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1478 * Fix Command Arguments for Broken_Assert_Stdio
1480 static const char* apzBroken_Assert_StdioPatch[] = {
1482 "#include <stdio.h>\n",
1485 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1487 * Description of Broken_Assert_Stdlib fix
1489 #define BROKEN_ASSERT_STDLIB_FIXIDX 35
1490 tSCC zBroken_Assert_StdlibName[] =
1491 "broken_assert_stdlib";
1494 * File name selection pattern
1496 tSCC zBroken_Assert_StdlibList[] =
1499 * Machine/OS name selection pattern
1501 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1504 * content selection pattern - do fix if pattern found
1506 tSCC zBroken_Assert_StdlibSelect0[] =
1507 "exit *\\(|abort *\\(";
1510 * content bypass pattern - skip fix if pattern found
1512 tSCC zBroken_Assert_StdlibBypass0[] =
1513 "include.*stdlib\\.h";
1515 #define BROKEN_ASSERT_STDLIB_TEST_CT 2
1516 static tTestDesc aBroken_Assert_StdlibTests[] = {
1517 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1518 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1521 * Fix Command Arguments for Broken_Assert_Stdlib
1523 static const char* apzBroken_Assert_StdlibPatch[] = {
1525 "#ifdef __cplusplus\n\
1526 #include <stdlib.h>\n\
1530 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1532 * Description of Broken_Cabs fix
1534 #define BROKEN_CABS_FIXIDX 36
1535 tSCC zBroken_CabsName[] =
1539 * File name selection pattern
1541 tSCC zBroken_CabsList[] =
1544 * Machine/OS name selection pattern
1546 #define apzBroken_CabsMachs (const char**)NULL
1549 * content selection pattern - do fix if pattern found
1551 tSCC zBroken_CabsSelect0[] =
1552 "^extern[ \\t]+double[ \\t]+cabs";
1554 #define BROKEN_CABS_TEST_CT 1
1555 static tTestDesc aBroken_CabsTests[] = {
1556 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1559 * Fix Command Arguments for Broken_Cabs
1561 static const char* apzBroken_CabsPatch[] = {
1564 "^extern[ \t]+double[ \t]+cabs\\((struct dbl_hypot|)\\);",
1567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1569 * Description of Ctrl_Quotes_Def fix
1571 #define CTRL_QUOTES_DEF_FIXIDX 37
1572 tSCC zCtrl_Quotes_DefName[] =
1576 * File name selection pattern
1578 #define zCtrl_Quotes_DefList (char*)NULL
1580 * Machine/OS name selection pattern
1582 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1585 * content selection pattern - do fix if pattern found
1587 tSCC zCtrl_Quotes_DefSelect0[] =
1588 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1590 #define CTRL_QUOTES_DEF_TEST_CT 1
1591 static tTestDesc aCtrl_Quotes_DefTests[] = {
1592 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1595 * Fix Command Arguments for Ctrl_Quotes_Def
1597 static const char* apzCtrl_Quotes_DefPatch[] = {
1602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1604 * Description of Ctrl_Quotes_Use fix
1606 #define CTRL_QUOTES_USE_FIXIDX 38
1607 tSCC zCtrl_Quotes_UseName[] =
1611 * File name selection pattern
1613 #define zCtrl_Quotes_UseList (char*)NULL
1615 * Machine/OS name selection pattern
1617 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1620 * content selection pattern - do fix if pattern found
1622 tSCC zCtrl_Quotes_UseSelect0[] =
1623 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1625 #define CTRL_QUOTES_USE_TEST_CT 1
1626 static tTestDesc aCtrl_Quotes_UseTests[] = {
1627 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1630 * Fix Command Arguments for Ctrl_Quotes_Use
1632 static const char* apzCtrl_Quotes_UsePatch[] = {
1637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1639 * Description of Cxx_Unready fix
1641 #define CXX_UNREADY_FIXIDX 39
1642 tSCC zCxx_UnreadyName[] =
1646 * File name selection pattern
1648 tSCC zCxx_UnreadyList[] =
1649 "|sys/mman.h|rpc/types.h|";
1651 * Machine/OS name selection pattern
1653 #define apzCxx_UnreadyMachs (const char**)NULL
1656 * content selection pattern - do fix if pattern found
1658 tSCC zCxx_UnreadySelect0[] =
1662 * content bypass pattern - skip fix if pattern found
1664 tSCC zCxx_UnreadyBypass0[] =
1665 "\"C\"|__BEGIN_DECLS";
1667 #define CXX_UNREADY_TEST_CT 2
1668 static tTestDesc aCxx_UnreadyTests[] = {
1669 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1670 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
1673 * Fix Command Arguments for Cxx_Unready
1675 static const char* apzCxx_UnreadyPatch[] = {
1677 "#ifdef __cplusplus\n\
1680 "#ifdef __cplusplus\n\
1685 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1687 * Description of Dec_Intern_Asm fix
1689 #define DEC_INTERN_ASM_FIXIDX 40
1690 tSCC zDec_Intern_AsmName[] =
1694 * File name selection pattern
1696 tSCC zDec_Intern_AsmList[] =
1699 * Machine/OS name selection pattern
1701 #define apzDec_Intern_AsmMachs (const char**)NULL
1702 #define DEC_INTERN_ASM_TEST_CT 0
1703 #define aDec_Intern_AsmTests (tTestDesc*)NULL
1706 * Fix Command Arguments for Dec_Intern_Asm
1708 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1709 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1711 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1715 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1717 * Description of Djgpp_Wchar_H fix
1719 #define DJGPP_WCHAR_H_FIXIDX 41
1720 tSCC zDjgpp_Wchar_HName[] =
1724 * File name selection pattern
1726 #define zDjgpp_Wchar_HList (char*)NULL
1728 * Machine/OS name selection pattern
1730 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1733 * content selection pattern - do fix if pattern found
1735 tSCC zDjgpp_Wchar_HSelect0[] =
1739 * content bypass pattern - skip fix if pattern found
1741 tSCC zDjgpp_Wchar_HBypass0[] =
1744 #define DJGPP_WCHAR_H_TEST_CT 2
1745 static tTestDesc aDjgpp_Wchar_HTests[] = {
1746 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
1747 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
1750 * Fix Command Arguments for Djgpp_Wchar_H
1752 static const char* apzDjgpp_Wchar_HPatch[] = {
1755 #include <sys/djtypes.h>",
1756 "#include <stddef.h>",
1759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1761 * Description of Ecd_Cursor fix
1763 #define ECD_CURSOR_FIXIDX 42
1764 tSCC zEcd_CursorName[] =
1768 * File name selection pattern
1770 tSCC zEcd_CursorList[] =
1771 "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
1773 * Machine/OS name selection pattern
1775 #define apzEcd_CursorMachs (const char**)NULL
1778 * content selection pattern - do fix if pattern found
1780 tSCC zEcd_CursorSelect0[] =
1783 #define ECD_CURSOR_TEST_CT 1
1784 static tTestDesc aEcd_CursorTests[] = {
1785 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
1788 * Fix Command Arguments for Ecd_Cursor
1790 static const char* apzEcd_CursorPatch[] = {
1795 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1797 * Description of Fix_Header_Breakage fix
1799 #define FIX_HEADER_BREAKAGE_FIXIDX 43
1800 tSCC zFix_Header_BreakageName[] =
1801 "fix_header_breakage";
1804 * File name selection pattern
1806 tSCC zFix_Header_BreakageList[] =
1809 * Machine/OS name selection pattern
1811 tSCC* apzFix_Header_BreakageMachs[] = {
1812 "m88k-motorola-sysv3*",
1813 (const char*)NULL };
1816 * content selection pattern - do fix if pattern found
1818 tSCC zFix_Header_BreakageSelect0[] =
1819 "extern double floor\\(\\), ceil\\(\\), fmod\\(\\), fabs\\(\\);";
1821 #define FIX_HEADER_BREAKAGE_TEST_CT 1
1822 static tTestDesc aFix_Header_BreakageTests[] = {
1823 { TT_EGREP, zFix_Header_BreakageSelect0, (regex_t*)NULL }, };
1826 * Fix Command Arguments for Fix_Header_Breakage
1828 static const char* apzFix_Header_BreakagePatch[] = {
1830 "extern double floor(), ceil(), fmod(), fabs _PARAMS((double));",
1833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1835 * Description of Freebsd_Gcc3_Breakage fix
1837 #define FREEBSD_GCC3_BREAKAGE_FIXIDX 44
1838 tSCC zFreebsd_Gcc3_BreakageName[] =
1839 "freebsd_gcc3_breakage";
1842 * File name selection pattern
1844 tSCC zFreebsd_Gcc3_BreakageList[] =
1847 * Machine/OS name selection pattern
1849 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
1851 (const char*)NULL };
1854 * content selection pattern - do fix if pattern found
1856 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
1857 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
1860 * content bypass pattern - skip fix if pattern found
1862 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
1863 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
1865 #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
1866 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
1867 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
1868 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
1871 * Fix Command Arguments for Freebsd_Gcc3_Breakage
1873 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
1875 "%0 || __GNUC__ >= 3",
1878 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1880 * Description of Hp_Inline fix
1882 #define HP_INLINE_FIXIDX 45
1883 tSCC zHp_InlineName[] =
1887 * File name selection pattern
1889 tSCC zHp_InlineList[] =
1890 "|sys/spinlock.h|machine/machparam.h|";
1892 * Machine/OS name selection pattern
1894 #define apzHp_InlineMachs (const char**)NULL
1897 * content selection pattern - do fix if pattern found
1899 tSCC zHp_InlineSelect0[] =
1900 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
1902 #define HP_INLINE_TEST_CT 1
1903 static tTestDesc aHp_InlineTests[] = {
1904 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
1907 * Fix Command Arguments for Hp_Inline
1909 static const char* apzHp_InlinePatch[] = {
1912 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
1915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1917 * Description of Hp_Sysfile fix
1919 #define HP_SYSFILE_FIXIDX 46
1920 tSCC zHp_SysfileName[] =
1924 * File name selection pattern
1926 tSCC zHp_SysfileList[] =
1929 * Machine/OS name selection pattern
1931 #define apzHp_SysfileMachs (const char**)NULL
1934 * content selection pattern - do fix if pattern found
1936 tSCC zHp_SysfileSelect0[] =
1939 #define HP_SYSFILE_TEST_CT 1
1940 static tTestDesc aHp_SysfileTests[] = {
1941 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
1944 * Fix Command Arguments for Hp_Sysfile
1946 static const char* apzHp_SysfilePatch[] = {
1948 "(struct file *, ...)",
1952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1954 * Description of Hpux11_Fabsf fix
1956 #define HPUX11_FABSF_FIXIDX 47
1957 tSCC zHpux11_FabsfName[] =
1961 * File name selection pattern
1963 tSCC zHpux11_FabsfList[] =
1966 * Machine/OS name selection pattern
1968 #define apzHpux11_FabsfMachs (const char**)NULL
1971 * content selection pattern - do fix if pattern found
1973 tSCC zHpux11_FabsfSelect0[] =
1974 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
1977 * content bypass pattern - skip fix if pattern found
1979 tSCC zHpux11_FabsfBypass0[] =
1982 #define HPUX11_FABSF_TEST_CT 2
1983 static tTestDesc aHpux11_FabsfTests[] = {
1984 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
1985 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
1988 * Fix Command Arguments for Hpux11_Fabsf
1990 static const char* apzHpux11_FabsfPatch[] = {
1992 "#ifndef __cplusplus\n\
1997 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1999 * Description of Hpux11_Uint32_C fix
2001 #define HPUX11_UINT32_C_FIXIDX 48
2002 tSCC zHpux11_Uint32_CName[] =
2006 * File name selection pattern
2008 tSCC zHpux11_Uint32_CList[] =
2011 * Machine/OS name selection pattern
2013 #define apzHpux11_Uint32_CMachs (const char**)NULL
2016 * content selection pattern - do fix if pattern found
2018 tSCC zHpux11_Uint32_CSelect0[] =
2019 "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2021 #define HPUX11_UINT32_C_TEST_CT 1
2022 static tTestDesc aHpux11_Uint32_CTests[] = {
2023 { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2026 * Fix Command Arguments for Hpux11_Uint32_C
2028 static const char* apzHpux11_Uint32_CPatch[] = {
2030 "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2033 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2035 * Description of Hpux8_Bogus_Inlines fix
2037 #define HPUX8_BOGUS_INLINES_FIXIDX 49
2038 tSCC zHpux8_Bogus_InlinesName[] =
2039 "hpux8_bogus_inlines";
2042 * File name selection pattern
2044 tSCC zHpux8_Bogus_InlinesList[] =
2047 * Machine/OS name selection pattern
2049 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2052 * content selection pattern - do fix if pattern found
2054 tSCC zHpux8_Bogus_InlinesSelect0[] =
2057 #define HPUX8_BOGUS_INLINES_TEST_CT 1
2058 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2059 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2062 * Fix Command Arguments for Hpux8_Bogus_Inlines
2064 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2065 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2066 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2067 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2068 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2071 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2073 * Description of Int_Abort_Free_And_Exit fix
2075 #define INT_ABORT_FREE_AND_EXIT_FIXIDX 50
2076 tSCC zInt_Abort_Free_And_ExitName[] =
2077 "int_abort_free_and_exit";
2080 * File name selection pattern
2082 tSCC zInt_Abort_Free_And_ExitList[] =
2085 * Machine/OS name selection pattern
2087 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
2090 * content selection pattern - do fix if pattern found
2092 tSCC zInt_Abort_Free_And_ExitSelect0[] =
2093 "int[ \t]+(abort|free|exit)[ \t]*\\(";
2095 #define INT_ABORT_FREE_AND_EXIT_TEST_CT 1
2096 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
2097 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
2100 * Fix Command Arguments for Int_Abort_Free_And_Exit
2102 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
2107 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2109 * Description of Isc_Omits_With_Stdc fix
2111 #define ISC_OMITS_WITH_STDC_FIXIDX 51
2112 tSCC zIsc_Omits_With_StdcName[] =
2113 "isc_omits_with_stdc";
2116 * File name selection pattern
2118 tSCC zIsc_Omits_With_StdcList[] =
2119 "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
2121 * Machine/OS name selection pattern
2123 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
2126 * content selection pattern - do fix if pattern found
2128 tSCC zIsc_Omits_With_StdcSelect0[] =
2129 "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
2131 #define ISC_OMITS_WITH_STDC_TEST_CT 1
2132 static tTestDesc aIsc_Omits_With_StdcTests[] = {
2133 { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
2136 * Fix Command Arguments for Isc_Omits_With_Stdc
2138 static const char* apzIsc_Omits_With_StdcPatch[] = {
2140 "!defined(_POSIX_SOURCE)",
2143 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2145 * Description of Io_Quotes_Def fix
2147 #define IO_QUOTES_DEF_FIXIDX 52
2148 tSCC zIo_Quotes_DefName[] =
2152 * File name selection pattern
2154 #define zIo_Quotes_DefList (char*)NULL
2156 * Machine/OS name selection pattern
2158 #define apzIo_Quotes_DefMachs (const char**)NULL
2161 * content selection pattern - do fix if pattern found
2163 tSCC zIo_Quotes_DefSelect0[] =
2164 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
2166 #define IO_QUOTES_DEF_TEST_CT 1
2167 static tTestDesc aIo_Quotes_DefTests[] = {
2168 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
2171 * Fix Command Arguments for Io_Quotes_Def
2173 static const char* apzIo_Quotes_DefPatch[] = {
2178 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2180 * Description of Io_Quotes_Use fix
2182 #define IO_QUOTES_USE_FIXIDX 53
2183 tSCC zIo_Quotes_UseName[] =
2187 * File name selection pattern
2189 #define zIo_Quotes_UseList (char*)NULL
2191 * Machine/OS name selection pattern
2193 #define apzIo_Quotes_UseMachs (const char**)NULL
2196 * content selection pattern - do fix if pattern found
2198 tSCC zIo_Quotes_UseSelect0[] =
2199 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
2201 #define IO_QUOTES_USE_TEST_CT 1
2202 static tTestDesc aIo_Quotes_UseTests[] = {
2203 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
2206 * Fix Command Arguments for Io_Quotes_Use
2208 static const char* apzIo_Quotes_UsePatch[] = {
2213 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2215 * Description of Hpux_Maxint fix
2217 #define HPUX_MAXINT_FIXIDX 54
2218 tSCC zHpux_MaxintName[] =
2222 * File name selection pattern
2224 tSCC zHpux_MaxintList[] =
2225 "|sys/param.h|values.h|";
2227 * Machine/OS name selection pattern
2229 #define apzHpux_MaxintMachs (const char**)NULL
2232 * content selection pattern - do fix if pattern found
2234 tSCC zHpux_MaxintSelect0[] =
2235 "^#[ \t]*define[ \t]+MAXINT[ \t]";
2238 * content bypass pattern - skip fix if pattern found
2240 tSCC zHpux_MaxintBypass0[] =
2241 "^#[ \t]*ifndef[ \t]+MAXINT";
2244 * perform the 'test' shell command - do fix on success
2246 tSCC zHpux_MaxintTest0[] =
2247 "-n \"`egrep '#[ \t]*define[ \t]+MAXINT[ \t]' sys/param.h`\"";
2249 #define HPUX_MAXINT_TEST_CT 3
2250 static tTestDesc aHpux_MaxintTests[] = {
2251 { TT_TEST, zHpux_MaxintTest0, 0 /* unused */ },
2252 { TT_NEGREP, zHpux_MaxintBypass0, (regex_t*)NULL },
2253 { TT_EGREP, zHpux_MaxintSelect0, (regex_t*)NULL }, };
2256 * Fix Command Arguments for Hpux_Maxint
2258 static const char* apzHpux_MaxintPatch[] = {
2263 "^#[ \t]*define[ \t]+MAXINT[ \t].*",
2266 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2268 * Description of Hpux_Systime fix
2270 #define HPUX_SYSTIME_FIXIDX 55
2271 tSCC zHpux_SystimeName[] =
2275 * File name selection pattern
2277 tSCC zHpux_SystimeList[] =
2280 * Machine/OS name selection pattern
2282 #define apzHpux_SystimeMachs (const char**)NULL
2285 * content selection pattern - do fix if pattern found
2287 tSCC zHpux_SystimeSelect0[] =
2288 "^extern struct sigevent;";
2290 #define HPUX_SYSTIME_TEST_CT 1
2291 static tTestDesc aHpux_SystimeTests[] = {
2292 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
2295 * Fix Command Arguments for Hpux_Systime
2297 static const char* apzHpux_SystimePatch[] = {
2302 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2304 * Description of Ip_Missing_Semi fix
2306 #define IP_MISSING_SEMI_FIXIDX 56
2307 tSCC zIp_Missing_SemiName[] =
2311 * File name selection pattern
2313 tSCC zIp_Missing_SemiList[] =
2316 * Machine/OS name selection pattern
2318 #define apzIp_Missing_SemiMachs (const char**)NULL
2321 * content selection pattern - do fix if pattern found
2323 tSCC zIp_Missing_SemiSelect0[] =
2326 #define IP_MISSING_SEMI_TEST_CT 1
2327 static tTestDesc aIp_Missing_SemiTests[] = {
2328 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
2331 * Fix Command Arguments for Ip_Missing_Semi
2333 static const char* apzIp_Missing_SemiPatch[] = { "sed",
2334 "-e", "/^struct/,/^};/s/}$/};/",
2337 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2339 * Description of Irix_Asm_Apostrophe fix
2341 #define IRIX_ASM_APOSTROPHE_FIXIDX 57
2342 tSCC zIrix_Asm_ApostropheName[] =
2343 "irix_asm_apostrophe";
2346 * File name selection pattern
2348 tSCC zIrix_Asm_ApostropheList[] =
2351 * Machine/OS name selection pattern
2353 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
2356 * content selection pattern - do fix if pattern found
2358 tSCC zIrix_Asm_ApostropheSelect0[] =
2359 "^[ \t]*#.*[Ww]e're";
2361 #define IRIX_ASM_APOSTROPHE_TEST_CT 1
2362 static tTestDesc aIrix_Asm_ApostropheTests[] = {
2363 { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
2366 * Fix Command Arguments for Irix_Asm_Apostrophe
2368 static const char* apzIrix_Asm_ApostrophePatch[] = {
2371 "^([ \t]*#.*[Ww]e)'re",
2374 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2376 * Description of Irix_Stdio_Va_List fix
2378 #define IRIX_STDIO_VA_LIST_FIXIDX 58
2379 tSCC zIrix_Stdio_Va_ListName[] =
2380 "irix_stdio_va_list";
2383 * File name selection pattern
2385 tSCC zIrix_Stdio_Va_ListList[] =
2388 * Machine/OS name selection pattern
2390 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
2393 * content selection pattern - do fix if pattern found
2395 tSCC zIrix_Stdio_Va_ListSelect0[] =
2396 "(printf\\(.*), /\\* va_list \\*/ char \\*";
2398 #define IRIX_STDIO_VA_LIST_TEST_CT 1
2399 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
2400 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
2403 * Fix Command Arguments for Irix_Stdio_Va_List
2405 static const char* apzIrix_Stdio_Va_ListPatch[] = {
2407 "%1, __gnuc_va_list",
2410 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2412 * Description of Irix_Limits_Const fix
2414 #define IRIX_LIMITS_CONST_FIXIDX 59
2415 tSCC zIrix_Limits_ConstName[] =
2416 "irix_limits_const";
2419 * File name selection pattern
2421 tSCC zIrix_Limits_ConstList[] =
2422 "|fixinc-test-limits.h|limits.h|";
2424 * Machine/OS name selection pattern
2426 #define apzIrix_Limits_ConstMachs (const char**)NULL
2429 * content selection pattern - do fix if pattern found
2431 tSCC zIrix_Limits_ConstSelect0[] =
2434 #define IRIX_LIMITS_CONST_TEST_CT 1
2435 static tTestDesc aIrix_Limits_ConstTests[] = {
2436 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
2439 * Fix Command Arguments for Irix_Limits_Const
2441 static const char* apzIrix_Limits_ConstPatch[] = {
2446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2448 * Description of Isc_Fmod fix
2450 #define ISC_FMOD_FIXIDX 60
2451 tSCC zIsc_FmodName[] =
2455 * File name selection pattern
2457 tSCC zIsc_FmodList[] =
2460 * Machine/OS name selection pattern
2462 #define apzIsc_FmodMachs (const char**)NULL
2465 * content selection pattern - do fix if pattern found
2467 tSCC zIsc_FmodSelect0[] =
2470 #define ISC_FMOD_TEST_CT 1
2471 static tTestDesc aIsc_FmodTests[] = {
2472 { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, };
2475 * Fix Command Arguments for Isc_Fmod
2477 static const char* apzIsc_FmodPatch[] = {
2479 "fmod(double, double)",
2482 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2484 * Description of Kandr_Concat fix
2486 #define KANDR_CONCAT_FIXIDX 61
2487 tSCC zKandr_ConcatName[] =
2491 * File name selection pattern
2493 tSCC zKandr_ConcatList[] =
2494 "|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|";
2496 * Machine/OS name selection pattern
2498 #define apzKandr_ConcatMachs (const char**)NULL
2501 * content selection pattern - do fix if pattern found
2503 tSCC zKandr_ConcatSelect0[] =
2506 #define KANDR_CONCAT_TEST_CT 1
2507 static tTestDesc aKandr_ConcatTests[] = {
2508 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
2511 * Fix Command Arguments for Kandr_Concat
2513 static const char* apzKandr_ConcatPatch[] = {
2518 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2520 * Description of Libc1_Ifdefd_Memx fix
2522 #define LIBC1_IFDEFD_MEMX_FIXIDX 62
2523 tSCC zLibc1_Ifdefd_MemxName[] =
2524 "libc1_ifdefd_memx";
2527 * File name selection pattern
2529 tSCC zLibc1_Ifdefd_MemxList[] =
2530 "|testing.h|string.h|";
2532 * Machine/OS name selection pattern
2534 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
2537 * content selection pattern - do fix if pattern found
2539 tSCC zLibc1_Ifdefd_MemxSelect0[] =
2540 "' is a built-in function for gcc 2\\.x\\. \\*/";
2543 * content bypass pattern - skip fix if pattern found
2545 tSCC zLibc1_Ifdefd_MemxBypass0[] =
2548 #define LIBC1_IFDEFD_MEMX_TEST_CT 2
2549 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
2550 { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
2551 { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
2554 * Fix Command Arguments for Libc1_Ifdefd_Memx
2556 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
2559 "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
2560 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
2562 extern [a-z_]+ mem.*(\n\
2567 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2569 * Description of Limits_Ifndefs fix
2571 #define LIMITS_IFNDEFS_FIXIDX 63
2572 tSCC zLimits_IfndefsName[] =
2576 * File name selection pattern
2578 tSCC zLimits_IfndefsList[] =
2579 "|sys/limits.h|limits.h|";
2581 * Machine/OS name selection pattern
2583 #define apzLimits_IfndefsMachs (const char**)NULL
2586 * content bypass pattern - skip fix if pattern found
2588 tSCC zLimits_IfndefsBypass0[] =
2589 "ifndef[ \t]+FLT_MIN";
2591 #define LIMITS_IFNDEFS_TEST_CT 1
2592 static tTestDesc aLimits_IfndefsTests[] = {
2593 { TT_NEGREP, zLimits_IfndefsBypass0, (regex_t*)NULL }, };
2596 * Fix Command Arguments for Limits_Ifndefs
2598 static const char* apzLimits_IfndefsPatch[] = {
2603 "^[ \t]*#[ \t]*define[ \t]+((FLT|DBL)_(MIN|MAX|DIG))[ \t].*",
2606 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2608 * Description of Lynx_Void_Int fix
2610 #define LYNX_VOID_INT_FIXIDX 64
2611 tSCC zLynx_Void_IntName[] =
2615 * File name selection pattern
2617 tSCC zLynx_Void_IntList[] =
2620 * Machine/OS name selection pattern
2622 #define apzLynx_Void_IntMachs (const char**)NULL
2625 * content selection pattern - do fix if pattern found
2627 tSCC zLynx_Void_IntSelect0[] =
2628 "#[ \t]*define[ \t]+void[ \t]+int[ \t]*";
2630 #define LYNX_VOID_INT_TEST_CT 1
2631 static tTestDesc aLynx_Void_IntTests[] = {
2632 { TT_EGREP, zLynx_Void_IntSelect0, (regex_t*)NULL }, };
2635 * Fix Command Arguments for Lynx_Void_Int
2637 static const char* apzLynx_Void_IntPatch[] = {
2642 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2644 * Description of Lynxos_Fcntl_Proto fix
2646 #define LYNXOS_FCNTL_PROTO_FIXIDX 65
2647 tSCC zLynxos_Fcntl_ProtoName[] =
2648 "lynxos_fcntl_proto";
2651 * File name selection pattern
2653 tSCC zLynxos_Fcntl_ProtoList[] =
2656 * Machine/OS name selection pattern
2658 #define apzLynxos_Fcntl_ProtoMachs (const char**)NULL
2661 * content selection pattern - do fix if pattern found
2663 tSCC zLynxos_Fcntl_ProtoSelect0[] =
2664 "fcntl[ \t]*\\(int, int, int\\)";
2666 #define LYNXOS_FCNTL_PROTO_TEST_CT 1
2667 static tTestDesc aLynxos_Fcntl_ProtoTests[] = {
2668 { TT_EGREP, zLynxos_Fcntl_ProtoSelect0, (regex_t*)NULL }, };
2671 * Fix Command Arguments for Lynxos_Fcntl_Proto
2673 static const char* apzLynxos_Fcntl_ProtoPatch[] = {
2676 "(fcntl[ \t]*\\(int, int, )int\\)",
2679 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2681 * Description of M88k_Bad_Hypot_Opt fix
2683 #define M88K_BAD_HYPOT_OPT_FIXIDX 66
2684 tSCC zM88k_Bad_Hypot_OptName[] =
2685 "m88k_bad_hypot_opt";
2688 * File name selection pattern
2690 tSCC zM88k_Bad_Hypot_OptList[] =
2693 * Machine/OS name selection pattern
2695 tSCC* apzM88k_Bad_Hypot_OptMachs[] = {
2696 "m88k-motorola-sysv3*",
2697 (const char*)NULL };
2700 * content selection pattern - do fix if pattern found
2702 tSCC zM88k_Bad_Hypot_OptSelect0[] =
2703 "^extern double hypot\\(\\);\n";
2705 #define M88K_BAD_HYPOT_OPT_TEST_CT 1
2706 static tTestDesc aM88k_Bad_Hypot_OptTests[] = {
2707 { TT_EGREP, zM88k_Bad_Hypot_OptSelect0, (regex_t*)NULL }, };
2710 * Fix Command Arguments for M88k_Bad_Hypot_Opt
2712 static const char* apzM88k_Bad_Hypot_OptPatch[] = {
2714 "%0/* Workaround a stupid Motorola optimization if one\n\
2715 of x or y is 0.0 and the other is negative! */\n\
2717 static __inline__ double fake_hypot (double x, double y)\n\
2719 static __inline__ double fake_hypot (x, y)\n\
2723 \treturn fabs (hypot (x, y));\n\
2725 #define hypot\tfake_hypot\n",
2728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2730 * Description of M88k_Bad_S_If fix
2732 #define M88K_BAD_S_IF_FIXIDX 67
2733 tSCC zM88k_Bad_S_IfName[] =
2737 * File name selection pattern
2739 tSCC zM88k_Bad_S_IfList[] =
2742 * Machine/OS name selection pattern
2744 tSCC* apzM88k_Bad_S_IfMachs[] = {
2746 (const char*)NULL };
2749 * content selection pattern - do fix if pattern found
2751 tSCC zM88k_Bad_S_IfSelect0[] =
2752 "#define[ \t]+S_IS[A-Z]+\\(m\\)[ \t]+\\(m[ \t]*&";
2754 #define M88K_BAD_S_IF_TEST_CT 1
2755 static tTestDesc aM88k_Bad_S_IfTests[] = {
2756 { TT_EGREP, zM88k_Bad_S_IfSelect0, (regex_t*)NULL }, };
2759 * Fix Command Arguments for M88k_Bad_S_If
2761 static const char* apzM88k_Bad_S_IfPatch[] = {
2763 "#define %1(m) (((m) & S_IFMT) == %2)",
2764 "#define[ \t]+(S_IS[A-Z]+)\\(m\\)[ \t]+\\(m[ \t]*&[ \t]*(S_IF[A-Z][A-Z][A-Z]+|0[0-9]+)[ \t]*\\)",
2767 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2769 * Description of M88k_Multi_Incl fix
2771 #define M88K_MULTI_INCL_FIXIDX 68
2772 tSCC zM88k_Multi_InclName[] =
2776 * File name selection pattern
2778 tSCC zM88k_Multi_InclList[] =
2781 * Machine/OS name selection pattern
2783 tSCC* apzM88k_Multi_InclMachs[] = {
2784 "m88k-tektronix-sysv3*",
2785 (const char*)NULL };
2788 * content bypass pattern - skip fix if pattern found
2790 tSCC zM88k_Multi_InclBypass0[] =
2793 #define M88K_MULTI_INCL_TEST_CT 1
2794 static tTestDesc aM88k_Multi_InclTests[] = {
2795 { TT_NEGREP, zM88k_Multi_InclBypass0, (regex_t*)NULL }, };
2798 * Fix Command Arguments for M88k_Multi_Incl
2800 static const char* apzM88k_Multi_InclPatch[] = {
2804 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2806 * Description of Machine_Ansi_H_Va_List fix
2808 #define MACHINE_ANSI_H_VA_LIST_FIXIDX 69
2809 tSCC zMachine_Ansi_H_Va_ListName[] =
2810 "machine_ansi_h_va_list";
2813 * File name selection pattern
2815 #define zMachine_Ansi_H_Va_ListList (char*)NULL
2817 * Machine/OS name selection pattern
2819 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
2822 * content selection pattern - do fix if pattern found
2824 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
2825 "define[ \t]+_BSD_VA_LIST_[ \t]";
2828 * content bypass pattern - skip fix if pattern found
2830 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
2831 "__builtin_va_list";
2833 #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
2834 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
2835 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
2836 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
2839 * Fix Command Arguments for Machine_Ansi_H_Va_List
2841 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
2843 "%1__builtin_va_list",
2844 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
2847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2849 * Description of Machine_Name fix
2851 #define MACHINE_NAME_FIXIDX 70
2852 tSCC zMachine_NameName[] =
2856 * File name selection pattern
2858 #define zMachine_NameList (char*)NULL
2860 * Machine/OS name selection pattern
2862 #define apzMachine_NameMachs (const char**)NULL
2865 * perform the C function call test
2867 tSCC zMachine_NameFTst0[] = "machine_name";
2869 #define MACHINE_NAME_TEST_CT 1
2870 static tTestDesc aMachine_NameTests[] = {
2871 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
2874 * Fix Command Arguments for Machine_Name
2876 static const char* apzMachine_NamePatch[] = {
2880 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2882 * Description of Math_Exception fix
2884 #define MATH_EXCEPTION_FIXIDX 71
2885 tSCC zMath_ExceptionName[] =
2889 * File name selection pattern
2891 tSCC zMath_ExceptionList[] =
2894 * Machine/OS name selection pattern
2896 #define apzMath_ExceptionMachs (const char**)NULL
2899 * content selection pattern - do fix if pattern found
2901 tSCC zMath_ExceptionSelect0[] =
2905 * content bypass pattern - skip fix if pattern found
2907 tSCC zMath_ExceptionBypass0[] =
2908 "We have a problem when using C\\+\\+";
2910 #define MATH_EXCEPTION_TEST_CT 2
2911 static tTestDesc aMath_ExceptionTests[] = {
2912 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
2913 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
2916 * Fix Command Arguments for Math_Exception
2918 static const char* apzMath_ExceptionPatch[] = {
2920 "#ifdef __cplusplus\n\
2921 #define exception __math_exception\n\
2923 "#ifdef __cplusplus\n\
2928 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2930 * Description of Math_Huge_Val_From_Dbl_Max fix
2932 #define MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX 72
2933 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
2934 "math_huge_val_from_dbl_max";
2937 * File name selection pattern
2939 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
2942 * Machine/OS name selection pattern
2944 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
2947 * content selection pattern - do fix if pattern found
2949 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
2950 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
2953 * content bypass pattern - skip fix if pattern found
2955 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
2956 "define[ \t]+DBL_MAX";
2958 #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
2959 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
2960 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
2961 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
2964 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
2966 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
2967 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
2968 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
2969 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
2974 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2976 * Description of Math_Huge_Val_Ifndef fix
2978 #define MATH_HUGE_VAL_IFNDEF_FIXIDX 73
2979 tSCC zMath_Huge_Val_IfndefName[] =
2980 "math_huge_val_ifndef";
2983 * File name selection pattern
2985 tSCC zMath_Huge_Val_IfndefList[] =
2986 "|math.h|math/math.h|";
2988 * Machine/OS name selection pattern
2990 #define apzMath_Huge_Val_IfndefMachs (const char**)NULL
2993 * content selection pattern - do fix if pattern found
2995 tSCC zMath_Huge_Val_IfndefSelect0[] =
2996 "define[ \t]+HUGE_VAL";
2998 #define MATH_HUGE_VAL_IFNDEF_TEST_CT 1
2999 static tTestDesc aMath_Huge_Val_IfndefTests[] = {
3000 { TT_EGREP, zMath_Huge_Val_IfndefSelect0, (regex_t*)NULL }, };
3003 * Fix Command Arguments for Math_Huge_Val_Ifndef
3005 static const char* apzMath_Huge_Val_IfndefPatch[] = {
3007 "#ifndef HUGE_VAL\n\
3010 "^[ \t]*#[ \t]*define[ \t]+HUGE_VAL[ \t].*",
3013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3015 * Description of Nested_Motorola fix
3017 #define NESTED_MOTOROLA_FIXIDX 74
3018 tSCC zNested_MotorolaName[] =
3022 * File name selection pattern
3024 tSCC zNested_MotorolaList[] =
3025 "|sys/limits.h|limits.h|";
3027 * Machine/OS name selection pattern
3029 tSCC* apzNested_MotorolaMachs[] = {
3030 "m68k-motorola-sysv*",
3031 (const char*)NULL };
3034 * content selection pattern - do fix if pattern found
3036 tSCC zNested_MotorolaSelect0[] =
3037 "max # bytes atomic in write|error value returned by Math lib";
3039 #define NESTED_MOTOROLA_TEST_CT 1
3040 static tTestDesc aNested_MotorolaTests[] = {
3041 { TT_EGREP, zNested_MotorolaSelect0, (regex_t*)NULL }, };
3044 * Fix Command Arguments for Nested_Motorola
3046 static const char* apzNested_MotorolaPatch[] = { "sed",
3047 "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
3048 "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
3051 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3053 * Description of Nested_Sys_Limits fix
3055 #define NESTED_SYS_LIMITS_FIXIDX 75
3056 tSCC zNested_Sys_LimitsName[] =
3057 "nested_sys_limits";
3060 * File name selection pattern
3062 tSCC zNested_Sys_LimitsList[] =
3065 * Machine/OS name selection pattern
3067 #define apzNested_Sys_LimitsMachs (const char**)NULL
3070 * content selection pattern - do fix if pattern found
3072 tSCC zNested_Sys_LimitsSelect0[] =
3075 #define NESTED_SYS_LIMITS_TEST_CT 1
3076 static tTestDesc aNested_Sys_LimitsTests[] = {
3077 { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
3080 * Fix Command Arguments for Nested_Sys_Limits
3082 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
3083 "-e", "/CHILD_MAX/s,/\\* Max, Max,",
3084 "-e", "/OPEN_MAX/s,/\\* Max, Max,",
3087 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3089 * Description of Nested_Auth_Des fix
3091 #define NESTED_AUTH_DES_FIXIDX 76
3092 tSCC zNested_Auth_DesName[] =
3096 * File name selection pattern
3098 tSCC zNested_Auth_DesList[] =
3101 * Machine/OS name selection pattern
3103 #define apzNested_Auth_DesMachs (const char**)NULL
3106 * content selection pattern - do fix if pattern found
3108 tSCC zNested_Auth_DesSelect0[] =
3109 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
3111 #define NESTED_AUTH_DES_TEST_CT 1
3112 static tTestDesc aNested_Auth_DesTests[] = {
3113 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
3116 * Fix Command Arguments for Nested_Auth_Des
3118 static const char* apzNested_Auth_DesPatch[] = {
3123 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3125 * Description of News_Os_Recursion fix
3127 #define NEWS_OS_RECURSION_FIXIDX 77
3128 tSCC zNews_Os_RecursionName[] =
3129 "news_os_recursion";
3132 * File name selection pattern
3134 tSCC zNews_Os_RecursionList[] =
3137 * Machine/OS name selection pattern
3139 #define apzNews_Os_RecursionMachs (const char**)NULL
3142 * content selection pattern - do fix if pattern found
3144 tSCC zNews_Os_RecursionSelect0[] =
3145 "[ \t]*#include <stdlib\\.h>.*";
3147 #define NEWS_OS_RECURSION_TEST_CT 1
3148 static tTestDesc aNews_Os_RecursionTests[] = {
3149 { TT_EGREP, zNews_Os_RecursionSelect0, (regex_t*)NULL }, };
3152 * Fix Command Arguments for News_Os_Recursion
3154 static const char* apzNews_Os_RecursionPatch[] = {
3156 "#ifdef BOGUS_RECURSION\n\
3161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3163 * Description of Next_Math_Prefix fix
3165 #define NEXT_MATH_PREFIX_FIXIDX 78
3166 tSCC zNext_Math_PrefixName[] =
3170 * File name selection pattern
3172 tSCC zNext_Math_PrefixList[] =
3175 * Machine/OS name selection pattern
3177 #define apzNext_Math_PrefixMachs (const char**)NULL
3180 * content selection pattern - do fix if pattern found
3182 tSCC zNext_Math_PrefixSelect0[] =
3183 "^extern[ \t]+double[ \t]+__const__[ \t]";
3185 #define NEXT_MATH_PREFIX_TEST_CT 1
3186 static tTestDesc aNext_Math_PrefixTests[] = {
3187 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
3190 * Fix Command Arguments for Next_Math_Prefix
3192 static const char* apzNext_Math_PrefixPatch[] = {
3194 "extern double %1(",
3195 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
3198 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3200 * Description of Next_Template fix
3202 #define NEXT_TEMPLATE_FIXIDX 79
3203 tSCC zNext_TemplateName[] =
3207 * File name selection pattern
3209 tSCC zNext_TemplateList[] =
3212 * Machine/OS name selection pattern
3214 #define apzNext_TemplateMachs (const char**)NULL
3217 * content selection pattern - do fix if pattern found
3219 tSCC zNext_TemplateSelect0[] =
3222 #define NEXT_TEMPLATE_TEST_CT 1
3223 static tTestDesc aNext_TemplateTests[] = {
3224 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
3227 * Fix Command Arguments for Next_Template
3229 static const char* apzNext_TemplatePatch[] = {
3232 "\\(([^)]*)[ \t]template\\)",
3235 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3237 * Description of Next_Volitile fix
3239 #define NEXT_VOLITILE_FIXIDX 80
3240 tSCC zNext_VolitileName[] =
3244 * File name selection pattern
3246 tSCC zNext_VolitileList[] =
3249 * Machine/OS name selection pattern
3251 #define apzNext_VolitileMachs (const char**)NULL
3254 * content selection pattern - do fix if pattern found
3256 tSCC zNext_VolitileSelect0[] =
3257 "^extern[ \t]+volatile[ \t]+void[ \t]";
3259 #define NEXT_VOLITILE_TEST_CT 1
3260 static tTestDesc aNext_VolitileTests[] = {
3261 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
3264 * Fix Command Arguments for Next_Volitile
3266 static const char* apzNext_VolitilePatch[] = {
3269 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
3272 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3274 * Description of Next_Wait_Union fix
3276 #define NEXT_WAIT_UNION_FIXIDX 81
3277 tSCC zNext_Wait_UnionName[] =
3281 * File name selection pattern
3283 tSCC zNext_Wait_UnionList[] =
3286 * Machine/OS name selection pattern
3288 #define apzNext_Wait_UnionMachs (const char**)NULL
3291 * content selection pattern - do fix if pattern found
3293 tSCC zNext_Wait_UnionSelect0[] =
3294 "wait\\(union wait";
3296 #define NEXT_WAIT_UNION_TEST_CT 1
3297 static tTestDesc aNext_Wait_UnionTests[] = {
3298 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
3301 * Fix Command Arguments for Next_Wait_Union
3303 static const char* apzNext_Wait_UnionPatch[] = {
3308 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3310 * Description of Nodeent_Syntax fix
3312 #define NODEENT_SYNTAX_FIXIDX 82
3313 tSCC zNodeent_SyntaxName[] =
3317 * File name selection pattern
3319 tSCC zNodeent_SyntaxList[] =
3320 "|netdnet/dnetdb.h|";
3322 * Machine/OS name selection pattern
3324 #define apzNodeent_SyntaxMachs (const char**)NULL
3327 * content selection pattern - do fix if pattern found
3329 tSCC zNodeent_SyntaxSelect0[] =
3330 "char[ \t]*\\*na_addr[ \t]*$";
3332 #define NODEENT_SYNTAX_TEST_CT 1
3333 static tTestDesc aNodeent_SyntaxTests[] = {
3334 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
3337 * Fix Command Arguments for Nodeent_Syntax
3339 static const char* apzNodeent_SyntaxPatch[] = {
3344 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3346 * Description of Osf_Namespace_A fix
3348 #define OSF_NAMESPACE_A_FIXIDX 83
3349 tSCC zOsf_Namespace_AName[] =
3353 * File name selection pattern
3355 tSCC zOsf_Namespace_AList[] =
3356 "|reg_types.h|sys/lc_core.h|";
3358 * Machine/OS name selection pattern
3360 #define apzOsf_Namespace_AMachs (const char**)NULL
3363 * perform the 'test' shell command - do fix on success
3365 tSCC zOsf_Namespace_ATest0[] =
3367 tSCC zOsf_Namespace_ATest1[] =
3368 " -r sys/lc_core.h";
3369 tSCC zOsf_Namespace_ATest2[] =
3370 " -n \"`grep '} regex_t;' reg_types.h`\"";
3371 tSCC zOsf_Namespace_ATest3[] =
3372 " -z \"`grep __regex_t regex.h`\"";
3374 #define OSF_NAMESPACE_A_TEST_CT 4
3375 static tTestDesc aOsf_Namespace_ATests[] = {
3376 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
3377 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
3378 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
3379 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
3382 * Fix Command Arguments for Osf_Namespace_A
3384 static const char* apzOsf_Namespace_APatch[] = {
3387 "reg(ex|off|match)_t",
3390 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3392 * Description of Osf_Namespace_C fix
3394 #define OSF_NAMESPACE_C_FIXIDX 84
3395 tSCC zOsf_Namespace_CName[] =
3399 * File name selection pattern
3401 tSCC zOsf_Namespace_CList[] =
3404 * Machine/OS name selection pattern
3406 #define apzOsf_Namespace_CMachs (const char**)NULL
3409 * content selection pattern - do fix if pattern found
3411 tSCC zOsf_Namespace_CSelect0[] =
3412 "#include <reg_types.h>.*";
3415 * perform the 'test' shell command - do fix on success
3417 tSCC zOsf_Namespace_CTest0[] =
3419 tSCC zOsf_Namespace_CTest1[] =
3420 " -r sys/lc_core.h";
3421 tSCC zOsf_Namespace_CTest2[] =
3422 " -n \"`grep '} regex_t;' reg_types.h`\"";
3423 tSCC zOsf_Namespace_CTest3[] =
3424 " -z \"`grep __regex_t regex.h`\"";
3426 #define OSF_NAMESPACE_C_TEST_CT 5
3427 static tTestDesc aOsf_Namespace_CTests[] = {
3428 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
3429 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
3430 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
3431 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
3432 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
3435 * Fix Command Arguments for Osf_Namespace_C
3437 static const char* apzOsf_Namespace_CPatch[] = {
3440 typedef __regex_t\tregex_t;\n\
3441 typedef __regoff_t\tregoff_t;\n\
3442 typedef __regmatch_t\tregmatch_t;",
3445 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3447 * Description of Pthread_Page_Size fix
3449 #define PTHREAD_PAGE_SIZE_FIXIDX 85
3450 tSCC zPthread_Page_SizeName[] =
3451 "pthread_page_size";
3454 * File name selection pattern
3456 tSCC zPthread_Page_SizeList[] =
3459 * Machine/OS name selection pattern
3461 #define apzPthread_Page_SizeMachs (const char**)NULL
3464 * content selection pattern - do fix if pattern found
3466 tSCC zPthread_Page_SizeSelect0[] =
3469 #define PTHREAD_PAGE_SIZE_TEST_CT 1
3470 static tTestDesc aPthread_Page_SizeTests[] = {
3471 { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
3474 * Fix Command Arguments for Pthread_Page_Size
3476 static const char* apzPthread_Page_SizePatch[] = {
3481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3483 * Description of Read_Ret_Type fix
3485 #define READ_RET_TYPE_FIXIDX 86
3486 tSCC zRead_Ret_TypeName[] =
3490 * File name selection pattern
3492 tSCC zRead_Ret_TypeList[] =
3495 * Machine/OS name selection pattern
3497 #define apzRead_Ret_TypeMachs (const char**)NULL
3500 * content selection pattern - do fix if pattern found
3502 tSCC zRead_Ret_TypeSelect0[] =
3503 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
3505 #define READ_RET_TYPE_TEST_CT 1
3506 static tTestDesc aRead_Ret_TypeTests[] = {
3507 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
3510 * Fix Command Arguments for Read_Ret_Type
3512 static const char* apzRead_Ret_TypePatch[] = {
3514 "extern unsigned int fread(), fwrite();\n\
3516 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
3519 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3521 * Description of Rs6000_Double fix
3523 #define RS6000_DOUBLE_FIXIDX 87
3524 tSCC zRs6000_DoubleName[] =
3528 * File name selection pattern
3530 tSCC zRs6000_DoubleList[] =
3533 * Machine/OS name selection pattern
3535 #define apzRs6000_DoubleMachs (const char**)NULL
3538 * content selection pattern - do fix if pattern found
3540 tSCC zRs6000_DoubleSelect0[] =
3541 "[^a-zA-Z_]class\\(";
3543 #define RS6000_DOUBLE_TEST_CT 1
3544 static tTestDesc aRs6000_DoubleTests[] = {
3545 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
3548 * Fix Command Arguments for Rs6000_Double
3550 static const char* apzRs6000_DoublePatch[] = {
3552 "#ifndef __cplusplus\n\
3555 "^.*[^a-zA-Z_]class\\(.*",
3558 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3560 * Description of Rs6000_Fchmod fix
3562 #define RS6000_FCHMOD_FIXIDX 88
3563 tSCC zRs6000_FchmodName[] =
3567 * File name selection pattern
3569 tSCC zRs6000_FchmodList[] =
3572 * Machine/OS name selection pattern
3574 #define apzRs6000_FchmodMachs (const char**)NULL
3577 * content selection pattern - do fix if pattern found
3579 tSCC zRs6000_FchmodSelect0[] =
3580 "fchmod\\(char \\*";
3582 #define RS6000_FCHMOD_TEST_CT 1
3583 static tTestDesc aRs6000_FchmodTests[] = {
3584 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
3587 * Fix Command Arguments for Rs6000_Fchmod
3589 static const char* apzRs6000_FchmodPatch[] = {
3594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3596 * Description of Rs6000_Param fix
3598 #define RS6000_PARAM_FIXIDX 89
3599 tSCC zRs6000_ParamName[] =
3603 * File name selection pattern
3605 tSCC zRs6000_ParamList[] =
3606 "|stdio.h|unistd.h|";
3608 * Machine/OS name selection pattern
3610 #define apzRs6000_ParamMachs (const char**)NULL
3613 * content selection pattern - do fix if pattern found
3615 tSCC zRs6000_ParamSelect0[] =
3616 "rename\\(const char \\*old, const char \\*new\\)";
3618 #define RS6000_PARAM_TEST_CT 1
3619 static tTestDesc aRs6000_ParamTests[] = {
3620 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
3623 * Fix Command Arguments for Rs6000_Param
3625 static const char* apzRs6000_ParamPatch[] = {
3627 "rename(const char *_old, const char *_new)",
3630 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3632 * Description of Sco_Static_Func fix
3634 #define SCO_STATIC_FUNC_FIXIDX 90
3635 tSCC zSco_Static_FuncName[] =
3639 * File name selection pattern
3641 tSCC zSco_Static_FuncList[] =
3644 * Machine/OS name selection pattern
3646 tSCC* apzSco_Static_FuncMachs[] = {
3648 (const char*)NULL };
3651 * content selection pattern - do fix if pattern found
3653 tSCC zSco_Static_FuncSelect0[] =
3656 #define SCO_STATIC_FUNC_TEST_CT 1
3657 static tTestDesc aSco_Static_FuncTests[] = {
3658 { TT_EGREP, zSco_Static_FuncSelect0, (regex_t*)NULL }, };
3661 * Fix Command Arguments for Sco_Static_Func
3663 static const char* apzSco_Static_FuncPatch[] = { "sed",
3664 "-e", "/^static int/i\\\n\
3665 #if __cplusplus\\\n\
3667 #endif /* __cplusplus */",
3669 #if __cplusplus\\\n\
3671 #endif /* __cplusplus */",
3674 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3676 * Description of Strict_Ansi_Not fix
3678 #define STRICT_ANSI_NOT_FIXIDX 91
3679 tSCC zStrict_Ansi_NotName[] =
3683 * File name selection pattern
3685 #define zStrict_Ansi_NotList (char*)NULL
3687 * Machine/OS name selection pattern
3689 #define apzStrict_Ansi_NotMachs (const char**)NULL
3692 * content selection pattern - do fix if pattern found
3694 tSCC zStrict_Ansi_NotSelect0[] =
3695 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
3698 * perform the C function call test
3700 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
3702 #define STRICT_ANSI_NOT_TEST_CT 2
3703 static tTestDesc aStrict_Ansi_NotTests[] = {
3704 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
3705 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
3708 * Fix Command Arguments for Strict_Ansi_Not
3710 static const char* apzStrict_Ansi_NotPatch[] = {
3712 "%1 !defined(__STRICT_ANSI__)%3",
3715 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3717 * Description of Strict_Ansi_Not_Ctd fix
3719 #define STRICT_ANSI_NOT_CTD_FIXIDX 92
3720 tSCC zStrict_Ansi_Not_CtdName[] =
3721 "strict_ansi_not_ctd";
3724 * File name selection pattern
3726 tSCC zStrict_Ansi_Not_CtdList[] =
3727 "|math.h|limits.h|stdio.h|signal.h|stdlib.h|time.h|";
3729 * Machine/OS name selection pattern
3731 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
3734 * content selection pattern - do fix if pattern found
3736 tSCC zStrict_Ansi_Not_CtdSelect0[] =
3737 "^([ \t]*[|&][|&][ \t(]*)(__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)(.*)";
3740 * perform the C function call test
3742 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
3744 #define STRICT_ANSI_NOT_CTD_TEST_CT 2
3745 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
3746 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
3747 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
3750 * Fix Command Arguments for Strict_Ansi_Not_Ctd
3752 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
3754 "%1 !defined(__STRICT_ANSI__)%3",
3757 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3759 * Description of Strict_Ansi_Only fix
3761 #define STRICT_ANSI_ONLY_FIXIDX 93
3762 tSCC zStrict_Ansi_OnlyName[] =
3766 * File name selection pattern
3768 #define zStrict_Ansi_OnlyList (char*)NULL
3770 * Machine/OS name selection pattern
3772 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
3775 * content selection pattern - do fix if pattern found
3777 tSCC zStrict_Ansi_OnlySelect0[] =
3778 "^([ \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)(.*)";
3781 * perform the C function call test
3783 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
3785 #define STRICT_ANSI_ONLY_TEST_CT 2
3786 static tTestDesc aStrict_Ansi_OnlyTests[] = {
3787 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
3788 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
3791 * Fix Command Arguments for Strict_Ansi_Only
3793 static const char* apzStrict_Ansi_OnlyPatch[] = {
3795 "%1 defined(__STRICT_ANSI__)%3",
3798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3800 * Description of Sco_Utime fix
3802 #define SCO_UTIME_FIXIDX 94
3803 tSCC zSco_UtimeName[] =
3807 * File name selection pattern
3809 tSCC zSco_UtimeList[] =
3812 * Machine/OS name selection pattern
3814 tSCC* apzSco_UtimeMachs[] = {
3816 (const char*)NULL };
3819 * content selection pattern - do fix if pattern found
3821 tSCC zSco_UtimeSelect0[] =
3822 "\\(const char \\*, struct utimbuf \\*\\);";
3824 #define SCO_UTIME_TEST_CT 1
3825 static tTestDesc aSco_UtimeTests[] = {
3826 { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
3829 * Fix Command Arguments for Sco_Utime
3831 static const char* apzSco_UtimePatch[] = {
3833 "(const char *, const struct utimbuf *);",
3836 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3838 * Description of Solaris27_Mutex_Init fix
3840 #define SOLARIS27_MUTEX_INIT_FIXIDX 95
3841 tSCC zSolaris27_Mutex_InitName[] =
3842 "solaris27_mutex_init";
3845 * File name selection pattern
3847 tSCC zSolaris27_Mutex_InitList[] =
3850 * Machine/OS name selection pattern
3852 #define apzSolaris27_Mutex_InitMachs (const char**)NULL
3855 * content selection pattern - do fix if pattern found
3857 tSCC zSolaris27_Mutex_InitSelect0[] =
3858 "@\\(#\\)pthread.h[ \t]+1.26[ \t]+98/04/12 SMI";
3860 #define SOLARIS27_MUTEX_INIT_TEST_CT 1
3861 static tTestDesc aSolaris27_Mutex_InitTests[] = {
3862 { TT_EGREP, zSolaris27_Mutex_InitSelect0, (regex_t*)NULL }, };
3865 * Fix Command Arguments for Solaris27_Mutex_Init
3867 static const char* apzSolaris27_Mutex_InitPatch[] = {
3870 "(define[ \t]+PTHREAD_MUTEX_INITIALIZER.*),[ \t]*0}$",
3873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3875 * Description of Statsswtch fix
3877 #define STATSSWTCH_FIXIDX 96
3878 tSCC zStatsswtchName[] =
3882 * File name selection pattern
3884 tSCC zStatsswtchList[] =
3887 * Machine/OS name selection pattern
3889 #define apzStatsswtchMachs (const char**)NULL
3892 * content selection pattern - do fix if pattern found
3894 tSCC zStatsswtchSelect0[] =
3897 #define STATSSWTCH_TEST_CT 1
3898 static tTestDesc aStatsswtchTests[] = {
3899 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
3902 * Fix Command Arguments for Statsswtch
3904 static const char* apzStatsswtchPatch[] = {
3909 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3911 * Description of Stdio_Stdarg_H fix
3913 #define STDIO_STDARG_H_FIXIDX 97
3914 tSCC zStdio_Stdarg_HName[] =
3918 * File name selection pattern
3920 tSCC zStdio_Stdarg_HList[] =
3923 * Machine/OS name selection pattern
3925 #define apzStdio_Stdarg_HMachs (const char**)NULL
3928 * content bypass pattern - skip fix if pattern found
3930 tSCC zStdio_Stdarg_HBypass0[] =
3931 "include.*(stdarg.h|machine/ansi.h)";
3933 #define STDIO_STDARG_H_TEST_CT 1
3934 static tTestDesc aStdio_Stdarg_HTests[] = {
3935 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
3938 * Fix Command Arguments for Stdio_Stdarg_H
3940 static const char* apzStdio_Stdarg_HPatch[] = {
3942 "#define __need___va_list\n\
3943 #include <stdarg.h>\n",
3946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3948 * Description of Stdio_Va_List fix
3950 #define STDIO_VA_LIST_FIXIDX 98
3951 tSCC zStdio_Va_ListName[] =
3955 * File name selection pattern
3957 tSCC zStdio_Va_ListList[] =
3960 * Machine/OS name selection pattern
3962 #define apzStdio_Va_ListMachs (const char**)NULL
3965 * content bypass pattern - skip fix if pattern found
3967 tSCC zStdio_Va_ListBypass0[] =
3968 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list";
3970 #define STDIO_VA_LIST_TEST_CT 1
3971 static tTestDesc aStdio_Va_ListTests[] = {
3972 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
3975 * Fix Command Arguments for Stdio_Va_List
3977 static const char* apzStdio_Va_ListPatch[] = { "sed",
3978 "-e", "s@ va_list @ __gnuc_va_list @\n\
3979 s@ va_list)@ __gnuc_va_list)@\n\
3980 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
3981 s@ va_list@ __not_va_list__@\n\
3982 s@\\*va_list@*__not_va_list__@\n\
3983 s@ __va_list)@ __gnuc_va_list)@\n\
3984 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
3985 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
3986 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
3987 s@VA_LIST@DUMMY_VA_LIST@\n\
3988 s@_Va_LIST@_VA_LIST@",
3991 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3993 * Description of Struct_File fix
3995 #define STRUCT_FILE_FIXIDX 99
3996 tSCC zStruct_FileName[] =
4000 * File name selection pattern
4002 tSCC zStruct_FileList[] =
4005 * Machine/OS name selection pattern
4007 #define apzStruct_FileMachs (const char**)NULL
4010 * content selection pattern - do fix if pattern found
4012 tSCC zStruct_FileSelect0[] =
4013 "^.*xdrstdio_create.*struct __file_s";
4015 #define STRUCT_FILE_TEST_CT 1
4016 static tTestDesc aStruct_FileTests[] = {
4017 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
4020 * Fix Command Arguments for Struct_File
4022 static const char* apzStruct_FilePatch[] = {
4024 "struct __file_s;\n\
4028 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4030 * Description of Struct_Sockaddr fix
4032 #define STRUCT_SOCKADDR_FIXIDX 100
4033 tSCC zStruct_SockaddrName[] =
4037 * File name selection pattern
4039 tSCC zStruct_SockaddrList[] =
4042 * Machine/OS name selection pattern
4044 #define apzStruct_SockaddrMachs (const char**)NULL
4047 * content selection pattern - do fix if pattern found
4049 tSCC zStruct_SockaddrSelect0[] =
4050 "^.*authdes_create.*struct sockaddr";
4053 * content bypass pattern - skip fix if pattern found
4055 tSCC zStruct_SockaddrBypass0[] =
4058 #define STRUCT_SOCKADDR_TEST_CT 2
4059 static tTestDesc aStruct_SockaddrTests[] = {
4060 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
4061 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
4064 * Fix Command Arguments for Struct_Sockaddr
4066 static const char* apzStruct_SockaddrPatch[] = {
4068 "struct sockaddr;\n\
4072 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4074 * Description of Sun_Auth_Proto fix
4076 #define SUN_AUTH_PROTO_FIXIDX 101
4077 tSCC zSun_Auth_ProtoName[] =
4081 * File name selection pattern
4083 tSCC zSun_Auth_ProtoList[] =
4084 "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
4086 * Machine/OS name selection pattern
4088 #define apzSun_Auth_ProtoMachs (const char**)NULL
4091 * content selection pattern - do fix if pattern found
4093 tSCC zSun_Auth_ProtoSelect0[] =
4094 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
4096 #define SUN_AUTH_PROTO_TEST_CT 1
4097 static tTestDesc aSun_Auth_ProtoTests[] = {
4098 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
4101 * Fix Command Arguments for Sun_Auth_Proto
4103 static const char* apzSun_Auth_ProtoPatch[] = {
4105 "#ifdef __cplusplus\n\
4110 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
4113 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4115 * Description of Sun_Bogus_Ifdef fix
4117 #define SUN_BOGUS_IFDEF_FIXIDX 102
4118 tSCC zSun_Bogus_IfdefName[] =
4122 * File name selection pattern
4124 tSCC zSun_Bogus_IfdefList[] =
4125 "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
4127 * Machine/OS name selection pattern
4129 #define apzSun_Bogus_IfdefMachs (const char**)NULL
4132 * content selection pattern - do fix if pattern found
4134 tSCC zSun_Bogus_IfdefSelect0[] =
4135 "#ifdef(.*\\|\\|.*)";
4137 #define SUN_BOGUS_IFDEF_TEST_CT 1
4138 static tTestDesc aSun_Bogus_IfdefTests[] = {
4139 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
4142 * Fix Command Arguments for Sun_Bogus_Ifdef
4144 static const char* apzSun_Bogus_IfdefPatch[] = {
4149 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4151 * Description of Sun_Catmacro fix
4153 #define SUN_CATMACRO_FIXIDX 103
4154 tSCC zSun_CatmacroName[] =
4158 * File name selection pattern
4160 tSCC zSun_CatmacroList[] =
4161 "|pixrect/memvar.h|";
4163 * Machine/OS name selection pattern
4165 #define apzSun_CatmacroMachs (const char**)NULL
4168 * content selection pattern - do fix if pattern found
4170 tSCC zSun_CatmacroSelect0[] =
4171 "^#define[ \t]+CAT\\(a,b\\).*";
4173 #define SUN_CATMACRO_TEST_CT 1
4174 static tTestDesc aSun_CatmacroTests[] = {
4175 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
4178 * Fix Command Arguments for Sun_Catmacro
4180 static const char* apzSun_CatmacroPatch[] = {
4183 # define CAT(a,b) a##b\n\
4189 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4191 * Description of Sun_Malloc fix
4193 #define SUN_MALLOC_FIXIDX 104
4194 tSCC zSun_MallocName[] =
4198 * File name selection pattern
4200 tSCC zSun_MallocList[] =
4203 * Machine/OS name selection pattern
4205 #define apzSun_MallocMachs (const char**)NULL
4206 #define SUN_MALLOC_TEST_CT 0
4207 #define aSun_MallocTests (tTestDesc*)NULL
4210 * Fix Command Arguments for Sun_Malloc
4212 static const char* apzSun_MallocPatch[] = { "sed",
4213 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
4214 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
4215 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
4216 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
4217 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
4220 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4222 * Description of Sun_Rusers_Semi fix
4224 #define SUN_RUSERS_SEMI_FIXIDX 105
4225 tSCC zSun_Rusers_SemiName[] =
4229 * File name selection pattern
4231 tSCC zSun_Rusers_SemiList[] =
4232 "|rpcsvc/rusers.h|";
4234 * Machine/OS name selection pattern
4236 #define apzSun_Rusers_SemiMachs (const char**)NULL
4239 * content selection pattern - do fix if pattern found
4241 tSCC zSun_Rusers_SemiSelect0[] =
4244 #define SUN_RUSERS_SEMI_TEST_CT 1
4245 static tTestDesc aSun_Rusers_SemiTests[] = {
4246 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
4249 * Fix Command Arguments for Sun_Rusers_Semi
4251 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
4252 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
4255 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4257 * Description of Sun_Signal fix
4259 #define SUN_SIGNAL_FIXIDX 106
4260 tSCC zSun_SignalName[] =
4264 * File name selection pattern
4266 tSCC zSun_SignalList[] =
4267 "|sys/signal.h|signal.h|";
4269 * Machine/OS name selection pattern
4271 #define apzSun_SignalMachs (const char**)NULL
4274 * content selection pattern - do fix if pattern found
4276 tSCC zSun_SignalSelect0[] =
4277 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
4279 #define SUN_SIGNAL_TEST_CT 1
4280 static tTestDesc aSun_SignalTests[] = {
4281 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
4284 * Fix Command Arguments for Sun_Signal
4286 static const char* apzSun_SignalPatch[] = {
4288 "#ifdef __cplusplus\n\
4289 void\t(*signal(...))(...);\n\
4295 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4297 * Description of Sunos_Matherr_Decl fix
4299 #define SUNOS_MATHERR_DECL_FIXIDX 107
4300 tSCC zSunos_Matherr_DeclName[] =
4301 "sunos_matherr_decl";
4304 * File name selection pattern
4306 tSCC zSunos_Matherr_DeclList[] =
4309 * Machine/OS name selection pattern
4311 #define apzSunos_Matherr_DeclMachs (const char**)NULL
4314 * content selection pattern - do fix if pattern found
4316 tSCC zSunos_Matherr_DeclSelect0[] =
4320 * content bypass pattern - skip fix if pattern found
4322 tSCC zSunos_Matherr_DeclBypass0[] =
4323 "matherr.*(struct exception|__MATH_EXCEPTION)";
4325 #define SUNOS_MATHERR_DECL_TEST_CT 2
4326 static tTestDesc aSunos_Matherr_DeclTests[] = {
4327 { TT_NEGREP, zSunos_Matherr_DeclBypass0, (regex_t*)NULL },
4328 { TT_EGREP, zSunos_Matherr_DeclSelect0, (regex_t*)NULL }, };
4331 * Fix Command Arguments for Sunos_Matherr_Decl
4333 static const char* apzSunos_Matherr_DeclPatch[] = {
4335 "struct exception;\n",
4338 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4340 * Description of Sunos_Strlen fix
4342 #define SUNOS_STRLEN_FIXIDX 108
4343 tSCC zSunos_StrlenName[] =
4347 * File name selection pattern
4349 tSCC zSunos_StrlenList[] =
4352 * Machine/OS name selection pattern
4354 #define apzSunos_StrlenMachs (const char**)NULL
4357 * content selection pattern - do fix if pattern found
4359 tSCC zSunos_StrlenSelect0[] =
4360 "int[ \t]*strlen\\(\\);(.*)";
4362 #define SUNOS_STRLEN_TEST_CT 1
4363 static tTestDesc aSunos_StrlenTests[] = {
4364 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
4367 * Fix Command Arguments for Sunos_Strlen
4369 static const char* apzSunos_StrlenPatch[] = {
4371 "__SIZE_TYPE__ strlen();%1",
4374 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4376 * Description of Svr4__P fix
4378 #define SVR4__P_FIXIDX 109
4379 tSCC zSvr4__PName[] =
4383 * File name selection pattern
4385 tSCC zSvr4__PList[] =
4386 "|math.h|floatingpoint.h|";
4388 * Machine/OS name selection pattern
4390 #define apzSvr4__PMachs (const char**)NULL
4393 * content selection pattern - do fix if pattern found
4395 tSCC zSvr4__PSelect0[] =
4396 "^#define[ \t]+__P.*";
4398 #define SVR4__P_TEST_CT 1
4399 static tTestDesc aSvr4__PTests[] = {
4400 { TT_EGREP, zSvr4__PSelect0, (regex_t*)NULL }, };
4403 * Fix Command Arguments for Svr4__P
4405 static const char* apzSvr4__PPatch[] = {
4412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4414 * Description of Svr4_Getcwd fix
4416 #define SVR4_GETCWD_FIXIDX 110
4417 tSCC zSvr4_GetcwdName[] =
4421 * File name selection pattern
4423 tSCC zSvr4_GetcwdList[] =
4424 "|stdlib.h|unistd.h|prototypes.h|";
4426 * Machine/OS name selection pattern
4428 #define apzSvr4_GetcwdMachs (const char**)NULL
4431 * content selection pattern - do fix if pattern found
4433 tSCC zSvr4_GetcwdSelect0[] =
4434 "getcwd\\(char \\*, int\\)";
4436 #define SVR4_GETCWD_TEST_CT 1
4437 static tTestDesc aSvr4_GetcwdTests[] = {
4438 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
4441 * Fix Command Arguments for Svr4_Getcwd
4443 static const char* apzSvr4_GetcwdPatch[] = {
4445 "getcwd(char *, size_t)",
4448 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4450 * Description of Svr4_Profil fix
4452 #define SVR4_PROFIL_FIXIDX 111
4453 tSCC zSvr4_ProfilName[] =
4457 * File name selection pattern
4459 tSCC zSvr4_ProfilList[] =
4460 "|stdlib.h|unistd.h|";
4462 * Machine/OS name selection pattern
4464 #define apzSvr4_ProfilMachs (const char**)NULL
4467 * content selection pattern - do fix if pattern found
4469 tSCC zSvr4_ProfilSelect0[] =
4470 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
4472 #define SVR4_PROFIL_TEST_CT 1
4473 static tTestDesc aSvr4_ProfilTests[] = {
4474 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
4477 * Fix Command Arguments for Svr4_Profil
4479 static const char* apzSvr4_ProfilPatch[] = {
4481 "profil(unsigned short *, size_t, int, unsigned int)",
4484 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4486 * Description of Gnu_Types fix
4488 #define GNU_TYPES_FIXIDX 112
4489 tSCC zGnu_TypesName[] =
4493 * File name selection pattern
4495 tSCC zGnu_TypesList[] =
4496 "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
4498 * Machine/OS name selection pattern
4500 #define apzGnu_TypesMachs (const char**)NULL
4503 * content selection pattern - do fix if pattern found
4505 tSCC zGnu_TypesSelect0[] =
4506 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
4509 * content bypass pattern - skip fix if pattern found
4511 tSCC zGnu_TypesBypass0[] =
4512 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
4514 #define GNU_TYPES_TEST_CT 2
4515 static tTestDesc aGnu_TypesTests[] = {
4516 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
4517 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
4520 * Fix Command Arguments for Gnu_Types
4522 static const char* apzGnu_TypesPatch[] = {
4526 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4528 * Description of Sysv68_String fix
4530 #define SYSV68_STRING_FIXIDX 113
4531 tSCC zSysv68_StringName[] =
4535 * File name selection pattern
4537 tSCC zSysv68_StringList[] =
4538 "|testing.h|string.h|";
4540 * Machine/OS name selection pattern
4542 #define apzSysv68_StringMachs (const char**)NULL
4543 #define SYSV68_STRING_TEST_CT 0
4544 #define aSysv68_StringTests (tTestDesc*)NULL
4547 * Fix Command Arguments for Sysv68_String
4549 static const char* apzSysv68_StringPatch[] = { "sed",
4550 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
4551 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
4552 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
4553 "-e", "/^extern char$/N",
4554 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
4555 "-e", "/^extern int$/N",
4556 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
4557 "-e", "/^\tstrncmp(),$/N",
4558 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
4559 extern unsigned int\\\n\
4563 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4565 * Description of Sysz_Stdlib_For_Sun fix
4567 #define SYSZ_STDLIB_FOR_SUN_FIXIDX 114
4568 tSCC zSysz_Stdlib_For_SunName[] =
4569 "sysz_stdlib_for_sun";
4572 * File name selection pattern
4574 tSCC zSysz_Stdlib_For_SunList[] =
4577 * Machine/OS name selection pattern
4579 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
4582 * content selection pattern - do fix if pattern found
4584 tSCC zSysz_Stdlib_For_SunSelect0[] =
4585 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
4587 #define SYSZ_STDLIB_FOR_SUN_TEST_CT 1
4588 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
4589 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
4592 * Fix Command Arguments for Sysz_Stdlib_For_Sun
4594 static const char* apzSysz_Stdlib_For_SunPatch[] = {
4599 /* * * * * * * * * * * * * * * * * * * * * * * * * *