comparison fixincludes/fixincl.x @ 0:a06113de4d67

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