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