re PR target/15642 (NAN Is Not a Constant Because __APPLE_CC__ is Not Defined (OK...
[gcc.git] / fixincludes / fixincl.x
1 /* -*- buffer-read-only: t -*- vi: set ro:
2 *
3 * DO NOT EDIT THIS FILE (fixincl.x)
4 *
5 * It has been AutoGen-ed Thursday January 19, 2006 at 12:17:28 PM EST
6 * From the definitions inclhack.def
7 * and the template file fixincl
8 */
9 /* DO NOT CVS-MERGE THIS FILE, EITHER Thu Jan 19 12:17:28 EST 2006
10 *
11 * You must regenerate it. Use the ./genfixes script.
12 *
13 *
14 * This is part of the fixincl program used to install modified versions of
15 * certain ANSI-incompatible system header files which are fixed to work
16 * correctly with ANSI C and placed in a directory that GNU C will search.
17 *
18 * This file contains 194 fixup descriptions.
19 *
20 * See README for more information.
21 *
22 * inclhack copyright (c) 1998, 1999, 2000, 2001
23 * The Free Software Foundation, Inc.
24 *
25 * inclhack is free software.
26 *
27 * You may redistribute it and/or modify it under the terms of the
28 * GNU General Public License, as published by the Free Software
29 * Foundation; either version 2, or (at your option) any later version.
30 *
31 * inclhack is distributed in the hope that it will be useful,
32 * but WITHOUT ANY WARRANTY; without even the implied warranty of
33 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
34 * See the GNU General Public License for more details.
35 *
36 * You should have received a copy of the GNU General Public License
37 * along with inclhack. See the file "COPYING". If not,
38 * write to: The Free Software Foundation, Inc.,
39 * 59 Temple Place - Suite 330,
40 * Boston, MA 02111-1307, USA.
41 */
42
43 /* * * * * * * * * * * * * * * * * * * * * * * * * *
44 *
45 * Description of Aab_Darwin7_9_Long_Double_Funcs fix
46 */
47 tSCC zAab_Darwin7_9_Long_Double_FuncsName[] =
48 "AAB_darwin7_9_long_double_funcs";
49
50 /*
51 * File name selection pattern
52 */
53 tSCC zAab_Darwin7_9_Long_Double_FuncsList[] =
54 "|architecture/ppc/math.h|";
55 /*
56 * Machine/OS name selection pattern
57 */
58 tSCC* apzAab_Darwin7_9_Long_Double_FuncsMachs[] = {
59 "*-*-darwin7.9*",
60 (const char*)NULL };
61
62 /*
63 * content bypass pattern - skip fix if pattern found
64 */
65 tSCC zAab_Darwin7_9_Long_Double_FuncsBypass0[] =
66 "powl";
67
68 #define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT 1
69 static tTestDesc aAab_Darwin7_9_Long_Double_FuncsTests[] = {
70 { TT_NEGREP, zAab_Darwin7_9_Long_Double_FuncsBypass0, (regex_t*)NULL }, };
71
72 /*
73 * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs
74 */
75 static const char* apzAab_Darwin7_9_Long_Double_FuncsPatch[] = {
76 "/* This file prototypes the long double functions available on Mac OS\n\
77 10.3.9. */\n\
78 #ifndef __MATH__\n\
79 # undef __APPLE_CC__\n\
80 # define __APPLE_CC__ 1345\n\
81 # include_next <architecture/ppc/math.h>\n\
82 # undef __APPLE_CC__\n\
83 # define __APPLE_CC__ 1\n\
84 # ifndef __LIBMLDBL_COMPAT\n\
85 # ifdef __LONG_DOUBLE_128__\n\
86 # define __LIBMLDBL_COMPAT(sym) __asm(\"_\" #sym \"$LDBL128\")\n\
87 # else\n\
88 # define __LIBMLDBL_COMPAT(sym)\n\
89 # endif /* __LONG_DOUBLE_128__ */\n\
90 # endif /* __LIBMLDBL_COMPAT */\n\
91 # ifdef __cplusplus\n\
92 extern \"C\" {\n\
93 # endif\n\
94 extern long double acosl( long double ) __LIBMLDBL_COMPAT(acosl);\n\
95 extern long double asinl( long double ) __LIBMLDBL_COMPAT(asinl);\n\
96 extern long double atanl( long double ) __LIBMLDBL_COMPAT(atanl);\n\
97 extern long double atan2l( long double, long double ) __LIBMLDBL_COMPAT(atan2l);\n\
98 extern long double cosl( long double ) __LIBMLDBL_COMPAT(cosl);\n\
99 extern long double sinl( long double ) __LIBMLDBL_COMPAT(sinl);\n\
100 extern long double tanl( long double ) __LIBMLDBL_COMPAT(tanl);\n\
101 extern long double acoshl( long double ) __LIBMLDBL_COMPAT(acoshl);\n\
102 extern long double asinhl( long double ) __LIBMLDBL_COMPAT(asinhl);\n\
103 extern long double atanhl( long double ) __LIBMLDBL_COMPAT(atanhl);\n\
104 extern long double coshl( long double ) __LIBMLDBL_COMPAT(coshl);\n\
105 extern long double sinhl( long double ) __LIBMLDBL_COMPAT(sinhl);\n\
106 extern long double tanhl( long double ) __LIBMLDBL_COMPAT(tanhl);\n\
107 extern long double expl( long double ) __LIBMLDBL_COMPAT(expl);\n\
108 extern long double exp2l( long double ) __LIBMLDBL_COMPAT(exp2l);\n\
109 extern long double expm1l( long double ) __LIBMLDBL_COMPAT(expm1l);\n\
110 extern long double logl( long double ) __LIBMLDBL_COMPAT(logl);\n\
111 extern long double log10l( long double ) __LIBMLDBL_COMPAT(log10l);\n\
112 extern long double log2l( long double ) __LIBMLDBL_COMPAT(log2l);\n\
113 extern long double log1pl( long double ) __LIBMLDBL_COMPAT(log1pl);\n\
114 extern long double logbl( long double ) __LIBMLDBL_COMPAT(logbl);\n\
115 extern long double modfl( long double, long double * ) __LIBMLDBL_COMPAT(modfl);\n\
116 extern long double ldexpl( long double, int ) __LIBMLDBL_COMPAT(ldexpl);\n\
117 extern long double frexpl( long double, int * ) __LIBMLDBL_COMPAT(frexpl);\n\
118 extern int ilogbl( long double ) __LIBMLDBL_COMPAT(ilogbl);\n\
119 extern long double scalbnl( long double, int ) __LIBMLDBL_COMPAT(scalbnl);\n\
120 extern long double scalblnl( long double, long int ) __LIBMLDBL_COMPAT(scalblnl);\n\
121 extern long double fabsl( long double ) __LIBMLDBL_COMPAT(fabsl);\n\
122 extern long double cbrtl( long double ) __LIBMLDBL_COMPAT(cbrtl);\n\
123 extern long double hypotl( long double, long double ) __LIBMLDBL_COMPAT(hypotl);\n\
124 extern long double powl( long double, long double ) __LIBMLDBL_COMPAT(powl);\n\
125 extern long double sqrtl( long double ) __LIBMLDBL_COMPAT(sqrtl);\n\
126 extern long double erfl( long double ) __LIBMLDBL_COMPAT(erfl);\n\
127 extern long double erfcl( long double ) __LIBMLDBL_COMPAT(erfcl);\n\
128 extern long double lgammal( long double ) __LIBMLDBL_COMPAT(lgammal);\n\
129 extern long double tgammal( long double ) __LIBMLDBL_COMPAT(tgammal);\n\
130 extern long double ceill( long double ) __LIBMLDBL_COMPAT(ceill);\n\
131 extern long double floorl( long double ) __LIBMLDBL_COMPAT(floorl);\n\
132 extern long double nearbyintl( long double ) __LIBMLDBL_COMPAT(nearbyintl);\n\
133 extern long double rintl( long double ) __LIBMLDBL_COMPAT(rintl);\n\
134 extern long int lrintl( long double ) __LIBMLDBL_COMPAT(lrintl);\n\
135 extern long long int llrintl( long double ) __LIBMLDBL_COMPAT(llrintl);\n\
136 extern long double roundl( long double ) __LIBMLDBL_COMPAT(roundl);\n\
137 extern long int lroundl( long double ) __LIBMLDBL_COMPAT(lroundl);\n\
138 extern long long int llroundl( long double ) __LIBMLDBL_COMPAT(llroundl);\n\
139 extern long double truncl( long double ) __LIBMLDBL_COMPAT(truncl);\n\
140 extern long double fmodl( long double, long double) __LIBMLDBL_COMPAT(fmodl);\n\
141 extern long double remainderl( long double, long double ) __LIBMLDBL_COMPAT(remainderl);\n\
142 extern long double remquol( long double, long double, int * ) __LIBMLDBL_COMPAT(remquol);\n\
143 extern long double copysignl( long double, long double ) __LIBMLDBL_COMPAT(copysignl);\n\
144 extern long double nanl( const char * ) __LIBMLDBL_COMPAT(nanl);\n\
145 extern long double nextafterl( long double, long double ) __LIBMLDBL_COMPAT(nextafterl);\n\
146 extern long double nexttowardl( long double, long double ) __LIBMLDBL_COMPAT(nexttowardl);\n\
147 extern long double fdiml( long double, long double ) __LIBMLDBL_COMPAT(fdiml);\n\
148 extern long double fmaxl( long double, long double ) __LIBMLDBL_COMPAT(fmaxl);\n\
149 extern long double fminl( long double, long double ) __LIBMLDBL_COMPAT(fminl);\n\
150 extern long double fmal( long double, long double, long double ) __LIBMLDBL_COMPAT(fmal);\n\
151 # ifdef __cplusplus\n\
152 }\n\
153 # endif\n\
154 #endif /* __MATH__ */",
155 (char*)NULL };
156
157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
158 *
159 * Description of Aab_Darwin7_9_Long_Double_Funcs_2 fix
160 */
161 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Name[] =
162 "AAB_darwin7_9_long_double_funcs_2";
163
164 /*
165 * File name selection pattern
166 */
167 tSCC zAab_Darwin7_9_Long_Double_Funcs_2List[] =
168 "|math.h|";
169 /*
170 * Machine/OS name selection pattern
171 */
172 tSCC* apzAab_Darwin7_9_Long_Double_Funcs_2Machs[] = {
173 "*-*-darwin7.9*",
174 (const char*)NULL };
175
176 /*
177 * content selection pattern - do fix if pattern found
178 */
179 tSCC zAab_Darwin7_9_Long_Double_Funcs_2Select0[] =
180 "#include[ \\t]+\\\"";
181
182 #define AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT 1
183 static tTestDesc aAab_Darwin7_9_Long_Double_Funcs_2Tests[] = {
184 { TT_EGREP, zAab_Darwin7_9_Long_Double_Funcs_2Select0, (regex_t*)NULL }, };
185
186 /*
187 * Fix Command Arguments for Aab_Darwin7_9_Long_Double_Funcs_2
188 */
189 static const char* apzAab_Darwin7_9_Long_Double_Funcs_2Patch[] = {
190 "format",
191 "%1<%2.h>",
192 "([ \\t]*#[ \\t]*include[ \\t]+)\"([a-z0-9/]+)\\.h\"",
193 (char*)NULL };
194
195 /* * * * * * * * * * * * * * * * * * * * * * * * * *
196 *
197 * Description of Aab_Fd_Zero_Asm_Posix_Types_H fix
198 */
199 tSCC zAab_Fd_Zero_Asm_Posix_Types_HName[] =
200 "AAB_fd_zero_asm_posix_types_h";
201
202 /*
203 * File name selection pattern
204 */
205 tSCC zAab_Fd_Zero_Asm_Posix_Types_HList[] =
206 "|asm/posix_types.h|";
207 /*
208 * Machine/OS name selection pattern
209 */
210 tSCC* apzAab_Fd_Zero_Asm_Posix_Types_HMachs[] = {
211 "i[34567]86-*-linux*",
212 (const char*)NULL };
213
214 /*
215 * content bypass pattern - skip fix if pattern found
216 */
217 tSCC zAab_Fd_Zero_Asm_Posix_Types_HBypass0[] =
218 "} while";
219
220 #define AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT 1
221 static tTestDesc aAab_Fd_Zero_Asm_Posix_Types_HTests[] = {
222 { TT_NEGREP, zAab_Fd_Zero_Asm_Posix_Types_HBypass0, (regex_t*)NULL }, };
223
224 /*
225 * Fix Command Arguments for Aab_Fd_Zero_Asm_Posix_Types_H
226 */
227 static const char* apzAab_Fd_Zero_Asm_Posix_Types_HPatch[] = {
228 "/* This file fixes a bug in the __FD_ZERO macro\n\
229 for older versions of the Linux kernel. */\n\
230 #ifndef _POSIX_TYPES_H_WRAPPER\n\
231 #include <features.h>\n\
232 #include_next <asm/posix_types.h>\n\n\
233 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
234 #undef __FD_ZERO\n\
235 #define __FD_ZERO(fdsetp) \\\n\
236 do { \\\n\
237 int __d0, __d1; \\\n\
238 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
239 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
240 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
241 \"1\" ((__kernel_fd_set *) (fdsetp)) :\"memory\"); \\\n\
242 } while (0)\n\
243 #endif\n\n\
244 #define _POSIX_TYPES_H_WRAPPER\n\
245 #endif /* _POSIX_TYPES_H_WRAPPER */",
246 (char*)NULL };
247
248 /* * * * * * * * * * * * * * * * * * * * * * * * * *
249 *
250 * Description of Aab_Fd_Zero_Gnu_Types_H fix
251 */
252 tSCC zAab_Fd_Zero_Gnu_Types_HName[] =
253 "AAB_fd_zero_gnu_types_h";
254
255 /*
256 * File name selection pattern
257 */
258 tSCC zAab_Fd_Zero_Gnu_Types_HList[] =
259 "|gnu/types.h|";
260 /*
261 * Machine/OS name selection pattern
262 */
263 tSCC* apzAab_Fd_Zero_Gnu_Types_HMachs[] = {
264 "i[34567]86-*-linux*",
265 (const char*)NULL };
266 #define AAB_FD_ZERO_GNU_TYPES_H_TEST_CT 0
267 #define aAab_Fd_Zero_Gnu_Types_HTests (tTestDesc*)NULL
268
269 /*
270 * Fix Command Arguments for Aab_Fd_Zero_Gnu_Types_H
271 */
272 static const char* apzAab_Fd_Zero_Gnu_Types_HPatch[] = {
273 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 1.x. */\n\
274 #ifndef _TYPES_H_WRAPPER\n\
275 #include <features.h>\n\
276 #include_next <gnu/types.h>\n\n\
277 #if defined(__FD_ZERO) && !defined(__GLIBC__)\n\
278 #undef __FD_ZERO\n\
279 # define __FD_ZERO(fdsetp) \\\n\
280 do { \\\n\
281 int __d0, __d1; \\\n\
282 __asm__ __volatile__(\"cld ; rep ; stosl\" \\\n\
283 : \"=&c\" (__d0), \"=&D\" (__d1) \\\n\
284 : \"a\" (0), \"0\" (__FDSET_LONGS), \\\n\
285 \"1\" ((__fd_set *) (fdsetp)) :\"memory\"); \\\n\
286 } while (0)\n\
287 #endif\n\n\
288 #define _TYPES_H_WRAPPER\n\
289 #endif /* _TYPES_H_WRAPPER */",
290 (char*)NULL };
291
292 /* * * * * * * * * * * * * * * * * * * * * * * * * *
293 *
294 * Description of Aab_Fd_Zero_Selectbits_H fix
295 */
296 tSCC zAab_Fd_Zero_Selectbits_HName[] =
297 "AAB_fd_zero_selectbits_h";
298
299 /*
300 * File name selection pattern
301 */
302 tSCC zAab_Fd_Zero_Selectbits_HList[] =
303 "|selectbits.h|";
304 /*
305 * Machine/OS name selection pattern
306 */
307 tSCC* apzAab_Fd_Zero_Selectbits_HMachs[] = {
308 "i[34567]86-*-linux*",
309 (const char*)NULL };
310 #define AAB_FD_ZERO_SELECTBITS_H_TEST_CT 0
311 #define aAab_Fd_Zero_Selectbits_HTests (tTestDesc*)NULL
312
313 /*
314 * Fix Command Arguments for Aab_Fd_Zero_Selectbits_H
315 */
316 static const char* apzAab_Fd_Zero_Selectbits_HPatch[] = {
317 "/* This file fixes a bug in the __FD_ZERO macro present in glibc 2.0.x. */\n\
318 #ifndef _SELECTBITS_H_WRAPPER\n\
319 #include <features.h>\n\
320 #include_next <selectbits.h>\n\n\
321 #if defined(__FD_ZERO) && defined(__GLIBC__) \\\\\n\
322 && defined(__GLIBC_MINOR__) && __GLIBC__ == 2 \\\\\n\
323 && __GLIBC_MINOR__ == 0\n\
324 #undef __FD_ZERO\n\
325 #define __FD_ZERO(fdsetp) \\\\\n\
326 do { \\\\\n\
327 int __d0, __d1; \\\\\n\
328 __asm__ __volatile__ (\"cld; rep; stosl\" \\\\\n\
329 : \"=&c\" (__d0), \"=&D\" (__d1) \\\\\n\
330 : \"a\" (0), \"0\" (sizeof (__fd_set) \\\\\n\
331 / sizeof (__fd_mask)), \\\\\n\
332 \"1\" ((__fd_mask *) (fdsetp)) \\\\\n\
333 : \"memory\"); \\\\\n\
334 } while (0)\n\
335 #endif\n\n\
336 #define _SELECTBITS_H_WRAPPER\n\
337 #endif /* _SELECTBITS_H_WRAPPER */",
338 (char*)NULL };
339
340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
341 *
342 * Description of Aab_Solaris_Sys_Varargs_H fix
343 */
344 tSCC zAab_Solaris_Sys_Varargs_HName[] =
345 "AAB_solaris_sys_varargs_h";
346
347 /*
348 * File name selection pattern
349 */
350 tSCC zAab_Solaris_Sys_Varargs_HList[] =
351 "|sys/varargs.h|";
352 /*
353 * Machine/OS name selection pattern
354 */
355 tSCC* apzAab_Solaris_Sys_Varargs_HMachs[] = {
356 "*-*-solaris*",
357 (const char*)NULL };
358 #define AAB_SOLARIS_SYS_VARARGS_H_TEST_CT 0
359 #define aAab_Solaris_Sys_Varargs_HTests (tTestDesc*)NULL
360
361 /*
362 * Fix Command Arguments for Aab_Solaris_Sys_Varargs_H
363 */
364 static const char* apzAab_Solaris_Sys_Varargs_HPatch[] = {
365 "#ifdef __STDC__\n\
366 #include <stdarg.h>\n\
367 #else\n\
368 #include <varargs.h>\n\
369 #endif",
370 (char*)NULL };
371
372 /* * * * * * * * * * * * * * * * * * * * * * * * * *
373 *
374 * Description of Aab_Sun_Memcpy fix
375 */
376 tSCC zAab_Sun_MemcpyName[] =
377 "AAB_sun_memcpy";
378
379 /*
380 * File name selection pattern
381 */
382 tSCC zAab_Sun_MemcpyList[] =
383 "|memory.h|";
384 /*
385 * Machine/OS name selection pattern
386 */
387 #define apzAab_Sun_MemcpyMachs (const char**)NULL
388
389 /*
390 * content selection pattern - do fix if pattern found
391 */
392 tSCC zAab_Sun_MemcpySelect0[] =
393 "/\\*\t@\\(#\\)(head/memory.h\t50.1\t |memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
394
395 #define AAB_SUN_MEMCPY_TEST_CT 1
396 static tTestDesc aAab_Sun_MemcpyTests[] = {
397 { TT_EGREP, zAab_Sun_MemcpySelect0, (regex_t*)NULL }, };
398
399 /*
400 * Fix Command Arguments for Aab_Sun_Memcpy
401 */
402 static const char* apzAab_Sun_MemcpyPatch[] = {
403 "/* This file was generated by fixincludes */\n\
404 #ifndef __memory_h__\n\
405 #define __memory_h__\n\n\
406 #ifdef __STDC__\n\
407 extern void *memccpy();\n\
408 extern void *memchr();\n\
409 extern void *memcpy();\n\
410 extern void *memset();\n\
411 #else\n\
412 extern char *memccpy();\n\
413 extern char *memchr();\n\
414 extern char *memcpy();\n\
415 extern char *memset();\n\
416 #endif /* __STDC__ */\n\n\
417 extern int memcmp();\n\n\
418 #endif /* __memory_h__ */\n\
419 _EndOfHeader;\n\
420 };\n\n\n\
421 /*\n\
422 * Completely replace <sys/varargs.h> with a file that includes gcc's\n\
423 * stdarg.h or varargs.h files as appropriate.\n\
424 */\n\
425 #ifdef SVR4\n\
426 fix = {\n\
427 hackname = AAB_svr4_no_varargs;\n\
428 files = sys/varargs.h;\n\
429 replace = \"/* This file was generated by fixincludes. */\\n\"\n\
430 \"#ifndef _SYS_VARARGS_H\\n\"\n\
431 \"#define _SYS_VARARGS_H\\n\\n\"\n\n\
432 \"#ifdef __STDC__\\n\"\n\
433 \"#include <stdarg.h>\\n\"\n\
434 \"#else\\n\"\n\
435 \"#include <varargs.h>\\n\"\n\
436 \"#endif\\n\\n\"\n\n\
437 \"#endif /* _SYS_VARARGS_H */\\n\";\n\
438 };\n\
439 #endif\n\n\n\
440 /*\n\
441 * Completely replace <sys/byteorder.h> with a file that implements gcc's\n\
442 * optimized byteswapping. (The original probably implemented some\n\
443 * incompatible optimized byteswapping.)\n\
444 */\n\
445 fix = {\n\
446 hackname = AAB_svr4_replace_byteorder;\n\
447 mach = \"*-*-sysv4*\";\n\
448 mach = \"i[34567]86-*-sysv5*\";\n\
449 mach = \"i[34567]86-*-sco3.2v5*\";\n\
450 mach = \"i[34567]86-*-udk*\";\n\
451 mach = \"i[34567]86-*-solaris2.[0-4]\";\n\
452 mach = \"powerpcle-*-solaris2.[0-4]\";\n\
453 mach = \"sparc-*-solaris2.[0-4]\";\n\
454 mach = \"i[34567]86-sequent-ptx*\";\n\
455 files = sys/byteorder.h;\n\
456 replace = <<- _EndOfHeader_\n\
457 #ifndef _SYS_BYTEORDER_H\n\
458 #define _SYS_BYTEORDER_H\n\n\
459 /* Functions to convert `short' and `long' quantities from host byte order\n\
460 to (internet) network byte order (i.e. big-endian).\n\n\
461 Written by Ron Guilmette (rfg@ncd.com).\n\n\
462 This isn't actually used by GCC. It is installed by fixinc.svr4.\n\n\
463 For big-endian machines these functions are essentially no-ops.\n\n\
464 For little-endian machines, we define the functions using specialized\n\
465 asm sequences in cases where doing so yields better code (e.g. i386). */\n\n\
466 #if !defined (__GNUC__) && !defined (__GNUG__)\n\
467 #error You lose! This file is only useful with GNU compilers.\n\
468 #endif\n\n\
469 #ifndef __BYTE_ORDER__\n\
470 /* Byte order defines. These are as defined on UnixWare 1.1, but with\n\
471 double underscores added at the front and back. */\n\
472 #define __LITTLE_ENDIAN__ 1234\n\
473 #define __BIG_ENDIAN__ 4321\n\
474 #define __PDP_ENDIAN__ 3412\n\
475 #endif\n\n\
476 #ifdef __STDC__\n\
477 static __inline__ unsigned long htonl (unsigned long);\n\
478 static __inline__ unsigned short htons (unsigned int);\n\
479 static __inline__ unsigned long ntohl (unsigned long);\n\
480 static __inline__ unsigned short ntohs (unsigned int);\n\
481 #endif /* defined (__STDC__) */\n\n\
482 #if defined (__i386__)\n\n\
483 #ifndef __BYTE_ORDER__\n\
484 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
485 #endif\n\n\
486 /* Convert a host long to a network long. */\n\n\
487 /* We must use a new-style function definition, so that this will also\n\
488 be valid for C++. */\n\
489 static __inline__ unsigned long\n\
490 htonl (unsigned long __arg)\n\
491 {\n\
492 register unsigned long __result;\n\n\
493 __asm__ (\"xchg%B0 %b0,%h0\n\
494 ror%L0 $16,%0\n\
495 xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
496 return __result;\n\
497 }\n\n\
498 /* Convert a host short to a network short. */\n\n\
499 static __inline__ unsigned short\n\
500 htons (unsigned int __arg)\n\
501 {\n\
502 register unsigned short __result;\n\n\
503 __asm__ (\"xchg%B0 %b0,%h0\" : \"=q\" (__result) : \"0\" (__arg));\n\
504 return __result;\n\
505 }\n\n\
506 #elif (defined (__ns32k__) || defined (__vax__) || defined (__arm__))\n\n\
507 #ifndef __BYTE_ORDER__\n\
508 #define __BYTE_ORDER__ __LITTLE_ENDIAN__\n\
509 #endif\n\n\
510 /* For other little-endian machines, using C code is just as efficient as\n\
511 using assembly code. */\n\n\
512 /* Convert a host long to a network long. */\n\n\
513 static __inline__ unsigned long\n\
514 htonl (unsigned long __arg)\n\
515 {\n\
516 register unsigned long __result;\n\n\
517 __result = (__arg >> 24) & 0x000000ff;\n\
518 __result |= (__arg >> 8) & 0x0000ff00;\n\
519 __result |= (__arg << 8) & 0x00ff0000;\n\
520 __result |= (__arg << 24) & 0xff000000;\n\
521 return __result;\n\
522 }\n\n\
523 /* Convert a host short to a network short. */\n\n\
524 static __inline__ unsigned short\n\
525 htons (unsigned int __arg)\n\
526 {\n\
527 register unsigned short __result;\n\n\
528 __result = (__arg << 8) & 0xff00;\n\
529 __result |= (__arg >> 8) & 0x00ff;\n\
530 return __result;\n\
531 }\n\n\
532 #else /* must be a big-endian machine */\n\n\
533 #ifndef __BYTE_ORDER__\n\
534 #define __BYTE_ORDER__ __BIG_ENDIAN__\n\
535 #endif\n\n\
536 /* Convert a host long to a network long. */\n\n\
537 static __inline__ unsigned long\n\
538 htonl (unsigned long __arg)\n\
539 {\n\
540 return __arg;\n\
541 }\n\n\
542 /* Convert a host short to a network short. */\n\n\
543 static __inline__ unsigned short\n\
544 htons (unsigned int __arg)\n\
545 {\n\
546 return __arg;\n\
547 }\n\n\
548 #endif /* big-endian */\n\n\
549 /* Convert a network long to a host long. */\n\n\
550 static __inline__ unsigned long\n\
551 ntohl (unsigned long __arg)\n\
552 {\n\
553 return htonl (__arg);\n\
554 }\n\n\
555 /* Convert a network short to a host short. */\n\n\
556 static __inline__ unsigned short\n\
557 ntohs (unsigned int __arg)\n\
558 {\n\
559 return htons (__arg);\n\
560 }\n\
561 #endif",
562 (char*)NULL };
563
564 /* * * * * * * * * * * * * * * * * * * * * * * * * *
565 *
566 * Description of Aab_Ultrix_Ansi_Compat fix
567 */
568 tSCC zAab_Ultrix_Ansi_CompatName[] =
569 "AAB_ultrix_ansi_compat";
570
571 /*
572 * File name selection pattern
573 */
574 tSCC zAab_Ultrix_Ansi_CompatList[] =
575 "|ansi_compat.h|";
576 /*
577 * Machine/OS name selection pattern
578 */
579 #define apzAab_Ultrix_Ansi_CompatMachs (const char**)NULL
580
581 /*
582 * content selection pattern - do fix if pattern found
583 */
584 tSCC zAab_Ultrix_Ansi_CompatSelect0[] =
585 "ULTRIX";
586
587 #define AAB_ULTRIX_ANSI_COMPAT_TEST_CT 1
588 static tTestDesc aAab_Ultrix_Ansi_CompatTests[] = {
589 { TT_EGREP, zAab_Ultrix_Ansi_CompatSelect0, (regex_t*)NULL }, };
590
591 /*
592 * Fix Command Arguments for Aab_Ultrix_Ansi_Compat
593 */
594 static const char* apzAab_Ultrix_Ansi_CompatPatch[] = {
595 "/* This file intentionally left blank. */\n",
596 (char*)NULL };
597
598 /* * * * * * * * * * * * * * * * * * * * * * * * * *
599 *
600 * Description of Aab_Ultrix_Limits fix
601 */
602 tSCC zAab_Ultrix_LimitsName[] =
603 "AAB_ultrix_limits";
604
605 /*
606 * File name selection pattern
607 */
608 tSCC zAab_Ultrix_LimitsList[] =
609 "|limits.h|";
610 /*
611 * Machine/OS name selection pattern
612 */
613 tSCC* apzAab_Ultrix_LimitsMachs[] = {
614 "*-*-ultrix4.3",
615 (const char*)NULL };
616 #define AAB_ULTRIX_LIMITS_TEST_CT 0
617 #define aAab_Ultrix_LimitsTests (tTestDesc*)NULL
618
619 /*
620 * Fix Command Arguments for Aab_Ultrix_Limits
621 */
622 static const char* apzAab_Ultrix_LimitsPatch[] = {
623 "#ifndef _LIMITS_INCLUDED\n\
624 #define _LIMITS_INCLUDED\n\
625 #include <sys/limits.h>\n\
626 #endif /* _LIMITS_INCLUDED */",
627 (char*)NULL };
628
629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
630 *
631 * Description of Aab_Ultrix_Memory fix
632 */
633 tSCC zAab_Ultrix_MemoryName[] =
634 "AAB_ultrix_memory";
635
636 /*
637 * File name selection pattern
638 */
639 tSCC zAab_Ultrix_MemoryList[] =
640 "|memory.h|";
641 /*
642 * Machine/OS name selection pattern
643 */
644 tSCC* apzAab_Ultrix_MemoryMachs[] = {
645 "*-*-ultrix4.3",
646 (const char*)NULL };
647 #define AAB_ULTRIX_MEMORY_TEST_CT 0
648 #define aAab_Ultrix_MemoryTests (tTestDesc*)NULL
649
650 /*
651 * Fix Command Arguments for Aab_Ultrix_Memory
652 */
653 static const char* apzAab_Ultrix_MemoryPatch[] = {
654 "#ifndef _MEMORY_INCLUDED\n\
655 #define _MEMORY_INCLUDED\n\
656 #include <strings.h>\n\
657 #endif /* _MEMORY_INCLUDED */",
658 (char*)NULL };
659
660 /* * * * * * * * * * * * * * * * * * * * * * * * * *
661 *
662 * Description of Aab_Ultrix_String fix
663 */
664 tSCC zAab_Ultrix_StringName[] =
665 "AAB_ultrix_string";
666
667 /*
668 * File name selection pattern
669 */
670 tSCC zAab_Ultrix_StringList[] =
671 "|string.h|";
672 /*
673 * Machine/OS name selection pattern
674 */
675 tSCC* apzAab_Ultrix_StringMachs[] = {
676 "*-*-ultrix4.3",
677 (const char*)NULL };
678 #define AAB_ULTRIX_STRING_TEST_CT 0
679 #define aAab_Ultrix_StringTests (tTestDesc*)NULL
680
681 /*
682 * Fix Command Arguments for Aab_Ultrix_String
683 */
684 static const char* apzAab_Ultrix_StringPatch[] = {
685 "#ifndef _STRING_INCLUDED\n\
686 #define _STRING_INCLUDED\n\
687 #include <strings.h>\n\
688 #endif /* _STRING_INCLUDED */",
689 (char*)NULL };
690
691 /* * * * * * * * * * * * * * * * * * * * * * * * * *
692 *
693 * Description of Aix_Pthread fix
694 */
695 tSCC zAix_PthreadName[] =
696 "aix_pthread";
697
698 /*
699 * File name selection pattern
700 */
701 tSCC zAix_PthreadList[] =
702 "|pthread.h|";
703 /*
704 * Machine/OS name selection pattern
705 */
706 #define apzAix_PthreadMachs (const char**)NULL
707
708 /*
709 * content selection pattern - do fix if pattern found
710 */
711 tSCC zAix_PthreadSelect0[] =
712 "(#define [A-Za-z_0-9]+)(\\\\\n\
713 [^A-Za-z_0-9 \t\n\
714 (])";
715
716 #define AIX_PTHREAD_TEST_CT 1
717 static tTestDesc aAix_PthreadTests[] = {
718 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
719
720 /*
721 * Fix Command Arguments for Aix_Pthread
722 */
723 static const char* apzAix_PthreadPatch[] = {
724 "format",
725 "%1 %2",
726 (char*)NULL };
727
728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
729 *
730 * Description of Aix_Sysmachine fix
731 */
732 tSCC zAix_SysmachineName[] =
733 "aix_sysmachine";
734
735 /*
736 * File name selection pattern
737 */
738 tSCC zAix_SysmachineList[] =
739 "|sys/machine.h|";
740 /*
741 * Machine/OS name selection pattern
742 */
743 #define apzAix_SysmachineMachs (const char**)NULL
744
745 /*
746 * content selection pattern - do fix if pattern found
747 */
748 tSCC zAix_SysmachineSelect0[] =
749 "\\\\ +\n";
750
751 #define AIX_SYSMACHINE_TEST_CT 1
752 static tTestDesc aAix_SysmachineTests[] = {
753 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
754
755 /*
756 * Fix Command Arguments for Aix_Sysmachine
757 */
758 static const char* apzAix_SysmachinePatch[] = {
759 "format",
760 "\\\n",
761 (char*)NULL };
762
763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
764 *
765 * Description of Aix_Syswait fix
766 */
767 tSCC zAix_SyswaitName[] =
768 "aix_syswait";
769
770 /*
771 * File name selection pattern
772 */
773 tSCC zAix_SyswaitList[] =
774 "|sys/wait.h|";
775 /*
776 * Machine/OS name selection pattern
777 */
778 #define apzAix_SyswaitMachs (const char**)NULL
779
780 /*
781 * content selection pattern - do fix if pattern found
782 */
783 tSCC zAix_SyswaitSelect0[] =
784 "^extern pid_t wait3\\(\\);\n";
785 tSCC zAix_SyswaitSelect1[] =
786 "bos325,";
787
788 #define AIX_SYSWAIT_TEST_CT 2
789 static tTestDesc aAix_SyswaitTests[] = {
790 { TT_EGREP, zAix_SyswaitSelect0, (regex_t*)NULL },
791 { TT_EGREP, zAix_SyswaitSelect1, (regex_t*)NULL }, };
792
793 /*
794 * Fix Command Arguments for Aix_Syswait
795 */
796 static const char* apzAix_SyswaitPatch[] = {
797 "format",
798 "struct rusage;\n\
799 %0",
800 (char*)NULL };
801
802 /* * * * * * * * * * * * * * * * * * * * * * * * * *
803 *
804 * Description of Aix_Syswait_2 fix
805 */
806 tSCC zAix_Syswait_2Name[] =
807 "aix_syswait_2";
808
809 /*
810 * File name selection pattern
811 */
812 tSCC zAix_Syswait_2List[] =
813 "|sys/wait.h|";
814 /*
815 * Machine/OS name selection pattern
816 */
817 #define apzAix_Syswait_2Machs (const char**)NULL
818
819 /*
820 * content selection pattern - do fix if pattern found
821 */
822 tSCC zAix_Syswait_2Select0[] =
823 "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
824
825 #define AIX_SYSWAIT_2_TEST_CT 1
826 static tTestDesc aAix_Syswait_2Tests[] = {
827 { TT_EGREP, zAix_Syswait_2Select0, (regex_t*)NULL }, };
828
829 /*
830 * Fix Command Arguments for Aix_Syswait_2
831 */
832 static const char* apzAix_Syswait_2Patch[] = {
833 "format",
834 "? (int)%1",
835 (char*)NULL };
836
837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
838 *
839 * Description of Aix_Volatile fix
840 */
841 tSCC zAix_VolatileName[] =
842 "aix_volatile";
843
844 /*
845 * File name selection pattern
846 */
847 tSCC zAix_VolatileList[] =
848 "|sys/signal.h|";
849 /*
850 * Machine/OS name selection pattern
851 */
852 #define apzAix_VolatileMachs (const char**)NULL
853
854 /*
855 * content selection pattern - do fix if pattern found
856 */
857 tSCC zAix_VolatileSelect0[] =
858 "typedef volatile int sig_atomic_t";
859
860 #define AIX_VOLATILE_TEST_CT 1
861 static tTestDesc aAix_VolatileTests[] = {
862 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
863
864 /*
865 * Fix Command Arguments for Aix_Volatile
866 */
867 static const char* apzAix_VolatilePatch[] = {
868 "format",
869 "typedef int sig_atomic_t",
870 (char*)NULL };
871
872 /* * * * * * * * * * * * * * * * * * * * * * * * * *
873 *
874 * Description of Alpha___Assert fix
875 */
876 tSCC zAlpha___AssertName[] =
877 "alpha___assert";
878
879 /*
880 * File name selection pattern
881 */
882 tSCC zAlpha___AssertList[] =
883 "|assert.h|";
884 /*
885 * Machine/OS name selection pattern
886 */
887 #define apzAlpha___AssertMachs (const char**)NULL
888
889 /*
890 * content selection pattern - do fix if pattern found
891 */
892 tSCC zAlpha___AssertSelect0[] =
893 "__assert\\(char \\*, char \\*, int\\)";
894
895 #define ALPHA___ASSERT_TEST_CT 1
896 static tTestDesc aAlpha___AssertTests[] = {
897 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
898
899 /*
900 * Fix Command Arguments for Alpha___Assert
901 */
902 static const char* apzAlpha___AssertPatch[] = {
903 "format",
904 "__assert(const char *, const char *, int)",
905 (char*)NULL };
906
907 /* * * * * * * * * * * * * * * * * * * * * * * * * *
908 *
909 * Description of Alpha___Extern_Prefix fix
910 */
911 tSCC zAlpha___Extern_PrefixName[] =
912 "alpha___extern_prefix";
913
914 /*
915 * File name selection pattern
916 */
917 #define zAlpha___Extern_PrefixList (char*)NULL
918 /*
919 * Machine/OS name selection pattern
920 */
921 tSCC* apzAlpha___Extern_PrefixMachs[] = {
922 "alpha*-dec-osf*",
923 (const char*)NULL };
924
925 /*
926 * content selection pattern - do fix if pattern found
927 */
928 tSCC zAlpha___Extern_PrefixSelect0[] =
929 "(.*)(defined\\(__DECC\\)|def[ \t]*__DECC)[ \t]*\n\
930 (#[ \t]*pragma[ \t]*extern_prefix.*)";
931
932 #define ALPHA___EXTERN_PREFIX_TEST_CT 1
933 static tTestDesc aAlpha___Extern_PrefixTests[] = {
934 { TT_EGREP, zAlpha___Extern_PrefixSelect0, (regex_t*)NULL }, };
935
936 /*
937 * Fix Command Arguments for Alpha___Extern_Prefix
938 */
939 static const char* apzAlpha___Extern_PrefixPatch[] = {
940 "format",
941 "%1 (defined(__DECC) || defined(__PRAGMA_EXTERN_PREFIX))\n\
942 %3",
943 (char*)NULL };
944
945 /* * * * * * * * * * * * * * * * * * * * * * * * * *
946 *
947 * Description of Alpha___Extern_Prefix_Standards fix
948 */
949 tSCC zAlpha___Extern_Prefix_StandardsName[] =
950 "alpha___extern_prefix_standards";
951
952 /*
953 * File name selection pattern
954 */
955 tSCC zAlpha___Extern_Prefix_StandardsList[] =
956 "|standards.h|";
957 /*
958 * Machine/OS name selection pattern
959 */
960 tSCC* apzAlpha___Extern_Prefix_StandardsMachs[] = {
961 "alpha*-dec-osf*",
962 (const char*)NULL };
963
964 /*
965 * content selection pattern - do fix if pattern found
966 */
967 tSCC zAlpha___Extern_Prefix_StandardsSelect0[] =
968 ".*!defined\\(_LIBC_POLLUTION_H_\\) && !defined\\(__DECC\\)";
969
970 #define ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT 1
971 static tTestDesc aAlpha___Extern_Prefix_StandardsTests[] = {
972 { TT_EGREP, zAlpha___Extern_Prefix_StandardsSelect0, (regex_t*)NULL }, };
973
974 /*
975 * Fix Command Arguments for Alpha___Extern_Prefix_Standards
976 */
977 static const char* apzAlpha___Extern_Prefix_StandardsPatch[] = {
978 "format",
979 "%0 && !defined(__PRAGMA_EXTERN_PREFIX)",
980 (char*)NULL };
981
982 /* * * * * * * * * * * * * * * * * * * * * * * * * *
983 *
984 * Description of Alpha___Extern_Prefix_Sys_Stat fix
985 */
986 tSCC zAlpha___Extern_Prefix_Sys_StatName[] =
987 "alpha___extern_prefix_sys_stat";
988
989 /*
990 * File name selection pattern
991 */
992 tSCC zAlpha___Extern_Prefix_Sys_StatList[] =
993 "|sys/stat.h|sys/mount.h|";
994 /*
995 * Machine/OS name selection pattern
996 */
997 tSCC* apzAlpha___Extern_Prefix_Sys_StatMachs[] = {
998 "alpha*-dec-osf5*",
999 (const char*)NULL };
1000
1001 /*
1002 * content selection pattern - do fix if pattern found
1003 */
1004 tSCC zAlpha___Extern_Prefix_Sys_StatSelect0[] =
1005 "#[ \t]*if[ \t]*defined\\(__DECC\\)";
1006
1007 #define ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT 1
1008 static tTestDesc aAlpha___Extern_Prefix_Sys_StatTests[] = {
1009 { TT_EGREP, zAlpha___Extern_Prefix_Sys_StatSelect0, (regex_t*)NULL }, };
1010
1011 /*
1012 * Fix Command Arguments for Alpha___Extern_Prefix_Sys_Stat
1013 */
1014 static const char* apzAlpha___Extern_Prefix_Sys_StatPatch[] = {
1015 "format",
1016 "%0 || defined(__PRAGMA_EXTERN_PREFIX)",
1017 (char*)NULL };
1018
1019 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1020 *
1021 * Description of Alpha_Assert fix
1022 */
1023 tSCC zAlpha_AssertName[] =
1024 "alpha_assert";
1025
1026 /*
1027 * File name selection pattern
1028 */
1029 tSCC zAlpha_AssertList[] =
1030 "|assert.h|";
1031 /*
1032 * Machine/OS name selection pattern
1033 */
1034 #define apzAlpha_AssertMachs (const char**)NULL
1035
1036 /*
1037 * content selection pattern - do fix if pattern found
1038 */
1039 tSCC zAlpha_AssertSelect0[] =
1040 "(#define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1041
1042 #define ALPHA_ASSERT_TEST_CT 1
1043 static tTestDesc aAlpha_AssertTests[] = {
1044 { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
1045
1046 /*
1047 * Fix Command Arguments for Alpha_Assert
1048 */
1049 static const char* apzAlpha_AssertPatch[] = {
1050 "format",
1051 "%1(EX)",
1052 (char*)NULL };
1053
1054 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1055 *
1056 * Description of Alpha_Bad_Lval fix
1057 */
1058 tSCC zAlpha_Bad_LvalName[] =
1059 "alpha_bad_lval";
1060
1061 /*
1062 * File name selection pattern
1063 */
1064 #define zAlpha_Bad_LvalList (char*)NULL
1065 /*
1066 * Machine/OS name selection pattern
1067 */
1068 tSCC* apzAlpha_Bad_LvalMachs[] = {
1069 "alpha*-dec-osf*",
1070 (const char*)NULL };
1071
1072 /*
1073 * content selection pattern - do fix if pattern found
1074 */
1075 tSCC zAlpha_Bad_LvalSelect0[] =
1076 "^[ \t]*#[ \t]*pragma[ \t]+extern_prefix";
1077
1078 #define ALPHA_BAD_LVAL_TEST_CT 1
1079 static tTestDesc aAlpha_Bad_LvalTests[] = {
1080 { TT_EGREP, zAlpha_Bad_LvalSelect0, (regex_t*)NULL }, };
1081
1082 /*
1083 * Fix Command Arguments for Alpha_Bad_Lval
1084 */
1085 static const char* apzAlpha_Bad_LvalPatch[] = { "sed",
1086 "-e", "s/^[ \t]*#[ \t]*define[ \t][ \t]*\\([^(]*\\)\\(([^)]*)\\)[ \t]*\\(_.*\\)\\1\\2[ \t]*$/#define \\1 \\3\\1/",
1087 (char*)NULL };
1088
1089 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1090 *
1091 * Description of Alpha_Getopt fix
1092 */
1093 tSCC zAlpha_GetoptName[] =
1094 "alpha_getopt";
1095
1096 /*
1097 * File name selection pattern
1098 */
1099 tSCC zAlpha_GetoptList[] =
1100 "|stdio.h|stdlib.h|";
1101 /*
1102 * Machine/OS name selection pattern
1103 */
1104 #define apzAlpha_GetoptMachs (const char**)NULL
1105
1106 /*
1107 * content selection pattern - do fix if pattern found
1108 */
1109 tSCC zAlpha_GetoptSelect0[] =
1110 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1111
1112 #define ALPHA_GETOPT_TEST_CT 1
1113 static tTestDesc aAlpha_GetoptTests[] = {
1114 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1115
1116 /*
1117 * Fix Command Arguments for Alpha_Getopt
1118 */
1119 static const char* apzAlpha_GetoptPatch[] = {
1120 "format",
1121 "getopt(int, char *const[], const char *)",
1122 (char*)NULL };
1123
1124 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1125 *
1126 * Description of Alpha_Parens fix
1127 */
1128 tSCC zAlpha_ParensName[] =
1129 "alpha_parens";
1130
1131 /*
1132 * File name selection pattern
1133 */
1134 tSCC zAlpha_ParensList[] =
1135 "|sym.h|";
1136 /*
1137 * Machine/OS name selection pattern
1138 */
1139 #define apzAlpha_ParensMachs (const char**)NULL
1140
1141 /*
1142 * content selection pattern - do fix if pattern found
1143 */
1144 tSCC zAlpha_ParensSelect0[] =
1145 "#ifndef\\(__mips64\\)";
1146
1147 #define ALPHA_PARENS_TEST_CT 1
1148 static tTestDesc aAlpha_ParensTests[] = {
1149 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
1150
1151 /*
1152 * Fix Command Arguments for Alpha_Parens
1153 */
1154 static const char* apzAlpha_ParensPatch[] = {
1155 "format",
1156 "#ifndef __mips64",
1157 (char*)NULL };
1158
1159 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1160 *
1161 * Description of Alpha_Pthread fix
1162 */
1163 tSCC zAlpha_PthreadName[] =
1164 "alpha_pthread";
1165
1166 /*
1167 * File name selection pattern
1168 */
1169 tSCC zAlpha_PthreadList[] =
1170 "|pthread.h|";
1171 /*
1172 * Machine/OS name selection pattern
1173 */
1174 tSCC* apzAlpha_PthreadMachs[] = {
1175 "alpha*-dec-osf*",
1176 (const char*)NULL };
1177
1178 /*
1179 * content selection pattern - do fix if pattern found
1180 */
1181 tSCC zAlpha_PthreadSelect0[] =
1182 "((#[ \t]*if)([ \t]*defined[ \t]*\\(_PTHREAD_ENV_DECC\\)|def _PTHREAD_ENV_DECC)(.*))\n\
1183 (#[ \t]*define _PTHREAD_USE_PTDNAM_)";
1184
1185 #define ALPHA_PTHREAD_TEST_CT 1
1186 static tTestDesc aAlpha_PthreadTests[] = {
1187 { TT_EGREP, zAlpha_PthreadSelect0, (regex_t*)NULL }, };
1188
1189 /*
1190 * Fix Command Arguments for Alpha_Pthread
1191 */
1192 static const char* apzAlpha_PthreadPatch[] = {
1193 "format",
1194 "%2 defined (_PTHREAD_ENV_DECC)%4 || defined (__PRAGMA_EXTERN_PREFIX)\n\
1195 %5",
1196 (char*)NULL };
1197
1198 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1199 *
1200 * Description of Alpha_Pthread_Gcc fix
1201 */
1202 tSCC zAlpha_Pthread_GccName[] =
1203 "alpha_pthread_gcc";
1204
1205 /*
1206 * File name selection pattern
1207 */
1208 tSCC zAlpha_Pthread_GccList[] =
1209 "|pthread.h|";
1210 /*
1211 * Machine/OS name selection pattern
1212 */
1213 tSCC* apzAlpha_Pthread_GccMachs[] = {
1214 "alpha*-dec-osf*",
1215 (const char*)NULL };
1216
1217 /*
1218 * content selection pattern - do fix if pattern found
1219 */
1220 tSCC zAlpha_Pthread_GccSelect0[] =
1221 "#else\n\
1222 # error <pthread.h>: unrecognized compiler.";
1223
1224 #define ALPHA_PTHREAD_GCC_TEST_CT 1
1225 static tTestDesc aAlpha_Pthread_GccTests[] = {
1226 { TT_EGREP, zAlpha_Pthread_GccSelect0, (regex_t*)NULL }, };
1227
1228 /*
1229 * Fix Command Arguments for Alpha_Pthread_Gcc
1230 */
1231 static const char* apzAlpha_Pthread_GccPatch[] = {
1232 "format",
1233 "#elif defined (__GNUC__)\n\
1234 # define _PTHREAD_ENV_GCC\n\
1235 %0",
1236 (char*)NULL };
1237
1238 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1239 *
1240 * Description of Alpha_Pthread_Init fix
1241 */
1242 tSCC zAlpha_Pthread_InitName[] =
1243 "alpha_pthread_init";
1244
1245 /*
1246 * File name selection pattern
1247 */
1248 tSCC zAlpha_Pthread_InitList[] =
1249 "|pthread.h|";
1250 /*
1251 * Machine/OS name selection pattern
1252 */
1253 tSCC* apzAlpha_Pthread_InitMachs[] = {
1254 "alpha*-dec-osf*",
1255 (const char*)NULL };
1256
1257 /*
1258 * content selection pattern - do fix if pattern found
1259 */
1260 tSCC zAlpha_Pthread_InitSelect0[] =
1261 " \\* @\\(#\\).RCSfile: pthread\\.h,v \\$ .Revision: 1\\.1\\.33\\.21 \\$ \\(DEC\\) .Date: 2000/08/15 15:30:13 \\$";
1262
1263 #define ALPHA_PTHREAD_INIT_TEST_CT 1
1264 static tTestDesc aAlpha_Pthread_InitTests[] = {
1265 { TT_EGREP, zAlpha_Pthread_InitSelect0, (regex_t*)NULL }, };
1266
1267 /*
1268 * Fix Command Arguments for Alpha_Pthread_Init
1269 */
1270 static const char* apzAlpha_Pthread_InitPatch[] = { "sed",
1271 "-e", "s@MVALID\\(.*\\)A}@MVALID\\1A, 0, 0, 0, 0, 0, 0 }@\n\
1272 s@MVALID\\(.*\\)_}@MVALID\\1_, 0, 0, 0, 0 }@\n\
1273 s@CVALID\\(.*\\)A}@CVALID\\1A, 0, 0, 0, 0 }@\n\
1274 s@CVALID\\(.*\\)_}@CVALID\\1_, 0, 0 }@\n\
1275 s@WVALID\\(.*\\)A}@WVALID\\1A, 0, 0, 0, 0, 0, 0, 0, 0, 0 }@\n\
1276 s@WVALID\\(.*\\)_}@WVALID\\1_, 0, 0, 0, 0, 0, 0, 0 }@\n",
1277 (char*)NULL };
1278
1279 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1280 *
1281 * Description of Alpha_Sbrk fix
1282 */
1283 tSCC zAlpha_SbrkName[] =
1284 "alpha_sbrk";
1285
1286 /*
1287 * File name selection pattern
1288 */
1289 tSCC zAlpha_SbrkList[] =
1290 "|unistd.h|";
1291 /*
1292 * Machine/OS name selection pattern
1293 */
1294 #define apzAlpha_SbrkMachs (const char**)NULL
1295
1296 /*
1297 * content selection pattern - do fix if pattern found
1298 */
1299 tSCC zAlpha_SbrkSelect0[] =
1300 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1301
1302 #define ALPHA_SBRK_TEST_CT 1
1303 static tTestDesc aAlpha_SbrkTests[] = {
1304 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1305
1306 /*
1307 * Fix Command Arguments for Alpha_Sbrk
1308 */
1309 static const char* apzAlpha_SbrkPatch[] = {
1310 "format",
1311 "void *sbrk(",
1312 (char*)NULL };
1313
1314 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1315 *
1316 * Description of Alpha_Wchar fix
1317 */
1318 tSCC zAlpha_WcharName[] =
1319 "alpha_wchar";
1320
1321 /*
1322 * File name selection pattern
1323 */
1324 tSCC zAlpha_WcharList[] =
1325 "|wchar.h|";
1326 /*
1327 * Machine/OS name selection pattern
1328 */
1329 tSCC* apzAlpha_WcharMachs[] = {
1330 "alpha*-dec-osf4*",
1331 (const char*)NULL };
1332
1333 /*
1334 * content selection pattern - do fix if pattern found
1335 */
1336 tSCC zAlpha_WcharSelect0[] =
1337 "#define wcstok wcstok_r";
1338
1339 #define ALPHA_WCHAR_TEST_CT 1
1340 static tTestDesc aAlpha_WcharTests[] = {
1341 { TT_EGREP, zAlpha_WcharSelect0, (regex_t*)NULL }, };
1342
1343 /*
1344 * Fix Command Arguments for Alpha_Wchar
1345 */
1346 static const char* apzAlpha_WcharPatch[] = { "sed",
1347 "-e", "s@#define wcstok wcstok_r@extern wchar_t *wcstok __((wchar_t *, const wchar_t *, wchar_t **)) __asm__(\"wcstok_r\");@",
1348 "-e", "s@#define wcsftime __wcsftime_isoc@extern size_t wcsftime __((wchar_t *, size_t, const wchar_t *, const struct tm *)) __asm__(\"__wcsftime_isoc\");@",
1349 (char*)NULL };
1350
1351 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1352 *
1353 * Description of Avoid_Bool_Define fix
1354 */
1355 tSCC zAvoid_Bool_DefineName[] =
1356 "avoid_bool_define";
1357
1358 /*
1359 * File name selection pattern
1360 */
1361 tSCC zAvoid_Bool_DefineList[] =
1362 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1363 /*
1364 * Machine/OS name selection pattern
1365 */
1366 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1367
1368 /*
1369 * content selection pattern - do fix if pattern found
1370 */
1371 tSCC zAvoid_Bool_DefineSelect0[] =
1372 "#[ \t]*define[ \t]+bool[ \t]";
1373
1374 /*
1375 * content bypass pattern - skip fix if pattern found
1376 */
1377 tSCC zAvoid_Bool_DefineBypass0[] =
1378 "__cplusplus";
1379
1380 #define AVOID_BOOL_DEFINE_TEST_CT 2
1381 static tTestDesc aAvoid_Bool_DefineTests[] = {
1382 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1383 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1384
1385 /*
1386 * Fix Command Arguments for Avoid_Bool_Define
1387 */
1388 static const char* apzAvoid_Bool_DefinePatch[] = {
1389 "format",
1390 "#ifndef __cplusplus\n\
1391 %0\n\
1392 #endif",
1393 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1394 (char*)NULL };
1395
1396 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1397 *
1398 * Description of Avoid_Bool_Type fix
1399 */
1400 tSCC zAvoid_Bool_TypeName[] =
1401 "avoid_bool_type";
1402
1403 /*
1404 * File name selection pattern
1405 */
1406 tSCC zAvoid_Bool_TypeList[] =
1407 "|curses.h|curses_colr/curses.h|term.h|tinfo.h|";
1408 /*
1409 * Machine/OS name selection pattern
1410 */
1411 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1412
1413 /*
1414 * content selection pattern - do fix if pattern found
1415 */
1416 tSCC zAvoid_Bool_TypeSelect0[] =
1417 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1418
1419 /*
1420 * content bypass pattern - skip fix if pattern found
1421 */
1422 tSCC zAvoid_Bool_TypeBypass0[] =
1423 "__cplusplus";
1424
1425 #define AVOID_BOOL_TYPE_TEST_CT 2
1426 static tTestDesc aAvoid_Bool_TypeTests[] = {
1427 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1428 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1429
1430 /*
1431 * Fix Command Arguments for Avoid_Bool_Type
1432 */
1433 static const char* apzAvoid_Bool_TypePatch[] = {
1434 "format",
1435 "#ifndef __cplusplus\n\
1436 %0\n\
1437 #endif",
1438 (char*)NULL };
1439
1440 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1441 *
1442 * Description of Avoid_Wchar_T_Type fix
1443 */
1444 tSCC zAvoid_Wchar_T_TypeName[] =
1445 "avoid_wchar_t_type";
1446
1447 /*
1448 * File name selection pattern
1449 */
1450 #define zAvoid_Wchar_T_TypeList (char*)NULL
1451 /*
1452 * Machine/OS name selection pattern
1453 */
1454 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1455
1456 /*
1457 * content selection pattern - do fix if pattern found
1458 */
1459 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1460 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1461
1462 /*
1463 * content bypass pattern - skip fix if pattern found
1464 */
1465 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1466 "__cplusplus";
1467 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1468 "_LINUX_NLS_H";
1469 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1470 "XFree86: xc/lib/X11/Xlib\\.h";
1471
1472 #define AVOID_WCHAR_T_TYPE_TEST_CT 4
1473 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1474 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1475 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1476 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1477 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1478
1479 /*
1480 * Fix Command Arguments for Avoid_Wchar_T_Type
1481 */
1482 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1483 "format",
1484 "#ifndef __cplusplus\n\
1485 %0\n\
1486 #endif",
1487 (char*)NULL };
1488
1489 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1490 *
1491 * Description of Bad_Struct_Term fix
1492 */
1493 tSCC zBad_Struct_TermName[] =
1494 "bad_struct_term";
1495
1496 /*
1497 * File name selection pattern
1498 */
1499 tSCC zBad_Struct_TermList[] =
1500 "|curses.h|";
1501 /*
1502 * Machine/OS name selection pattern
1503 */
1504 #define apzBad_Struct_TermMachs (const char**)NULL
1505
1506 /*
1507 * content selection pattern - do fix if pattern found
1508 */
1509 tSCC zBad_Struct_TermSelect0[] =
1510 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1511
1512 #define BAD_STRUCT_TERM_TEST_CT 1
1513 static tTestDesc aBad_Struct_TermTests[] = {
1514 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1515
1516 /*
1517 * Fix Command Arguments for Bad_Struct_Term
1518 */
1519 static const char* apzBad_Struct_TermPatch[] = {
1520 "format",
1521 "struct term;",
1522 (char*)NULL };
1523
1524 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1525 *
1526 * Description of Badquote fix
1527 */
1528 tSCC zBadquoteName[] =
1529 "badquote";
1530
1531 /*
1532 * File name selection pattern
1533 */
1534 tSCC zBadquoteList[] =
1535 "|sundev/vuid_event.h|";
1536 /*
1537 * Machine/OS name selection pattern
1538 */
1539 #define apzBadquoteMachs (const char**)NULL
1540
1541 /*
1542 * content selection pattern - do fix if pattern found
1543 */
1544 tSCC zBadquoteSelect0[] =
1545 "doesn't";
1546
1547 #define BADQUOTE_TEST_CT 1
1548 static tTestDesc aBadquoteTests[] = {
1549 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
1550
1551 /*
1552 * Fix Command Arguments for Badquote
1553 */
1554 static const char* apzBadquotePatch[] = {
1555 "format",
1556 "does not",
1557 (char*)NULL };
1558
1559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1560 *
1561 * Description of Broken_Assert_Stdio fix
1562 */
1563 tSCC zBroken_Assert_StdioName[] =
1564 "broken_assert_stdio";
1565
1566 /*
1567 * File name selection pattern
1568 */
1569 tSCC zBroken_Assert_StdioList[] =
1570 "|assert.h|";
1571 /*
1572 * Machine/OS name selection pattern
1573 */
1574 #define apzBroken_Assert_StdioMachs (const char**)NULL
1575
1576 /*
1577 * content selection pattern - do fix if pattern found
1578 */
1579 tSCC zBroken_Assert_StdioSelect0[] =
1580 "stderr";
1581
1582 /*
1583 * content bypass pattern - skip fix if pattern found
1584 */
1585 tSCC zBroken_Assert_StdioBypass0[] =
1586 "include.*stdio\\.h";
1587
1588 #define BROKEN_ASSERT_STDIO_TEST_CT 2
1589 static tTestDesc aBroken_Assert_StdioTests[] = {
1590 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1591 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1592
1593 /*
1594 * Fix Command Arguments for Broken_Assert_Stdio
1595 */
1596 static const char* apzBroken_Assert_StdioPatch[] = {
1597 "wrap",
1598 "#include <stdio.h>\n",
1599 (char*)NULL };
1600
1601 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1602 *
1603 * Description of Broken_Assert_Stdlib fix
1604 */
1605 tSCC zBroken_Assert_StdlibName[] =
1606 "broken_assert_stdlib";
1607
1608 /*
1609 * File name selection pattern
1610 */
1611 tSCC zBroken_Assert_StdlibList[] =
1612 "|assert.h|";
1613 /*
1614 * Machine/OS name selection pattern
1615 */
1616 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1617
1618 /*
1619 * content selection pattern - do fix if pattern found
1620 */
1621 tSCC zBroken_Assert_StdlibSelect0[] =
1622 "exit *\\(|abort *\\(";
1623
1624 /*
1625 * content bypass pattern - skip fix if pattern found
1626 */
1627 tSCC zBroken_Assert_StdlibBypass0[] =
1628 "include.*stdlib\\.h";
1629
1630 #define BROKEN_ASSERT_STDLIB_TEST_CT 2
1631 static tTestDesc aBroken_Assert_StdlibTests[] = {
1632 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1633 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1634
1635 /*
1636 * Fix Command Arguments for Broken_Assert_Stdlib
1637 */
1638 static const char* apzBroken_Assert_StdlibPatch[] = {
1639 "wrap",
1640 "#ifdef __cplusplus\n\
1641 #include <stdlib.h>\n\
1642 #endif\n",
1643 (char*)NULL };
1644
1645 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1646 *
1647 * Description of Broken_Cabs fix
1648 */
1649 tSCC zBroken_CabsName[] =
1650 "broken_cabs";
1651
1652 /*
1653 * File name selection pattern
1654 */
1655 tSCC zBroken_CabsList[] =
1656 "|math.h|architecture/ppc/math.h|architecture/i386/math.h|";
1657 /*
1658 * Machine/OS name selection pattern
1659 */
1660 #define apzBroken_CabsMachs (const char**)NULL
1661
1662 /*
1663 * content selection pattern - do fix if pattern found
1664 */
1665 tSCC zBroken_CabsSelect0[] =
1666 "^extern[ \t]+double[ \t]+cabs";
1667
1668 #define BROKEN_CABS_TEST_CT 1
1669 static tTestDesc aBroken_CabsTests[] = {
1670 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1671
1672 /*
1673 * Fix Command Arguments for Broken_Cabs
1674 */
1675 static const char* apzBroken_CabsPatch[] = {
1676 "format",
1677 "",
1678 "^extern[ \t]+double[ \t]+cabs[ \t]*\\([^\\)]*\\);",
1679 (char*)NULL };
1680
1681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1682 *
1683 * Description of Broken_Nan fix
1684 */
1685 tSCC zBroken_NanName[] =
1686 "broken_nan";
1687
1688 /*
1689 * File name selection pattern
1690 */
1691 tSCC zBroken_NanList[] =
1692 "|architecture/ppc/math.h|architecture/i386/math.h|";
1693 /*
1694 * Machine/OS name selection pattern
1695 */
1696 #define apzBroken_NanMachs (const char**)NULL
1697
1698 /*
1699 * content selection pattern - do fix if pattern found
1700 */
1701 tSCC zBroken_NanSelect0[] =
1702 "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
1703
1704 /*
1705 * content bypass pattern - skip fix if pattern found
1706 */
1707 tSCC zBroken_NanBypass0[] =
1708 "powl";
1709
1710 #define BROKEN_NAN_TEST_CT 2
1711 static tTestDesc aBroken_NanTests[] = {
1712 { TT_NEGREP, zBroken_NanBypass0, (regex_t*)NULL },
1713 { TT_EGREP, zBroken_NanSelect0, (regex_t*)NULL }, };
1714
1715 /*
1716 * Fix Command Arguments for Broken_Nan
1717 */
1718 static const char* apzBroken_NanPatch[] = {
1719 "format",
1720 "#if 1",
1721 (char*)NULL };
1722
1723 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1724 *
1725 * Description of Bsd_Stdio_Attrs_Conflict fix
1726 */
1727 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1728 "bsd_stdio_attrs_conflict";
1729
1730 /*
1731 * File name selection pattern
1732 */
1733 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1734 "|stdio.h|";
1735 /*
1736 * Machine/OS name selection pattern
1737 */
1738 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1739 "*-*-*bsd*",
1740 "*-*-*darwin*",
1741 (const char*)NULL };
1742
1743 /*
1744 * content selection pattern - do fix if pattern found
1745 */
1746 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1747 "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1748
1749 #define BSD_STDIO_ATTRS_CONFLICT_TEST_CT 1
1750 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1751 { TT_EGREP, zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1752
1753 /*
1754 * Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1755 */
1756 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1757 "format",
1758 "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1759 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1760 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1761 (char*)NULL };
1762
1763 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1764 *
1765 * Description of Ctrl_Quotes_Def fix
1766 */
1767 tSCC zCtrl_Quotes_DefName[] =
1768 "ctrl_quotes_def";
1769
1770 /*
1771 * File name selection pattern
1772 */
1773 #define zCtrl_Quotes_DefList (char*)NULL
1774 /*
1775 * Machine/OS name selection pattern
1776 */
1777 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1778
1779 /*
1780 * content selection pattern - do fix if pattern found
1781 */
1782 tSCC zCtrl_Quotes_DefSelect0[] =
1783 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1784
1785 #define CTRL_QUOTES_DEF_TEST_CT 1
1786 static tTestDesc aCtrl_Quotes_DefTests[] = {
1787 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1788
1789 /*
1790 * Fix Command Arguments for Ctrl_Quotes_Def
1791 */
1792 static const char* apzCtrl_Quotes_DefPatch[] = {
1793 "char_macro_def",
1794 "CTRL",
1795 (char*)NULL };
1796
1797 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1798 *
1799 * Description of Ctrl_Quotes_Use fix
1800 */
1801 tSCC zCtrl_Quotes_UseName[] =
1802 "ctrl_quotes_use";
1803
1804 /*
1805 * File name selection pattern
1806 */
1807 #define zCtrl_Quotes_UseList (char*)NULL
1808 /*
1809 * Machine/OS name selection pattern
1810 */
1811 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1812
1813 /*
1814 * content selection pattern - do fix if pattern found
1815 */
1816 tSCC zCtrl_Quotes_UseSelect0[] =
1817 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1818
1819 #define CTRL_QUOTES_USE_TEST_CT 1
1820 static tTestDesc aCtrl_Quotes_UseTests[] = {
1821 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1822
1823 /*
1824 * Fix Command Arguments for Ctrl_Quotes_Use
1825 */
1826 static const char* apzCtrl_Quotes_UsePatch[] = {
1827 "char_macro_use",
1828 "CTRL",
1829 (char*)NULL };
1830
1831 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1832 *
1833 * Description of Cxx_Unready fix
1834 */
1835 tSCC zCxx_UnreadyName[] =
1836 "cxx_unready";
1837
1838 /*
1839 * File name selection pattern
1840 */
1841 tSCC zCxx_UnreadyList[] =
1842 "|sys/mman.h|rpc/types.h|";
1843 /*
1844 * Machine/OS name selection pattern
1845 */
1846 #define apzCxx_UnreadyMachs (const char**)NULL
1847
1848 /*
1849 * content selection pattern - do fix if pattern found
1850 */
1851 tSCC zCxx_UnreadySelect0[] =
1852 "[^#]+malloc.*;";
1853
1854 /*
1855 * content bypass pattern - skip fix if pattern found
1856 */
1857 tSCC zCxx_UnreadyBypass0[] =
1858 "\"C\"|__BEGIN_DECLS";
1859
1860 #define CXX_UNREADY_TEST_CT 2
1861 static tTestDesc aCxx_UnreadyTests[] = {
1862 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1863 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
1864
1865 /*
1866 * Fix Command Arguments for Cxx_Unready
1867 */
1868 static const char* apzCxx_UnreadyPatch[] = {
1869 "wrap",
1870 "#ifdef __cplusplus\n\
1871 extern \"C\" {\n\
1872 #endif\n",
1873 "#ifdef __cplusplus\n\
1874 }\n\
1875 #endif\n",
1876 (char*)NULL };
1877
1878 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1879 *
1880 * Description of Darwin_Gcc4_Breakage fix
1881 */
1882 tSCC zDarwin_Gcc4_BreakageName[] =
1883 "darwin_gcc4_breakage";
1884
1885 /*
1886 * File name selection pattern
1887 */
1888 tSCC zDarwin_Gcc4_BreakageList[] =
1889 "|AvailabilityMacros.h|";
1890 /*
1891 * Machine/OS name selection pattern
1892 */
1893 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1894 "*-*-darwin*",
1895 (const char*)NULL };
1896
1897 /*
1898 * content selection pattern - do fix if pattern found
1899 */
1900 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1901 "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1902
1903 #define DARWIN_GCC4_BREAKAGE_TEST_CT 1
1904 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1905 { TT_EGREP, zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1906
1907 /*
1908 * Fix Command Arguments for Darwin_Gcc4_Breakage
1909 */
1910 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1911 "format",
1912 "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1913 (char*)NULL };
1914
1915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1916 *
1917 * Description of Darwin_Private_Extern fix
1918 */
1919 tSCC zDarwin_Private_ExternName[] =
1920 "darwin_private_extern";
1921
1922 /*
1923 * File name selection pattern
1924 */
1925 tSCC zDarwin_Private_ExternList[] =
1926 "|mach-o/dyld.h|";
1927 /*
1928 * Machine/OS name selection pattern
1929 */
1930 tSCC* apzDarwin_Private_ExternMachs[] = {
1931 "*-*-darwin*",
1932 (const char*)NULL };
1933
1934 /*
1935 * content selection pattern - do fix if pattern found
1936 */
1937 tSCC zDarwin_Private_ExternSelect0[] =
1938 "__private_extern__ [a-z_]+ _dyld_";
1939
1940 #define DARWIN_PRIVATE_EXTERN_TEST_CT 1
1941 static tTestDesc aDarwin_Private_ExternTests[] = {
1942 { TT_EGREP, zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
1943
1944 /*
1945 * Fix Command Arguments for Darwin_Private_Extern
1946 */
1947 static const char* apzDarwin_Private_ExternPatch[] = {
1948 "format",
1949 "extern",
1950 "__private_extern__",
1951 (char*)NULL };
1952
1953 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1954 *
1955 * Description of Dec_Intern_Asm fix
1956 */
1957 tSCC zDec_Intern_AsmName[] =
1958 "dec_intern_asm";
1959
1960 /*
1961 * File name selection pattern
1962 */
1963 tSCC zDec_Intern_AsmList[] =
1964 "|c_asm.h|";
1965 /*
1966 * Machine/OS name selection pattern
1967 */
1968 #define apzDec_Intern_AsmMachs (const char**)NULL
1969 #define DEC_INTERN_ASM_TEST_CT 0
1970 #define aDec_Intern_AsmTests (tTestDesc*)NULL
1971
1972 /*
1973 * Fix Command Arguments for Dec_Intern_Asm
1974 */
1975 static const char* apzDec_Intern_AsmPatch[] = { "sed",
1976 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
1977 #ifdef __DECC\n",
1978 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
1979 #endif\n",
1980 (char*)NULL };
1981
1982 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1983 *
1984 * Description of Djgpp_Wchar_H fix
1985 */
1986 tSCC zDjgpp_Wchar_HName[] =
1987 "djgpp_wchar_h";
1988
1989 /*
1990 * File name selection pattern
1991 */
1992 #define zDjgpp_Wchar_HList (char*)NULL
1993 /*
1994 * Machine/OS name selection pattern
1995 */
1996 #define apzDjgpp_Wchar_HMachs (const char**)NULL
1997
1998 /*
1999 * content selection pattern - do fix if pattern found
2000 */
2001 tSCC zDjgpp_Wchar_HSelect0[] =
2002 "__DJ_wint_t";
2003
2004 /*
2005 * content bypass pattern - skip fix if pattern found
2006 */
2007 tSCC zDjgpp_Wchar_HBypass0[] =
2008 "sys/djtypes.h";
2009
2010 #define DJGPP_WCHAR_H_TEST_CT 2
2011 static tTestDesc aDjgpp_Wchar_HTests[] = {
2012 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2013 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2014
2015 /*
2016 * Fix Command Arguments for Djgpp_Wchar_H
2017 */
2018 static const char* apzDjgpp_Wchar_HPatch[] = {
2019 "format",
2020 "%0\n\
2021 #include <sys/djtypes.h>",
2022 "#include <stddef.h>",
2023 (char*)NULL };
2024
2025 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2026 *
2027 * Description of Ecd_Cursor fix
2028 */
2029 tSCC zEcd_CursorName[] =
2030 "ecd_cursor";
2031
2032 /*
2033 * File name selection pattern
2034 */
2035 tSCC zEcd_CursorList[] =
2036 "|sunwindow/win_lock.h|sunwindow/win_cursor.h|";
2037 /*
2038 * Machine/OS name selection pattern
2039 */
2040 #define apzEcd_CursorMachs (const char**)NULL
2041
2042 /*
2043 * content selection pattern - do fix if pattern found
2044 */
2045 tSCC zEcd_CursorSelect0[] =
2046 "ecd\\.cursor";
2047
2048 #define ECD_CURSOR_TEST_CT 1
2049 static tTestDesc aEcd_CursorTests[] = {
2050 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
2051
2052 /*
2053 * Fix Command Arguments for Ecd_Cursor
2054 */
2055 static const char* apzEcd_CursorPatch[] = {
2056 "format",
2057 "ecd_cursor",
2058 (char*)NULL };
2059
2060 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2061 *
2062 * Description of Exception_Structure fix
2063 */
2064 tSCC zException_StructureName[] =
2065 "exception_structure";
2066
2067 /*
2068 * File name selection pattern
2069 */
2070 tSCC zException_StructureList[] =
2071 "|math.h|";
2072 /*
2073 * Machine/OS name selection pattern
2074 */
2075 #define apzException_StructureMachs (const char**)NULL
2076
2077 /*
2078 * content selection pattern - do fix if pattern found
2079 */
2080 tSCC zException_StructureSelect0[] =
2081 "matherr";
2082
2083 /*
2084 * content bypass pattern - skip fix if pattern found
2085 */
2086 tSCC zException_StructureBypass0[] =
2087 "matherr.*(struct exception|__MATH_EXCEPTION|[ \\t]*__FP_EXCEPTION[ \\t]*\\*[ \\t]*)";
2088
2089 #define EXCEPTION_STRUCTURE_TEST_CT 2
2090 static tTestDesc aException_StructureTests[] = {
2091 { TT_NEGREP, zException_StructureBypass0, (regex_t*)NULL },
2092 { TT_EGREP, zException_StructureSelect0, (regex_t*)NULL }, };
2093
2094 /*
2095 * Fix Command Arguments for Exception_Structure
2096 */
2097 static const char* apzException_StructurePatch[] = {
2098 "wrap",
2099 "struct exception;\n",
2100 (char*)NULL };
2101
2102 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2103 *
2104 * Description of Freebsd_Gcc3_Breakage fix
2105 */
2106 tSCC zFreebsd_Gcc3_BreakageName[] =
2107 "freebsd_gcc3_breakage";
2108
2109 /*
2110 * File name selection pattern
2111 */
2112 tSCC zFreebsd_Gcc3_BreakageList[] =
2113 "|sys/cdefs.h|";
2114 /*
2115 * Machine/OS name selection pattern
2116 */
2117 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2118 "*-*-freebsd*",
2119 (const char*)NULL };
2120
2121 /*
2122 * content selection pattern - do fix if pattern found
2123 */
2124 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2125 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2126
2127 /*
2128 * content bypass pattern - skip fix if pattern found
2129 */
2130 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2131 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2132
2133 #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
2134 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2135 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2136 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2137
2138 /*
2139 * Fix Command Arguments for Freebsd_Gcc3_Breakage
2140 */
2141 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2142 "format",
2143 "%0 || __GNUC__ >= 3",
2144 (char*)NULL };
2145
2146 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2147 *
2148 * Description of Freebsd_Gcc4_Breakage fix
2149 */
2150 tSCC zFreebsd_Gcc4_BreakageName[] =
2151 "freebsd_gcc4_breakage";
2152
2153 /*
2154 * File name selection pattern
2155 */
2156 tSCC zFreebsd_Gcc4_BreakageList[] =
2157 "|sys/cdefs.h|";
2158 /*
2159 * Machine/OS name selection pattern
2160 */
2161 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2162 "*-*-freebsd*",
2163 (const char*)NULL };
2164
2165 /*
2166 * content selection pattern - do fix if pattern found
2167 */
2168 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2169 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2170
2171 #define FREEBSD_GCC4_BREAKAGE_TEST_CT 1
2172 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2173 { TT_EGREP, zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2174
2175 /*
2176 * Fix Command Arguments for Freebsd_Gcc4_Breakage
2177 */
2178 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2179 "format",
2180 "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2181 (char*)NULL };
2182
2183 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2184 *
2185 * Description of Gnu_Types fix
2186 */
2187 tSCC zGnu_TypesName[] =
2188 "gnu_types";
2189
2190 /*
2191 * File name selection pattern
2192 */
2193 tSCC zGnu_TypesList[] =
2194 "|sys/types.h|stdlib.h|sys/stdtypes.h|stddef.h|memory.h|unistd.h|";
2195 /*
2196 * Machine/OS name selection pattern
2197 */
2198 tSCC* apzGnu_TypesMachs[] = {
2199 "*-*-solaris2.1[0-9]*",
2200 (const char*)NULL };
2201
2202 /*
2203 * content selection pattern - do fix if pattern found
2204 */
2205 tSCC zGnu_TypesSelect0[] =
2206 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2207
2208 /*
2209 * content bypass pattern - skip fix if pattern found
2210 */
2211 tSCC zGnu_TypesBypass0[] =
2212 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2213
2214 #define GNU_TYPES_TEST_CT 2
2215 static tTestDesc aGnu_TypesTests[] = {
2216 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
2217 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
2218
2219 /*
2220 * Fix Command Arguments for Gnu_Types
2221 */
2222 static const char* apzGnu_TypesPatch[] = {
2223 "gnu_type",
2224 (char*)NULL };
2225
2226 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2227 *
2228 * Description of Hp_Inline fix
2229 */
2230 tSCC zHp_InlineName[] =
2231 "hp_inline";
2232
2233 /*
2234 * File name selection pattern
2235 */
2236 tSCC zHp_InlineList[] =
2237 "|sys/spinlock.h|machine/machparam.h|";
2238 /*
2239 * Machine/OS name selection pattern
2240 */
2241 #define apzHp_InlineMachs (const char**)NULL
2242
2243 /*
2244 * content selection pattern - do fix if pattern found
2245 */
2246 tSCC zHp_InlineSelect0[] =
2247 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2248
2249 #define HP_INLINE_TEST_CT 1
2250 static tTestDesc aHp_InlineTests[] = {
2251 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
2252
2253 /*
2254 * Fix Command Arguments for Hp_Inline
2255 */
2256 static const char* apzHp_InlinePatch[] = {
2257 "format",
2258 "%1<machine/%2.h>",
2259 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
2260 (char*)NULL };
2261
2262 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2263 *
2264 * Description of Hp_Sysfile fix
2265 */
2266 tSCC zHp_SysfileName[] =
2267 "hp_sysfile";
2268
2269 /*
2270 * File name selection pattern
2271 */
2272 tSCC zHp_SysfileList[] =
2273 "|sys/file.h|";
2274 /*
2275 * Machine/OS name selection pattern
2276 */
2277 #define apzHp_SysfileMachs (const char**)NULL
2278
2279 /*
2280 * content selection pattern - do fix if pattern found
2281 */
2282 tSCC zHp_SysfileSelect0[] =
2283 "HPUX_SOURCE";
2284
2285 #define HP_SYSFILE_TEST_CT 1
2286 static tTestDesc aHp_SysfileTests[] = {
2287 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
2288
2289 /*
2290 * Fix Command Arguments for Hp_Sysfile
2291 */
2292 static const char* apzHp_SysfilePatch[] = {
2293 "format",
2294 "(struct file *, ...)",
2295 "\\(\\.\\.\\.\\)",
2296 (char*)NULL };
2297
2298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2299 *
2300 * Description of Hpux10_Cpp_Pow_Inline fix
2301 */
2302 tSCC zHpux10_Cpp_Pow_InlineName[] =
2303 "hpux10_cpp_pow_inline";
2304
2305 /*
2306 * File name selection pattern
2307 */
2308 tSCC zHpux10_Cpp_Pow_InlineList[] =
2309 "|fixinc-test-limits.h|math.h|";
2310 /*
2311 * Machine/OS name selection pattern
2312 */
2313 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
2314
2315 /*
2316 * content selection pattern - do fix if pattern found
2317 */
2318 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
2319 "^# +ifdef +__cplusplus\n\
2320 +\\}\n\
2321 +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
2322 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
2323 +\\}\n\
2324 +extern +\"C\" +\\{\n\
2325 #else\n\
2326 # +endif";
2327
2328 #define HPUX10_CPP_POW_INLINE_TEST_CT 1
2329 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
2330 { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2331
2332 /*
2333 * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
2334 */
2335 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
2336 "format",
2337 "",
2338 (char*)NULL };
2339
2340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2341 *
2342 * Description of Hpux11_Cpp_Pow_Inline fix
2343 */
2344 tSCC zHpux11_Cpp_Pow_InlineName[] =
2345 "hpux11_cpp_pow_inline";
2346
2347 /*
2348 * File name selection pattern
2349 */
2350 tSCC zHpux11_Cpp_Pow_InlineList[] =
2351 "|math.h|";
2352 /*
2353 * Machine/OS name selection pattern
2354 */
2355 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
2356
2357 /*
2358 * content selection pattern - do fix if pattern found
2359 */
2360 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
2361 " +inline double pow\\(double d,int expon\\) \\{\n\
2362 +return pow\\(d, \\(double\\)expon\\);\n\
2363 +\\}\n";
2364
2365 #define HPUX11_CPP_POW_INLINE_TEST_CT 1
2366 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
2367 { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
2368
2369 /*
2370 * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
2371 */
2372 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
2373 "format",
2374 "",
2375 (char*)NULL };
2376
2377 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2378 *
2379 * Description of Hpux10_Ctype_Declarations1 fix
2380 */
2381 tSCC zHpux10_Ctype_Declarations1Name[] =
2382 "hpux10_ctype_declarations1";
2383
2384 /*
2385 * File name selection pattern
2386 */
2387 tSCC zHpux10_Ctype_Declarations1List[] =
2388 "|ctype.h|";
2389 /*
2390 * Machine/OS name selection pattern
2391 */
2392 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
2393
2394 /*
2395 * content selection pattern - do fix if pattern found
2396 */
2397 tSCC zHpux10_Ctype_Declarations1Select0[] =
2398 "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
2399
2400 /*
2401 * content bypass pattern - skip fix if pattern found
2402 */
2403 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
2404 "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
2405
2406 #define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2
2407 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
2408 { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
2409 { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
2410
2411 /*
2412 * Fix Command Arguments for Hpux10_Ctype_Declarations1
2413 */
2414 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
2415 "format",
2416 "#ifdef _PROTOTYPES\n\
2417 extern int __tolower(int);\n\
2418 extern int __toupper(int);\n\
2419 #else /* NOT _PROTOTYPES */\n\
2420 extern int __tolower();\n\
2421 extern int __toupper();\n\
2422 #endif /* _PROTOTYPES */\n\n\
2423 %0\n",
2424 (char*)NULL };
2425
2426 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2427 *
2428 * Description of Hpux10_Ctype_Declarations2 fix
2429 */
2430 tSCC zHpux10_Ctype_Declarations2Name[] =
2431 "hpux10_ctype_declarations2";
2432
2433 /*
2434 * File name selection pattern
2435 */
2436 tSCC zHpux10_Ctype_Declarations2List[] =
2437 "|ctype.h|";
2438 /*
2439 * Machine/OS name selection pattern
2440 */
2441 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
2442
2443 /*
2444 * content selection pattern - do fix if pattern found
2445 */
2446 tSCC zHpux10_Ctype_Declarations2Select0[] =
2447 "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
2448
2449 /*
2450 * content bypass pattern - skip fix if pattern found
2451 */
2452 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
2453 "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
2454
2455 #define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2
2456 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
2457 { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
2458 { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
2459
2460 /*
2461 * Fix Command Arguments for Hpux10_Ctype_Declarations2
2462 */
2463 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
2464 "format",
2465 "%0\n\n\
2466 #ifdef _PROTOTYPES\n\
2467 extern int _isalnum(int);\n\
2468 extern int _isalpha(int);\n\
2469 extern int _iscntrl(int);\n\
2470 extern int _isdigit(int);\n\
2471 extern int _isgraph(int);\n\
2472 extern int _islower(int);\n\
2473 extern int _isprint(int);\n\
2474 extern int _ispunct(int);\n\
2475 extern int _isspace(int);\n\
2476 extern int _isupper(int);\n\
2477 extern int _isxdigit(int);\n\
2478 # else /* not _PROTOTYPES */\n\
2479 extern int _isalnum();\n\
2480 extern int _isalpha();\n\
2481 extern int _iscntrl();\n\
2482 extern int _isdigit();\n\
2483 extern int _isgraph();\n\
2484 extern int _islower();\n\
2485 extern int _isprint();\n\
2486 extern int _ispunct();\n\
2487 extern int _isspace();\n\
2488 extern int _isupper();\n\
2489 extern int _isxdigit();\n\
2490 #endif /* _PROTOTYPES */\n",
2491 (char*)NULL };
2492
2493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2494 *
2495 * Description of Hpux10_Stdio_Declarations fix
2496 */
2497 tSCC zHpux10_Stdio_DeclarationsName[] =
2498 "hpux10_stdio_declarations";
2499
2500 /*
2501 * File name selection pattern
2502 */
2503 tSCC zHpux10_Stdio_DeclarationsList[] =
2504 "|stdio.h|";
2505 /*
2506 * Machine/OS name selection pattern
2507 */
2508 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
2509
2510 /*
2511 * content selection pattern - do fix if pattern found
2512 */
2513 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
2514 "^#[ \t]*define _iob[ \t]*__iob";
2515
2516 /*
2517 * content bypass pattern - skip fix if pattern found
2518 */
2519 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
2520 "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
2521
2522 #define HPUX10_STDIO_DECLARATIONS_TEST_CT 2
2523 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
2524 { TT_NEGREP, zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
2525 { TT_EGREP, zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
2526
2527 /*
2528 * Fix Command Arguments for Hpux10_Stdio_Declarations
2529 */
2530 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
2531 "format",
2532 "%0\n\n\
2533 # if defined(__STDC__) || defined(__cplusplus)\n\
2534 extern int snprintf(char *, size_t, const char *, ...);\n\
2535 extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
2536 # else /* not __STDC__) || __cplusplus */\n\
2537 extern int snprintf();\n\
2538 extern int vsnprintf();\n\
2539 # endif /* __STDC__) || __cplusplus */\n",
2540 (char*)NULL };
2541
2542 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2543 *
2544 * Description of Hpux11_Abs fix
2545 */
2546 tSCC zHpux11_AbsName[] =
2547 "hpux11_abs";
2548
2549 /*
2550 * File name selection pattern
2551 */
2552 tSCC zHpux11_AbsList[] =
2553 "|stdlib.h|";
2554 /*
2555 * Machine/OS name selection pattern
2556 */
2557 tSCC* apzHpux11_AbsMachs[] = {
2558 "ia64-hp-hpux11*",
2559 (const char*)NULL };
2560
2561 /*
2562 * content selection pattern - do fix if pattern found
2563 */
2564 tSCC zHpux11_AbsSelect0[] =
2565 "ifndef _MATH_INCLUDED";
2566
2567 #define HPUX11_ABS_TEST_CT 1
2568 static tTestDesc aHpux11_AbsTests[] = {
2569 { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, };
2570
2571 /*
2572 * Fix Command Arguments for Hpux11_Abs
2573 */
2574 static const char* apzHpux11_AbsPatch[] = {
2575 "format",
2576 "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
2577 (char*)NULL };
2578
2579 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2580 *
2581 * Description of Hpux11_Fabsf fix
2582 */
2583 tSCC zHpux11_FabsfName[] =
2584 "hpux11_fabsf";
2585
2586 /*
2587 * File name selection pattern
2588 */
2589 tSCC zHpux11_FabsfList[] =
2590 "|math.h|";
2591 /*
2592 * Machine/OS name selection pattern
2593 */
2594 #define apzHpux11_FabsfMachs (const char**)NULL
2595
2596 /*
2597 * content selection pattern - do fix if pattern found
2598 */
2599 tSCC zHpux11_FabsfSelect0[] =
2600 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
2601
2602 /*
2603 * content bypass pattern - skip fix if pattern found
2604 */
2605 tSCC zHpux11_FabsfBypass0[] =
2606 "__cplusplus";
2607
2608 #define HPUX11_FABSF_TEST_CT 2
2609 static tTestDesc aHpux11_FabsfTests[] = {
2610 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
2611 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
2612
2613 /*
2614 * Fix Command Arguments for Hpux11_Fabsf
2615 */
2616 static const char* apzHpux11_FabsfPatch[] = {
2617 "format",
2618 "#ifndef __cplusplus\n\
2619 %0\n\
2620 #endif",
2621 (char*)NULL };
2622
2623 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2624 *
2625 * Description of Hpux11_Size_T fix
2626 */
2627 tSCC zHpux11_Size_TName[] =
2628 "hpux11_size_t";
2629
2630 /*
2631 * File name selection pattern
2632 */
2633 #define zHpux11_Size_TList (char*)NULL
2634 /*
2635 * Machine/OS name selection pattern
2636 */
2637 tSCC* apzHpux11_Size_TMachs[] = {
2638 "*-hp-hpux11*",
2639 (const char*)NULL };
2640
2641 /*
2642 * content selection pattern - do fix if pattern found
2643 */
2644 tSCC zHpux11_Size_TSelect0[] =
2645 "__size_t";
2646
2647 #define HPUX11_SIZE_T_TEST_CT 1
2648 static tTestDesc aHpux11_Size_TTests[] = {
2649 { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
2650
2651 /*
2652 * Fix Command Arguments for Hpux11_Size_T
2653 */
2654 static const char* apzHpux11_Size_TPatch[] = {
2655 "format",
2656 "_hpux_size_t",
2657 (char*)NULL };
2658
2659 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2660 *
2661 * Description of Hpux11_Snprintf fix
2662 */
2663 tSCC zHpux11_SnprintfName[] =
2664 "hpux11_snprintf";
2665
2666 /*
2667 * File name selection pattern
2668 */
2669 tSCC zHpux11_SnprintfList[] =
2670 "|stdio.h|";
2671 /*
2672 * Machine/OS name selection pattern
2673 */
2674 #define apzHpux11_SnprintfMachs (const char**)NULL
2675
2676 /*
2677 * content selection pattern - do fix if pattern found
2678 */
2679 tSCC zHpux11_SnprintfSelect0[] =
2680 "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
2681
2682 #define HPUX11_SNPRINTF_TEST_CT 1
2683 static tTestDesc aHpux11_SnprintfTests[] = {
2684 { TT_EGREP, zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
2685
2686 /*
2687 * Fix Command Arguments for Hpux11_Snprintf
2688 */
2689 static const char* apzHpux11_SnprintfPatch[] = {
2690 "format",
2691 "%1 const %3",
2692 (char*)NULL };
2693
2694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2695 *
2696 * Description of Hpux11_Uint32_C fix
2697 */
2698 tSCC zHpux11_Uint32_CName[] =
2699 "hpux11_uint32_c";
2700
2701 /*
2702 * File name selection pattern
2703 */
2704 tSCC zHpux11_Uint32_CList[] =
2705 "|inttypes.h|";
2706 /*
2707 * Machine/OS name selection pattern
2708 */
2709 #define apzHpux11_Uint32_CMachs (const char**)NULL
2710
2711 /*
2712 * content selection pattern - do fix if pattern found
2713 */
2714 tSCC zHpux11_Uint32_CSelect0[] =
2715 "^#define UINT32_C\\(__c\\)[ \t]*__CONCAT__\\(__CONCAT_U__\\(__c\\),l\\)";
2716
2717 #define HPUX11_UINT32_C_TEST_CT 1
2718 static tTestDesc aHpux11_Uint32_CTests[] = {
2719 { TT_EGREP, zHpux11_Uint32_CSelect0, (regex_t*)NULL }, };
2720
2721 /*
2722 * Fix Command Arguments for Hpux11_Uint32_C
2723 */
2724 static const char* apzHpux11_Uint32_CPatch[] = {
2725 "format",
2726 "#define UINT32_C(__c) __CONCAT__(__c,ul)",
2727 (char*)NULL };
2728
2729 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2730 *
2731 * Description of Hpux11_Vsnprintf fix
2732 */
2733 tSCC zHpux11_VsnprintfName[] =
2734 "hpux11_vsnprintf";
2735
2736 /*
2737 * File name selection pattern
2738 */
2739 tSCC zHpux11_VsnprintfList[] =
2740 "|stdio.h|";
2741 /*
2742 * Machine/OS name selection pattern
2743 */
2744 #define apzHpux11_VsnprintfMachs (const char**)NULL
2745
2746 /*
2747 * content selection pattern - do fix if pattern found
2748 */
2749 tSCC zHpux11_VsnprintfSelect0[] =
2750 "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
2751
2752 #define HPUX11_VSNPRINTF_TEST_CT 1
2753 static tTestDesc aHpux11_VsnprintfTests[] = {
2754 { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
2755
2756 /*
2757 * Fix Command Arguments for Hpux11_Vsnprintf
2758 */
2759 static const char* apzHpux11_VsnprintfPatch[] = {
2760 "format",
2761 "%1 __va_list);",
2762 (char*)NULL };
2763
2764 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2765 *
2766 * Description of Hpux8_Bogus_Inlines fix
2767 */
2768 tSCC zHpux8_Bogus_InlinesName[] =
2769 "hpux8_bogus_inlines";
2770
2771 /*
2772 * File name selection pattern
2773 */
2774 tSCC zHpux8_Bogus_InlinesList[] =
2775 "|math.h|";
2776 /*
2777 * Machine/OS name selection pattern
2778 */
2779 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
2780
2781 /*
2782 * content selection pattern - do fix if pattern found
2783 */
2784 tSCC zHpux8_Bogus_InlinesSelect0[] =
2785 "inline";
2786
2787 /*
2788 * content bypass pattern - skip fix if pattern found
2789 */
2790 tSCC zHpux8_Bogus_InlinesBypass0[] =
2791 "__GNUG__";
2792
2793 #define HPUX8_BOGUS_INLINES_TEST_CT 2
2794 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
2795 { TT_NEGREP, zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
2796 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
2797
2798 /*
2799 * Fix Command Arguments for Hpux8_Bogus_Inlines
2800 */
2801 static const char* apzHpux8_Bogus_InlinesPatch[] = { "sed",
2802 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
2803 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
2804 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
2805 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
2806 (char*)NULL };
2807
2808 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2809 *
2810 * Description of Hpux_Ctype_Macros fix
2811 */
2812 tSCC zHpux_Ctype_MacrosName[] =
2813 "hpux_ctype_macros";
2814
2815 /*
2816 * File name selection pattern
2817 */
2818 tSCC zHpux_Ctype_MacrosList[] =
2819 "|ctype.h|";
2820 /*
2821 * Machine/OS name selection pattern
2822 */
2823 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
2824
2825 /*
2826 * content selection pattern - do fix if pattern found
2827 */
2828 tSCC zHpux_Ctype_MacrosSelect0[] =
2829 "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
2830
2831 #define HPUX_CTYPE_MACROS_TEST_CT 1
2832 static tTestDesc aHpux_Ctype_MacrosTests[] = {
2833 { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
2834
2835 /*
2836 * Fix Command Arguments for Hpux_Ctype_Macros
2837 */
2838 static const char* apzHpux_Ctype_MacrosPatch[] = {
2839 "format",
2840 "%1(int)%3",
2841 (char*)NULL };
2842
2843 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2844 *
2845 * Description of Hpux_Htonl fix
2846 */
2847 tSCC zHpux_HtonlName[] =
2848 "hpux_htonl";
2849
2850 /*
2851 * File name selection pattern
2852 */
2853 tSCC zHpux_HtonlList[] =
2854 "|netinet/in.h|";
2855 /*
2856 * Machine/OS name selection pattern
2857 */
2858 #define apzHpux_HtonlMachs (const char**)NULL
2859
2860 /*
2861 * content selection pattern - do fix if pattern found
2862 */
2863 tSCC zHpux_HtonlSelect0[] =
2864 "#ifndef _XOPEN_SOURCE_EXTENDED\n\
2865 (/\\*\n\
2866 \\* Macros for number representation conversion\\.\n\
2867 \\*/\n\
2868 #ifndef ntohl)";
2869
2870 #define HPUX_HTONL_TEST_CT 1
2871 static tTestDesc aHpux_HtonlTests[] = {
2872 { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, };
2873
2874 /*
2875 * Fix Command Arguments for Hpux_Htonl
2876 */
2877 static const char* apzHpux_HtonlPatch[] = {
2878 "format",
2879 "#if 1\n\
2880 %1",
2881 (char*)NULL };
2882
2883 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2884 *
2885 * Description of Hpux_Long_Double fix
2886 */
2887 tSCC zHpux_Long_DoubleName[] =
2888 "hpux_long_double";
2889
2890 /*
2891 * File name selection pattern
2892 */
2893 tSCC zHpux_Long_DoubleList[] =
2894 "|stdlib.h|";
2895 /*
2896 * Machine/OS name selection pattern
2897 */
2898 #define apzHpux_Long_DoubleMachs (const char**)NULL
2899
2900 /*
2901 * content selection pattern - do fix if pattern found
2902 */
2903 tSCC zHpux_Long_DoubleSelect0[] =
2904 "extern[ \t]long_double[ \t]strtold";
2905
2906 /*
2907 * content bypass pattern - skip fix if pattern found
2908 */
2909 tSCC zHpux_Long_DoubleBypass0[] =
2910 "long_double_t";
2911
2912 #define HPUX_LONG_DOUBLE_TEST_CT 2
2913 static tTestDesc aHpux_Long_DoubleTests[] = {
2914 { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL },
2915 { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
2916
2917 /*
2918 * Fix Command Arguments for Hpux_Long_Double
2919 */
2920 static const char* apzHpux_Long_DoublePatch[] = { "sed",
2921 "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
2922 "-e", "s/long_double/long double/g",
2923 (char*)NULL };
2924
2925 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2926 *
2927 * Description of Hpux_Systime fix
2928 */
2929 tSCC zHpux_SystimeName[] =
2930 "hpux_systime";
2931
2932 /*
2933 * File name selection pattern
2934 */
2935 tSCC zHpux_SystimeList[] =
2936 "|sys/time.h|";
2937 /*
2938 * Machine/OS name selection pattern
2939 */
2940 #define apzHpux_SystimeMachs (const char**)NULL
2941
2942 /*
2943 * content selection pattern - do fix if pattern found
2944 */
2945 tSCC zHpux_SystimeSelect0[] =
2946 "^extern struct sigevent;";
2947
2948 #define HPUX_SYSTIME_TEST_CT 1
2949 static tTestDesc aHpux_SystimeTests[] = {
2950 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
2951
2952 /*
2953 * Fix Command Arguments for Hpux_Systime
2954 */
2955 static const char* apzHpux_SystimePatch[] = {
2956 "format",
2957 "struct sigevent;",
2958 (char*)NULL };
2959
2960 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2961 *
2962 * Description of Huge_Val_Hex fix
2963 */
2964 tSCC zHuge_Val_HexName[] =
2965 "huge_val_hex";
2966
2967 /*
2968 * File name selection pattern
2969 */
2970 tSCC zHuge_Val_HexList[] =
2971 "|bits/huge_val.h|";
2972 /*
2973 * Machine/OS name selection pattern
2974 */
2975 #define apzHuge_Val_HexMachs (const char**)NULL
2976
2977 /*
2978 * content selection pattern - do fix if pattern found
2979 */
2980 tSCC zHuge_Val_HexSelect0[] =
2981 "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
2982
2983 /*
2984 * content bypass pattern - skip fix if pattern found
2985 */
2986 tSCC zHuge_Val_HexBypass0[] =
2987 "__builtin_huge_val";
2988
2989 #define HUGE_VAL_HEX_TEST_CT 2
2990 static tTestDesc aHuge_Val_HexTests[] = {
2991 { TT_NEGREP, zHuge_Val_HexBypass0, (regex_t*)NULL },
2992 { TT_EGREP, zHuge_Val_HexSelect0, (regex_t*)NULL }, };
2993
2994 /*
2995 * Fix Command Arguments for Huge_Val_Hex
2996 */
2997 static const char* apzHuge_Val_HexPatch[] = {
2998 "format",
2999 "#define HUGE_VAL (__builtin_huge_val())\n",
3000 (char*)NULL };
3001
3002 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3003 *
3004 * Description of Huge_Valf_Hex fix
3005 */
3006 tSCC zHuge_Valf_HexName[] =
3007 "huge_valf_hex";
3008
3009 /*
3010 * File name selection pattern
3011 */
3012 tSCC zHuge_Valf_HexList[] =
3013 "|bits/huge_val.h|";
3014 /*
3015 * Machine/OS name selection pattern
3016 */
3017 #define apzHuge_Valf_HexMachs (const char**)NULL
3018
3019 /*
3020 * content selection pattern - do fix if pattern found
3021 */
3022 tSCC zHuge_Valf_HexSelect0[] =
3023 "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
3024
3025 /*
3026 * content bypass pattern - skip fix if pattern found
3027 */
3028 tSCC zHuge_Valf_HexBypass0[] =
3029 "__builtin_huge_valf";
3030
3031 #define HUGE_VALF_HEX_TEST_CT 2
3032 static tTestDesc aHuge_Valf_HexTests[] = {
3033 { TT_NEGREP, zHuge_Valf_HexBypass0, (regex_t*)NULL },
3034 { TT_EGREP, zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
3035
3036 /*
3037 * Fix Command Arguments for Huge_Valf_Hex
3038 */
3039 static const char* apzHuge_Valf_HexPatch[] = {
3040 "format",
3041 "#define HUGE_VALF (__builtin_huge_valf())\n",
3042 (char*)NULL };
3043
3044 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3045 *
3046 * Description of Huge_Vall_Hex fix
3047 */
3048 tSCC zHuge_Vall_HexName[] =
3049 "huge_vall_hex";
3050
3051 /*
3052 * File name selection pattern
3053 */
3054 tSCC zHuge_Vall_HexList[] =
3055 "|bits/huge_val.h|";
3056 /*
3057 * Machine/OS name selection pattern
3058 */
3059 #define apzHuge_Vall_HexMachs (const char**)NULL
3060
3061 /*
3062 * content selection pattern - do fix if pattern found
3063 */
3064 tSCC zHuge_Vall_HexSelect0[] =
3065 "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
3066
3067 /*
3068 * content bypass pattern - skip fix if pattern found
3069 */
3070 tSCC zHuge_Vall_HexBypass0[] =
3071 "__builtin_huge_vall";
3072
3073 #define HUGE_VALL_HEX_TEST_CT 2
3074 static tTestDesc aHuge_Vall_HexTests[] = {
3075 { TT_NEGREP, zHuge_Vall_HexBypass0, (regex_t*)NULL },
3076 { TT_EGREP, zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
3077
3078 /*
3079 * Fix Command Arguments for Huge_Vall_Hex
3080 */
3081 static const char* apzHuge_Vall_HexPatch[] = {
3082 "format",
3083 "#define HUGE_VALL (__builtin_huge_vall())\n",
3084 (char*)NULL };
3085
3086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3087 *
3088 * Description of Int_Abort_Free_And_Exit fix
3089 */
3090 tSCC zInt_Abort_Free_And_ExitName[] =
3091 "int_abort_free_and_exit";
3092
3093 /*
3094 * File name selection pattern
3095 */
3096 tSCC zInt_Abort_Free_And_ExitList[] =
3097 "|stdlib.h|";
3098 /*
3099 * Machine/OS name selection pattern
3100 */
3101 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
3102
3103 /*
3104 * content selection pattern - do fix if pattern found
3105 */
3106 tSCC zInt_Abort_Free_And_ExitSelect0[] =
3107 "int[ \t]+(abort|free|exit)[ \t]*\\(";
3108
3109 /*
3110 * content bypass pattern - skip fix if pattern found
3111 */
3112 tSCC zInt_Abort_Free_And_ExitBypass0[] =
3113 "_CLASSIC_ANSI_TYPES";
3114
3115 #define INT_ABORT_FREE_AND_EXIT_TEST_CT 2
3116 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
3117 { TT_NEGREP, zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
3118 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
3119
3120 /*
3121 * Fix Command Arguments for Int_Abort_Free_And_Exit
3122 */
3123 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
3124 "format",
3125 "void\t%1(",
3126 (char*)NULL };
3127
3128 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3129 *
3130 * Description of Io_Quotes_Def fix
3131 */
3132 tSCC zIo_Quotes_DefName[] =
3133 "io_quotes_def";
3134
3135 /*
3136 * File name selection pattern
3137 */
3138 #define zIo_Quotes_DefList (char*)NULL
3139 /*
3140 * Machine/OS name selection pattern
3141 */
3142 #define apzIo_Quotes_DefMachs (const char**)NULL
3143
3144 /*
3145 * content selection pattern - do fix if pattern found
3146 */
3147 tSCC zIo_Quotes_DefSelect0[] =
3148 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
3149
3150 #define IO_QUOTES_DEF_TEST_CT 1
3151 static tTestDesc aIo_Quotes_DefTests[] = {
3152 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
3153
3154 /*
3155 * Fix Command Arguments for Io_Quotes_Def
3156 */
3157 static const char* apzIo_Quotes_DefPatch[] = {
3158 "char_macro_def",
3159 "IO",
3160 (char*)NULL };
3161
3162 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3163 *
3164 * Description of Io_Quotes_Use fix
3165 */
3166 tSCC zIo_Quotes_UseName[] =
3167 "io_quotes_use";
3168
3169 /*
3170 * File name selection pattern
3171 */
3172 #define zIo_Quotes_UseList (char*)NULL
3173 /*
3174 * Machine/OS name selection pattern
3175 */
3176 #define apzIo_Quotes_UseMachs (const char**)NULL
3177
3178 /*
3179 * content selection pattern - do fix if pattern found
3180 */
3181 tSCC zIo_Quotes_UseSelect0[] =
3182 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
3183
3184 #define IO_QUOTES_USE_TEST_CT 1
3185 static tTestDesc aIo_Quotes_UseTests[] = {
3186 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
3187
3188 /*
3189 * Fix Command Arguments for Io_Quotes_Use
3190 */
3191 static const char* apzIo_Quotes_UsePatch[] = {
3192 "char_macro_use",
3193 "IO",
3194 (char*)NULL };
3195
3196 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3197 *
3198 * Description of Ip_Missing_Semi fix
3199 */
3200 tSCC zIp_Missing_SemiName[] =
3201 "ip_missing_semi";
3202
3203 /*
3204 * File name selection pattern
3205 */
3206 tSCC zIp_Missing_SemiList[] =
3207 "|netinet/ip.h|";
3208 /*
3209 * Machine/OS name selection pattern
3210 */
3211 #define apzIp_Missing_SemiMachs (const char**)NULL
3212
3213 /*
3214 * content selection pattern - do fix if pattern found
3215 */
3216 tSCC zIp_Missing_SemiSelect0[] =
3217 "}$";
3218
3219 #define IP_MISSING_SEMI_TEST_CT 1
3220 static tTestDesc aIp_Missing_SemiTests[] = {
3221 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
3222
3223 /*
3224 * Fix Command Arguments for Ip_Missing_Semi
3225 */
3226 static const char* apzIp_Missing_SemiPatch[] = { "sed",
3227 "-e", "/^struct/,/^};/s/}$/};/",
3228 (char*)NULL };
3229
3230 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3231 *
3232 * Description of Irix___Restrict fix
3233 */
3234 tSCC zIrix___RestrictName[] =
3235 "irix___restrict";
3236
3237 /*
3238 * File name selection pattern
3239 */
3240 tSCC zIrix___RestrictList[] =
3241 "|internal/sgimacros.h|";
3242 /*
3243 * Machine/OS name selection pattern
3244 */
3245 tSCC* apzIrix___RestrictMachs[] = {
3246 "mips-sgi-irix6.5",
3247 (const char*)NULL };
3248
3249 /*
3250 * content selection pattern - do fix if pattern found
3251 */
3252 tSCC zIrix___RestrictSelect0[] =
3253 "(#ifdef __c99\n\
3254 )(#[ \t]*define __restrict restrict)";
3255
3256 #define IRIX___RESTRICT_TEST_CT 1
3257 static tTestDesc aIrix___RestrictTests[] = {
3258 { TT_EGREP, zIrix___RestrictSelect0, (regex_t*)NULL }, };
3259
3260 /*
3261 * Fix Command Arguments for Irix___Restrict
3262 */
3263 static const char* apzIrix___RestrictPatch[] = {
3264 "format",
3265 "%1# ifndef __cplusplus\n\
3266 %2\n\
3267 # endif",
3268 (char*)NULL };
3269
3270 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3271 *
3272 * Description of Irix___Generic1 fix
3273 */
3274 tSCC zIrix___Generic1Name[] =
3275 "irix___generic1";
3276
3277 /*
3278 * File name selection pattern
3279 */
3280 tSCC zIrix___Generic1List[] =
3281 "|internal/math_core.h|";
3282 /*
3283 * Machine/OS name selection pattern
3284 */
3285 tSCC* apzIrix___Generic1Machs[] = {
3286 "mips-sgi-irix6.5",
3287 (const char*)NULL };
3288
3289 /*
3290 * content selection pattern - do fix if pattern found
3291 */
3292 tSCC zIrix___Generic1Select0[] =
3293 "#define ([a-z]+)\\(x\\) *__generic.*";
3294
3295 #define IRIX___GENERIC1_TEST_CT 1
3296 static tTestDesc aIrix___Generic1Tests[] = {
3297 { TT_EGREP, zIrix___Generic1Select0, (regex_t*)NULL }, };
3298
3299 /*
3300 * Fix Command Arguments for Irix___Generic1
3301 */
3302 static const char* apzIrix___Generic1Patch[] = {
3303 "format",
3304 "extern int %1(double);\n\
3305 extern int %1f(float);\n\
3306 extern int %1l(long double);\n\
3307 #define %1(x) (sizeof(x) == sizeof(double) ? _%1(x) \\\n\
3308 : sizeof(x) == sizeof(float) ? _%1f(x) \\\n\
3309 : _%1l(x))\n",
3310 (char*)NULL };
3311
3312 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3313 *
3314 * Description of Irix___Generic2 fix
3315 */
3316 tSCC zIrix___Generic2Name[] =
3317 "irix___generic2";
3318
3319 /*
3320 * File name selection pattern
3321 */
3322 tSCC zIrix___Generic2List[] =
3323 "|internal/math_core.h|";
3324 /*
3325 * Machine/OS name selection pattern
3326 */
3327 tSCC* apzIrix___Generic2Machs[] = {
3328 "mips-sgi-irix6.5",
3329 (const char*)NULL };
3330
3331 /*
3332 * content selection pattern - do fix if pattern found
3333 */
3334 tSCC zIrix___Generic2Select0[] =
3335 "#define ([a-z]+)\\(x,y\\) *__generic.*";
3336
3337 #define IRIX___GENERIC2_TEST_CT 1
3338 static tTestDesc aIrix___Generic2Tests[] = {
3339 { TT_EGREP, zIrix___Generic2Select0, (regex_t*)NULL }, };
3340
3341 /*
3342 * Fix Command Arguments for Irix___Generic2
3343 */
3344 static const char* apzIrix___Generic2Patch[] = {
3345 "format",
3346 "#define %1(x,y) \\\n\
3347 ((sizeof(x)<=4 && sizeof(y)<=4) ? _%1f(x,y) \\\n\
3348 : (sizeof(x)<=8 && sizeof(y)<=8) ? _%1(x,y) \\\n\
3349 : _%1l(x,y))\n",
3350 (char*)NULL };
3351
3352 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3353 *
3354 * Description of Irix_Asm_Apostrophe fix
3355 */
3356 tSCC zIrix_Asm_ApostropheName[] =
3357 "irix_asm_apostrophe";
3358
3359 /*
3360 * File name selection pattern
3361 */
3362 tSCC zIrix_Asm_ApostropheList[] =
3363 "|sys/asm.h|";
3364 /*
3365 * Machine/OS name selection pattern
3366 */
3367 #define apzIrix_Asm_ApostropheMachs (const char**)NULL
3368
3369 /*
3370 * content selection pattern - do fix if pattern found
3371 */
3372 tSCC zIrix_Asm_ApostropheSelect0[] =
3373 "^[ \t]*#.*[Ww]e're";
3374
3375 #define IRIX_ASM_APOSTROPHE_TEST_CT 1
3376 static tTestDesc aIrix_Asm_ApostropheTests[] = {
3377 { TT_EGREP, zIrix_Asm_ApostropheSelect0, (regex_t*)NULL }, };
3378
3379 /*
3380 * Fix Command Arguments for Irix_Asm_Apostrophe
3381 */
3382 static const char* apzIrix_Asm_ApostrophePatch[] = {
3383 "format",
3384 "%1 are",
3385 "^([ \t]*#.*[Ww]e)'re",
3386 (char*)NULL };
3387
3388 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3389 *
3390 * Description of Irix_Limits_Const fix
3391 */
3392 tSCC zIrix_Limits_ConstName[] =
3393 "irix_limits_const";
3394
3395 /*
3396 * File name selection pattern
3397 */
3398 tSCC zIrix_Limits_ConstList[] =
3399 "|fixinc-test-limits.h|limits.h|";
3400 /*
3401 * Machine/OS name selection pattern
3402 */
3403 #define apzIrix_Limits_ConstMachs (const char**)NULL
3404
3405 /*
3406 * content selection pattern - do fix if pattern found
3407 */
3408 tSCC zIrix_Limits_ConstSelect0[] =
3409 "^extern const ";
3410
3411 #define IRIX_LIMITS_CONST_TEST_CT 1
3412 static tTestDesc aIrix_Limits_ConstTests[] = {
3413 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
3414
3415 /*
3416 * Fix Command Arguments for Irix_Limits_Const
3417 */
3418 static const char* apzIrix_Limits_ConstPatch[] = {
3419 "format",
3420 "extern __const ",
3421 (char*)NULL };
3422
3423 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3424 *
3425 * Description of Irix_Socklen_T fix
3426 */
3427 tSCC zIrix_Socklen_TName[] =
3428 "irix_socklen_t";
3429
3430 /*
3431 * File name selection pattern
3432 */
3433 tSCC zIrix_Socklen_TList[] =
3434 "|sys/socket.h|";
3435 /*
3436 * Machine/OS name selection pattern
3437 */
3438 tSCC* apzIrix_Socklen_TMachs[] = {
3439 "mips-sgi-irix6.5",
3440 (const char*)NULL };
3441
3442 /*
3443 * content selection pattern - do fix if pattern found
3444 */
3445 tSCC zIrix_Socklen_TSelect0[] =
3446 "(#define _SOCKLEN_T\n\
3447 )(typedef u_int32_t socklen_t;)";
3448
3449 #define IRIX_SOCKLEN_T_TEST_CT 1
3450 static tTestDesc aIrix_Socklen_TTests[] = {
3451 { TT_EGREP, zIrix_Socklen_TSelect0, (regex_t*)NULL }, };
3452
3453 /*
3454 * Fix Command Arguments for Irix_Socklen_T
3455 */
3456 static const char* apzIrix_Socklen_TPatch[] = {
3457 "format",
3458 "%1#if _NO_XOPEN4 && _NO_XOPEN5\n\
3459 typedef int socklen_t;\n\
3460 #else\n\
3461 %2\n\
3462 #endif /* _NO_XOPEN4 && _NO_XOPEN5 */",
3463 (char*)NULL };
3464
3465 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3466 *
3467 * Description of Irix_Stdio_Va_List fix
3468 */
3469 tSCC zIrix_Stdio_Va_ListName[] =
3470 "irix_stdio_va_list";
3471
3472 /*
3473 * File name selection pattern
3474 */
3475 tSCC zIrix_Stdio_Va_ListList[] =
3476 "|stdio.h|internal/stdio_core.h|";
3477 /*
3478 * Machine/OS name selection pattern
3479 */
3480 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
3481
3482 /*
3483 * content selection pattern - do fix if pattern found
3484 */
3485 tSCC zIrix_Stdio_Va_ListSelect0[] =
3486 "/\\* va_list \\*/ char \\*";
3487
3488 #define IRIX_STDIO_VA_LIST_TEST_CT 1
3489 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
3490 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
3491
3492 /*
3493 * Fix Command Arguments for Irix_Stdio_Va_List
3494 */
3495 static const char* apzIrix_Stdio_Va_ListPatch[] = {
3496 "format",
3497 "__gnuc_va_list",
3498 (char*)NULL };
3499
3500 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3501 *
3502 * Description of Irix_Wcsftime fix
3503 */
3504 tSCC zIrix_WcsftimeName[] =
3505 "irix_wcsftime";
3506
3507 /*
3508 * File name selection pattern
3509 */
3510 tSCC zIrix_WcsftimeList[] =
3511 "|internal/wchar_core.h|";
3512 /*
3513 * Machine/OS name selection pattern
3514 */
3515 tSCC* apzIrix_WcsftimeMachs[] = {
3516 "mips-sgi-irix6.5",
3517 (const char*)NULL };
3518
3519 /*
3520 * content selection pattern - do fix if pattern found
3521 */
3522 tSCC zIrix_WcsftimeSelect0[] =
3523 "#if _NO_XOPEN5\n\
3524 (extern size_t[ \t]+wcsftime.*const char *.*)";
3525
3526 #define IRIX_WCSFTIME_TEST_CT 1
3527 static tTestDesc aIrix_WcsftimeTests[] = {
3528 { TT_EGREP, zIrix_WcsftimeSelect0, (regex_t*)NULL }, };
3529
3530 /*
3531 * Fix Command Arguments for Irix_Wcsftime
3532 */
3533 static const char* apzIrix_WcsftimePatch[] = {
3534 "format",
3535 "#if _NO_XOPEN5 && !defined(__c99)\n\
3536 %1",
3537 (char*)NULL };
3538
3539 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3540 *
3541 * Description of Isc_Fmod fix
3542 */
3543 tSCC zIsc_FmodName[] =
3544 "isc_fmod";
3545
3546 /*
3547 * File name selection pattern
3548 */
3549 tSCC zIsc_FmodList[] =
3550 "|math.h|";
3551 /*
3552 * Machine/OS name selection pattern
3553 */
3554 #define apzIsc_FmodMachs (const char**)NULL
3555
3556 /*
3557 * content selection pattern - do fix if pattern found
3558 */
3559 tSCC zIsc_FmodSelect0[] =
3560 "fmod\\(double\\)";
3561
3562 #define ISC_FMOD_TEST_CT 1
3563 static tTestDesc aIsc_FmodTests[] = {
3564 { TT_EGREP, zIsc_FmodSelect0, (regex_t*)NULL }, };
3565
3566 /*
3567 * Fix Command Arguments for Isc_Fmod
3568 */
3569 static const char* apzIsc_FmodPatch[] = {
3570 "format",
3571 "fmod(double, double)",
3572 (char*)NULL };
3573
3574 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3575 *
3576 * Description of Isc_Omits_With_Stdc fix
3577 */
3578 tSCC zIsc_Omits_With_StdcName[] =
3579 "isc_omits_with_stdc";
3580
3581 /*
3582 * File name selection pattern
3583 */
3584 tSCC zIsc_Omits_With_StdcList[] =
3585 "|stdio.h|math.h|ctype.h|sys/limits.h|sys/fcntl.h|sys/dirent.h|";
3586 /*
3587 * Machine/OS name selection pattern
3588 */
3589 #define apzIsc_Omits_With_StdcMachs (const char**)NULL
3590
3591 /*
3592 * content selection pattern - do fix if pattern found
3593 */
3594 tSCC zIsc_Omits_With_StdcSelect0[] =
3595 "!defined\\(__STDC__\\) && !defined\\(_POSIX_SOURCE\\)";
3596
3597 #define ISC_OMITS_WITH_STDC_TEST_CT 1
3598 static tTestDesc aIsc_Omits_With_StdcTests[] = {
3599 { TT_EGREP, zIsc_Omits_With_StdcSelect0, (regex_t*)NULL }, };
3600
3601 /*
3602 * Fix Command Arguments for Isc_Omits_With_Stdc
3603 */
3604 static const char* apzIsc_Omits_With_StdcPatch[] = {
3605 "format",
3606 "!defined(_POSIX_SOURCE)",
3607 (char*)NULL };
3608
3609 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3610 *
3611 * Description of Kandr_Concat fix
3612 */
3613 tSCC zKandr_ConcatName[] =
3614 "kandr_concat";
3615
3616 /*
3617 * File name selection pattern
3618 */
3619 tSCC zKandr_ConcatList[] =
3620 "|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|";
3621 /*
3622 * Machine/OS name selection pattern
3623 */
3624 #define apzKandr_ConcatMachs (const char**)NULL
3625
3626 /*
3627 * content selection pattern - do fix if pattern found
3628 */
3629 tSCC zKandr_ConcatSelect0[] =
3630 "/\\*\\*/";
3631
3632 #define KANDR_CONCAT_TEST_CT 1
3633 static tTestDesc aKandr_ConcatTests[] = {
3634 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
3635
3636 /*
3637 * Fix Command Arguments for Kandr_Concat
3638 */
3639 static const char* apzKandr_ConcatPatch[] = {
3640 "format",
3641 "##",
3642 (char*)NULL };
3643
3644 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3645 *
3646 * Description of Libc1_G_Va_List fix
3647 */
3648 tSCC zLibc1_G_Va_ListName[] =
3649 "libc1_G_va_list";
3650
3651 /*
3652 * File name selection pattern
3653 */
3654 tSCC zLibc1_G_Va_ListList[] =
3655 "|_G_config.h|";
3656 /*
3657 * Machine/OS name selection pattern
3658 */
3659 tSCC* apzLibc1_G_Va_ListMachs[] = {
3660 "*-*-linux*libc1",
3661 (const char*)NULL };
3662
3663 /*
3664 * content selection pattern - do fix if pattern found
3665 */
3666 tSCC zLibc1_G_Va_ListSelect0[] =
3667 "typedef void \\* _G_va_list;";
3668
3669 #define LIBC1_G_VA_LIST_TEST_CT 1
3670 static tTestDesc aLibc1_G_Va_ListTests[] = {
3671 { TT_EGREP, zLibc1_G_Va_ListSelect0, (regex_t*)NULL }, };
3672
3673 /*
3674 * Fix Command Arguments for Libc1_G_Va_List
3675 */
3676 static const char* apzLibc1_G_Va_ListPatch[] = {
3677 "format",
3678 "typedef __builtin_va_list _G_va_list;",
3679 (char*)NULL };
3680
3681 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3682 *
3683 * Description of Libc1_Ifdefd_Memx fix
3684 */
3685 tSCC zLibc1_Ifdefd_MemxName[] =
3686 "libc1_ifdefd_memx";
3687
3688 /*
3689 * File name selection pattern
3690 */
3691 tSCC zLibc1_Ifdefd_MemxList[] =
3692 "|testing.h|string.h|";
3693 /*
3694 * Machine/OS name selection pattern
3695 */
3696 #define apzLibc1_Ifdefd_MemxMachs (const char**)NULL
3697
3698 /*
3699 * content selection pattern - do fix if pattern found
3700 */
3701 tSCC zLibc1_Ifdefd_MemxSelect0[] =
3702 "' is a built-in function for gcc 2\\.x\\. \\*/";
3703
3704 /*
3705 * content bypass pattern - skip fix if pattern found
3706 */
3707 tSCC zLibc1_Ifdefd_MemxBypass0[] =
3708 "__cplusplus";
3709
3710 #define LIBC1_IFDEFD_MEMX_TEST_CT 2
3711 static tTestDesc aLibc1_Ifdefd_MemxTests[] = {
3712 { TT_NEGREP, zLibc1_Ifdefd_MemxBypass0, (regex_t*)NULL },
3713 { TT_EGREP, zLibc1_Ifdefd_MemxSelect0, (regex_t*)NULL }, };
3714
3715 /*
3716 * Fix Command Arguments for Libc1_Ifdefd_Memx
3717 */
3718 static const char* apzLibc1_Ifdefd_MemxPatch[] = {
3719 "format",
3720 "%1",
3721 "/\\* `mem...' is a built-in function for gcc 2\\.x\\. \\*/\n\
3722 #if defined\\(__STDC__\\) && __GNUC__ < 2\n\
3723 (/\\* .* \\*/\n\
3724 extern [a-z_]+ mem.*(\n\
3725 [^#].*)*;)\n\
3726 #endif",
3727 (char*)NULL };
3728
3729 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3730 *
3731 * Description of Linux_Ia64_Ucontext fix
3732 */
3733 tSCC zLinux_Ia64_UcontextName[] =
3734 "linux_ia64_ucontext";
3735
3736 /*
3737 * File name selection pattern
3738 */
3739 tSCC zLinux_Ia64_UcontextList[] =
3740 "|sys/ucontext.h|";
3741 /*
3742 * Machine/OS name selection pattern
3743 */
3744 tSCC* apzLinux_Ia64_UcontextMachs[] = {
3745 "ia64-*-linux*",
3746 (const char*)NULL };
3747
3748 /*
3749 * content selection pattern - do fix if pattern found
3750 */
3751 tSCC zLinux_Ia64_UcontextSelect0[] =
3752 "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
3753
3754 #define LINUX_IA64_UCONTEXT_TEST_CT 1
3755 static tTestDesc aLinux_Ia64_UcontextTests[] = {
3756 { TT_EGREP, zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
3757
3758 /*
3759 * Fix Command Arguments for Linux_Ia64_Ucontext
3760 */
3761 static const char* apzLinux_Ia64_UcontextPatch[] = {
3762 "format",
3763 "__builtin_offsetof (struct sigcontext, sc_gr[0])",
3764 (char*)NULL };
3765
3766 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3767 *
3768 * Description of Lynxos_No_Warning_In_Sys_Time_H fix
3769 */
3770 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
3771 "lynxos_no_warning_in_sys_time_h";
3772
3773 /*
3774 * File name selection pattern
3775 */
3776 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
3777 "|sys/time.h|";
3778 /*
3779 * Machine/OS name selection pattern
3780 */
3781 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
3782
3783 /*
3784 * content selection pattern - do fix if pattern found
3785 */
3786 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
3787 "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
3788
3789 #define LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT 1
3790 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
3791 { TT_EGREP, zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
3792
3793 /*
3794 * Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
3795 */
3796 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
3797 "format",
3798 "",
3799 (char*)NULL };
3800
3801 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3802 *
3803 * Description of Lynxos_Missing_Putenv fix
3804 */
3805 tSCC zLynxos_Missing_PutenvName[] =
3806 "lynxos_missing_putenv";
3807
3808 /*
3809 * File name selection pattern
3810 */
3811 tSCC zLynxos_Missing_PutenvList[] =
3812 "|stdlib.h|";
3813 /*
3814 * Machine/OS name selection pattern
3815 */
3816 tSCC* apzLynxos_Missing_PutenvMachs[] = {
3817 "*-*-lynxos*",
3818 (const char*)NULL };
3819
3820 /*
3821 * content selection pattern - do fix if pattern found
3822 */
3823 tSCC zLynxos_Missing_PutenvSelect0[] =
3824 "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
3825
3826 /*
3827 * content bypass pattern - skip fix if pattern found
3828 */
3829 tSCC zLynxos_Missing_PutenvBypass0[] =
3830 "putenv[ \\t]*\\(";
3831
3832 #define LYNXOS_MISSING_PUTENV_TEST_CT 2
3833 static tTestDesc aLynxos_Missing_PutenvTests[] = {
3834 { TT_NEGREP, zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
3835 { TT_EGREP, zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
3836
3837 /*
3838 * Fix Command Arguments for Lynxos_Missing_Putenv
3839 */
3840 static const char* apzLynxos_Missing_PutenvPatch[] = {
3841 "format",
3842 "%0\n\
3843 extern int putenv\t\t\t\t_AP((char *));",
3844 "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
3845 (char*)NULL };
3846
3847 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3848 *
3849 * Description of Machine_Ansi_H_Va_List fix
3850 */
3851 tSCC zMachine_Ansi_H_Va_ListName[] =
3852 "machine_ansi_h_va_list";
3853
3854 /*
3855 * File name selection pattern
3856 */
3857 #define zMachine_Ansi_H_Va_ListList (char*)NULL
3858 /*
3859 * Machine/OS name selection pattern
3860 */
3861 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
3862
3863 /*
3864 * content selection pattern - do fix if pattern found
3865 */
3866 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
3867 "define[ \t]+_BSD_VA_LIST_[ \t]";
3868
3869 /*
3870 * content bypass pattern - skip fix if pattern found
3871 */
3872 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
3873 "__builtin_va_list";
3874
3875 #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
3876 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
3877 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
3878 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
3879
3880 /*
3881 * Fix Command Arguments for Machine_Ansi_H_Va_List
3882 */
3883 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
3884 "format",
3885 "%1__builtin_va_list",
3886 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
3887 (char*)NULL };
3888
3889 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3890 *
3891 * Description of Machine_Name fix
3892 */
3893 tSCC zMachine_NameName[] =
3894 "machine_name";
3895
3896 /*
3897 * File name selection pattern
3898 */
3899 #define zMachine_NameList (char*)NULL
3900 /*
3901 * Machine/OS name selection pattern
3902 */
3903 #define apzMachine_NameMachs (const char**)NULL
3904
3905 /*
3906 * perform the C function call test
3907 */
3908 tSCC zMachine_NameFTst0[] = "machine_name";
3909
3910 #define MACHINE_NAME_TEST_CT 1
3911 static tTestDesc aMachine_NameTests[] = {
3912 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
3913
3914 /*
3915 * Fix Command Arguments for Machine_Name
3916 */
3917 static const char* apzMachine_NamePatch[] = {
3918 "machine_name",
3919 (char*)NULL };
3920
3921 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3922 *
3923 * Description of Math_Exception fix
3924 */
3925 tSCC zMath_ExceptionName[] =
3926 "math_exception";
3927
3928 /*
3929 * File name selection pattern
3930 */
3931 tSCC zMath_ExceptionList[] =
3932 "|math.h|";
3933 /*
3934 * Machine/OS name selection pattern
3935 */
3936 #define apzMath_ExceptionMachs (const char**)NULL
3937
3938 /*
3939 * content selection pattern - do fix if pattern found
3940 */
3941 tSCC zMath_ExceptionSelect0[] =
3942 "struct exception";
3943
3944 /*
3945 * content bypass pattern - skip fix if pattern found
3946 */
3947 tSCC zMath_ExceptionBypass0[] =
3948 "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
3949
3950 #define MATH_EXCEPTION_TEST_CT 2
3951 static tTestDesc aMath_ExceptionTests[] = {
3952 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
3953 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
3954
3955 /*
3956 * Fix Command Arguments for Math_Exception
3957 */
3958 static const char* apzMath_ExceptionPatch[] = {
3959 "wrap",
3960 "#ifdef __cplusplus\n\
3961 #define exception __math_exception\n\
3962 #endif\n",
3963 "#ifdef __cplusplus\n\
3964 #undef exception\n\
3965 #endif\n",
3966 (char*)NULL };
3967
3968 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3969 *
3970 * Description of Math_Huge_Val_From_Dbl_Max fix
3971 */
3972 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
3973 "math_huge_val_from_dbl_max";
3974
3975 /*
3976 * File name selection pattern
3977 */
3978 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
3979 "|math.h|";
3980 /*
3981 * Machine/OS name selection pattern
3982 */
3983 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
3984
3985 /*
3986 * content selection pattern - do fix if pattern found
3987 */
3988 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
3989 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
3990
3991 /*
3992 * content bypass pattern - skip fix if pattern found
3993 */
3994 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
3995 "define[ \t]+DBL_MAX";
3996
3997 #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
3998 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
3999 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
4000 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
4001
4002 /*
4003 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
4004 */
4005 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
4006 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
4007 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
4008 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
4009 \telse cat\n\
4010 \tfi",
4011 (char*)NULL };
4012
4013 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4014 *
4015 * Description of Nested_Auth_Des fix
4016 */
4017 tSCC zNested_Auth_DesName[] =
4018 "nested_auth_des";
4019
4020 /*
4021 * File name selection pattern
4022 */
4023 tSCC zNested_Auth_DesList[] =
4024 "|rpc/rpc.h|";
4025 /*
4026 * Machine/OS name selection pattern
4027 */
4028 #define apzNested_Auth_DesMachs (const char**)NULL
4029
4030 /*
4031 * content selection pattern - do fix if pattern found
4032 */
4033 tSCC zNested_Auth_DesSelect0[] =
4034 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
4035
4036 #define NESTED_AUTH_DES_TEST_CT 1
4037 static tTestDesc aNested_Auth_DesTests[] = {
4038 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
4039
4040 /*
4041 * Fix Command Arguments for Nested_Auth_Des
4042 */
4043 static const char* apzNested_Auth_DesPatch[] = {
4044 "format",
4045 "%1*/ /*",
4046 (char*)NULL };
4047
4048 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4049 *
4050 * Description of Nested_Motorola fix
4051 */
4052 tSCC zNested_MotorolaName[] =
4053 "nested_motorola";
4054
4055 /*
4056 * File name selection pattern
4057 */
4058 tSCC zNested_MotorolaList[] =
4059 "|sys/limits.h|limits.h|";
4060 /*
4061 * Machine/OS name selection pattern
4062 */
4063 tSCC* apzNested_MotorolaMachs[] = {
4064 "m68k-motorola-sysv*",
4065 (const char*)NULL };
4066
4067 /*
4068 * content selection pattern - do fix if pattern found
4069 */
4070 tSCC zNested_MotorolaSelect0[] =
4071 "max # bytes atomic in write|error value returned by Math lib";
4072
4073 #define NESTED_MOTOROLA_TEST_CT 1
4074 static tTestDesc aNested_MotorolaTests[] = {
4075 { TT_EGREP, zNested_MotorolaSelect0, (regex_t*)NULL }, };
4076
4077 /*
4078 * Fix Command Arguments for Nested_Motorola
4079 */
4080 static const char* apzNested_MotorolaPatch[] = { "sed",
4081 "-e", "s@^\\(#undef[ \t][ \t]*PIPE_BUF[ \t]*/\\* max # bytes atomic in write to a\\)$@\\1 */@",
4082 "-e", "s@\\(/\\*#define\tHUGE_VAL\t3.[0-9e+]* \\)\\(/\\*error value returned by Math lib\\*/\\)$@\\1*/ \\2@",
4083 (char*)NULL };
4084
4085 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4086 *
4087 * Description of Nested_Sys_Limits fix
4088 */
4089 tSCC zNested_Sys_LimitsName[] =
4090 "nested_sys_limits";
4091
4092 /*
4093 * File name selection pattern
4094 */
4095 tSCC zNested_Sys_LimitsList[] =
4096 "|sys/limits.h|";
4097 /*
4098 * Machine/OS name selection pattern
4099 */
4100 #define apzNested_Sys_LimitsMachs (const char**)NULL
4101
4102 /*
4103 * content selection pattern - do fix if pattern found
4104 */
4105 tSCC zNested_Sys_LimitsSelect0[] =
4106 "CHILD_MAX";
4107
4108 #define NESTED_SYS_LIMITS_TEST_CT 1
4109 static tTestDesc aNested_Sys_LimitsTests[] = {
4110 { TT_EGREP, zNested_Sys_LimitsSelect0, (regex_t*)NULL }, };
4111
4112 /*
4113 * Fix Command Arguments for Nested_Sys_Limits
4114 */
4115 static const char* apzNested_Sys_LimitsPatch[] = { "sed",
4116 "-e", "/CHILD_MAX/s,/\\* Max, Max,",
4117 "-e", "/OPEN_MAX/s,/\\* Max, Max,",
4118 (char*)NULL };
4119
4120 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4121 *
4122 * Description of Netbsd_Extra_Semicolon fix
4123 */
4124 tSCC zNetbsd_Extra_SemicolonName[] =
4125 "netbsd_extra_semicolon";
4126
4127 /*
4128 * File name selection pattern
4129 */
4130 tSCC zNetbsd_Extra_SemicolonList[] =
4131 "|sys/cdefs.h|";
4132 /*
4133 * Machine/OS name selection pattern
4134 */
4135 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
4136 "*-*-netbsd*",
4137 (const char*)NULL };
4138
4139 /*
4140 * content selection pattern - do fix if pattern found
4141 */
4142 tSCC zNetbsd_Extra_SemicolonSelect0[] =
4143 "#define[ \t]*__END_DECLS[ \t]*};";
4144
4145 #define NETBSD_EXTRA_SEMICOLON_TEST_CT 1
4146 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
4147 { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
4148
4149 /*
4150 * Fix Command Arguments for Netbsd_Extra_Semicolon
4151 */
4152 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
4153 "format",
4154 "#define __END_DECLS }",
4155 (char*)NULL };
4156
4157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4158 *
4159 * Description of Next_Math_Prefix fix
4160 */
4161 tSCC zNext_Math_PrefixName[] =
4162 "next_math_prefix";
4163
4164 /*
4165 * File name selection pattern
4166 */
4167 tSCC zNext_Math_PrefixList[] =
4168 "|ansi/math.h|";
4169 /*
4170 * Machine/OS name selection pattern
4171 */
4172 #define apzNext_Math_PrefixMachs (const char**)NULL
4173
4174 /*
4175 * content selection pattern - do fix if pattern found
4176 */
4177 tSCC zNext_Math_PrefixSelect0[] =
4178 "^extern[ \t]+double[ \t]+__const__[ \t]";
4179
4180 #define NEXT_MATH_PREFIX_TEST_CT 1
4181 static tTestDesc aNext_Math_PrefixTests[] = {
4182 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
4183
4184 /*
4185 * Fix Command Arguments for Next_Math_Prefix
4186 */
4187 static const char* apzNext_Math_PrefixPatch[] = {
4188 "format",
4189 "extern double %1(",
4190 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
4191 (char*)NULL };
4192
4193 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4194 *
4195 * Description of Next_Template fix
4196 */
4197 tSCC zNext_TemplateName[] =
4198 "next_template";
4199
4200 /*
4201 * File name selection pattern
4202 */
4203 tSCC zNext_TemplateList[] =
4204 "|bsd/libc.h|";
4205 /*
4206 * Machine/OS name selection pattern
4207 */
4208 #define apzNext_TemplateMachs (const char**)NULL
4209
4210 /*
4211 * content selection pattern - do fix if pattern found
4212 */
4213 tSCC zNext_TemplateSelect0[] =
4214 "[ \t]template\\)";
4215
4216 #define NEXT_TEMPLATE_TEST_CT 1
4217 static tTestDesc aNext_TemplateTests[] = {
4218 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
4219
4220 /*
4221 * Fix Command Arguments for Next_Template
4222 */
4223 static const char* apzNext_TemplatePatch[] = {
4224 "format",
4225 "(%1)",
4226 "\\(([^)]*)[ \t]template\\)",
4227 (char*)NULL };
4228
4229 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4230 *
4231 * Description of Next_Volitile fix
4232 */
4233 tSCC zNext_VolitileName[] =
4234 "next_volitile";
4235
4236 /*
4237 * File name selection pattern
4238 */
4239 tSCC zNext_VolitileList[] =
4240 "|ansi/stdlib.h|";
4241 /*
4242 * Machine/OS name selection pattern
4243 */
4244 #define apzNext_VolitileMachs (const char**)NULL
4245
4246 /*
4247 * content selection pattern - do fix if pattern found
4248 */
4249 tSCC zNext_VolitileSelect0[] =
4250 "^extern[ \t]+volatile[ \t]+void[ \t]";
4251
4252 #define NEXT_VOLITILE_TEST_CT 1
4253 static tTestDesc aNext_VolitileTests[] = {
4254 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
4255
4256 /*
4257 * Fix Command Arguments for Next_Volitile
4258 */
4259 static const char* apzNext_VolitilePatch[] = {
4260 "format",
4261 "extern void %1(",
4262 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
4263 (char*)NULL };
4264
4265 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4266 *
4267 * Description of Next_Wait_Union fix
4268 */
4269 tSCC zNext_Wait_UnionName[] =
4270 "next_wait_union";
4271
4272 /*
4273 * File name selection pattern
4274 */
4275 tSCC zNext_Wait_UnionList[] =
4276 "|sys/wait.h|";
4277 /*
4278 * Machine/OS name selection pattern
4279 */
4280 #define apzNext_Wait_UnionMachs (const char**)NULL
4281
4282 /*
4283 * content selection pattern - do fix if pattern found
4284 */
4285 tSCC zNext_Wait_UnionSelect0[] =
4286 "wait\\(union wait";
4287
4288 #define NEXT_WAIT_UNION_TEST_CT 1
4289 static tTestDesc aNext_Wait_UnionTests[] = {
4290 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
4291
4292 /*
4293 * Fix Command Arguments for Next_Wait_Union
4294 */
4295 static const char* apzNext_Wait_UnionPatch[] = {
4296 "format",
4297 "wait(void",
4298 (char*)NULL };
4299
4300 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4301 *
4302 * Description of Nodeent_Syntax fix
4303 */
4304 tSCC zNodeent_SyntaxName[] =
4305 "nodeent_syntax";
4306
4307 /*
4308 * File name selection pattern
4309 */
4310 tSCC zNodeent_SyntaxList[] =
4311 "|netdnet/dnetdb.h|";
4312 /*
4313 * Machine/OS name selection pattern
4314 */
4315 #define apzNodeent_SyntaxMachs (const char**)NULL
4316
4317 /*
4318 * content selection pattern - do fix if pattern found
4319 */
4320 tSCC zNodeent_SyntaxSelect0[] =
4321 "char[ \t]*\\*na_addr[ \t]*$";
4322
4323 #define NODEENT_SYNTAX_TEST_CT 1
4324 static tTestDesc aNodeent_SyntaxTests[] = {
4325 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
4326
4327 /*
4328 * Fix Command Arguments for Nodeent_Syntax
4329 */
4330 static const char* apzNodeent_SyntaxPatch[] = {
4331 "format",
4332 "%0;",
4333 (char*)NULL };
4334
4335 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4336 *
4337 * Description of Obstack_Lvalue_Cast fix
4338 */
4339 tSCC zObstack_Lvalue_CastName[] =
4340 "obstack_lvalue_cast";
4341
4342 /*
4343 * File name selection pattern
4344 */
4345 tSCC zObstack_Lvalue_CastList[] =
4346 "|obstack.h|";
4347 /*
4348 * Machine/OS name selection pattern
4349 */
4350 #define apzObstack_Lvalue_CastMachs (const char**)NULL
4351
4352 /*
4353 * content selection pattern - do fix if pattern found
4354 */
4355 tSCC zObstack_Lvalue_CastSelect0[] =
4356 "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
4357
4358 #define OBSTACK_LVALUE_CAST_TEST_CT 1
4359 static tTestDesc aObstack_Lvalue_CastTests[] = {
4360 { TT_EGREP, zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
4361
4362 /*
4363 * Fix Command Arguments for Obstack_Lvalue_Cast
4364 */
4365 static const char* apzObstack_Lvalue_CastPatch[] = {
4366 "format",
4367 "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
4368 (char*)NULL };
4369
4370 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4371 *
4372 * Description of Osf_Namespace_A fix
4373 */
4374 tSCC zOsf_Namespace_AName[] =
4375 "osf_namespace_a";
4376
4377 /*
4378 * File name selection pattern
4379 */
4380 tSCC zOsf_Namespace_AList[] =
4381 "|reg_types.h|sys/lc_core.h|";
4382 /*
4383 * Machine/OS name selection pattern
4384 */
4385 #define apzOsf_Namespace_AMachs (const char**)NULL
4386
4387 /*
4388 * perform the 'test' shell command - do fix on success
4389 */
4390 tSCC zOsf_Namespace_ATest0[] =
4391 " -r reg_types.h";
4392 tSCC zOsf_Namespace_ATest1[] =
4393 " -r sys/lc_core.h";
4394 tSCC zOsf_Namespace_ATest2[] =
4395 " -n \"`grep '} regex_t;' reg_types.h`\"";
4396 tSCC zOsf_Namespace_ATest3[] =
4397 " -z \"`grep __regex_t regex.h`\"";
4398
4399 #define OSF_NAMESPACE_A_TEST_CT 4
4400 static tTestDesc aOsf_Namespace_ATests[] = {
4401 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
4402 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
4403 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
4404 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
4405
4406 /*
4407 * Fix Command Arguments for Osf_Namespace_A
4408 */
4409 static const char* apzOsf_Namespace_APatch[] = {
4410 "format",
4411 "__%0",
4412 "reg(ex|off|match)_t",
4413 (char*)NULL };
4414
4415 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4416 *
4417 * Description of Osf_Namespace_C fix
4418 */
4419 tSCC zOsf_Namespace_CName[] =
4420 "osf_namespace_c";
4421
4422 /*
4423 * File name selection pattern
4424 */
4425 tSCC zOsf_Namespace_CList[] =
4426 "|regex.h|";
4427 /*
4428 * Machine/OS name selection pattern
4429 */
4430 #define apzOsf_Namespace_CMachs (const char**)NULL
4431
4432 /*
4433 * content selection pattern - do fix if pattern found
4434 */
4435 tSCC zOsf_Namespace_CSelect0[] =
4436 "#include <reg_types.h>.*";
4437
4438 /*
4439 * perform the 'test' shell command - do fix on success
4440 */
4441 tSCC zOsf_Namespace_CTest0[] =
4442 " -r reg_types.h";
4443 tSCC zOsf_Namespace_CTest1[] =
4444 " -r sys/lc_core.h";
4445 tSCC zOsf_Namespace_CTest2[] =
4446 " -n \"`grep '} regex_t;' reg_types.h`\"";
4447 tSCC zOsf_Namespace_CTest3[] =
4448 " -z \"`grep __regex_t regex.h`\"";
4449
4450 #define OSF_NAMESPACE_C_TEST_CT 5
4451 static tTestDesc aOsf_Namespace_CTests[] = {
4452 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
4453 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
4454 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
4455 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
4456 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
4457
4458 /*
4459 * Fix Command Arguments for Osf_Namespace_C
4460 */
4461 static const char* apzOsf_Namespace_CPatch[] = {
4462 "format",
4463 "%0\n\
4464 typedef __regex_t\tregex_t;\n\
4465 typedef __regoff_t\tregoff_t;\n\
4466 typedef __regmatch_t\tregmatch_t;",
4467 (char*)NULL };
4468
4469 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4470 *
4471 * Description of Pthread_Page_Size fix
4472 */
4473 tSCC zPthread_Page_SizeName[] =
4474 "pthread_page_size";
4475
4476 /*
4477 * File name selection pattern
4478 */
4479 tSCC zPthread_Page_SizeList[] =
4480 "|pthread.h|";
4481 /*
4482 * Machine/OS name selection pattern
4483 */
4484 #define apzPthread_Page_SizeMachs (const char**)NULL
4485
4486 /*
4487 * content selection pattern - do fix if pattern found
4488 */
4489 tSCC zPthread_Page_SizeSelect0[] =
4490 "^int __page_size";
4491
4492 #define PTHREAD_PAGE_SIZE_TEST_CT 1
4493 static tTestDesc aPthread_Page_SizeTests[] = {
4494 { TT_EGREP, zPthread_Page_SizeSelect0, (regex_t*)NULL }, };
4495
4496 /*
4497 * Fix Command Arguments for Pthread_Page_Size
4498 */
4499 static const char* apzPthread_Page_SizePatch[] = {
4500 "format",
4501 "extern %0",
4502 (char*)NULL };
4503
4504 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4505 *
4506 * Description of Pthread_Incomplete_Struct_Argument fix
4507 */
4508 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
4509 "pthread_incomplete_struct_argument";
4510
4511 /*
4512 * File name selection pattern
4513 */
4514 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
4515 "|pthread.h|";
4516 /*
4517 * Machine/OS name selection pattern
4518 */
4519 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
4520
4521 /*
4522 * content selection pattern - do fix if pattern found
4523 */
4524 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
4525 "struct __jmp_buf_tag";
4526
4527 #define PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT 1
4528 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
4529 { TT_EGREP, zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
4530
4531 /*
4532 * Fix Command Arguments for Pthread_Incomplete_Struct_Argument
4533 */
4534 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
4535 "format",
4536 "%1 *%2%3",
4537 "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
4538 (char*)NULL };
4539
4540 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4541 *
4542 * Description of Read_Ret_Type fix
4543 */
4544 tSCC zRead_Ret_TypeName[] =
4545 "read_ret_type";
4546
4547 /*
4548 * File name selection pattern
4549 */
4550 tSCC zRead_Ret_TypeList[] =
4551 "|stdio.h|";
4552 /*
4553 * Machine/OS name selection pattern
4554 */
4555 #define apzRead_Ret_TypeMachs (const char**)NULL
4556
4557 /*
4558 * content selection pattern - do fix if pattern found
4559 */
4560 tSCC zRead_Ret_TypeSelect0[] =
4561 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
4562
4563 #define READ_RET_TYPE_TEST_CT 1
4564 static tTestDesc aRead_Ret_TypeTests[] = {
4565 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
4566
4567 /*
4568 * Fix Command Arguments for Read_Ret_Type
4569 */
4570 static const char* apzRead_Ret_TypePatch[] = {
4571 "format",
4572 "extern unsigned int fread(), fwrite();\n\
4573 %1%2",
4574 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
4575 (char*)NULL };
4576
4577 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4578 *
4579 * Description of Rpc_Xdr_Lvalue_Cast_A fix
4580 */
4581 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
4582 "rpc_xdr_lvalue_cast_a";
4583
4584 /*
4585 * File name selection pattern
4586 */
4587 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
4588 "|rpc/xdr.h|";
4589 /*
4590 * Machine/OS name selection pattern
4591 */
4592 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
4593
4594 /*
4595 * content selection pattern - do fix if pattern found
4596 */
4597 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
4598 "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
4599 .*__extension__.*";
4600
4601 #define RPC_XDR_LVALUE_CAST_A_TEST_CT 1
4602 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
4603 { TT_EGREP, zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
4604
4605 /*
4606 * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
4607 */
4608 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
4609 "format",
4610 "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
4611 (char*)NULL };
4612
4613 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4614 *
4615 * Description of Rpc_Xdr_Lvalue_Cast_B fix
4616 */
4617 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
4618 "rpc_xdr_lvalue_cast_b";
4619
4620 /*
4621 * File name selection pattern
4622 */
4623 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
4624 "|rpc/xdr.h|";
4625 /*
4626 * Machine/OS name selection pattern
4627 */
4628 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
4629
4630 /*
4631 * content selection pattern - do fix if pattern found
4632 */
4633 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
4634 "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
4635 .*__extension__.*";
4636
4637 #define RPC_XDR_LVALUE_CAST_B_TEST_CT 1
4638 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
4639 { TT_EGREP, zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
4640
4641 /*
4642 * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
4643 */
4644 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
4645 "format",
4646 "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
4647 (char*)NULL };
4648
4649 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4650 *
4651 * Description of Rs6000_Double fix
4652 */
4653 tSCC zRs6000_DoubleName[] =
4654 "rs6000_double";
4655
4656 /*
4657 * File name selection pattern
4658 */
4659 tSCC zRs6000_DoubleList[] =
4660 "|math.h|";
4661 /*
4662 * Machine/OS name selection pattern
4663 */
4664 #define apzRs6000_DoubleMachs (const char**)NULL
4665
4666 /*
4667 * content selection pattern - do fix if pattern found
4668 */
4669 tSCC zRs6000_DoubleSelect0[] =
4670 "[^a-zA-Z_]class\\(";
4671
4672 #define RS6000_DOUBLE_TEST_CT 1
4673 static tTestDesc aRs6000_DoubleTests[] = {
4674 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
4675
4676 /*
4677 * Fix Command Arguments for Rs6000_Double
4678 */
4679 static const char* apzRs6000_DoublePatch[] = {
4680 "format",
4681 "#ifndef __cplusplus\n\
4682 %0\n\
4683 #endif",
4684 "^.*[^a-zA-Z_]class\\(.*",
4685 (char*)NULL };
4686
4687 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4688 *
4689 * Description of Rs6000_Fchmod fix
4690 */
4691 tSCC zRs6000_FchmodName[] =
4692 "rs6000_fchmod";
4693
4694 /*
4695 * File name selection pattern
4696 */
4697 tSCC zRs6000_FchmodList[] =
4698 "|sys/stat.h|";
4699 /*
4700 * Machine/OS name selection pattern
4701 */
4702 #define apzRs6000_FchmodMachs (const char**)NULL
4703
4704 /*
4705 * content selection pattern - do fix if pattern found
4706 */
4707 tSCC zRs6000_FchmodSelect0[] =
4708 "fchmod\\(char \\*";
4709
4710 #define RS6000_FCHMOD_TEST_CT 1
4711 static tTestDesc aRs6000_FchmodTests[] = {
4712 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
4713
4714 /*
4715 * Fix Command Arguments for Rs6000_Fchmod
4716 */
4717 static const char* apzRs6000_FchmodPatch[] = {
4718 "format",
4719 "fchmod(int",
4720 (char*)NULL };
4721
4722 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4723 *
4724 * Description of Rs6000_Param fix
4725 */
4726 tSCC zRs6000_ParamName[] =
4727 "rs6000_param";
4728
4729 /*
4730 * File name selection pattern
4731 */
4732 tSCC zRs6000_ParamList[] =
4733 "|stdio.h|unistd.h|";
4734 /*
4735 * Machine/OS name selection pattern
4736 */
4737 #define apzRs6000_ParamMachs (const char**)NULL
4738
4739 /*
4740 * content selection pattern - do fix if pattern found
4741 */
4742 tSCC zRs6000_ParamSelect0[] =
4743 "rename\\(const char \\*old, const char \\*new\\)";
4744
4745 #define RS6000_PARAM_TEST_CT 1
4746 static tTestDesc aRs6000_ParamTests[] = {
4747 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
4748
4749 /*
4750 * Fix Command Arguments for Rs6000_Param
4751 */
4752 static const char* apzRs6000_ParamPatch[] = {
4753 "format",
4754 "rename(const char *_old, const char *_new)",
4755 (char*)NULL };
4756
4757 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4758 *
4759 * Description of Sco_Math fix
4760 */
4761 tSCC zSco_MathName[] =
4762 "sco_math";
4763
4764 /*
4765 * File name selection pattern
4766 */
4767 tSCC zSco_MathList[] =
4768 "|math.h|ansi/math.h|posix/math.h|xpg4/math.h|xpg4v2/math.h|xpg4plus/math.h|ods_30_compat/math.h|oldstyle/math.h|";
4769 /*
4770 * Machine/OS name selection pattern
4771 */
4772 #define apzSco_MathMachs (const char**)NULL
4773
4774 /*
4775 * content selection pattern - do fix if pattern found
4776 */
4777 tSCC zSco_MathSelect0[] =
4778 "inline double abs";
4779
4780 /*
4781 * content bypass pattern - skip fix if pattern found
4782 */
4783 tSCC zSco_MathBypass0[] =
4784 "__GNUG__";
4785
4786 #define SCO_MATH_TEST_CT 2
4787 static tTestDesc aSco_MathTests[] = {
4788 { TT_NEGREP, zSco_MathBypass0, (regex_t*)NULL },
4789 { TT_EGREP, zSco_MathSelect0, (regex_t*)NULL }, };
4790
4791 /*
4792 * Fix Command Arguments for Sco_Math
4793 */
4794 static const char* apzSco_MathPatch[] = { "sed",
4795 "-e", "/#define.*__fp_class(a) \\\\/i\\\n\
4796 #ifndef __GNUC__\n",
4797 "-e", "/.*__builtin_generic/a\\\n\
4798 #else\\\n\
4799 #define __fp_class(a) \\\\\\\n\
4800 __builtin_choose_expr(__builtin_types_compatible_p(typeof(a),long double),\\\\\\\n\
4801 __fpclassifyl(a), \\\\\\\n\
4802 __builtin_choose_expr(__builtin_types_compatible_p(typeof(a), float), \\\\\\\n\
4803 __fpclassifyf(a),__fpclassify(a)))\\\n\
4804 #endif",
4805 "-e", "/extern \"C\\+\\+\"/N;/inline double abs/i\\\n\
4806 #ifndef __GNUC__\n",
4807 "-e", "/inline long double trunc/N;/inline long double trunc.*}.*extern \"C\\+\\+\"/a\\\n\
4808 #endif /* ! __GNUC__ */",
4809 (char*)NULL };
4810
4811 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4812 *
4813 * Description of Sco_Regset fix
4814 */
4815 tSCC zSco_RegsetName[] =
4816 "sco_regset";
4817
4818 /*
4819 * File name selection pattern
4820 */
4821 tSCC zSco_RegsetList[] =
4822 "|sys/regset.h|";
4823 /*
4824 * Machine/OS name selection pattern
4825 */
4826 tSCC* apzSco_RegsetMachs[] = {
4827 "*-*-sco3.2v5*",
4828 (const char*)NULL };
4829
4830 /*
4831 * content selection pattern - do fix if pattern found
4832 */
4833 tSCC zSco_RegsetSelect0[] =
4834 "(struct[ \t]+.*)fpstate";
4835
4836 #define SCO_REGSET_TEST_CT 1
4837 static tTestDesc aSco_RegsetTests[] = {
4838 { TT_EGREP, zSco_RegsetSelect0, (regex_t*)NULL }, };
4839
4840 /*
4841 * Fix Command Arguments for Sco_Regset
4842 */
4843 static const char* apzSco_RegsetPatch[] = {
4844 "format",
4845 "%1rsfpstate",
4846 (char*)NULL };
4847
4848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4849 *
4850 * Description of Sco_Static_Func fix
4851 */
4852 tSCC zSco_Static_FuncName[] =
4853 "sco_static_func";
4854
4855 /*
4856 * File name selection pattern
4857 */
4858 tSCC zSco_Static_FuncList[] =
4859 "|sys/stat.h|";
4860 /*
4861 * Machine/OS name selection pattern
4862 */
4863 tSCC* apzSco_Static_FuncMachs[] = {
4864 "i?86-*-sco3.2*",
4865 (const char*)NULL };
4866
4867 /*
4868 * content selection pattern - do fix if pattern found
4869 */
4870 tSCC zSco_Static_FuncSelect0[] =
4871 "^static int";
4872
4873 #define SCO_STATIC_FUNC_TEST_CT 1
4874 static tTestDesc aSco_Static_FuncTests[] = {
4875 { TT_EGREP, zSco_Static_FuncSelect0, (regex_t*)NULL }, };
4876
4877 /*
4878 * Fix Command Arguments for Sco_Static_Func
4879 */
4880 static const char* apzSco_Static_FuncPatch[] = { "sed",
4881 "-e", "/^static int/i\\\n\
4882 #if __cplusplus\\\n\
4883 extern \"C\" {\\\n\
4884 #endif /* __cplusplus */",
4885 "-e", "/^}$/a\\\n\
4886 #if __cplusplus\\\n\
4887 }\\\n\
4888 #endif /* __cplusplus */",
4889 (char*)NULL };
4890
4891 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4892 *
4893 * Description of Sco_Utime fix
4894 */
4895 tSCC zSco_UtimeName[] =
4896 "sco_utime";
4897
4898 /*
4899 * File name selection pattern
4900 */
4901 tSCC zSco_UtimeList[] =
4902 "|sys/times.h|";
4903 /*
4904 * Machine/OS name selection pattern
4905 */
4906 tSCC* apzSco_UtimeMachs[] = {
4907 "i?86-*-sco3.2v4*",
4908 (const char*)NULL };
4909
4910 /*
4911 * content selection pattern - do fix if pattern found
4912 */
4913 tSCC zSco_UtimeSelect0[] =
4914 "\\(const char \\*, struct utimbuf \\*\\);";
4915
4916 #define SCO_UTIME_TEST_CT 1
4917 static tTestDesc aSco_UtimeTests[] = {
4918 { TT_EGREP, zSco_UtimeSelect0, (regex_t*)NULL }, };
4919
4920 /*
4921 * Fix Command Arguments for Sco_Utime
4922 */
4923 static const char* apzSco_UtimePatch[] = {
4924 "format",
4925 "(const char *, const struct utimbuf *);",
4926 (char*)NULL };
4927
4928 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4929 *
4930 * Description of Solaris_Math_1 fix
4931 */
4932 tSCC zSolaris_Math_1Name[] =
4933 "solaris_math_1";
4934
4935 /*
4936 * File name selection pattern
4937 */
4938 tSCC zSolaris_Math_1List[] =
4939 "|iso/math_c99.h|";
4940 /*
4941 * Machine/OS name selection pattern
4942 */
4943 #define apzSolaris_Math_1Machs (const char**)NULL
4944
4945 /*
4946 * content selection pattern - do fix if pattern found
4947 */
4948 tSCC zSolaris_Math_1Select0[] =
4949 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4950
4951 /*
4952 * content bypass pattern - skip fix if pattern found
4953 */
4954 tSCC zSolaris_Math_1Bypass0[] =
4955 "__GNUC__";
4956
4957 #define SOLARIS_MATH_1_TEST_CT 2
4958 static tTestDesc aSolaris_Math_1Tests[] = {
4959 { TT_NEGREP, zSolaris_Math_1Bypass0, (regex_t*)NULL },
4960 { TT_EGREP, zSolaris_Math_1Select0, (regex_t*)NULL }, };
4961
4962 /*
4963 * Fix Command Arguments for Solaris_Math_1
4964 */
4965 static const char* apzSolaris_Math_1Patch[] = {
4966 "format",
4967 "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
4968 "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
4969 (char*)NULL };
4970
4971 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4972 *
4973 * Description of Solaris_Math_2 fix
4974 */
4975 tSCC zSolaris_Math_2Name[] =
4976 "solaris_math_2";
4977
4978 /*
4979 * File name selection pattern
4980 */
4981 tSCC zSolaris_Math_2List[] =
4982 "|iso/math_c99.h|";
4983 /*
4984 * Machine/OS name selection pattern
4985 */
4986 #define apzSolaris_Math_2Machs (const char**)NULL
4987
4988 /*
4989 * content selection pattern - do fix if pattern found
4990 */
4991 tSCC zSolaris_Math_2Select0[] =
4992 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
4993
4994 /*
4995 * content bypass pattern - skip fix if pattern found
4996 */
4997 tSCC zSolaris_Math_2Bypass0[] =
4998 "__GNUC__";
4999
5000 #define SOLARIS_MATH_2_TEST_CT 2
5001 static tTestDesc aSolaris_Math_2Tests[] = {
5002 { TT_NEGREP, zSolaris_Math_2Bypass0, (regex_t*)NULL },
5003 { TT_EGREP, zSolaris_Math_2Select0, (regex_t*)NULL }, };
5004
5005 /*
5006 * Fix Command Arguments for Solaris_Math_2
5007 */
5008 static const char* apzSolaris_Math_2Patch[] = {
5009 "format",
5010 "#define\tINFINITY\t(__builtin_inff())",
5011 "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
5012 (char*)NULL };
5013
5014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5015 *
5016 * Description of Solaris_Math_3 fix
5017 */
5018 tSCC zSolaris_Math_3Name[] =
5019 "solaris_math_3";
5020
5021 /*
5022 * File name selection pattern
5023 */
5024 tSCC zSolaris_Math_3List[] =
5025 "|iso/math_c99.h|";
5026 /*
5027 * Machine/OS name selection pattern
5028 */
5029 #define apzSolaris_Math_3Machs (const char**)NULL
5030
5031 /*
5032 * content selection pattern - do fix if pattern found
5033 */
5034 tSCC zSolaris_Math_3Select0[] =
5035 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5036
5037 /*
5038 * content bypass pattern - skip fix if pattern found
5039 */
5040 tSCC zSolaris_Math_3Bypass0[] =
5041 "__GNUC__";
5042
5043 #define SOLARIS_MATH_3_TEST_CT 2
5044 static tTestDesc aSolaris_Math_3Tests[] = {
5045 { TT_NEGREP, zSolaris_Math_3Bypass0, (regex_t*)NULL },
5046 { TT_EGREP, zSolaris_Math_3Select0, (regex_t*)NULL }, };
5047
5048 /*
5049 * Fix Command Arguments for Solaris_Math_3
5050 */
5051 static const char* apzSolaris_Math_3Patch[] = {
5052 "format",
5053 "#define\tNAN\t\t(__builtin_nanf(\"\"))",
5054 "^#define[ \t]+NAN[ \t]+__builtin_nan",
5055 (char*)NULL };
5056
5057 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5058 *
5059 * Description of Solaris_Math_4 fix
5060 */
5061 tSCC zSolaris_Math_4Name[] =
5062 "solaris_math_4";
5063
5064 /*
5065 * File name selection pattern
5066 */
5067 tSCC zSolaris_Math_4List[] =
5068 "|iso/math_c99.h|";
5069 /*
5070 * Machine/OS name selection pattern
5071 */
5072 #define apzSolaris_Math_4Machs (const char**)NULL
5073
5074 /*
5075 * content selection pattern - do fix if pattern found
5076 */
5077 tSCC zSolaris_Math_4Select0[] =
5078 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5079
5080 /*
5081 * content bypass pattern - skip fix if pattern found
5082 */
5083 tSCC zSolaris_Math_4Bypass0[] =
5084 "__GNUC__";
5085
5086 #define SOLARIS_MATH_4_TEST_CT 2
5087 static tTestDesc aSolaris_Math_4Tests[] = {
5088 { TT_NEGREP, zSolaris_Math_4Bypass0, (regex_t*)NULL },
5089 { TT_EGREP, zSolaris_Math_4Select0, (regex_t*)NULL }, };
5090
5091 /*
5092 * Fix Command Arguments for Solaris_Math_4
5093 */
5094 static const char* apzSolaris_Math_4Patch[] = {
5095 "format",
5096 "#define\tfpclassify(x) \\\n\
5097 __extension__ ({ __typeof(x) __x_fp = (x); \\\n\
5098 \t\t isnan(__x_fp) \\\n\
5099 \t\t ? FP_NAN \\\n\
5100 \t\t : isinf(__x_fp) \\\n\
5101 \t\t ? FP_INFINITE \\\n\
5102 \t\t : isnormal(__x_fp) \\\n\
5103 \t\t\t ? FP_NORMAL \\\n\
5104 \t\t\t : __x_fp == 0.0 \\\n\
5105 \t\t\t ? FP_ZERO \\\n\
5106 \t\t\t : FP_SUBNORMAL; })",
5107 "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
5108 (char*)NULL };
5109
5110 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5111 *
5112 * Description of Solaris_Math_5 fix
5113 */
5114 tSCC zSolaris_Math_5Name[] =
5115 "solaris_math_5";
5116
5117 /*
5118 * File name selection pattern
5119 */
5120 tSCC zSolaris_Math_5List[] =
5121 "|iso/math_c99.h|";
5122 /*
5123 * Machine/OS name selection pattern
5124 */
5125 #define apzSolaris_Math_5Machs (const char**)NULL
5126
5127 /*
5128 * content selection pattern - do fix if pattern found
5129 */
5130 tSCC zSolaris_Math_5Select0[] =
5131 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5132
5133 /*
5134 * content bypass pattern - skip fix if pattern found
5135 */
5136 tSCC zSolaris_Math_5Bypass0[] =
5137 "__GNUC__";
5138
5139 #define SOLARIS_MATH_5_TEST_CT 2
5140 static tTestDesc aSolaris_Math_5Tests[] = {
5141 { TT_NEGREP, zSolaris_Math_5Bypass0, (regex_t*)NULL },
5142 { TT_EGREP, zSolaris_Math_5Select0, (regex_t*)NULL }, };
5143
5144 /*
5145 * Fix Command Arguments for Solaris_Math_5
5146 */
5147 static const char* apzSolaris_Math_5Patch[] = {
5148 "format",
5149 "#define\tisfinite(x) \\\n\
5150 __extension__ ({ __typeof (x) __x_f = (x); \\\n\
5151 \t\t __builtin_expect(!isnan(__x_f - __x_f), 1); })",
5152 "^#define[ \t]+isfinite\\(x\\)[ \t]+__builtin_isfinite\\(x\\)",
5153 (char*)NULL };
5154
5155 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5156 *
5157 * Description of Solaris_Math_6 fix
5158 */
5159 tSCC zSolaris_Math_6Name[] =
5160 "solaris_math_6";
5161
5162 /*
5163 * File name selection pattern
5164 */
5165 tSCC zSolaris_Math_6List[] =
5166 "|iso/math_c99.h|";
5167 /*
5168 * Machine/OS name selection pattern
5169 */
5170 #define apzSolaris_Math_6Machs (const char**)NULL
5171
5172 /*
5173 * content selection pattern - do fix if pattern found
5174 */
5175 tSCC zSolaris_Math_6Select0[] =
5176 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5177
5178 /*
5179 * content bypass pattern - skip fix if pattern found
5180 */
5181 tSCC zSolaris_Math_6Bypass0[] =
5182 "__GNUC__";
5183
5184 #define SOLARIS_MATH_6_TEST_CT 2
5185 static tTestDesc aSolaris_Math_6Tests[] = {
5186 { TT_NEGREP, zSolaris_Math_6Bypass0, (regex_t*)NULL },
5187 { TT_EGREP, zSolaris_Math_6Select0, (regex_t*)NULL }, };
5188
5189 /*
5190 * Fix Command Arguments for Solaris_Math_6
5191 */
5192 static const char* apzSolaris_Math_6Patch[] = {
5193 "format",
5194 "#define\tisinf(x) \\\n\
5195 __extension__ ({ __typeof (x) __x_i = (x); \\\n\
5196 \t\t __builtin_expect(!isnan(__x_i) && !isfinite(__x_i), 0); })",
5197 "^#define[ \t]+isinf\\(x\\)[ \t]+__builtin_isinf\\(x\\)",
5198 (char*)NULL };
5199
5200 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5201 *
5202 * Description of Solaris_Math_7 fix
5203 */
5204 tSCC zSolaris_Math_7Name[] =
5205 "solaris_math_7";
5206
5207 /*
5208 * File name selection pattern
5209 */
5210 tSCC zSolaris_Math_7List[] =
5211 "|iso/math_c99.h|";
5212 /*
5213 * Machine/OS name selection pattern
5214 */
5215 #define apzSolaris_Math_7Machs (const char**)NULL
5216
5217 /*
5218 * content selection pattern - do fix if pattern found
5219 */
5220 tSCC zSolaris_Math_7Select0[] =
5221 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5222
5223 /*
5224 * content bypass pattern - skip fix if pattern found
5225 */
5226 tSCC zSolaris_Math_7Bypass0[] =
5227 "__GNUC__";
5228
5229 #define SOLARIS_MATH_7_TEST_CT 2
5230 static tTestDesc aSolaris_Math_7Tests[] = {
5231 { TT_NEGREP, zSolaris_Math_7Bypass0, (regex_t*)NULL },
5232 { TT_EGREP, zSolaris_Math_7Select0, (regex_t*)NULL }, };
5233
5234 /*
5235 * Fix Command Arguments for Solaris_Math_7
5236 */
5237 static const char* apzSolaris_Math_7Patch[] = {
5238 "format",
5239 "#define\tisnormal(x) \\\n\
5240 __extension__ ({ __typeof(x) __x_n = (x); \\\n\
5241 \t\t if (__x_n < 0.0) __x_n = -__x_n; \\\n\
5242 \t\t __builtin_expect(isfinite(__x_n) \\\n\
5243 \t\t\t\t && (sizeof(__x_n) == sizeof(float) \\\n\
5244 \t\t\t\t\t ? __x_n >= __FLT_MIN__ \\\n\
5245 \t\t\t\t\t : sizeof(__x_n) == sizeof(long double) \\\n\
5246 \t\t\t\t\t ? __x_n >= __LDBL_MIN__ \\\n\
5247 \t\t\t\t\t : __x_n >= __DBL_MIN__), 1); })",
5248 "^#define[ \t]+isnormal\\(x\\)[ \t]+__builtin_isnormal\\(x\\)",
5249 (char*)NULL };
5250
5251 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5252 *
5253 * Description of Solaris_Math_8 fix
5254 */
5255 tSCC zSolaris_Math_8Name[] =
5256 "solaris_math_8";
5257
5258 /*
5259 * File name selection pattern
5260 */
5261 tSCC zSolaris_Math_8List[] =
5262 "|iso/math_c99.h|";
5263 /*
5264 * Machine/OS name selection pattern
5265 */
5266 #define apzSolaris_Math_8Machs (const char**)NULL
5267
5268 /*
5269 * content selection pattern - do fix if pattern found
5270 */
5271 tSCC zSolaris_Math_8Select0[] =
5272 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5273
5274 /*
5275 * content bypass pattern - skip fix if pattern found
5276 */
5277 tSCC zSolaris_Math_8Bypass0[] =
5278 "__GNUC__";
5279
5280 #define SOLARIS_MATH_8_TEST_CT 2
5281 static tTestDesc aSolaris_Math_8Tests[] = {
5282 { TT_NEGREP, zSolaris_Math_8Bypass0, (regex_t*)NULL },
5283 { TT_EGREP, zSolaris_Math_8Select0, (regex_t*)NULL }, };
5284
5285 /*
5286 * Fix Command Arguments for Solaris_Math_8
5287 */
5288 static const char* apzSolaris_Math_8Patch[] = {
5289 "format",
5290 "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
5291 \t\t\t ? __builtin_signbitf(x) \\\n\
5292 \t\t\t : sizeof(x) == sizeof(long double) \\\n\
5293 \t\t\t ? __builtin_signbitl(x) \\\n\
5294 \t\t\t : __builtin_signbit(x))",
5295 "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
5296 (char*)NULL };
5297
5298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5299 *
5300 * Description of Solaris_Math_9 fix
5301 */
5302 tSCC zSolaris_Math_9Name[] =
5303 "solaris_math_9";
5304
5305 /*
5306 * File name selection pattern
5307 */
5308 tSCC zSolaris_Math_9List[] =
5309 "|iso/math_c99.h|";
5310 /*
5311 * Machine/OS name selection pattern
5312 */
5313 #define apzSolaris_Math_9Machs (const char**)NULL
5314
5315 /*
5316 * content selection pattern - do fix if pattern found
5317 */
5318 tSCC zSolaris_Math_9Select0[] =
5319 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5320
5321 /*
5322 * content bypass pattern - skip fix if pattern found
5323 */
5324 tSCC zSolaris_Math_9Bypass0[] =
5325 "__GNUC__";
5326
5327 #define SOLARIS_MATH_9_TEST_CT 2
5328 static tTestDesc aSolaris_Math_9Tests[] = {
5329 { TT_NEGREP, zSolaris_Math_9Bypass0, (regex_t*)NULL },
5330 { TT_EGREP, zSolaris_Math_9Select0, (regex_t*)NULL }, };
5331
5332 /*
5333 * Fix Command Arguments for Solaris_Math_9
5334 */
5335 static const char* apzSolaris_Math_9Patch[] = {
5336 "format",
5337 "#define\t%1(x, y)%2__builtin_%1(x, y)",
5338 "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
5339 (char*)NULL };
5340
5341 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5342 *
5343 * Description of Solaris_Mutex_Init_1 fix
5344 */
5345 tSCC zSolaris_Mutex_Init_1Name[] =
5346 "solaris_mutex_init_1";
5347
5348 /*
5349 * File name selection pattern
5350 */
5351 tSCC zSolaris_Mutex_Init_1List[] =
5352 "|pthread.h|";
5353 /*
5354 * Machine/OS name selection pattern
5355 */
5356 #define apzSolaris_Mutex_Init_1Machs (const char**)NULL
5357
5358 /*
5359 * content selection pattern - do fix if pattern found
5360 */
5361 tSCC zSolaris_Mutex_Init_1Select0[] =
5362 "@\\(#\\)pthread.h[ \t]+1.1[0-9][ \t]+9[567]/[0-9/]+ SMI";
5363
5364 #define SOLARIS_MUTEX_INIT_1_TEST_CT 1
5365 static tTestDesc aSolaris_Mutex_Init_1Tests[] = {
5366 { TT_EGREP, zSolaris_Mutex_Init_1Select0, (regex_t*)NULL }, };
5367
5368 /*
5369 * Fix Command Arguments for Solaris_Mutex_Init_1
5370 */
5371 static const char* apzSolaris_Mutex_Init_1Patch[] = { "sed",
5372 "-e", "/define[ \t]*PTHREAD_MUTEX_INI/s/{0, 0,/{{{0}, 0}, {{{0}}},/\n\
5373 /define[ \t]*PTHREAD_COND_INI/s/{0,/{{{0},0},/",
5374 (char*)NULL };
5375
5376 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5377 *
5378 * Description of Solaris_Mutex_Init_2 fix
5379 */
5380 tSCC zSolaris_Mutex_Init_2Name[] =
5381 "solaris_mutex_init_2";
5382
5383 /*
5384 * File name selection pattern
5385 */
5386 tSCC zSolaris_Mutex_Init_2List[] =
5387 "|pthread.h|";
5388 /*
5389 * Machine/OS name selection pattern
5390 */
5391 #define apzSolaris_Mutex_Init_2Machs (const char**)NULL
5392
5393 /*
5394 * content selection pattern - do fix if pattern found
5395 */
5396 tSCC zSolaris_Mutex_Init_2Select0[] =
5397 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
5398
5399 #define SOLARIS_MUTEX_INIT_2_TEST_CT 1
5400 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
5401 { TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
5402
5403 /*
5404 * Fix Command Arguments for Solaris_Mutex_Init_2
5405 */
5406 static const char* apzSolaris_Mutex_Init_2Patch[] = {
5407 "format",
5408 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
5409 %0\n\
5410 #else\n\
5411 %1, {0}}%3\n\
5412 #endif",
5413 "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+\\{.*),[ \t]*0\\}(|[ \t].*)$",
5414 (char*)NULL };
5415
5416 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5417 *
5418 * Description of Solaris_Socket fix
5419 */
5420 tSCC zSolaris_SocketName[] =
5421 "solaris_socket";
5422
5423 /*
5424 * File name selection pattern
5425 */
5426 tSCC zSolaris_SocketList[] =
5427 "|sys/socket.h|";
5428 /*
5429 * Machine/OS name selection pattern
5430 */
5431 #define apzSolaris_SocketMachs (const char**)NULL
5432
5433 /*
5434 * content selection pattern - do fix if pattern found
5435 */
5436 tSCC zSolaris_SocketSelect0[] =
5437 "@\\(#\\)socket.h[ \t]+1.[123][0-9][ \t]+9[567]/[0-9/]+ SMI";
5438
5439 #define SOLARIS_SOCKET_TEST_CT 1
5440 static tTestDesc aSolaris_SocketTests[] = {
5441 { TT_EGREP, zSolaris_SocketSelect0, (regex_t*)NULL }, };
5442
5443 /*
5444 * Fix Command Arguments for Solaris_Socket
5445 */
5446 static const char* apzSolaris_SocketPatch[] = {
5447 "format",
5448 "extern int %1(int, %2void *, int, int);",
5449 "^extern int (recv|send)\\(int, (const )*char \\*, int, int\\);",
5450 (char*)NULL };
5451
5452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5453 *
5454 * Description of Solaris_Stdio_Tag fix
5455 */
5456 tSCC zSolaris_Stdio_TagName[] =
5457 "solaris_stdio_tag";
5458
5459 /*
5460 * File name selection pattern
5461 */
5462 tSCC zSolaris_Stdio_TagList[] =
5463 "|stdio_tag.h|";
5464 /*
5465 * Machine/OS name selection pattern
5466 */
5467 #define apzSolaris_Stdio_TagMachs (const char**)NULL
5468
5469 /*
5470 * content selection pattern - do fix if pattern found
5471 */
5472 tSCC zSolaris_Stdio_TagSelect0[] =
5473 "__cplusplus < 54321L";
5474
5475 /*
5476 * content bypass pattern - skip fix if pattern found
5477 */
5478 tSCC zSolaris_Stdio_TagBypass0[] =
5479 "__GNUC__";
5480
5481 #define SOLARIS_STDIO_TAG_TEST_CT 2
5482 static tTestDesc aSolaris_Stdio_TagTests[] = {
5483 { TT_NEGREP, zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
5484 { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
5485
5486 /*
5487 * Fix Command Arguments for Solaris_Stdio_Tag
5488 */
5489 static const char* apzSolaris_Stdio_TagPatch[] = { "sed",
5490 "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
5491 (char*)NULL };
5492
5493 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5494 *
5495 * Description of Solaris_Unistd fix
5496 */
5497 tSCC zSolaris_UnistdName[] =
5498 "solaris_unistd";
5499
5500 /*
5501 * File name selection pattern
5502 */
5503 tSCC zSolaris_UnistdList[] =
5504 "|unistd.h|";
5505 /*
5506 * Machine/OS name selection pattern
5507 */
5508 #define apzSolaris_UnistdMachs (const char**)NULL
5509
5510 /*
5511 * content selection pattern - do fix if pattern found
5512 */
5513 tSCC zSolaris_UnistdSelect0[] =
5514 "@\\(#\\)unistd.h[ \t]+1.3[0-9][ \t]+9[567]/[0-9/]+ SMI";
5515
5516 /*
5517 * content bypass pattern - skip fix if pattern found
5518 */
5519 tSCC zSolaris_UnistdBypass0[] =
5520 "getpagesize";
5521
5522 #define SOLARIS_UNISTD_TEST_CT 2
5523 static tTestDesc aSolaris_UnistdTests[] = {
5524 { TT_NEGREP, zSolaris_UnistdBypass0, (regex_t*)NULL },
5525 { TT_EGREP, zSolaris_UnistdSelect0, (regex_t*)NULL }, };
5526
5527 /*
5528 * Fix Command Arguments for Solaris_Unistd
5529 */
5530 static const char* apzSolaris_UnistdPatch[] = {
5531 "format",
5532 "extern int getpagesize();\n\
5533 %0",
5534 "^extern (pid_t|int) getpgid\\(.*\\);",
5535 (char*)NULL };
5536
5537 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5538 *
5539 * Description of Solaris_Widec fix
5540 */
5541 tSCC zSolaris_WidecName[] =
5542 "solaris_widec";
5543
5544 /*
5545 * File name selection pattern
5546 */
5547 tSCC zSolaris_WidecList[] =
5548 "|widec.h|";
5549 /*
5550 * Machine/OS name selection pattern
5551 */
5552 tSCC* apzSolaris_WidecMachs[] = {
5553 "*-*-solaris2.[0-5]",
5554 "*-*-solaris2.[0-5].*",
5555 (const char*)NULL };
5556
5557 /*
5558 * content selection pattern - do fix if pattern found
5559 */
5560 tSCC zSolaris_WidecSelect0[] =
5561 "#include <euc.h>";
5562
5563 /*
5564 * content bypass pattern - skip fix if pattern found
5565 */
5566 tSCC zSolaris_WidecBypass0[] =
5567 "include.*wchar\\.h";
5568
5569 #define SOLARIS_WIDEC_TEST_CT 2
5570 static tTestDesc aSolaris_WidecTests[] = {
5571 { TT_NEGREP, zSolaris_WidecBypass0, (regex_t*)NULL },
5572 { TT_EGREP, zSolaris_WidecSelect0, (regex_t*)NULL }, };
5573
5574 /*
5575 * Fix Command Arguments for Solaris_Widec
5576 */
5577 static const char* apzSolaris_WidecPatch[] = {
5578 "format",
5579 "%0\n\
5580 #include <wchar.h>",
5581 (char*)NULL };
5582
5583 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5584 *
5585 * Description of Statsswtch fix
5586 */
5587 tSCC zStatsswtchName[] =
5588 "statsswtch";
5589
5590 /*
5591 * File name selection pattern
5592 */
5593 tSCC zStatsswtchList[] =
5594 "|rpcsvc/rstat.h|";
5595 /*
5596 * Machine/OS name selection pattern
5597 */
5598 #define apzStatsswtchMachs (const char**)NULL
5599
5600 /*
5601 * content selection pattern - do fix if pattern found
5602 */
5603 tSCC zStatsswtchSelect0[] =
5604 "boottime$";
5605
5606 #define STATSSWTCH_TEST_CT 1
5607 static tTestDesc aStatsswtchTests[] = {
5608 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
5609
5610 /*
5611 * Fix Command Arguments for Statsswtch
5612 */
5613 static const char* apzStatsswtchPatch[] = {
5614 "format",
5615 "boottime;",
5616 (char*)NULL };
5617
5618 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5619 *
5620 * Description of Stdio_Stdarg_H fix
5621 */
5622 tSCC zStdio_Stdarg_HName[] =
5623 "stdio_stdarg_h";
5624
5625 /*
5626 * File name selection pattern
5627 */
5628 tSCC zStdio_Stdarg_HList[] =
5629 "|stdio.h|";
5630 /*
5631 * Machine/OS name selection pattern
5632 */
5633 tSCC* apzStdio_Stdarg_HMachs[] = {
5634 "*-*-solaris2.1[0-9]*",
5635 (const char*)NULL };
5636
5637 /*
5638 * content bypass pattern - skip fix if pattern found
5639 */
5640 tSCC zStdio_Stdarg_HBypass0[] =
5641 "include.*(stdarg.h|machine/ansi.h)";
5642
5643 #define STDIO_STDARG_H_TEST_CT 1
5644 static tTestDesc aStdio_Stdarg_HTests[] = {
5645 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
5646
5647 /*
5648 * Fix Command Arguments for Stdio_Stdarg_H
5649 */
5650 static const char* apzStdio_Stdarg_HPatch[] = {
5651 "wrap",
5652 "#define __need___va_list\n\
5653 #include <stdarg.h>\n",
5654 (char*)NULL };
5655
5656 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5657 *
5658 * Description of Stdio_Va_List fix
5659 */
5660 tSCC zStdio_Va_ListName[] =
5661 "stdio_va_list";
5662
5663 /*
5664 * File name selection pattern
5665 */
5666 tSCC zStdio_Va_ListList[] =
5667 "|stdio.h|internal/stdio_core.h|internal/wchar_core.h|";
5668 /*
5669 * Machine/OS name selection pattern
5670 */
5671 tSCC* apzStdio_Va_ListMachs[] = {
5672 "*-*-solaris2.1[0-9]*",
5673 (const char*)NULL };
5674
5675 /*
5676 * content bypass pattern - skip fix if pattern found
5677 */
5678 tSCC zStdio_Va_ListBypass0[] =
5679 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5680
5681 #define STDIO_VA_LIST_TEST_CT 1
5682 static tTestDesc aStdio_Va_ListTests[] = {
5683 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
5684
5685 /*
5686 * Fix Command Arguments for Stdio_Va_List
5687 */
5688 static const char* apzStdio_Va_ListPatch[] = { "sed",
5689 "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5690 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5691 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5692 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5693 s@ va_list@ __not_va_list__@\n\
5694 s@\\*va_list@*__not_va_list__@\n\
5695 s@ __va_list)@ __gnuc_va_list)@\n\
5696 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5697 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5698 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5699 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5700 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5701 s@VA_LIST@DUMMY_VA_LIST@\n\
5702 s@_Va_LIST@_VA_LIST@",
5703 (char*)NULL };
5704
5705 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5706 *
5707 * Description of Stdio_Va_List_Clients fix
5708 */
5709 tSCC zStdio_Va_List_ClientsName[] =
5710 "stdio_va_list_clients";
5711
5712 /*
5713 * File name selection pattern
5714 */
5715 tSCC zStdio_Va_List_ClientsList[] =
5716 "|com_err.h|cps.h|curses.h|krb5.h|lc_core.h|pfmt.h|wchar.h|curses_colr/curses.h|";
5717 /*
5718 * Machine/OS name selection pattern
5719 */
5720 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
5721
5722 /*
5723 * content bypass pattern - skip fix if pattern found
5724 */
5725 tSCC zStdio_Va_List_ClientsBypass0[] =
5726 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
5727 tSCC zStdio_Va_List_ClientsBypass1[] =
5728 "include <stdarg\\.h>|#ifdef va_start";
5729
5730 #define STDIO_VA_LIST_CLIENTS_TEST_CT 2
5731 static tTestDesc aStdio_Va_List_ClientsTests[] = {
5732 { TT_NEGREP, zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
5733 { TT_NEGREP, zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
5734
5735 /*
5736 * Fix Command Arguments for Stdio_Va_List_Clients
5737 */
5738 static const char* apzStdio_Va_List_ClientsPatch[] = { "sed",
5739 "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
5740 s@(va_list)&@(__gnuc_va_list)\\&@\n\
5741 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
5742 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
5743 s@ va_list@ __not_va_list__@\n\
5744 s@\\*va_list@*__not_va_list__@\n\
5745 s@ __va_list)@ __gnuc_va_list)@\n\
5746 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
5747 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
5748 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
5749 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
5750 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
5751 s@VA_LIST@DUMMY_VA_LIST@\n\
5752 s@_Va_LIST@_VA_LIST@",
5753 (char*)NULL };
5754
5755 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5756 *
5757 * Description of Strict_Ansi_Not fix
5758 */
5759 tSCC zStrict_Ansi_NotName[] =
5760 "strict_ansi_not";
5761
5762 /*
5763 * File name selection pattern
5764 */
5765 #define zStrict_Ansi_NotList (char*)NULL
5766 /*
5767 * Machine/OS name selection pattern
5768 */
5769 #define apzStrict_Ansi_NotMachs (const char**)NULL
5770
5771 /*
5772 * content selection pattern - do fix if pattern found
5773 */
5774 tSCC zStrict_Ansi_NotSelect0[] =
5775 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
5776
5777 /*
5778 * content bypass pattern - skip fix if pattern found
5779 */
5780 tSCC zStrict_Ansi_NotBypass0[] =
5781 "GNU and MIPS C compilers define __STDC__ differently";
5782 tSCC zStrict_Ansi_NotBypass1[] =
5783 "__SCO_VERSION__.*__STDC__ != 1";
5784
5785 /*
5786 * perform the C function call test
5787 */
5788 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
5789
5790 #define STRICT_ANSI_NOT_TEST_CT 4
5791 static tTestDesc aStrict_Ansi_NotTests[] = {
5792 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
5793 { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
5794 { TT_NEGREP, zStrict_Ansi_NotBypass1, (regex_t*)NULL },
5795 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
5796
5797 /*
5798 * Fix Command Arguments for Strict_Ansi_Not
5799 */
5800 static const char* apzStrict_Ansi_NotPatch[] = {
5801 "format",
5802 "%1 !defined(__STRICT_ANSI__)",
5803 (char*)NULL };
5804
5805 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5806 *
5807 * Description of Strict_Ansi_Not_Ctd fix
5808 */
5809 tSCC zStrict_Ansi_Not_CtdName[] =
5810 "strict_ansi_not_ctd";
5811
5812 /*
5813 * File name selection pattern
5814 */
5815 tSCC zStrict_Ansi_Not_CtdList[] =
5816 "|math.h|limits.h|stdio.h|signal.h|stdlib.h|sys/signal.h|time.h|";
5817 /*
5818 * Machine/OS name selection pattern
5819 */
5820 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
5821
5822 /*
5823 * content selection pattern - do fix if pattern found
5824 */
5825 tSCC zStrict_Ansi_Not_CtdSelect0[] =
5826 "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
5827
5828 /*
5829 * perform the C function call test
5830 */
5831 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
5832
5833 #define STRICT_ANSI_NOT_CTD_TEST_CT 2
5834 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
5835 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
5836 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
5837
5838 /*
5839 * Fix Command Arguments for Strict_Ansi_Not_Ctd
5840 */
5841 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
5842 "format",
5843 "%1 !defined(__STRICT_ANSI__)",
5844 (char*)NULL };
5845
5846 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5847 *
5848 * Description of Strict_Ansi_Only fix
5849 */
5850 tSCC zStrict_Ansi_OnlyName[] =
5851 "strict_ansi_only";
5852
5853 /*
5854 * File name selection pattern
5855 */
5856 #define zStrict_Ansi_OnlyList (char*)NULL
5857 /*
5858 * Machine/OS name selection pattern
5859 */
5860 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
5861
5862 /*
5863 * content selection pattern - do fix if pattern found
5864 */
5865 tSCC zStrict_Ansi_OnlySelect0[] =
5866 "^([ \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)";
5867
5868 /*
5869 * perform the C function call test
5870 */
5871 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
5872
5873 #define STRICT_ANSI_ONLY_TEST_CT 2
5874 static tTestDesc aStrict_Ansi_OnlyTests[] = {
5875 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
5876 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
5877
5878 /*
5879 * Fix Command Arguments for Strict_Ansi_Only
5880 */
5881 static const char* apzStrict_Ansi_OnlyPatch[] = {
5882 "format",
5883 "%1 defined(__STRICT_ANSI__)",
5884 (char*)NULL };
5885
5886 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5887 *
5888 * Description of Struct_File fix
5889 */
5890 tSCC zStruct_FileName[] =
5891 "struct_file";
5892
5893 /*
5894 * File name selection pattern
5895 */
5896 tSCC zStruct_FileList[] =
5897 "|rpc/xdr.h|";
5898 /*
5899 * Machine/OS name selection pattern
5900 */
5901 #define apzStruct_FileMachs (const char**)NULL
5902
5903 /*
5904 * content selection pattern - do fix if pattern found
5905 */
5906 tSCC zStruct_FileSelect0[] =
5907 "^.*xdrstdio_create.*struct __file_s";
5908
5909 #define STRUCT_FILE_TEST_CT 1
5910 static tTestDesc aStruct_FileTests[] = {
5911 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
5912
5913 /*
5914 * Fix Command Arguments for Struct_File
5915 */
5916 static const char* apzStruct_FilePatch[] = {
5917 "format",
5918 "struct __file_s;\n\
5919 %0",
5920 (char*)NULL };
5921
5922 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5923 *
5924 * Description of Struct_Sockaddr fix
5925 */
5926 tSCC zStruct_SockaddrName[] =
5927 "struct_sockaddr";
5928
5929 /*
5930 * File name selection pattern
5931 */
5932 tSCC zStruct_SockaddrList[] =
5933 "|rpc/auth.h|";
5934 /*
5935 * Machine/OS name selection pattern
5936 */
5937 #define apzStruct_SockaddrMachs (const char**)NULL
5938
5939 /*
5940 * content selection pattern - do fix if pattern found
5941 */
5942 tSCC zStruct_SockaddrSelect0[] =
5943 "^.*authdes_create.*struct sockaddr[^_]";
5944
5945 /*
5946 * content bypass pattern - skip fix if pattern found
5947 */
5948 tSCC zStruct_SockaddrBypass0[] =
5949 "<sys/socket.h>";
5950 tSCC zStruct_SockaddrBypass1[] =
5951 "struct sockaddr;\n";
5952
5953 #define STRUCT_SOCKADDR_TEST_CT 3
5954 static tTestDesc aStruct_SockaddrTests[] = {
5955 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
5956 { TT_NEGREP, zStruct_SockaddrBypass1, (regex_t*)NULL },
5957 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
5958
5959 /*
5960 * Fix Command Arguments for Struct_Sockaddr
5961 */
5962 static const char* apzStruct_SockaddrPatch[] = {
5963 "format",
5964 "struct sockaddr;\n\
5965 %0",
5966 (char*)NULL };
5967
5968 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5969 *
5970 * Description of Sun_Auth_Proto fix
5971 */
5972 tSCC zSun_Auth_ProtoName[] =
5973 "sun_auth_proto";
5974
5975 /*
5976 * File name selection pattern
5977 */
5978 tSCC zSun_Auth_ProtoList[] =
5979 "|rpc/auth.h|rpc/clnt.h|rpc/svc.h|rpc/xdr.h|";
5980 /*
5981 * Machine/OS name selection pattern
5982 */
5983 #define apzSun_Auth_ProtoMachs (const char**)NULL
5984
5985 /*
5986 * content selection pattern - do fix if pattern found
5987 */
5988 tSCC zSun_Auth_ProtoSelect0[] =
5989 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
5990
5991 /*
5992 * content bypass pattern - skip fix if pattern found
5993 */
5994 tSCC zSun_Auth_ProtoBypass0[] =
5995 "__cplusplus";
5996
5997 #define SUN_AUTH_PROTO_TEST_CT 2
5998 static tTestDesc aSun_Auth_ProtoTests[] = {
5999 { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
6000 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
6001
6002 /*
6003 * Fix Command Arguments for Sun_Auth_Proto
6004 */
6005 static const char* apzSun_Auth_ProtoPatch[] = {
6006 "format",
6007 "#ifdef __cplusplus\n\
6008 %1(...);%2\n\
6009 #else\n\
6010 %1();%2\n\
6011 #endif",
6012 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
6013 (char*)NULL };
6014
6015 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6016 *
6017 * Description of Sun_Bogus_Ifdef fix
6018 */
6019 tSCC zSun_Bogus_IfdefName[] =
6020 "sun_bogus_ifdef";
6021
6022 /*
6023 * File name selection pattern
6024 */
6025 tSCC zSun_Bogus_IfdefList[] =
6026 "|hsfs/hsfs_spec.h|hsfs/iso_spec.h|";
6027 /*
6028 * Machine/OS name selection pattern
6029 */
6030 #define apzSun_Bogus_IfdefMachs (const char**)NULL
6031
6032 /*
6033 * content selection pattern - do fix if pattern found
6034 */
6035 tSCC zSun_Bogus_IfdefSelect0[] =
6036 "#ifdef(.*\\|\\|.*)";
6037
6038 #define SUN_BOGUS_IFDEF_TEST_CT 1
6039 static tTestDesc aSun_Bogus_IfdefTests[] = {
6040 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
6041
6042 /*
6043 * Fix Command Arguments for Sun_Bogus_Ifdef
6044 */
6045 static const char* apzSun_Bogus_IfdefPatch[] = {
6046 "format",
6047 "#if%1",
6048 (char*)NULL };
6049
6050 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6051 *
6052 * Description of Sun_Catmacro fix
6053 */
6054 tSCC zSun_CatmacroName[] =
6055 "sun_catmacro";
6056
6057 /*
6058 * File name selection pattern
6059 */
6060 tSCC zSun_CatmacroList[] =
6061 "|pixrect/memvar.h|";
6062 /*
6063 * Machine/OS name selection pattern
6064 */
6065 #define apzSun_CatmacroMachs (const char**)NULL
6066
6067 /*
6068 * content selection pattern - do fix if pattern found
6069 */
6070 tSCC zSun_CatmacroSelect0[] =
6071 "^#define[ \t]+CAT\\(a,b\\).*";
6072
6073 #define SUN_CATMACRO_TEST_CT 1
6074 static tTestDesc aSun_CatmacroTests[] = {
6075 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
6076
6077 /*
6078 * Fix Command Arguments for Sun_Catmacro
6079 */
6080 static const char* apzSun_CatmacroPatch[] = {
6081 "format",
6082 "#ifdef __STDC__\n\
6083 # define CAT(a,b) a##b\n\
6084 #else\n\
6085 %0\n\
6086 #endif",
6087 (char*)NULL };
6088
6089 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6090 *
6091 * Description of Sun_Malloc fix
6092 */
6093 tSCC zSun_MallocName[] =
6094 "sun_malloc";
6095
6096 /*
6097 * File name selection pattern
6098 */
6099 tSCC zSun_MallocList[] =
6100 "|malloc.h|";
6101 /*
6102 * Machine/OS name selection pattern
6103 */
6104 #define apzSun_MallocMachs (const char**)NULL
6105
6106 /*
6107 * content bypass pattern - skip fix if pattern found
6108 */
6109 tSCC zSun_MallocBypass0[] =
6110 "_CLASSIC_ANSI_TYPES";
6111
6112 #define SUN_MALLOC_TEST_CT 1
6113 static tTestDesc aSun_MallocTests[] = {
6114 { TT_NEGREP, zSun_MallocBypass0, (regex_t*)NULL }, };
6115
6116 /*
6117 * Fix Command Arguments for Sun_Malloc
6118 */
6119 static const char* apzSun_MallocPatch[] = { "sed",
6120 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
6121 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
6122 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
6123 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
6124 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
6125 (char*)NULL };
6126
6127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6128 *
6129 * Description of Sun_Rusers_Semi fix
6130 */
6131 tSCC zSun_Rusers_SemiName[] =
6132 "sun_rusers_semi";
6133
6134 /*
6135 * File name selection pattern
6136 */
6137 tSCC zSun_Rusers_SemiList[] =
6138 "|rpcsvc/rusers.h|";
6139 /*
6140 * Machine/OS name selection pattern
6141 */
6142 #define apzSun_Rusers_SemiMachs (const char**)NULL
6143
6144 /*
6145 * content selection pattern - do fix if pattern found
6146 */
6147 tSCC zSun_Rusers_SemiSelect0[] =
6148 "_cnt$";
6149
6150 #define SUN_RUSERS_SEMI_TEST_CT 1
6151 static tTestDesc aSun_Rusers_SemiTests[] = {
6152 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
6153
6154 /*
6155 * Fix Command Arguments for Sun_Rusers_Semi
6156 */
6157 static const char* apzSun_Rusers_SemiPatch[] = { "sed",
6158 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
6159 (char*)NULL };
6160
6161 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6162 *
6163 * Description of Sun_Signal fix
6164 */
6165 tSCC zSun_SignalName[] =
6166 "sun_signal";
6167
6168 /*
6169 * File name selection pattern
6170 */
6171 tSCC zSun_SignalList[] =
6172 "|sys/signal.h|signal.h|";
6173 /*
6174 * Machine/OS name selection pattern
6175 */
6176 #define apzSun_SignalMachs (const char**)NULL
6177
6178 /*
6179 * content selection pattern - do fix if pattern found
6180 */
6181 tSCC zSun_SignalSelect0[] =
6182 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
6183
6184 #define SUN_SIGNAL_TEST_CT 1
6185 static tTestDesc aSun_SignalTests[] = {
6186 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
6187
6188 /*
6189 * Fix Command Arguments for Sun_Signal
6190 */
6191 static const char* apzSun_SignalPatch[] = {
6192 "format",
6193 "#ifdef __cplusplus\n\
6194 void\t(*signal(...))(...);\n\
6195 #else\n\
6196 %0\n\
6197 #endif",
6198 (char*)NULL };
6199
6200 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6201 *
6202 * Description of Sunos_Strlen fix
6203 */
6204 tSCC zSunos_StrlenName[] =
6205 "sunos_strlen";
6206
6207 /*
6208 * File name selection pattern
6209 */
6210 tSCC zSunos_StrlenList[] =
6211 "|strings.h|";
6212 /*
6213 * Machine/OS name selection pattern
6214 */
6215 #define apzSunos_StrlenMachs (const char**)NULL
6216
6217 /*
6218 * content selection pattern - do fix if pattern found
6219 */
6220 tSCC zSunos_StrlenSelect0[] =
6221 "int[ \t]*strlen\\(\\);(.*)";
6222
6223 #define SUNOS_STRLEN_TEST_CT 1
6224 static tTestDesc aSunos_StrlenTests[] = {
6225 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
6226
6227 /*
6228 * Fix Command Arguments for Sunos_Strlen
6229 */
6230 static const char* apzSunos_StrlenPatch[] = {
6231 "format",
6232 "__SIZE_TYPE__ strlen();%1",
6233 (char*)NULL };
6234
6235 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6236 *
6237 * Description of Svr4_Disable_Opt fix
6238 */
6239 tSCC zSvr4_Disable_OptName[] =
6240 "svr4_disable_opt";
6241
6242 /*
6243 * File name selection pattern
6244 */
6245 tSCC zSvr4_Disable_OptList[] =
6246 "|string.h|";
6247 /*
6248 * Machine/OS name selection pattern
6249 */
6250 #define apzSvr4_Disable_OptMachs (const char**)NULL
6251
6252 /*
6253 * content selection pattern - do fix if pattern found
6254 */
6255 tSCC zSvr4_Disable_OptSelect0[] =
6256 "#define.*__std_hdr_";
6257
6258 #define SVR4_DISABLE_OPT_TEST_CT 1
6259 static tTestDesc aSvr4_Disable_OptTests[] = {
6260 { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
6261
6262 /*
6263 * Fix Command Arguments for Svr4_Disable_Opt
6264 */
6265 static const char* apzSvr4_Disable_OptPatch[] = { "sed",
6266 "-e", "/#define.*__std_hdr_/d",
6267 (char*)NULL };
6268
6269 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6270 *
6271 * Description of Svr4_Getcwd fix
6272 */
6273 tSCC zSvr4_GetcwdName[] =
6274 "svr4_getcwd";
6275
6276 /*
6277 * File name selection pattern
6278 */
6279 tSCC zSvr4_GetcwdList[] =
6280 "|stdlib.h|unistd.h|prototypes.h|";
6281 /*
6282 * Machine/OS name selection pattern
6283 */
6284 #define apzSvr4_GetcwdMachs (const char**)NULL
6285
6286 /*
6287 * content selection pattern - do fix if pattern found
6288 */
6289 tSCC zSvr4_GetcwdSelect0[] =
6290 "getcwd\\(char \\*, int\\)";
6291
6292 #define SVR4_GETCWD_TEST_CT 1
6293 static tTestDesc aSvr4_GetcwdTests[] = {
6294 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
6295
6296 /*
6297 * Fix Command Arguments for Svr4_Getcwd
6298 */
6299 static const char* apzSvr4_GetcwdPatch[] = {
6300 "format",
6301 "getcwd(char *, size_t)",
6302 (char*)NULL };
6303
6304 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6305 *
6306 * Description of Svr4_Krnl fix
6307 */
6308 tSCC zSvr4_KrnlName[] =
6309 "svr4_krnl";
6310
6311 /*
6312 * File name selection pattern
6313 */
6314 tSCC zSvr4_KrnlList[] =
6315 "|fs/rfs/rf_cache.h|sys/erec.h|sys/err.h|sys/char.h|sys/getpages.h|sys/map.h|sys/cmn_err.h|sys/kdebugger.h|";
6316 /*
6317 * Machine/OS name selection pattern
6318 */
6319 tSCC* apzSvr4_KrnlMachs[] = {
6320 "*-*-sysv4*",
6321 "i?86-sequent-ptx*",
6322 (const char*)NULL };
6323
6324 /*
6325 * content bypass pattern - skip fix if pattern found
6326 */
6327 tSCC zSvr4_KrnlBypass0[] =
6328 "_KERNEL";
6329
6330 #define SVR4_KRNL_TEST_CT 1
6331 static tTestDesc aSvr4_KrnlTests[] = {
6332 { TT_NEGREP, zSvr4_KrnlBypass0, (regex_t*)NULL }, };
6333
6334 /*
6335 * Fix Command Arguments for Svr4_Krnl
6336 */
6337 static const char* apzSvr4_KrnlPatch[] = {
6338 "wrap",
6339 "#ifdef _KERNEL\n",
6340 "#endif /* _KERNEL */\n",
6341 (char*)NULL };
6342
6343 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6344 *
6345 * Description of Svr4_Profil fix
6346 */
6347 tSCC zSvr4_ProfilName[] =
6348 "svr4_profil";
6349
6350 /*
6351 * File name selection pattern
6352 */
6353 tSCC zSvr4_ProfilList[] =
6354 "|stdlib.h|unistd.h|";
6355 /*
6356 * Machine/OS name selection pattern
6357 */
6358 #define apzSvr4_ProfilMachs (const char**)NULL
6359
6360 /*
6361 * content selection pattern - do fix if pattern found
6362 */
6363 tSCC zSvr4_ProfilSelect0[] =
6364 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
6365
6366 /*
6367 * content bypass pattern - skip fix if pattern found
6368 */
6369 tSCC zSvr4_ProfilBypass0[] =
6370 "Silicon Graphics";
6371
6372 #define SVR4_PROFIL_TEST_CT 2
6373 static tTestDesc aSvr4_ProfilTests[] = {
6374 { TT_NEGREP, zSvr4_ProfilBypass0, (regex_t*)NULL },
6375 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
6376
6377 /*
6378 * Fix Command Arguments for Svr4_Profil
6379 */
6380 static const char* apzSvr4_ProfilPatch[] = {
6381 "format",
6382 "profil(unsigned short *, size_t, int, unsigned int)",
6383 (char*)NULL };
6384
6385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6386 *
6387 * Description of Svr4_Sighandler_Type fix
6388 */
6389 tSCC zSvr4_Sighandler_TypeName[] =
6390 "svr4_sighandler_type";
6391
6392 /*
6393 * File name selection pattern
6394 */
6395 tSCC zSvr4_Sighandler_TypeList[] =
6396 "|sys/signal.h|";
6397 /*
6398 * Machine/OS name selection pattern
6399 */
6400 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
6401
6402 /*
6403 * content selection pattern - do fix if pattern found
6404 */
6405 tSCC zSvr4_Sighandler_TypeSelect0[] =
6406 "void *\\(\\*\\)\\(\\)";
6407
6408 #define SVR4_SIGHANDLER_TYPE_TEST_CT 1
6409 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
6410 { TT_EGREP, zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
6411
6412 /*
6413 * Fix Command Arguments for Svr4_Sighandler_Type
6414 */
6415 static const char* apzSvr4_Sighandler_TypePatch[] = {
6416 "format",
6417 "void (*)(int)",
6418 (char*)NULL };
6419
6420 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6421 *
6422 * Description of Svr4_Undeclared_Getrnge fix
6423 */
6424 tSCC zSvr4_Undeclared_GetrngeName[] =
6425 "svr4_undeclared_getrnge";
6426
6427 /*
6428 * File name selection pattern
6429 */
6430 tSCC zSvr4_Undeclared_GetrngeList[] =
6431 "|regexp.h|";
6432 /*
6433 * Machine/OS name selection pattern
6434 */
6435 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
6436
6437 /*
6438 * content selection pattern - do fix if pattern found
6439 */
6440 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
6441 "getrnge";
6442
6443 /*
6444 * content bypass pattern - skip fix if pattern found
6445 */
6446 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
6447 "static void getrnge";
6448
6449 #define SVR4_UNDECLARED_GETRNGE_TEST_CT 2
6450 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
6451 { TT_NEGREP, zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
6452 { TT_EGREP, zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
6453
6454 /*
6455 * Fix Command Arguments for Svr4_Undeclared_Getrnge
6456 */
6457 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
6458 "format",
6459 "%0\n\
6460 static int getrnge ();",
6461 "^static int[ \t]+size;",
6462 (char*)NULL };
6463
6464 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6465 *
6466 * Description of Sysv68_String fix
6467 */
6468 tSCC zSysv68_StringName[] =
6469 "sysv68_string";
6470
6471 /*
6472 * File name selection pattern
6473 */
6474 tSCC zSysv68_StringList[] =
6475 "|testing.h|string.h|";
6476 /*
6477 * Machine/OS name selection pattern
6478 */
6479 #define apzSysv68_StringMachs (const char**)NULL
6480
6481 /*
6482 * content bypass pattern - skip fix if pattern found
6483 */
6484 tSCC zSysv68_StringBypass0[] =
6485 "_CLASSIC_ANSI_TYPES";
6486
6487 #define SYSV68_STRING_TEST_CT 1
6488 static tTestDesc aSysv68_StringTests[] = {
6489 { TT_NEGREP, zSysv68_StringBypass0, (regex_t*)NULL }, };
6490
6491 /*
6492 * Fix Command Arguments for Sysv68_String
6493 */
6494 static const char* apzSysv68_StringPatch[] = { "sed",
6495 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
6496 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
6497 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
6498 "-e", "/^extern char$/N",
6499 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
6500 "-e", "/^extern int$/N",
6501 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
6502 "-e", "/^\tstrncmp(),$/N",
6503 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
6504 extern unsigned int\\\n\
6505 \\2/",
6506 (char*)NULL };
6507
6508 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6509 *
6510 * Description of Sysz_Stdlib_For_Sun fix
6511 */
6512 tSCC zSysz_Stdlib_For_SunName[] =
6513 "sysz_stdlib_for_sun";
6514
6515 /*
6516 * File name selection pattern
6517 */
6518 tSCC zSysz_Stdlib_For_SunList[] =
6519 "|stdlib.h|";
6520 /*
6521 * Machine/OS name selection pattern
6522 */
6523 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
6524
6525 /*
6526 * content selection pattern - do fix if pattern found
6527 */
6528 tSCC zSysz_Stdlib_For_SunSelect0[] =
6529 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
6530
6531 /*
6532 * content bypass pattern - skip fix if pattern found
6533 */
6534 tSCC zSysz_Stdlib_For_SunBypass0[] =
6535 "_CLASSIC_ANSI_TYPES";
6536
6537 #define SYSZ_STDLIB_FOR_SUN_TEST_CT 2
6538 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
6539 { TT_NEGREP, zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
6540 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
6541
6542 /*
6543 * Fix Command Arguments for Sysz_Stdlib_For_Sun
6544 */
6545 static const char* apzSysz_Stdlib_For_SunPatch[] = {
6546 "format",
6547 "void *\t%1(",
6548 (char*)NULL };
6549
6550 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6551 *
6552 * Description of Thread_Keyword fix
6553 */
6554 tSCC zThread_KeywordName[] =
6555 "thread_keyword";
6556
6557 /*
6558 * File name selection pattern
6559 */
6560 tSCC zThread_KeywordList[] =
6561 "|pthread.h|bits/sigthread.h|";
6562 /*
6563 * Machine/OS name selection pattern
6564 */
6565 #define apzThread_KeywordMachs (const char**)NULL
6566
6567 /*
6568 * content selection pattern - do fix if pattern found
6569 */
6570 tSCC zThread_KeywordSelect0[] =
6571 "([* ])__thread([,)])";
6572
6573 #define THREAD_KEYWORD_TEST_CT 1
6574 static tTestDesc aThread_KeywordTests[] = {
6575 { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
6576
6577 /*
6578 * Fix Command Arguments for Thread_Keyword
6579 */
6580 static const char* apzThread_KeywordPatch[] = {
6581 "format",
6582 "%1__thr%2",
6583 (char*)NULL };
6584
6585 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6586 *
6587 * Description of Tinfo_Cplusplus fix
6588 */
6589 tSCC zTinfo_CplusplusName[] =
6590 "tinfo_cplusplus";
6591
6592 /*
6593 * File name selection pattern
6594 */
6595 tSCC zTinfo_CplusplusList[] =
6596 "|tinfo.h|";
6597 /*
6598 * Machine/OS name selection pattern
6599 */
6600 #define apzTinfo_CplusplusMachs (const char**)NULL
6601
6602 /*
6603 * content selection pattern - do fix if pattern found
6604 */
6605 tSCC zTinfo_CplusplusSelect0[] =
6606 "[ \t]_cplusplus";
6607
6608 #define TINFO_CPLUSPLUS_TEST_CT 1
6609 static tTestDesc aTinfo_CplusplusTests[] = {
6610 { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
6611
6612 /*
6613 * Fix Command Arguments for Tinfo_Cplusplus
6614 */
6615 static const char* apzTinfo_CplusplusPatch[] = {
6616 "format",
6617 " __cplusplus",
6618 (char*)NULL };
6619
6620 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6621 *
6622 * Description of Ultrix_Atexit_Param fix
6623 */
6624 tSCC zUltrix_Atexit_ParamName[] =
6625 "ultrix_atexit_param";
6626
6627 /*
6628 * File name selection pattern
6629 */
6630 tSCC zUltrix_Atexit_ParamList[] =
6631 "|stdlib.h|";
6632 /*
6633 * Machine/OS name selection pattern
6634 */
6635 #define apzUltrix_Atexit_ParamMachs (const char**)NULL
6636
6637 /*
6638 * content selection pattern - do fix if pattern found
6639 */
6640 tSCC zUltrix_Atexit_ParamSelect0[] =
6641 "atexit\\(.*\\(\\)";
6642
6643 #define ULTRIX_ATEXIT_PARAM_TEST_CT 1
6644 static tTestDesc aUltrix_Atexit_ParamTests[] = {
6645 { TT_EGREP, zUltrix_Atexit_ParamSelect0, (regex_t*)NULL }, };
6646
6647 /*
6648 * Fix Command Arguments for Ultrix_Atexit_Param
6649 */
6650 static const char* apzUltrix_Atexit_ParamPatch[] = {
6651 "format",
6652 "atexit( void (*__func)( void )",
6653 (char*)NULL };
6654
6655 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6656 *
6657 * Description of Ultrix_Atof_Param fix
6658 */
6659 tSCC zUltrix_Atof_ParamName[] =
6660 "ultrix_atof_param";
6661
6662 /*
6663 * File name selection pattern
6664 */
6665 tSCC zUltrix_Atof_ParamList[] =
6666 "|math.h|";
6667 /*
6668 * Machine/OS name selection pattern
6669 */
6670 #define apzUltrix_Atof_ParamMachs (const char**)NULL
6671
6672 /*
6673 * content selection pattern - do fix if pattern found
6674 */
6675 tSCC zUltrix_Atof_ParamSelect0[] =
6676 "atof\\([ \t]*char";
6677
6678 #define ULTRIX_ATOF_PARAM_TEST_CT 1
6679 static tTestDesc aUltrix_Atof_ParamTests[] = {
6680 { TT_EGREP, zUltrix_Atof_ParamSelect0, (regex_t*)NULL }, };
6681
6682 /*
6683 * Fix Command Arguments for Ultrix_Atof_Param
6684 */
6685 static const char* apzUltrix_Atof_ParamPatch[] = {
6686 "format",
6687 "atof(const char",
6688 (char*)NULL };
6689
6690 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6691 *
6692 * Description of Ultrix_Const fix
6693 */
6694 tSCC zUltrix_ConstName[] =
6695 "ultrix_const";
6696
6697 /*
6698 * File name selection pattern
6699 */
6700 tSCC zUltrix_ConstList[] =
6701 "|stdio.h|";
6702 /*
6703 * Machine/OS name selection pattern
6704 */
6705 #define apzUltrix_ConstMachs (const char**)NULL
6706
6707 /*
6708 * content selection pattern - do fix if pattern found
6709 */
6710 tSCC zUltrix_ConstSelect0[] =
6711 "perror\\( char \\*";
6712
6713 #define ULTRIX_CONST_TEST_CT 1
6714 static tTestDesc aUltrix_ConstTests[] = {
6715 { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
6716
6717 /*
6718 * Fix Command Arguments for Ultrix_Const
6719 */
6720 static const char* apzUltrix_ConstPatch[] = {
6721 "format",
6722 "%1 const %3 *__",
6723 "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
6724 (char*)NULL };
6725
6726 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6727 *
6728 * Description of Ultrix_Const2 fix
6729 */
6730 tSCC zUltrix_Const2Name[] =
6731 "ultrix_const2";
6732
6733 /*
6734 * File name selection pattern
6735 */
6736 tSCC zUltrix_Const2List[] =
6737 "|stdio.h|";
6738 /*
6739 * Machine/OS name selection pattern
6740 */
6741 #define apzUltrix_Const2Machs (const char**)NULL
6742
6743 /*
6744 * content selection pattern - do fix if pattern found
6745 */
6746 tSCC zUltrix_Const2Select0[] =
6747 "\\*fopen\\( char \\*";
6748
6749 #define ULTRIX_CONST2_TEST_CT 1
6750 static tTestDesc aUltrix_Const2Tests[] = {
6751 { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
6752
6753 /*
6754 * Fix Command Arguments for Ultrix_Const2
6755 */
6756 static const char* apzUltrix_Const2Patch[] = {
6757 "format",
6758 "%1( const char *%3, const char *",
6759 "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
6760 (char*)NULL };
6761
6762 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6763 *
6764 * Description of Ultrix_Const3 fix
6765 */
6766 tSCC zUltrix_Const3Name[] =
6767 "ultrix_const3";
6768
6769 /*
6770 * File name selection pattern
6771 */
6772 tSCC zUltrix_Const3List[] =
6773 "|stdio.h|";
6774 /*
6775 * Machine/OS name selection pattern
6776 */
6777 #define apzUltrix_Const3Machs (const char**)NULL
6778
6779 /*
6780 * content selection pattern - do fix if pattern found
6781 */
6782 tSCC zUltrix_Const3Select0[] =
6783 "fdopen\\( .*, char \\*";
6784
6785 #define ULTRIX_CONST3_TEST_CT 1
6786 static tTestDesc aUltrix_Const3Tests[] = {
6787 { TT_EGREP, zUltrix_Const3Select0, (regex_t*)NULL }, };
6788
6789 /*
6790 * Fix Command Arguments for Ultrix_Const3
6791 */
6792 static const char* apzUltrix_Const3Patch[] = {
6793 "format",
6794 "%1 const %3 *__",
6795 "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
6796 (char*)NULL };
6797
6798 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6799 *
6800 * Description of Ultrix_Fix_Fixproto fix
6801 */
6802 tSCC zUltrix_Fix_FixprotoName[] =
6803 "ultrix_fix_fixproto";
6804
6805 /*
6806 * File name selection pattern
6807 */
6808 tSCC zUltrix_Fix_FixprotoList[] =
6809 "|sys/utsname.h|";
6810 /*
6811 * Machine/OS name selection pattern
6812 */
6813 #define apzUltrix_Fix_FixprotoMachs (const char**)NULL
6814
6815 /*
6816 * content selection pattern - do fix if pattern found
6817 */
6818 tSCC zUltrix_Fix_FixprotoSelect0[] =
6819 "ULTRIX";
6820
6821 #define ULTRIX_FIX_FIXPROTO_TEST_CT 1
6822 static tTestDesc aUltrix_Fix_FixprotoTests[] = {
6823 { TT_EGREP, zUltrix_Fix_FixprotoSelect0, (regex_t*)NULL }, };
6824
6825 /*
6826 * Fix Command Arguments for Ultrix_Fix_Fixproto
6827 */
6828 static const char* apzUltrix_Fix_FixprotoPatch[] = {
6829 "format",
6830 "struct utsname;\n\
6831 %0",
6832 "^[ \t]*extern[ \t]*int[ \t]*uname\\(\\);",
6833 (char*)NULL };
6834
6835 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6836 *
6837 * Description of Ultrix_Ifdef fix
6838 */
6839 tSCC zUltrix_IfdefName[] =
6840 "ultrix_ifdef";
6841
6842 /*
6843 * File name selection pattern
6844 */
6845 tSCC zUltrix_IfdefList[] =
6846 "|sys/file.h|";
6847 /*
6848 * Machine/OS name selection pattern
6849 */
6850 #define apzUltrix_IfdefMachs (const char**)NULL
6851
6852 /*
6853 * content selection pattern - do fix if pattern found
6854 */
6855 tSCC zUltrix_IfdefSelect0[] =
6856 "^#ifdef KERNEL[ \t]+&&";
6857
6858 #define ULTRIX_IFDEF_TEST_CT 1
6859 static tTestDesc aUltrix_IfdefTests[] = {
6860 { TT_EGREP, zUltrix_IfdefSelect0, (regex_t*)NULL }, };
6861
6862 /*
6863 * Fix Command Arguments for Ultrix_Ifdef
6864 */
6865 static const char* apzUltrix_IfdefPatch[] = {
6866 "format",
6867 "#if defined(KERNEL) &&",
6868 (char*)NULL };
6869
6870 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6871 *
6872 * Description of Ultrix_Locale fix
6873 */
6874 tSCC zUltrix_LocaleName[] =
6875 "ultrix_locale";
6876
6877 /*
6878 * File name selection pattern
6879 */
6880 tSCC zUltrix_LocaleList[] =
6881 "|locale.h|";
6882 /*
6883 * Machine/OS name selection pattern
6884 */
6885 #define apzUltrix_LocaleMachs (const char**)NULL
6886
6887 /*
6888 * content selection pattern - do fix if pattern found
6889 */
6890 tSCC zUltrix_LocaleSelect0[] =
6891 "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
6892
6893 #define ULTRIX_LOCALE_TEST_CT 1
6894 static tTestDesc aUltrix_LocaleTests[] = {
6895 { TT_EGREP, zUltrix_LocaleSelect0, (regex_t*)NULL }, };
6896
6897 /*
6898 * Fix Command Arguments for Ultrix_Locale
6899 */
6900 static const char* apzUltrix_LocalePatch[] = {
6901 "wrap",
6902 (char*)NULL };
6903
6904 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6905 *
6906 * Description of Ultrix_Math_Ifdef fix
6907 */
6908 tSCC zUltrix_Math_IfdefName[] =
6909 "ultrix_math_ifdef";
6910
6911 /*
6912 * File name selection pattern
6913 */
6914 tSCC zUltrix_Math_IfdefList[] =
6915 "|sys/limits.h|float.h|math.h|";
6916 /*
6917 * Machine/OS name selection pattern
6918 */
6919 #define apzUltrix_Math_IfdefMachs (const char**)NULL
6920
6921 /*
6922 * content selection pattern - do fix if pattern found
6923 */
6924 tSCC zUltrix_Math_IfdefSelect0[] =
6925 "^(#if.*)\\|\\|[ \t]+CC\\$[a-z]+";
6926
6927 #define ULTRIX_MATH_IFDEF_TEST_CT 1
6928 static tTestDesc aUltrix_Math_IfdefTests[] = {
6929 { TT_EGREP, zUltrix_Math_IfdefSelect0, (regex_t*)NULL }, };
6930
6931 /*
6932 * Fix Command Arguments for Ultrix_Math_Ifdef
6933 */
6934 static const char* apzUltrix_Math_IfdefPatch[] = {
6935 "format",
6936 "%1",
6937 (char*)NULL };
6938
6939 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6940 *
6941 * Description of Ultrix_Nested_Ioctl fix
6942 */
6943 tSCC zUltrix_Nested_IoctlName[] =
6944 "ultrix_nested_ioctl";
6945
6946 /*
6947 * File name selection pattern
6948 */
6949 tSCC zUltrix_Nested_IoctlList[] =
6950 "|sys/ioctl.h|";
6951 /*
6952 * Machine/OS name selection pattern
6953 */
6954 #define apzUltrix_Nested_IoctlMachs (const char**)NULL
6955
6956 /*
6957 * content selection pattern - do fix if pattern found
6958 */
6959 tSCC zUltrix_Nested_IoctlSelect0[] =
6960 "^/\\* #define SIOCSCREEN";
6961
6962 #define ULTRIX_NESTED_IOCTL_TEST_CT 1
6963 static tTestDesc aUltrix_Nested_IoctlTests[] = {
6964 { TT_EGREP, zUltrix_Nested_IoctlSelect0, (regex_t*)NULL }, };
6965
6966 /*
6967 * Fix Command Arguments for Ultrix_Nested_Ioctl
6968 */
6969 static const char* apzUltrix_Nested_IoctlPatch[] = { "sed",
6970 "-e", "/^\\/\\* #define SIOCSCREEN/s@/\\* screend@*//* screend@",
6971 (char*)NULL };
6972
6973 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6974 *
6975 * Description of Ultrix_Nested_Svc fix
6976 */
6977 tSCC zUltrix_Nested_SvcName[] =
6978 "ultrix_nested_svc";
6979
6980 /*
6981 * File name selection pattern
6982 */
6983 tSCC zUltrix_Nested_SvcList[] =
6984 "|rpc/svc.h|";
6985 /*
6986 * Machine/OS name selection pattern
6987 */
6988 #define apzUltrix_Nested_SvcMachs (const char**)NULL
6989
6990 /*
6991 * content selection pattern - do fix if pattern found
6992 */
6993 tSCC zUltrix_Nested_SvcSelect0[] =
6994 "^ \\*[ \t]*int protocol; */\\*";
6995
6996 #define ULTRIX_NESTED_SVC_TEST_CT 1
6997 static tTestDesc aUltrix_Nested_SvcTests[] = {
6998 { TT_EGREP, zUltrix_Nested_SvcSelect0, (regex_t*)NULL }, };
6999
7000 /*
7001 * Fix Command Arguments for Ultrix_Nested_Svc
7002 */
7003 static const char* apzUltrix_Nested_SvcPatch[] = { "sed",
7004 "-e", "s@^\\( \\*\tint protocol; \\)/\\*@\\1*/ /*@",
7005 (char*)NULL };
7006
7007 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7008 *
7009 * Description of Ultrix_Stat fix
7010 */
7011 tSCC zUltrix_StatName[] =
7012 "ultrix_stat";
7013
7014 /*
7015 * File name selection pattern
7016 */
7017 tSCC zUltrix_StatList[] =
7018 "|sys/stat.h|";
7019 /*
7020 * Machine/OS name selection pattern
7021 */
7022 #define apzUltrix_StatMachs (const char**)NULL
7023
7024 /*
7025 * content selection pattern - do fix if pattern found
7026 */
7027 tSCC zUltrix_StatSelect0[] =
7028 "@\\(#\\)stat\\.h.*6\\.1.*\\(ULTRIX\\)";
7029
7030 #define ULTRIX_STAT_TEST_CT 1
7031 static tTestDesc aUltrix_StatTests[] = {
7032 { TT_EGREP, zUltrix_StatSelect0, (regex_t*)NULL }, };
7033
7034 /*
7035 * Fix Command Arguments for Ultrix_Stat
7036 */
7037 static const char* apzUltrix_StatPatch[] = { "sed",
7038 "-e", "/^#define[ \t]S_IFPORT[ \t]*S_IFIFO$/a\\\n\
7039 \\\n\
7040 /* macro to test for symbolic link */\\\n\
7041 #define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK)\\\n\n",
7042 "-e", "/^[ \t]*fstat(),$/a\\\n\
7043 \tlstat(),\n",
7044 (char*)NULL };
7045
7046 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7047 *
7048 * Description of Ultrix_Static fix
7049 */
7050 tSCC zUltrix_StaticName[] =
7051 "ultrix_static";
7052
7053 /*
7054 * File name selection pattern
7055 */
7056 tSCC zUltrix_StaticList[] =
7057 "|machine/cpu.h|";
7058 /*
7059 * Machine/OS name selection pattern
7060 */
7061 #define apzUltrix_StaticMachs (const char**)NULL
7062
7063 /*
7064 * content selection pattern - do fix if pattern found
7065 */
7066 tSCC zUltrix_StaticSelect0[] =
7067 "#include \"r[34]_cpu";
7068
7069 #define ULTRIX_STATIC_TEST_CT 1
7070 static tTestDesc aUltrix_StaticTests[] = {
7071 { TT_EGREP, zUltrix_StaticSelect0, (regex_t*)NULL }, };
7072
7073 /*
7074 * Fix Command Arguments for Ultrix_Static
7075 */
7076 static const char* apzUltrix_StaticPatch[] = { "sed",
7077 "-e", "s/^static struct tlb_pid_state/struct tlb_pid_state/",
7078 "-e", "s/^#include \"r3_cpu\\.h\"$/#include <machine\\/r3_cpu\\.h>/",
7079 "-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
7080 (char*)NULL };
7081
7082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7083 *
7084 * Description of Ultrix_Stdlib fix
7085 */
7086 tSCC zUltrix_StdlibName[] =
7087 "ultrix_stdlib";
7088
7089 /*
7090 * File name selection pattern
7091 */
7092 tSCC zUltrix_StdlibList[] =
7093 "|stdlib.h|";
7094 /*
7095 * Machine/OS name selection pattern
7096 */
7097 #define apzUltrix_StdlibMachs (const char**)NULL
7098
7099 /*
7100 * content selection pattern - do fix if pattern found
7101 */
7102 tSCC zUltrix_StdlibSelect0[] =
7103 "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
7104
7105 #define ULTRIX_STDLIB_TEST_CT 1
7106 static tTestDesc aUltrix_StdlibTests[] = {
7107 { TT_EGREP, zUltrix_StdlibSelect0, (regex_t*)NULL }, };
7108
7109 /*
7110 * Fix Command Arguments for Ultrix_Stdlib
7111 */
7112 static const char* apzUltrix_StdlibPatch[] = { "sed",
7113 "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
7114 int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
7115 void\t\tunsetenv( const char *__name );\\\n\
7116 int\t\tputenv( char *__s );\n",
7117 "-e", "/^char.*getenv();.*$/a\\\n\
7118 int\tsetenv();\\\n\
7119 void\tunsetenv();\\\n\
7120 int\tputenv();\n",
7121 (char*)NULL };
7122
7123 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7124 *
7125 * Description of Ultrix_Strings fix
7126 */
7127 tSCC zUltrix_StringsName[] =
7128 "ultrix_strings";
7129
7130 /*
7131 * File name selection pattern
7132 */
7133 tSCC zUltrix_StringsList[] =
7134 "|strings.h|";
7135 /*
7136 * Machine/OS name selection pattern
7137 */
7138 #define apzUltrix_StringsMachs (const char**)NULL
7139
7140 /*
7141 * content selection pattern - do fix if pattern found
7142 */
7143 tSCC zUltrix_StringsSelect0[] =
7144 "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7145
7146 #define ULTRIX_STRINGS_TEST_CT 1
7147 static tTestDesc aUltrix_StringsTests[] = {
7148 { TT_EGREP, zUltrix_StringsSelect0, (regex_t*)NULL }, };
7149
7150 /*
7151 * Fix Command Arguments for Ultrix_Strings
7152 */
7153 static const char* apzUltrix_StringsPatch[] = {
7154 "wrap",
7155 (char*)NULL };
7156
7157 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7158 *
7159 * Description of Ultrix_Strings2 fix
7160 */
7161 tSCC zUltrix_Strings2Name[] =
7162 "ultrix_strings2";
7163
7164 /*
7165 * File name selection pattern
7166 */
7167 tSCC zUltrix_Strings2List[] =
7168 "|strings.h|";
7169 /*
7170 * Machine/OS name selection pattern
7171 */
7172 #define apzUltrix_Strings2Machs (const char**)NULL
7173
7174 /*
7175 * content selection pattern - do fix if pattern found
7176 */
7177 tSCC zUltrix_Strings2Select0[] =
7178 "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
7179
7180 #define ULTRIX_STRINGS2_TEST_CT 1
7181 static tTestDesc aUltrix_Strings2Tests[] = {
7182 { TT_EGREP, zUltrix_Strings2Select0, (regex_t*)NULL }, };
7183
7184 /*
7185 * Fix Command Arguments for Ultrix_Strings2
7186 */
7187 static const char* apzUltrix_Strings2Patch[] = { "sed",
7188 "-e", "/^.*strncmp( const .* );.*/a\\\n\
7189 \\\n\
7190 extern int\\\n\
7191 \tstrcasecmp( const char *__s1, const char *__s2),\\\n\
7192 \tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
7193 "-e", "/^.*strncmp();.*/a\\\n\
7194 extern int\\\n\
7195 \tstrcasecmp(),\\\n\
7196 \tstrncasecmp();\n",
7197 (char*)NULL };
7198
7199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7200 *
7201 * Description of Ultrix_Sys_Time fix
7202 */
7203 tSCC zUltrix_Sys_TimeName[] =
7204 "ultrix_sys_time";
7205
7206 /*
7207 * File name selection pattern
7208 */
7209 tSCC zUltrix_Sys_TimeList[] =
7210 "|sys/time.h|";
7211 /*
7212 * Machine/OS name selection pattern
7213 */
7214 #define apzUltrix_Sys_TimeMachs (const char**)NULL
7215
7216 /*
7217 * content selection pattern - do fix if pattern found
7218 */
7219 tSCC zUltrix_Sys_TimeSelect0[] =
7220 "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
7221
7222 #define ULTRIX_SYS_TIME_TEST_CT 1
7223 static tTestDesc aUltrix_Sys_TimeTests[] = {
7224 { TT_EGREP, zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
7225
7226 /*
7227 * Fix Command Arguments for Ultrix_Sys_Time
7228 */
7229 static const char* apzUltrix_Sys_TimePatch[] = { "sed",
7230 "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
7231 \\\n\
7232 extern int adjtime(struct timeval *, struct timeval *);\\\n\
7233 extern int getitimer(int, struct itimerval *);\\\n\
7234 extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
7235 extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
7236 extern int settimeofday(struct timeval *, struct timezone *);\\\n\
7237 extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
7238 extern int stime(const time_t *);\\\n\
7239 extern int utimes(const char *, const struct timeval[2]);\\\n\
7240 extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
7241 "-e", "/^extern.*double.*difftime();.*$/a\\\n\
7242 extern\tint adjtime();\\\n\
7243 extern\tint getitimer();\\\n\
7244 extern\tint setitimer();\\\n\
7245 extern\tint gettimeofday();\\\n\
7246 extern\tint settimeofday();\\\n\
7247 extern\tvoid profil();\\\n\
7248 extern\tint stime();\\\n\
7249 extern\tint utimes();\\\n\
7250 extern\tint select();\n",
7251 (char*)NULL };
7252
7253 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7254 *
7255 * Description of Ultrix_Unistd fix
7256 */
7257 tSCC zUltrix_UnistdName[] =
7258 "ultrix_unistd";
7259
7260 /*
7261 * File name selection pattern
7262 */
7263 tSCC zUltrix_UnistdList[] =
7264 "|unistd.h|";
7265 /*
7266 * Machine/OS name selection pattern
7267 */
7268 #define apzUltrix_UnistdMachs (const char**)NULL
7269
7270 /*
7271 * content selection pattern - do fix if pattern found
7272 */
7273 tSCC zUltrix_UnistdSelect0[] =
7274 "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
7275
7276 #define ULTRIX_UNISTD_TEST_CT 1
7277 static tTestDesc aUltrix_UnistdTests[] = {
7278 { TT_EGREP, zUltrix_UnistdSelect0, (regex_t*)NULL }, };
7279
7280 /*
7281 * Fix Command Arguments for Ultrix_Unistd
7282 */
7283 static const char* apzUltrix_UnistdPatch[] = { "sed",
7284 "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
7285 \tgetpagesize(),\n",
7286 "-e", "/^[ \t]*fork(),.*$/a\\\n\
7287 \tvfork(),\n",
7288 (char*)NULL };
7289
7290 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7291 *
7292 * Description of Unicosmk_Restrict fix
7293 */
7294 tSCC zUnicosmk_RestrictName[] =
7295 "unicosmk_restrict";
7296
7297 /*
7298 * File name selection pattern
7299 */
7300 tSCC zUnicosmk_RestrictList[] =
7301 "|stdio.h|stdlib.h|wchar.h|";
7302 /*
7303 * Machine/OS name selection pattern
7304 */
7305 tSCC* apzUnicosmk_RestrictMachs[] = {
7306 "*-*-unicosmk*",
7307 (const char*)NULL };
7308
7309 /*
7310 * content selection pattern - do fix if pattern found
7311 */
7312 tSCC zUnicosmk_RestrictSelect0[] =
7313 "(\\*[ \t]*)restrict([ \t]+)";
7314
7315 #define UNICOSMK_RESTRICT_TEST_CT 1
7316 static tTestDesc aUnicosmk_RestrictTests[] = {
7317 { TT_EGREP, zUnicosmk_RestrictSelect0, (regex_t*)NULL }, };
7318
7319 /*
7320 * Fix Command Arguments for Unicosmk_Restrict
7321 */
7322 static const char* apzUnicosmk_RestrictPatch[] = {
7323 "format",
7324 "%1__restrict__%2",
7325 (char*)NULL };
7326
7327 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7328 *
7329 * Description of Uw7_Byteorder_Fix fix
7330 */
7331 tSCC zUw7_Byteorder_FixName[] =
7332 "uw7_byteorder_fix";
7333
7334 /*
7335 * File name selection pattern
7336 */
7337 tSCC zUw7_Byteorder_FixList[] =
7338 "|arpa/inet.h|";
7339 /*
7340 * Machine/OS name selection pattern
7341 */
7342 tSCC* apzUw7_Byteorder_FixMachs[] = {
7343 "*-*-sysv4*",
7344 "i?86-*-sysv5*",
7345 "i?86-*-udk*",
7346 "i?86-*-solaris2.[0-4]",
7347 "powerpcle-*-solaris2.[0-4]",
7348 "sparc-*-solaris2.[0-4]",
7349 (const char*)NULL };
7350
7351 /*
7352 * content selection pattern - do fix if pattern found
7353 */
7354 tSCC zUw7_Byteorder_FixSelect0[] =
7355 "in_port_t";
7356
7357 /*
7358 * perform the 'test' shell command - do fix on success
7359 */
7360 tSCC zUw7_Byteorder_FixTest0[] =
7361 "-f sys/byteorder.h";
7362
7363 #define UW7_BYTEORDER_FIX_TEST_CT 2
7364 static tTestDesc aUw7_Byteorder_FixTests[] = {
7365 { TT_TEST, zUw7_Byteorder_FixTest0, 0 /* unused */ },
7366 { TT_EGREP, zUw7_Byteorder_FixSelect0, (regex_t*)NULL }, };
7367
7368 /*
7369 * Fix Command Arguments for Uw7_Byteorder_Fix
7370 */
7371 static const char* apzUw7_Byteorder_FixPatch[] = {
7372 "format",
7373 "",
7374 "^extern.*[ \t](htons|ntohs).*\\(in_port_t\\).*;",
7375 (char*)NULL };
7376
7377 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7378 *
7379 * Description of Va_I960_Macro fix
7380 */
7381 tSCC zVa_I960_MacroName[] =
7382 "va_i960_macro";
7383
7384 /*
7385 * File name selection pattern
7386 */
7387 tSCC zVa_I960_MacroList[] =
7388 "|arch/i960/archI960.h|";
7389 /*
7390 * Machine/OS name selection pattern
7391 */
7392 #define apzVa_I960_MacroMachs (const char**)NULL
7393
7394 /*
7395 * content selection pattern - do fix if pattern found
7396 */
7397 tSCC zVa_I960_MacroSelect0[] =
7398 "__(vsiz|vali|vpad|alignof__)";
7399
7400 #define VA_I960_MACRO_TEST_CT 1
7401 static tTestDesc aVa_I960_MacroTests[] = {
7402 { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7403
7404 /*
7405 * Fix Command Arguments for Va_I960_Macro
7406 */
7407 static const char* apzVa_I960_MacroPatch[] = {
7408 "format",
7409 "__vx%1",
7410 (char*)NULL };
7411
7412 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7413 *
7414 * Description of Void_Null fix
7415 */
7416 tSCC zVoid_NullName[] =
7417 "void_null";
7418
7419 /*
7420 * File name selection pattern
7421 */
7422 tSCC zVoid_NullList[] =
7423 "|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|";
7424 /*
7425 * Machine/OS name selection pattern
7426 */
7427 #define apzVoid_NullMachs (const char**)NULL
7428
7429 /*
7430 * content selection pattern - do fix if pattern found
7431 */
7432 tSCC zVoid_NullSelect0[] =
7433 "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
7434
7435 /*
7436 * content bypass pattern - skip fix if pattern found
7437 */
7438 tSCC zVoid_NullBypass0[] =
7439 "__cplusplus";
7440
7441 #define VOID_NULL_TEST_CT 2
7442 static tTestDesc aVoid_NullTests[] = {
7443 { TT_NEGREP, zVoid_NullBypass0, (regex_t*)NULL },
7444 { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
7445
7446 /*
7447 * Fix Command Arguments for Void_Null
7448 */
7449 static const char* apzVoid_NullPatch[] = {
7450 "format",
7451 "#define NULL 0",
7452 (char*)NULL };
7453
7454 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7455 *
7456 * Description of Vxworks_Gcc_Problem fix
7457 */
7458 tSCC zVxworks_Gcc_ProblemName[] =
7459 "vxworks_gcc_problem";
7460
7461 /*
7462 * File name selection pattern
7463 */
7464 tSCC zVxworks_Gcc_ProblemList[] =
7465 "|types/vxTypesBase.h|";
7466 /*
7467 * Machine/OS name selection pattern
7468 */
7469 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
7470
7471 /*
7472 * content selection pattern - do fix if pattern found
7473 */
7474 tSCC zVxworks_Gcc_ProblemSelect0[] =
7475 "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
7476
7477 #define VXWORKS_GCC_PROBLEM_TEST_CT 1
7478 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
7479 { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
7480
7481 /*
7482 * Fix Command Arguments for Vxworks_Gcc_Problem
7483 */
7484 static const char* apzVxworks_Gcc_ProblemPatch[] = { "sed",
7485 "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
7486 "-e", "/[ \t]size_t/i\\\n\
7487 #ifndef _GCC_SIZE_T\\\n\
7488 #define _GCC_SIZE_T\n",
7489 "-e", "/[ \t]size_t/a\\\n\
7490 #endif\n",
7491 "-e", "/[ \t]ptrdiff_t/i\\\n\
7492 #ifndef _GCC_PTRDIFF_T\\\n\
7493 #define _GCC_PTRDIFF_T\n",
7494 "-e", "/[ \t]ptrdiff_t/a\\\n\
7495 #endif\n",
7496 "-e", "/[ \t]wchar_t/i\\\n\
7497 #ifndef _GCC_WCHAR_T\\\n\
7498 #define _GCC_WCHAR_T\n",
7499 "-e", "/[ \t]wchar_t/a\\\n\
7500 #endif\n",
7501 (char*)NULL };
7502
7503 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7504 *
7505 * Description of Vxworks_Needs_Vxtypes fix
7506 */
7507 tSCC zVxworks_Needs_VxtypesName[] =
7508 "vxworks_needs_vxtypes";
7509
7510 /*
7511 * File name selection pattern
7512 */
7513 tSCC zVxworks_Needs_VxtypesList[] =
7514 "|time.h|";
7515 /*
7516 * Machine/OS name selection pattern
7517 */
7518 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
7519
7520 /*
7521 * content selection pattern - do fix if pattern found
7522 */
7523 tSCC zVxworks_Needs_VxtypesSelect0[] =
7524 "uint_t([ \t]+_clocks_per_sec)";
7525
7526 #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
7527 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
7528 { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
7529
7530 /*
7531 * Fix Command Arguments for Vxworks_Needs_Vxtypes
7532 */
7533 static const char* apzVxworks_Needs_VxtypesPatch[] = {
7534 "format",
7535 "unsigned int%1",
7536 (char*)NULL };
7537
7538 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7539 *
7540 * Description of Vxworks_Needs_Vxworks fix
7541 */
7542 tSCC zVxworks_Needs_VxworksName[] =
7543 "vxworks_needs_vxworks";
7544
7545 /*
7546 * File name selection pattern
7547 */
7548 tSCC zVxworks_Needs_VxworksList[] =
7549 "|sys/stat.h|";
7550 /*
7551 * Machine/OS name selection pattern
7552 */
7553 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
7554
7555 /*
7556 * content selection pattern - do fix if pattern found
7557 */
7558 tSCC zVxworks_Needs_VxworksSelect0[] =
7559 "#[ \t]define[ \t]+__INCstath";
7560
7561 /*
7562 * perform the 'test' shell command - do fix on success
7563 */
7564 tSCC zVxworks_Needs_VxworksTest0[] =
7565 " -r types/vxTypesOld.h";
7566 tSCC zVxworks_Needs_VxworksTest1[] =
7567 " -n \"`egrep '#include' $file`\"";
7568 tSCC zVxworks_Needs_VxworksTest2[] =
7569 " -n \"`egrep ULONG $file`\"";
7570
7571 #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
7572 static tTestDesc aVxworks_Needs_VxworksTests[] = {
7573 { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
7574 { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
7575 { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
7576 { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
7577
7578 /*
7579 * Fix Command Arguments for Vxworks_Needs_Vxworks
7580 */
7581 static const char* apzVxworks_Needs_VxworksPatch[] = { "sed",
7582 "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
7583 #include <types/vxTypesOld.h>\n",
7584 (char*)NULL };
7585
7586 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7587 *
7588 * Description of Vxworks_Time fix
7589 */
7590 tSCC zVxworks_TimeName[] =
7591 "vxworks_time";
7592
7593 /*
7594 * File name selection pattern
7595 */
7596 tSCC zVxworks_TimeList[] =
7597 "|time.h|";
7598 /*
7599 * Machine/OS name selection pattern
7600 */
7601 #define apzVxworks_TimeMachs (const char**)NULL
7602
7603 /*
7604 * content selection pattern - do fix if pattern found
7605 */
7606 tSCC zVxworks_TimeSelect0[] =
7607 "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
7608
7609 /*
7610 * perform the 'test' shell command - do fix on success
7611 */
7612 tSCC zVxworks_TimeTest0[] =
7613 " -r vxWorks.h";
7614
7615 #define VXWORKS_TIME_TEST_CT 2
7616 static tTestDesc aVxworks_TimeTests[] = {
7617 { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
7618 { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
7619
7620 /*
7621 * Fix Command Arguments for Vxworks_Time
7622 */
7623 static const char* apzVxworks_TimePatch[] = {
7624 "format",
7625 "#ifndef __gcc_VOIDFUNCPTR_defined\n\
7626 #ifdef __cplusplus\n\
7627 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
7628 #else\n\
7629 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
7630 #endif\n\
7631 #define __gcc_VOIDFUNCPTR_defined\n\
7632 #endif\n\
7633 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
7634 (char*)NULL };
7635
7636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7637 *
7638 * Description of Windiss_Math1 fix
7639 */
7640 tSCC zWindiss_Math1Name[] =
7641 "windiss_math1";
7642
7643 /*
7644 * File name selection pattern
7645 */
7646 tSCC zWindiss_Math1List[] =
7647 "|math.h|";
7648 /*
7649 * Machine/OS name selection pattern
7650 */
7651 tSCC* apzWindiss_Math1Machs[] = {
7652 "*-*-windiss",
7653 (const char*)NULL };
7654 #define WINDISS_MATH1_TEST_CT 0
7655 #define aWindiss_Math1Tests (tTestDesc*)NULL
7656
7657 /*
7658 * Fix Command Arguments for Windiss_Math1
7659 */
7660 static const char* apzWindiss_Math1Patch[] = { "sed",
7661 "-e", "s|inline long double cosl.*|#ifndef __GNUC__|",
7662 (char*)NULL };
7663
7664 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7665 *
7666 * Description of Windiss_Math2 fix
7667 */
7668 tSCC zWindiss_Math2Name[] =
7669 "windiss_math2";
7670
7671 /*
7672 * File name selection pattern
7673 */
7674 tSCC zWindiss_Math2List[] =
7675 "|math.h|";
7676 /*
7677 * Machine/OS name selection pattern
7678 */
7679 tSCC* apzWindiss_Math2Machs[] = {
7680 "*-*-windiss",
7681 (const char*)NULL };
7682 #define WINDISS_MATH2_TEST_CT 0
7683 #define aWindiss_Math2Tests (tTestDesc*)NULL
7684
7685 /*
7686 * Fix Command Arguments for Windiss_Math2
7687 */
7688 static const char* apzWindiss_Math2Patch[] = { "sed",
7689 "-e", "s|/\\* long double declarations \\*/|#endif /* __GNUC__ */|",
7690 (char*)NULL };
7691
7692 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7693 *
7694 * Description of Windiss_Valist fix
7695 */
7696 tSCC zWindiss_ValistName[] =
7697 "windiss_valist";
7698
7699 /*
7700 * File name selection pattern
7701 */
7702 #define zWindiss_ValistList (char*)NULL
7703 /*
7704 * Machine/OS name selection pattern
7705 */
7706 tSCC* apzWindiss_ValistMachs[] = {
7707 "*-*-windiss",
7708 (const char*)NULL };
7709
7710 /*
7711 * content selection pattern - do fix if pattern found
7712 */
7713 tSCC zWindiss_ValistSelect0[] =
7714 "(#include.*)diab/va_list.h";
7715
7716 #define WINDISS_VALIST_TEST_CT 1
7717 static tTestDesc aWindiss_ValistTests[] = {
7718 { TT_EGREP, zWindiss_ValistSelect0, (regex_t*)NULL }, };
7719
7720 /*
7721 * Fix Command Arguments for Windiss_Valist
7722 */
7723 static const char* apzWindiss_ValistPatch[] = { "sed",
7724 "-e", "s|diab/va_list.h|stdarg.h|",
7725 (char*)NULL };
7726
7727 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7728 *
7729 * Description of X11_Class fix
7730 */
7731 tSCC zX11_ClassName[] =
7732 "x11_class";
7733
7734 /*
7735 * File name selection pattern
7736 */
7737 tSCC zX11_ClassList[] =
7738 "|X11/ShellP.h|";
7739 /*
7740 * Machine/OS name selection pattern
7741 */
7742 #define apzX11_ClassMachs (const char**)NULL
7743
7744 /*
7745 * content selection pattern - do fix if pattern found
7746 */
7747 tSCC zX11_ClassSelect0[] =
7748 "^([ \t]*char \\*)class;(.*)";
7749
7750 /*
7751 * content bypass pattern - skip fix if pattern found
7752 */
7753 tSCC zX11_ClassBypass0[] =
7754 "__cplusplus";
7755
7756 #define X11_CLASS_TEST_CT 2
7757 static tTestDesc aX11_ClassTests[] = {
7758 { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
7759 { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
7760
7761 /*
7762 * Fix Command Arguments for X11_Class
7763 */
7764 static const char* apzX11_ClassPatch[] = {
7765 "format",
7766 "#ifdef __cplusplus\n\
7767 %1c_class;%2\n\
7768 #else\n\
7769 %1class;%2\n\
7770 #endif",
7771 (char*)NULL };
7772
7773 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7774 *
7775 * Description of X11_Class_Usage fix
7776 */
7777 tSCC zX11_Class_UsageName[] =
7778 "x11_class_usage";
7779
7780 /*
7781 * File name selection pattern
7782 */
7783 tSCC zX11_Class_UsageList[] =
7784 "|Xm/BaseClassI.h|";
7785 /*
7786 * Machine/OS name selection pattern
7787 */
7788 #define apzX11_Class_UsageMachs (const char**)NULL
7789
7790 /*
7791 * content selection pattern - do fix if pattern found
7792 */
7793 tSCC zX11_Class_UsageSelect0[] =
7794 " class\\)";
7795
7796 /*
7797 * content bypass pattern - skip fix if pattern found
7798 */
7799 tSCC zX11_Class_UsageBypass0[] =
7800 "__cplusplus";
7801
7802 #define X11_CLASS_USAGE_TEST_CT 2
7803 static tTestDesc aX11_Class_UsageTests[] = {
7804 { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
7805 { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
7806
7807 /*
7808 * Fix Command Arguments for X11_Class_Usage
7809 */
7810 static const char* apzX11_Class_UsagePatch[] = {
7811 "format",
7812 " c_class)",
7813 (char*)NULL };
7814
7815 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7816 *
7817 * Description of X11_New fix
7818 */
7819 tSCC zX11_NewName[] =
7820 "x11_new";
7821
7822 /*
7823 * File name selection pattern
7824 */
7825 tSCC zX11_NewList[] =
7826 "|Xm/Traversal.h|";
7827 /*
7828 * Machine/OS name selection pattern
7829 */
7830 #define apzX11_NewMachs (const char**)NULL
7831
7832 /*
7833 * content bypass pattern - skip fix if pattern found
7834 */
7835 tSCC zX11_NewBypass0[] =
7836 "__cplusplus";
7837
7838 #define X11_NEW_TEST_CT 1
7839 static tTestDesc aX11_NewTests[] = {
7840 { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
7841
7842 /*
7843 * Fix Command Arguments for X11_New
7844 */
7845 static const char* apzX11_NewPatch[] = { "sed",
7846 "-e", "/Widget\told, new;/i\\\n\
7847 #ifdef __cplusplus\\\n\
7848 \tWidget\told, c_new;\\\n\
7849 #else\n",
7850 "-e", "/Widget\told, new;/a\\\n\
7851 #endif\n",
7852 "-e", "s/Widget new,/Widget c_new,/g",
7853 (char*)NULL };
7854
7855 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7856 *
7857 * Description of X11_Sprintf fix
7858 */
7859 tSCC zX11_SprintfName[] =
7860 "x11_sprintf";
7861
7862 /*
7863 * File name selection pattern
7864 */
7865 tSCC zX11_SprintfList[] =
7866 "|X11/Xmu.h|X11/Xmu/Xmu.h|";
7867 /*
7868 * Machine/OS name selection pattern
7869 */
7870 #define apzX11_SprintfMachs (const char**)NULL
7871
7872 /*
7873 * content selection pattern - do fix if pattern found
7874 */
7875 tSCC zX11_SprintfSelect0[] =
7876 "^extern char \\*\tsprintf\\(\\);$";
7877
7878 #define X11_SPRINTF_TEST_CT 1
7879 static tTestDesc aX11_SprintfTests[] = {
7880 { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
7881
7882 /*
7883 * Fix Command Arguments for X11_Sprintf
7884 */
7885 static const char* apzX11_SprintfPatch[] = {
7886 "format",
7887 "#ifndef __STDC__\n\
7888 %0\n\
7889 #endif /* !defined __STDC__ */",
7890 (char*)NULL };
7891
7892
7893 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7894 *
7895 * List of all fixes
7896 */
7897 #define REGEX_COUNT 237
7898 #define MACH_LIST_SIZE_LIMIT 261
7899 #define FIX_COUNT 194
7900
7901 /*
7902 * Enumerate the fixes
7903 */
7904 typedef enum {
7905 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
7906 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
7907 AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
7908 AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
7909 AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
7910 AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
7911 AAB_SUN_MEMCPY_FIXIDX,
7912 AAB_ULTRIX_ANSI_COMPAT_FIXIDX,
7913 AAB_ULTRIX_LIMITS_FIXIDX,
7914 AAB_ULTRIX_MEMORY_FIXIDX,
7915 AAB_ULTRIX_STRING_FIXIDX,
7916 AIX_PTHREAD_FIXIDX,
7917 AIX_SYSMACHINE_FIXIDX,
7918 AIX_SYSWAIT_FIXIDX,
7919 AIX_SYSWAIT_2_FIXIDX,
7920 AIX_VOLATILE_FIXIDX,
7921 ALPHA___ASSERT_FIXIDX,
7922 ALPHA___EXTERN_PREFIX_FIXIDX,
7923 ALPHA___EXTERN_PREFIX_STANDARDS_FIXIDX,
7924 ALPHA___EXTERN_PREFIX_SYS_STAT_FIXIDX,
7925 ALPHA_ASSERT_FIXIDX,
7926 ALPHA_BAD_LVAL_FIXIDX,
7927 ALPHA_GETOPT_FIXIDX,
7928 ALPHA_PARENS_FIXIDX,
7929 ALPHA_PTHREAD_FIXIDX,
7930 ALPHA_PTHREAD_GCC_FIXIDX,
7931 ALPHA_PTHREAD_INIT_FIXIDX,
7932 ALPHA_SBRK_FIXIDX,
7933 ALPHA_WCHAR_FIXIDX,
7934 AVOID_BOOL_DEFINE_FIXIDX,
7935 AVOID_BOOL_TYPE_FIXIDX,
7936 AVOID_WCHAR_T_TYPE_FIXIDX,
7937 BAD_STRUCT_TERM_FIXIDX,
7938 BADQUOTE_FIXIDX,
7939 BROKEN_ASSERT_STDIO_FIXIDX,
7940 BROKEN_ASSERT_STDLIB_FIXIDX,
7941 BROKEN_CABS_FIXIDX,
7942 BROKEN_NAN_FIXIDX,
7943 BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
7944 CTRL_QUOTES_DEF_FIXIDX,
7945 CTRL_QUOTES_USE_FIXIDX,
7946 CXX_UNREADY_FIXIDX,
7947 DARWIN_GCC4_BREAKAGE_FIXIDX,
7948 DARWIN_PRIVATE_EXTERN_FIXIDX,
7949 DEC_INTERN_ASM_FIXIDX,
7950 DJGPP_WCHAR_H_FIXIDX,
7951 ECD_CURSOR_FIXIDX,
7952 EXCEPTION_STRUCTURE_FIXIDX,
7953 FREEBSD_GCC3_BREAKAGE_FIXIDX,
7954 FREEBSD_GCC4_BREAKAGE_FIXIDX,
7955 GNU_TYPES_FIXIDX,
7956 HP_INLINE_FIXIDX,
7957 HP_SYSFILE_FIXIDX,
7958 HPUX10_CPP_POW_INLINE_FIXIDX,
7959 HPUX11_CPP_POW_INLINE_FIXIDX,
7960 HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
7961 HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
7962 HPUX10_STDIO_DECLARATIONS_FIXIDX,
7963 HPUX11_ABS_FIXIDX,
7964 HPUX11_FABSF_FIXIDX,
7965 HPUX11_SIZE_T_FIXIDX,
7966 HPUX11_SNPRINTF_FIXIDX,
7967 HPUX11_UINT32_C_FIXIDX,
7968 HPUX11_VSNPRINTF_FIXIDX,
7969 HPUX8_BOGUS_INLINES_FIXIDX,
7970 HPUX_CTYPE_MACROS_FIXIDX,
7971 HPUX_HTONL_FIXIDX,
7972 HPUX_LONG_DOUBLE_FIXIDX,
7973 HPUX_SYSTIME_FIXIDX,
7974 HUGE_VAL_HEX_FIXIDX,
7975 HUGE_VALF_HEX_FIXIDX,
7976 HUGE_VALL_HEX_FIXIDX,
7977 INT_ABORT_FREE_AND_EXIT_FIXIDX,
7978 IO_QUOTES_DEF_FIXIDX,
7979 IO_QUOTES_USE_FIXIDX,
7980 IP_MISSING_SEMI_FIXIDX,
7981 IRIX___RESTRICT_FIXIDX,
7982 IRIX___GENERIC1_FIXIDX,
7983 IRIX___GENERIC2_FIXIDX,
7984 IRIX_ASM_APOSTROPHE_FIXIDX,
7985 IRIX_LIMITS_CONST_FIXIDX,
7986 IRIX_SOCKLEN_T_FIXIDX,
7987 IRIX_STDIO_VA_LIST_FIXIDX,
7988 IRIX_WCSFTIME_FIXIDX,
7989 ISC_FMOD_FIXIDX,
7990 ISC_OMITS_WITH_STDC_FIXIDX,
7991 KANDR_CONCAT_FIXIDX,
7992 LIBC1_G_VA_LIST_FIXIDX,
7993 LIBC1_IFDEFD_MEMX_FIXIDX,
7994 LINUX_IA64_UCONTEXT_FIXIDX,
7995 LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
7996 LYNXOS_MISSING_PUTENV_FIXIDX,
7997 MACHINE_ANSI_H_VA_LIST_FIXIDX,
7998 MACHINE_NAME_FIXIDX,
7999 MATH_EXCEPTION_FIXIDX,
8000 MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
8001 NESTED_AUTH_DES_FIXIDX,
8002 NESTED_MOTOROLA_FIXIDX,
8003 NESTED_SYS_LIMITS_FIXIDX,
8004 NETBSD_EXTRA_SEMICOLON_FIXIDX,
8005 NEXT_MATH_PREFIX_FIXIDX,
8006 NEXT_TEMPLATE_FIXIDX,
8007 NEXT_VOLITILE_FIXIDX,
8008 NEXT_WAIT_UNION_FIXIDX,
8009 NODEENT_SYNTAX_FIXIDX,
8010 OBSTACK_LVALUE_CAST_FIXIDX,
8011 OSF_NAMESPACE_A_FIXIDX,
8012 OSF_NAMESPACE_C_FIXIDX,
8013 PTHREAD_PAGE_SIZE_FIXIDX,
8014 PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
8015 READ_RET_TYPE_FIXIDX,
8016 RPC_XDR_LVALUE_CAST_A_FIXIDX,
8017 RPC_XDR_LVALUE_CAST_B_FIXIDX,
8018 RS6000_DOUBLE_FIXIDX,
8019 RS6000_FCHMOD_FIXIDX,
8020 RS6000_PARAM_FIXIDX,
8021 SCO_MATH_FIXIDX,
8022 SCO_REGSET_FIXIDX,
8023 SCO_STATIC_FUNC_FIXIDX,
8024 SCO_UTIME_FIXIDX,
8025 SOLARIS_MATH_1_FIXIDX,
8026 SOLARIS_MATH_2_FIXIDX,
8027 SOLARIS_MATH_3_FIXIDX,
8028 SOLARIS_MATH_4_FIXIDX,
8029 SOLARIS_MATH_5_FIXIDX,
8030 SOLARIS_MATH_6_FIXIDX,
8031 SOLARIS_MATH_7_FIXIDX,
8032 SOLARIS_MATH_8_FIXIDX,
8033 SOLARIS_MATH_9_FIXIDX,
8034 SOLARIS_MUTEX_INIT_1_FIXIDX,
8035 SOLARIS_MUTEX_INIT_2_FIXIDX,
8036 SOLARIS_SOCKET_FIXIDX,
8037 SOLARIS_STDIO_TAG_FIXIDX,
8038 SOLARIS_UNISTD_FIXIDX,
8039 SOLARIS_WIDEC_FIXIDX,
8040 STATSSWTCH_FIXIDX,
8041 STDIO_STDARG_H_FIXIDX,
8042 STDIO_VA_LIST_FIXIDX,
8043 STDIO_VA_LIST_CLIENTS_FIXIDX,
8044 STRICT_ANSI_NOT_FIXIDX,
8045 STRICT_ANSI_NOT_CTD_FIXIDX,
8046 STRICT_ANSI_ONLY_FIXIDX,
8047 STRUCT_FILE_FIXIDX,
8048 STRUCT_SOCKADDR_FIXIDX,
8049 SUN_AUTH_PROTO_FIXIDX,
8050 SUN_BOGUS_IFDEF_FIXIDX,
8051 SUN_CATMACRO_FIXIDX,
8052 SUN_MALLOC_FIXIDX,
8053 SUN_RUSERS_SEMI_FIXIDX,
8054 SUN_SIGNAL_FIXIDX,
8055 SUNOS_STRLEN_FIXIDX,
8056 SVR4_DISABLE_OPT_FIXIDX,
8057 SVR4_GETCWD_FIXIDX,
8058 SVR4_KRNL_FIXIDX,
8059 SVR4_PROFIL_FIXIDX,
8060 SVR4_SIGHANDLER_TYPE_FIXIDX,
8061 SVR4_UNDECLARED_GETRNGE_FIXIDX,
8062 SYSV68_STRING_FIXIDX,
8063 SYSZ_STDLIB_FOR_SUN_FIXIDX,
8064 THREAD_KEYWORD_FIXIDX,
8065 TINFO_CPLUSPLUS_FIXIDX,
8066 ULTRIX_ATEXIT_PARAM_FIXIDX,
8067 ULTRIX_ATOF_PARAM_FIXIDX,
8068 ULTRIX_CONST_FIXIDX,
8069 ULTRIX_CONST2_FIXIDX,
8070 ULTRIX_CONST3_FIXIDX,
8071 ULTRIX_FIX_FIXPROTO_FIXIDX,
8072 ULTRIX_IFDEF_FIXIDX,
8073 ULTRIX_LOCALE_FIXIDX,
8074 ULTRIX_MATH_IFDEF_FIXIDX,
8075 ULTRIX_NESTED_IOCTL_FIXIDX,
8076 ULTRIX_NESTED_SVC_FIXIDX,
8077 ULTRIX_STAT_FIXIDX,
8078 ULTRIX_STATIC_FIXIDX,
8079 ULTRIX_STDLIB_FIXIDX,
8080 ULTRIX_STRINGS_FIXIDX,
8081 ULTRIX_STRINGS2_FIXIDX,
8082 ULTRIX_SYS_TIME_FIXIDX,
8083 ULTRIX_UNISTD_FIXIDX,
8084 UNICOSMK_RESTRICT_FIXIDX,
8085 UW7_BYTEORDER_FIX_FIXIDX,
8086 VA_I960_MACRO_FIXIDX,
8087 VOID_NULL_FIXIDX,
8088 VXWORKS_GCC_PROBLEM_FIXIDX,
8089 VXWORKS_NEEDS_VXTYPES_FIXIDX,
8090 VXWORKS_NEEDS_VXWORKS_FIXIDX,
8091 VXWORKS_TIME_FIXIDX,
8092 WINDISS_MATH1_FIXIDX,
8093 WINDISS_MATH2_FIXIDX,
8094 WINDISS_VALIST_FIXIDX,
8095 X11_CLASS_FIXIDX,
8096 X11_CLASS_USAGE_FIXIDX,
8097 X11_NEW_FIXIDX,
8098 X11_SPRINTF_FIXIDX
8099 } t_fixinc_idx;
8100
8101 tFixDesc fixDescList[ FIX_COUNT ] = {
8102 { zAab_Darwin7_9_Long_Double_FuncsName, zAab_Darwin7_9_Long_Double_FuncsList,
8103 apzAab_Darwin7_9_Long_Double_FuncsMachs,
8104 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8105 aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
8106
8107 { zAab_Darwin7_9_Long_Double_Funcs_2Name, zAab_Darwin7_9_Long_Double_Funcs_2List,
8108 apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
8109 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8110 aAab_Darwin7_9_Long_Double_Funcs_2Tests, apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
8111
8112 { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
8113 apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
8114 AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8115 aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8116
8117 { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
8118 apzAab_Fd_Zero_Gnu_Types_HMachs,
8119 AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8120 aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8121
8122 { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
8123 apzAab_Fd_Zero_Selectbits_HMachs,
8124 AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8125 aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
8126
8127 { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
8128 apzAab_Solaris_Sys_Varargs_HMachs,
8129 AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8130 aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
8131
8132 { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
8133 apzAab_Sun_MemcpyMachs,
8134 AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8135 aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
8136
8137 { zAab_Ultrix_Ansi_CompatName, zAab_Ultrix_Ansi_CompatList,
8138 apzAab_Ultrix_Ansi_CompatMachs,
8139 AAB_ULTRIX_ANSI_COMPAT_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8140 aAab_Ultrix_Ansi_CompatTests, apzAab_Ultrix_Ansi_CompatPatch, 0 },
8141
8142 { zAab_Ultrix_LimitsName, zAab_Ultrix_LimitsList,
8143 apzAab_Ultrix_LimitsMachs,
8144 AAB_ULTRIX_LIMITS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8145 aAab_Ultrix_LimitsTests, apzAab_Ultrix_LimitsPatch, 0 },
8146
8147 { zAab_Ultrix_MemoryName, zAab_Ultrix_MemoryList,
8148 apzAab_Ultrix_MemoryMachs,
8149 AAB_ULTRIX_MEMORY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8150 aAab_Ultrix_MemoryTests, apzAab_Ultrix_MemoryPatch, 0 },
8151
8152 { zAab_Ultrix_StringName, zAab_Ultrix_StringList,
8153 apzAab_Ultrix_StringMachs,
8154 AAB_ULTRIX_STRING_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8155 aAab_Ultrix_StringTests, apzAab_Ultrix_StringPatch, 0 },
8156
8157 { zAix_PthreadName, zAix_PthreadList,
8158 apzAix_PthreadMachs,
8159 AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8160 aAix_PthreadTests, apzAix_PthreadPatch, 0 },
8161
8162 { zAix_SysmachineName, zAix_SysmachineList,
8163 apzAix_SysmachineMachs,
8164 AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8165 aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
8166
8167 { zAix_SyswaitName, zAix_SyswaitList,
8168 apzAix_SyswaitMachs,
8169 AIX_SYSWAIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8170 aAix_SyswaitTests, apzAix_SyswaitPatch, 0 },
8171
8172 { zAix_Syswait_2Name, zAix_Syswait_2List,
8173 apzAix_Syswait_2Machs,
8174 AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8175 aAix_Syswait_2Tests, apzAix_Syswait_2Patch, 0 },
8176
8177 { zAix_VolatileName, zAix_VolatileList,
8178 apzAix_VolatileMachs,
8179 AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8180 aAix_VolatileTests, apzAix_VolatilePatch, 0 },
8181
8182 { zAlpha___AssertName, zAlpha___AssertList,
8183 apzAlpha___AssertMachs,
8184 ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8185 aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
8186
8187 { zAlpha___Extern_PrefixName, zAlpha___Extern_PrefixList,
8188 apzAlpha___Extern_PrefixMachs,
8189 ALPHA___EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8190 aAlpha___Extern_PrefixTests, apzAlpha___Extern_PrefixPatch, 0 },
8191
8192 { zAlpha___Extern_Prefix_StandardsName, zAlpha___Extern_Prefix_StandardsList,
8193 apzAlpha___Extern_Prefix_StandardsMachs,
8194 ALPHA___EXTERN_PREFIX_STANDARDS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8195 aAlpha___Extern_Prefix_StandardsTests, apzAlpha___Extern_Prefix_StandardsPatch, 0 },
8196
8197 { zAlpha___Extern_Prefix_Sys_StatName, zAlpha___Extern_Prefix_Sys_StatList,
8198 apzAlpha___Extern_Prefix_Sys_StatMachs,
8199 ALPHA___EXTERN_PREFIX_SYS_STAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8200 aAlpha___Extern_Prefix_Sys_StatTests, apzAlpha___Extern_Prefix_Sys_StatPatch, 0 },
8201
8202 { zAlpha_AssertName, zAlpha_AssertList,
8203 apzAlpha_AssertMachs,
8204 ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8205 aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
8206
8207 { zAlpha_Bad_LvalName, zAlpha_Bad_LvalList,
8208 apzAlpha_Bad_LvalMachs,
8209 ALPHA_BAD_LVAL_TEST_CT, FD_MACH_ONLY,
8210 aAlpha_Bad_LvalTests, apzAlpha_Bad_LvalPatch, 0 },
8211
8212 { zAlpha_GetoptName, zAlpha_GetoptList,
8213 apzAlpha_GetoptMachs,
8214 ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8215 aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
8216
8217 { zAlpha_ParensName, zAlpha_ParensList,
8218 apzAlpha_ParensMachs,
8219 ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8220 aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
8221
8222 { zAlpha_PthreadName, zAlpha_PthreadList,
8223 apzAlpha_PthreadMachs,
8224 ALPHA_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8225 aAlpha_PthreadTests, apzAlpha_PthreadPatch, 0 },
8226
8227 { zAlpha_Pthread_GccName, zAlpha_Pthread_GccList,
8228 apzAlpha_Pthread_GccMachs,
8229 ALPHA_PTHREAD_GCC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8230 aAlpha_Pthread_GccTests, apzAlpha_Pthread_GccPatch, 0 },
8231
8232 { zAlpha_Pthread_InitName, zAlpha_Pthread_InitList,
8233 apzAlpha_Pthread_InitMachs,
8234 ALPHA_PTHREAD_INIT_TEST_CT, FD_MACH_ONLY,
8235 aAlpha_Pthread_InitTests, apzAlpha_Pthread_InitPatch, 0 },
8236
8237 { zAlpha_SbrkName, zAlpha_SbrkList,
8238 apzAlpha_SbrkMachs,
8239 ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8240 aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
8241
8242 { zAlpha_WcharName, zAlpha_WcharList,
8243 apzAlpha_WcharMachs,
8244 ALPHA_WCHAR_TEST_CT, FD_MACH_ONLY,
8245 aAlpha_WcharTests, apzAlpha_WcharPatch, 0 },
8246
8247 { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
8248 apzAvoid_Bool_DefineMachs,
8249 AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8250 aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
8251
8252 { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
8253 apzAvoid_Bool_TypeMachs,
8254 AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8255 aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
8256
8257 { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
8258 apzAvoid_Wchar_T_TypeMachs,
8259 AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8260 aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
8261
8262 { zBad_Struct_TermName, zBad_Struct_TermList,
8263 apzBad_Struct_TermMachs,
8264 BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8265 aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
8266
8267 { zBadquoteName, zBadquoteList,
8268 apzBadquoteMachs,
8269 BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8270 aBadquoteTests, apzBadquotePatch, 0 },
8271
8272 { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
8273 apzBroken_Assert_StdioMachs,
8274 BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8275 aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
8276
8277 { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
8278 apzBroken_Assert_StdlibMachs,
8279 BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8280 aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
8281
8282 { zBroken_CabsName, zBroken_CabsList,
8283 apzBroken_CabsMachs,
8284 BROKEN_CABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8285 aBroken_CabsTests, apzBroken_CabsPatch, 0 },
8286
8287 { zBroken_NanName, zBroken_NanList,
8288 apzBroken_NanMachs,
8289 BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8290 aBroken_NanTests, apzBroken_NanPatch, 0 },
8291
8292 { zBsd_Stdio_Attrs_ConflictName, zBsd_Stdio_Attrs_ConflictList,
8293 apzBsd_Stdio_Attrs_ConflictMachs,
8294 BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8295 aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
8296
8297 { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
8298 apzCtrl_Quotes_DefMachs,
8299 CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8300 aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
8301
8302 { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
8303 apzCtrl_Quotes_UseMachs,
8304 CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8305 aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
8306
8307 { zCxx_UnreadyName, zCxx_UnreadyList,
8308 apzCxx_UnreadyMachs,
8309 CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8310 aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
8311
8312 { zDarwin_Gcc4_BreakageName, zDarwin_Gcc4_BreakageList,
8313 apzDarwin_Gcc4_BreakageMachs,
8314 DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8315 aDarwin_Gcc4_BreakageTests, apzDarwin_Gcc4_BreakagePatch, 0 },
8316
8317 { zDarwin_Private_ExternName, zDarwin_Private_ExternList,
8318 apzDarwin_Private_ExternMachs,
8319 DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8320 aDarwin_Private_ExternTests, apzDarwin_Private_ExternPatch, 0 },
8321
8322 { zDec_Intern_AsmName, zDec_Intern_AsmList,
8323 apzDec_Intern_AsmMachs,
8324 DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
8325 aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
8326
8327 { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
8328 apzDjgpp_Wchar_HMachs,
8329 DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8330 aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
8331
8332 { zEcd_CursorName, zEcd_CursorList,
8333 apzEcd_CursorMachs,
8334 ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8335 aEcd_CursorTests, apzEcd_CursorPatch, 0 },
8336
8337 { zException_StructureName, zException_StructureList,
8338 apzException_StructureMachs,
8339 EXCEPTION_STRUCTURE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8340 aException_StructureTests, apzException_StructurePatch, 0 },
8341
8342 { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
8343 apzFreebsd_Gcc3_BreakageMachs,
8344 FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8345 aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
8346
8347 { zFreebsd_Gcc4_BreakageName, zFreebsd_Gcc4_BreakageList,
8348 apzFreebsd_Gcc4_BreakageMachs,
8349 FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8350 aFreebsd_Gcc4_BreakageTests, apzFreebsd_Gcc4_BreakagePatch, 0 },
8351
8352 { zGnu_TypesName, zGnu_TypesList,
8353 apzGnu_TypesMachs,
8354 GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8355 aGnu_TypesTests, apzGnu_TypesPatch, 0 },
8356
8357 { zHp_InlineName, zHp_InlineList,
8358 apzHp_InlineMachs,
8359 HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8360 aHp_InlineTests, apzHp_InlinePatch, 0 },
8361
8362 { zHp_SysfileName, zHp_SysfileList,
8363 apzHp_SysfileMachs,
8364 HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8365 aHp_SysfileTests, apzHp_SysfilePatch, 0 },
8366
8367 { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
8368 apzHpux10_Cpp_Pow_InlineMachs,
8369 HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8370 aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
8371
8372 { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
8373 apzHpux11_Cpp_Pow_InlineMachs,
8374 HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8375 aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
8376
8377 { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List,
8378 apzHpux10_Ctype_Declarations1Machs,
8379 HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8380 aHpux10_Ctype_Declarations1Tests, apzHpux10_Ctype_Declarations1Patch, 0 },
8381
8382 { zHpux10_Ctype_Declarations2Name, zHpux10_Ctype_Declarations2List,
8383 apzHpux10_Ctype_Declarations2Machs,
8384 HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8385 aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
8386
8387 { zHpux10_Stdio_DeclarationsName, zHpux10_Stdio_DeclarationsList,
8388 apzHpux10_Stdio_DeclarationsMachs,
8389 HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8390 aHpux10_Stdio_DeclarationsTests, apzHpux10_Stdio_DeclarationsPatch, 0 },
8391
8392 { zHpux11_AbsName, zHpux11_AbsList,
8393 apzHpux11_AbsMachs,
8394 HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8395 aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
8396
8397 { zHpux11_FabsfName, zHpux11_FabsfList,
8398 apzHpux11_FabsfMachs,
8399 HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8400 aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
8401
8402 { zHpux11_Size_TName, zHpux11_Size_TList,
8403 apzHpux11_Size_TMachs,
8404 HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8405 aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
8406
8407 { zHpux11_SnprintfName, zHpux11_SnprintfList,
8408 apzHpux11_SnprintfMachs,
8409 HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8410 aHpux11_SnprintfTests, apzHpux11_SnprintfPatch, 0 },
8411
8412 { zHpux11_Uint32_CName, zHpux11_Uint32_CList,
8413 apzHpux11_Uint32_CMachs,
8414 HPUX11_UINT32_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8415 aHpux11_Uint32_CTests, apzHpux11_Uint32_CPatch, 0 },
8416
8417 { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
8418 apzHpux11_VsnprintfMachs,
8419 HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8420 aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
8421
8422 { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
8423 apzHpux8_Bogus_InlinesMachs,
8424 HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
8425 aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
8426
8427 { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList,
8428 apzHpux_Ctype_MacrosMachs,
8429 HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8430 aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 },
8431
8432 { zHpux_HtonlName, zHpux_HtonlList,
8433 apzHpux_HtonlMachs,
8434 HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8435 aHpux_HtonlTests, apzHpux_HtonlPatch, 0 },
8436
8437 { zHpux_Long_DoubleName, zHpux_Long_DoubleList,
8438 apzHpux_Long_DoubleMachs,
8439 HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
8440 aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 },
8441
8442 { zHpux_SystimeName, zHpux_SystimeList,
8443 apzHpux_SystimeMachs,
8444 HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8445 aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
8446
8447 { zHuge_Val_HexName, zHuge_Val_HexList,
8448 apzHuge_Val_HexMachs,
8449 HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8450 aHuge_Val_HexTests, apzHuge_Val_HexPatch, 0 },
8451
8452 { zHuge_Valf_HexName, zHuge_Valf_HexList,
8453 apzHuge_Valf_HexMachs,
8454 HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8455 aHuge_Valf_HexTests, apzHuge_Valf_HexPatch, 0 },
8456
8457 { zHuge_Vall_HexName, zHuge_Vall_HexList,
8458 apzHuge_Vall_HexMachs,
8459 HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8460 aHuge_Vall_HexTests, apzHuge_Vall_HexPatch, 0 },
8461
8462 { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
8463 apzInt_Abort_Free_And_ExitMachs,
8464 INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8465 aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
8466
8467 { zIo_Quotes_DefName, zIo_Quotes_DefList,
8468 apzIo_Quotes_DefMachs,
8469 IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8470 aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
8471
8472 { zIo_Quotes_UseName, zIo_Quotes_UseList,
8473 apzIo_Quotes_UseMachs,
8474 IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8475 aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
8476
8477 { zIp_Missing_SemiName, zIp_Missing_SemiList,
8478 apzIp_Missing_SemiMachs,
8479 IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
8480 aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
8481
8482 { zIrix___RestrictName, zIrix___RestrictList,
8483 apzIrix___RestrictMachs,
8484 IRIX___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8485 aIrix___RestrictTests, apzIrix___RestrictPatch, 0 },
8486
8487 { zIrix___Generic1Name, zIrix___Generic1List,
8488 apzIrix___Generic1Machs,
8489 IRIX___GENERIC1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8490 aIrix___Generic1Tests, apzIrix___Generic1Patch, 0 },
8491
8492 { zIrix___Generic2Name, zIrix___Generic2List,
8493 apzIrix___Generic2Machs,
8494 IRIX___GENERIC2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8495 aIrix___Generic2Tests, apzIrix___Generic2Patch, 0 },
8496
8497 { zIrix_Asm_ApostropheName, zIrix_Asm_ApostropheList,
8498 apzIrix_Asm_ApostropheMachs,
8499 IRIX_ASM_APOSTROPHE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8500 aIrix_Asm_ApostropheTests, apzIrix_Asm_ApostrophePatch, 0 },
8501
8502 { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
8503 apzIrix_Limits_ConstMachs,
8504 IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8505 aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
8506
8507 { zIrix_Socklen_TName, zIrix_Socklen_TList,
8508 apzIrix_Socklen_TMachs,
8509 IRIX_SOCKLEN_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8510 aIrix_Socklen_TTests, apzIrix_Socklen_TPatch, 0 },
8511
8512 { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
8513 apzIrix_Stdio_Va_ListMachs,
8514 IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8515 aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
8516
8517 { zIrix_WcsftimeName, zIrix_WcsftimeList,
8518 apzIrix_WcsftimeMachs,
8519 IRIX_WCSFTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8520 aIrix_WcsftimeTests, apzIrix_WcsftimePatch, 0 },
8521
8522 { zIsc_FmodName, zIsc_FmodList,
8523 apzIsc_FmodMachs,
8524 ISC_FMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8525 aIsc_FmodTests, apzIsc_FmodPatch, 0 },
8526
8527 { zIsc_Omits_With_StdcName, zIsc_Omits_With_StdcList,
8528 apzIsc_Omits_With_StdcMachs,
8529 ISC_OMITS_WITH_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8530 aIsc_Omits_With_StdcTests, apzIsc_Omits_With_StdcPatch, 0 },
8531
8532 { zKandr_ConcatName, zKandr_ConcatList,
8533 apzKandr_ConcatMachs,
8534 KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8535 aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
8536
8537 { zLibc1_G_Va_ListName, zLibc1_G_Va_ListList,
8538 apzLibc1_G_Va_ListMachs,
8539 LIBC1_G_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8540 aLibc1_G_Va_ListTests, apzLibc1_G_Va_ListPatch, 0 },
8541
8542 { zLibc1_Ifdefd_MemxName, zLibc1_Ifdefd_MemxList,
8543 apzLibc1_Ifdefd_MemxMachs,
8544 LIBC1_IFDEFD_MEMX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8545 aLibc1_Ifdefd_MemxTests, apzLibc1_Ifdefd_MemxPatch, 0 },
8546
8547 { zLinux_Ia64_UcontextName, zLinux_Ia64_UcontextList,
8548 apzLinux_Ia64_UcontextMachs,
8549 LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8550 aLinux_Ia64_UcontextTests, apzLinux_Ia64_UcontextPatch, 0 },
8551
8552 { zLynxos_No_Warning_In_Sys_Time_HName, zLynxos_No_Warning_In_Sys_Time_HList,
8553 apzLynxos_No_Warning_In_Sys_Time_HMachs,
8554 LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8555 aLynxos_No_Warning_In_Sys_Time_HTests, apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
8556
8557 { zLynxos_Missing_PutenvName, zLynxos_Missing_PutenvList,
8558 apzLynxos_Missing_PutenvMachs,
8559 LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8560 aLynxos_Missing_PutenvTests, apzLynxos_Missing_PutenvPatch, 0 },
8561
8562 { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
8563 apzMachine_Ansi_H_Va_ListMachs,
8564 MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8565 aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
8566
8567 { zMachine_NameName, zMachine_NameList,
8568 apzMachine_NameMachs,
8569 MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8570 aMachine_NameTests, apzMachine_NamePatch, 0 },
8571
8572 { zMath_ExceptionName, zMath_ExceptionList,
8573 apzMath_ExceptionMachs,
8574 MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8575 aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
8576
8577 { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
8578 apzMath_Huge_Val_From_Dbl_MaxMachs,
8579 MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
8580 aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
8581
8582 { zNested_Auth_DesName, zNested_Auth_DesList,
8583 apzNested_Auth_DesMachs,
8584 NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8585 aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
8586
8587 { zNested_MotorolaName, zNested_MotorolaList,
8588 apzNested_MotorolaMachs,
8589 NESTED_MOTOROLA_TEST_CT, FD_MACH_ONLY,
8590 aNested_MotorolaTests, apzNested_MotorolaPatch, 0 },
8591
8592 { zNested_Sys_LimitsName, zNested_Sys_LimitsList,
8593 apzNested_Sys_LimitsMachs,
8594 NESTED_SYS_LIMITS_TEST_CT, FD_MACH_ONLY,
8595 aNested_Sys_LimitsTests, apzNested_Sys_LimitsPatch, 0 },
8596
8597 { zNetbsd_Extra_SemicolonName, zNetbsd_Extra_SemicolonList,
8598 apzNetbsd_Extra_SemicolonMachs,
8599 NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8600 aNetbsd_Extra_SemicolonTests, apzNetbsd_Extra_SemicolonPatch, 0 },
8601
8602 { zNext_Math_PrefixName, zNext_Math_PrefixList,
8603 apzNext_Math_PrefixMachs,
8604 NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8605 aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
8606
8607 { zNext_TemplateName, zNext_TemplateList,
8608 apzNext_TemplateMachs,
8609 NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8610 aNext_TemplateTests, apzNext_TemplatePatch, 0 },
8611
8612 { zNext_VolitileName, zNext_VolitileList,
8613 apzNext_VolitileMachs,
8614 NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8615 aNext_VolitileTests, apzNext_VolitilePatch, 0 },
8616
8617 { zNext_Wait_UnionName, zNext_Wait_UnionList,
8618 apzNext_Wait_UnionMachs,
8619 NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8620 aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
8621
8622 { zNodeent_SyntaxName, zNodeent_SyntaxList,
8623 apzNodeent_SyntaxMachs,
8624 NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8625 aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
8626
8627 { zObstack_Lvalue_CastName, zObstack_Lvalue_CastList,
8628 apzObstack_Lvalue_CastMachs,
8629 OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8630 aObstack_Lvalue_CastTests, apzObstack_Lvalue_CastPatch, 0 },
8631
8632 { zOsf_Namespace_AName, zOsf_Namespace_AList,
8633 apzOsf_Namespace_AMachs,
8634 OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8635 aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
8636
8637 { zOsf_Namespace_CName, zOsf_Namespace_CList,
8638 apzOsf_Namespace_CMachs,
8639 OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8640 aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
8641
8642 { zPthread_Page_SizeName, zPthread_Page_SizeList,
8643 apzPthread_Page_SizeMachs,
8644 PTHREAD_PAGE_SIZE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8645 aPthread_Page_SizeTests, apzPthread_Page_SizePatch, 0 },
8646
8647 { zPthread_Incomplete_Struct_ArgumentName, zPthread_Incomplete_Struct_ArgumentList,
8648 apzPthread_Incomplete_Struct_ArgumentMachs,
8649 PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8650 aPthread_Incomplete_Struct_ArgumentTests, apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
8651
8652 { zRead_Ret_TypeName, zRead_Ret_TypeList,
8653 apzRead_Ret_TypeMachs,
8654 READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8655 aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
8656
8657 { zRpc_Xdr_Lvalue_Cast_AName, zRpc_Xdr_Lvalue_Cast_AList,
8658 apzRpc_Xdr_Lvalue_Cast_AMachs,
8659 RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8660 aRpc_Xdr_Lvalue_Cast_ATests, apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
8661
8662 { zRpc_Xdr_Lvalue_Cast_BName, zRpc_Xdr_Lvalue_Cast_BList,
8663 apzRpc_Xdr_Lvalue_Cast_BMachs,
8664 RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8665 aRpc_Xdr_Lvalue_Cast_BTests, apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
8666
8667 { zRs6000_DoubleName, zRs6000_DoubleList,
8668 apzRs6000_DoubleMachs,
8669 RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8670 aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
8671
8672 { zRs6000_FchmodName, zRs6000_FchmodList,
8673 apzRs6000_FchmodMachs,
8674 RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8675 aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
8676
8677 { zRs6000_ParamName, zRs6000_ParamList,
8678 apzRs6000_ParamMachs,
8679 RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8680 aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
8681
8682 { zSco_MathName, zSco_MathList,
8683 apzSco_MathMachs,
8684 SCO_MATH_TEST_CT, FD_MACH_ONLY,
8685 aSco_MathTests, apzSco_MathPatch, 0 },
8686
8687 { zSco_RegsetName, zSco_RegsetList,
8688 apzSco_RegsetMachs,
8689 SCO_REGSET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8690 aSco_RegsetTests, apzSco_RegsetPatch, 0 },
8691
8692 { zSco_Static_FuncName, zSco_Static_FuncList,
8693 apzSco_Static_FuncMachs,
8694 SCO_STATIC_FUNC_TEST_CT, FD_MACH_ONLY,
8695 aSco_Static_FuncTests, apzSco_Static_FuncPatch, 0 },
8696
8697 { zSco_UtimeName, zSco_UtimeList,
8698 apzSco_UtimeMachs,
8699 SCO_UTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8700 aSco_UtimeTests, apzSco_UtimePatch, 0 },
8701
8702 { zSolaris_Math_1Name, zSolaris_Math_1List,
8703 apzSolaris_Math_1Machs,
8704 SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8705 aSolaris_Math_1Tests, apzSolaris_Math_1Patch, 0 },
8706
8707 { zSolaris_Math_2Name, zSolaris_Math_2List,
8708 apzSolaris_Math_2Machs,
8709 SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8710 aSolaris_Math_2Tests, apzSolaris_Math_2Patch, 0 },
8711
8712 { zSolaris_Math_3Name, zSolaris_Math_3List,
8713 apzSolaris_Math_3Machs,
8714 SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8715 aSolaris_Math_3Tests, apzSolaris_Math_3Patch, 0 },
8716
8717 { zSolaris_Math_4Name, zSolaris_Math_4List,
8718 apzSolaris_Math_4Machs,
8719 SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8720 aSolaris_Math_4Tests, apzSolaris_Math_4Patch, 0 },
8721
8722 { zSolaris_Math_5Name, zSolaris_Math_5List,
8723 apzSolaris_Math_5Machs,
8724 SOLARIS_MATH_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8725 aSolaris_Math_5Tests, apzSolaris_Math_5Patch, 0 },
8726
8727 { zSolaris_Math_6Name, zSolaris_Math_6List,
8728 apzSolaris_Math_6Machs,
8729 SOLARIS_MATH_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8730 aSolaris_Math_6Tests, apzSolaris_Math_6Patch, 0 },
8731
8732 { zSolaris_Math_7Name, zSolaris_Math_7List,
8733 apzSolaris_Math_7Machs,
8734 SOLARIS_MATH_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8735 aSolaris_Math_7Tests, apzSolaris_Math_7Patch, 0 },
8736
8737 { zSolaris_Math_8Name, zSolaris_Math_8List,
8738 apzSolaris_Math_8Machs,
8739 SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8740 aSolaris_Math_8Tests, apzSolaris_Math_8Patch, 0 },
8741
8742 { zSolaris_Math_9Name, zSolaris_Math_9List,
8743 apzSolaris_Math_9Machs,
8744 SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8745 aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
8746
8747 { zSolaris_Mutex_Init_1Name, zSolaris_Mutex_Init_1List,
8748 apzSolaris_Mutex_Init_1Machs,
8749 SOLARIS_MUTEX_INIT_1_TEST_CT, FD_MACH_ONLY,
8750 aSolaris_Mutex_Init_1Tests, apzSolaris_Mutex_Init_1Patch, 0 },
8751
8752 { zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List,
8753 apzSolaris_Mutex_Init_2Machs,
8754 SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8755 aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 },
8756
8757 { zSolaris_SocketName, zSolaris_SocketList,
8758 apzSolaris_SocketMachs,
8759 SOLARIS_SOCKET_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8760 aSolaris_SocketTests, apzSolaris_SocketPatch, 0 },
8761
8762 { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
8763 apzSolaris_Stdio_TagMachs,
8764 SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
8765 aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
8766
8767 { zSolaris_UnistdName, zSolaris_UnistdList,
8768 apzSolaris_UnistdMachs,
8769 SOLARIS_UNISTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8770 aSolaris_UnistdTests, apzSolaris_UnistdPatch, 0 },
8771
8772 { zSolaris_WidecName, zSolaris_WidecList,
8773 apzSolaris_WidecMachs,
8774 SOLARIS_WIDEC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8775 aSolaris_WidecTests, apzSolaris_WidecPatch, 0 },
8776
8777 { zStatsswtchName, zStatsswtchList,
8778 apzStatsswtchMachs,
8779 STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8780 aStatsswtchTests, apzStatsswtchPatch, 0 },
8781
8782 { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
8783 apzStdio_Stdarg_HMachs,
8784 STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
8785 aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
8786
8787 { zStdio_Va_ListName, zStdio_Va_ListList,
8788 apzStdio_Va_ListMachs,
8789 STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
8790 aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
8791
8792 { zStdio_Va_List_ClientsName, zStdio_Va_List_ClientsList,
8793 apzStdio_Va_List_ClientsMachs,
8794 STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
8795 aStdio_Va_List_ClientsTests, apzStdio_Va_List_ClientsPatch, 0 },
8796
8797 { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
8798 apzStrict_Ansi_NotMachs,
8799 STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8800 aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
8801
8802 { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
8803 apzStrict_Ansi_Not_CtdMachs,
8804 STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8805 aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
8806
8807 { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
8808 apzStrict_Ansi_OnlyMachs,
8809 STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8810 aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
8811
8812 { zStruct_FileName, zStruct_FileList,
8813 apzStruct_FileMachs,
8814 STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8815 aStruct_FileTests, apzStruct_FilePatch, 0 },
8816
8817 { zStruct_SockaddrName, zStruct_SockaddrList,
8818 apzStruct_SockaddrMachs,
8819 STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8820 aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
8821
8822 { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
8823 apzSun_Auth_ProtoMachs,
8824 SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8825 aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
8826
8827 { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
8828 apzSun_Bogus_IfdefMachs,
8829 SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8830 aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
8831
8832 { zSun_CatmacroName, zSun_CatmacroList,
8833 apzSun_CatmacroMachs,
8834 SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8835 aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
8836
8837 { zSun_MallocName, zSun_MallocList,
8838 apzSun_MallocMachs,
8839 SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
8840 aSun_MallocTests, apzSun_MallocPatch, 0 },
8841
8842 { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
8843 apzSun_Rusers_SemiMachs,
8844 SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
8845 aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
8846
8847 { zSun_SignalName, zSun_SignalList,
8848 apzSun_SignalMachs,
8849 SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8850 aSun_SignalTests, apzSun_SignalPatch, 0 },
8851
8852 { zSunos_StrlenName, zSunos_StrlenList,
8853 apzSunos_StrlenMachs,
8854 SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8855 aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
8856
8857 { zSvr4_Disable_OptName, zSvr4_Disable_OptList,
8858 apzSvr4_Disable_OptMachs,
8859 SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
8860 aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 },
8861
8862 { zSvr4_GetcwdName, zSvr4_GetcwdList,
8863 apzSvr4_GetcwdMachs,
8864 SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8865 aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
8866
8867 { zSvr4_KrnlName, zSvr4_KrnlList,
8868 apzSvr4_KrnlMachs,
8869 SVR4_KRNL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8870 aSvr4_KrnlTests, apzSvr4_KrnlPatch, 0 },
8871
8872 { zSvr4_ProfilName, zSvr4_ProfilList,
8873 apzSvr4_ProfilMachs,
8874 SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8875 aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
8876
8877 { zSvr4_Sighandler_TypeName, zSvr4_Sighandler_TypeList,
8878 apzSvr4_Sighandler_TypeMachs,
8879 SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8880 aSvr4_Sighandler_TypeTests, apzSvr4_Sighandler_TypePatch, 0 },
8881
8882 { zSvr4_Undeclared_GetrngeName, zSvr4_Undeclared_GetrngeList,
8883 apzSvr4_Undeclared_GetrngeMachs,
8884 SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8885 aSvr4_Undeclared_GetrngeTests, apzSvr4_Undeclared_GetrngePatch, 0 },
8886
8887 { zSysv68_StringName, zSysv68_StringList,
8888 apzSysv68_StringMachs,
8889 SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
8890 aSysv68_StringTests, apzSysv68_StringPatch, 0 },
8891
8892 { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
8893 apzSysz_Stdlib_For_SunMachs,
8894 SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8895 aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
8896
8897 { zThread_KeywordName, zThread_KeywordList,
8898 apzThread_KeywordMachs,
8899 THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8900 aThread_KeywordTests, apzThread_KeywordPatch, 0 },
8901
8902 { zTinfo_CplusplusName, zTinfo_CplusplusList,
8903 apzTinfo_CplusplusMachs,
8904 TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8905 aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
8906
8907 { zUltrix_Atexit_ParamName, zUltrix_Atexit_ParamList,
8908 apzUltrix_Atexit_ParamMachs,
8909 ULTRIX_ATEXIT_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8910 aUltrix_Atexit_ParamTests, apzUltrix_Atexit_ParamPatch, 0 },
8911
8912 { zUltrix_Atof_ParamName, zUltrix_Atof_ParamList,
8913 apzUltrix_Atof_ParamMachs,
8914 ULTRIX_ATOF_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8915 aUltrix_Atof_ParamTests, apzUltrix_Atof_ParamPatch, 0 },
8916
8917 { zUltrix_ConstName, zUltrix_ConstList,
8918 apzUltrix_ConstMachs,
8919 ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8920 aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
8921
8922 { zUltrix_Const2Name, zUltrix_Const2List,
8923 apzUltrix_Const2Machs,
8924 ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8925 aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
8926
8927 { zUltrix_Const3Name, zUltrix_Const3List,
8928 apzUltrix_Const3Machs,
8929 ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8930 aUltrix_Const3Tests, apzUltrix_Const3Patch, 0 },
8931
8932 { zUltrix_Fix_FixprotoName, zUltrix_Fix_FixprotoList,
8933 apzUltrix_Fix_FixprotoMachs,
8934 ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8935 aUltrix_Fix_FixprotoTests, apzUltrix_Fix_FixprotoPatch, 0 },
8936
8937 { zUltrix_IfdefName, zUltrix_IfdefList,
8938 apzUltrix_IfdefMachs,
8939 ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8940 aUltrix_IfdefTests, apzUltrix_IfdefPatch, 0 },
8941
8942 { zUltrix_LocaleName, zUltrix_LocaleList,
8943 apzUltrix_LocaleMachs,
8944 ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8945 aUltrix_LocaleTests, apzUltrix_LocalePatch, 0 },
8946
8947 { zUltrix_Math_IfdefName, zUltrix_Math_IfdefList,
8948 apzUltrix_Math_IfdefMachs,
8949 ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8950 aUltrix_Math_IfdefTests, apzUltrix_Math_IfdefPatch, 0 },
8951
8952 { zUltrix_Nested_IoctlName, zUltrix_Nested_IoctlList,
8953 apzUltrix_Nested_IoctlMachs,
8954 ULTRIX_NESTED_IOCTL_TEST_CT, FD_MACH_ONLY,
8955 aUltrix_Nested_IoctlTests, apzUltrix_Nested_IoctlPatch, 0 },
8956
8957 { zUltrix_Nested_SvcName, zUltrix_Nested_SvcList,
8958 apzUltrix_Nested_SvcMachs,
8959 ULTRIX_NESTED_SVC_TEST_CT, FD_MACH_ONLY,
8960 aUltrix_Nested_SvcTests, apzUltrix_Nested_SvcPatch, 0 },
8961
8962 { zUltrix_StatName, zUltrix_StatList,
8963 apzUltrix_StatMachs,
8964 ULTRIX_STAT_TEST_CT, FD_MACH_ONLY,
8965 aUltrix_StatTests, apzUltrix_StatPatch, 0 },
8966
8967 { zUltrix_StaticName, zUltrix_StaticList,
8968 apzUltrix_StaticMachs,
8969 ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
8970 aUltrix_StaticTests, apzUltrix_StaticPatch, 0 },
8971
8972 { zUltrix_StdlibName, zUltrix_StdlibList,
8973 apzUltrix_StdlibMachs,
8974 ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
8975 aUltrix_StdlibTests, apzUltrix_StdlibPatch, 0 },
8976
8977 { zUltrix_StringsName, zUltrix_StringsList,
8978 apzUltrix_StringsMachs,
8979 ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8980 aUltrix_StringsTests, apzUltrix_StringsPatch, 0 },
8981
8982 { zUltrix_Strings2Name, zUltrix_Strings2List,
8983 apzUltrix_Strings2Machs,
8984 ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
8985 aUltrix_Strings2Tests, apzUltrix_Strings2Patch, 0 },
8986
8987 { zUltrix_Sys_TimeName, zUltrix_Sys_TimeList,
8988 apzUltrix_Sys_TimeMachs,
8989 ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
8990 aUltrix_Sys_TimeTests, apzUltrix_Sys_TimePatch, 0 },
8991
8992 { zUltrix_UnistdName, zUltrix_UnistdList,
8993 apzUltrix_UnistdMachs,
8994 ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
8995 aUltrix_UnistdTests, apzUltrix_UnistdPatch, 0 },
8996
8997 { zUnicosmk_RestrictName, zUnicosmk_RestrictList,
8998 apzUnicosmk_RestrictMachs,
8999 UNICOSMK_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9000 aUnicosmk_RestrictTests, apzUnicosmk_RestrictPatch, 0 },
9001
9002 { zUw7_Byteorder_FixName, zUw7_Byteorder_FixList,
9003 apzUw7_Byteorder_FixMachs,
9004 UW7_BYTEORDER_FIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9005 aUw7_Byteorder_FixTests, apzUw7_Byteorder_FixPatch, 0 },
9006
9007 { zVa_I960_MacroName, zVa_I960_MacroList,
9008 apzVa_I960_MacroMachs,
9009 VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9010 aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
9011
9012 { zVoid_NullName, zVoid_NullList,
9013 apzVoid_NullMachs,
9014 VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9015 aVoid_NullTests, apzVoid_NullPatch, 0 },
9016
9017 { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
9018 apzVxworks_Gcc_ProblemMachs,
9019 VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
9020 aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
9021
9022 { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
9023 apzVxworks_Needs_VxtypesMachs,
9024 VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9025 aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
9026
9027 { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
9028 apzVxworks_Needs_VxworksMachs,
9029 VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
9030 aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
9031
9032 { zVxworks_TimeName, zVxworks_TimeList,
9033 apzVxworks_TimeMachs,
9034 VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9035 aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
9036
9037 { zWindiss_Math1Name, zWindiss_Math1List,
9038 apzWindiss_Math1Machs,
9039 WINDISS_MATH1_TEST_CT, FD_MACH_ONLY,
9040 aWindiss_Math1Tests, apzWindiss_Math1Patch, 0 },
9041
9042 { zWindiss_Math2Name, zWindiss_Math2List,
9043 apzWindiss_Math2Machs,
9044 WINDISS_MATH2_TEST_CT, FD_MACH_ONLY,
9045 aWindiss_Math2Tests, apzWindiss_Math2Patch, 0 },
9046
9047 { zWindiss_ValistName, zWindiss_ValistList,
9048 apzWindiss_ValistMachs,
9049 WINDISS_VALIST_TEST_CT, FD_MACH_ONLY,
9050 aWindiss_ValistTests, apzWindiss_ValistPatch, 0 },
9051
9052 { zX11_ClassName, zX11_ClassList,
9053 apzX11_ClassMachs,
9054 X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9055 aX11_ClassTests, apzX11_ClassPatch, 0 },
9056
9057 { zX11_Class_UsageName, zX11_Class_UsageList,
9058 apzX11_Class_UsageMachs,
9059 X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9060 aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
9061
9062 { zX11_NewName, zX11_NewList,
9063 apzX11_NewMachs,
9064 X11_NEW_TEST_CT, FD_MACH_ONLY,
9065 aX11_NewTests, apzX11_NewPatch, 0 },
9066
9067 { zX11_SprintfName, zX11_SprintfList,
9068 apzX11_SprintfMachs,
9069 X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9070 aX11_SprintfTests, apzX11_SprintfPatch, 0 }
9071 };