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