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