sse.md (xop integer multiply/add insns): Use register_operand for operand 3 predicate.
[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 June 19, 2012 at 09:23:54 AM by AutoGen 5.10
6 * From the definitions inclhack.def
7 * and the template file fixincl
8 */
9 /* DO NOT SVN-MERGE THIS FILE, EITHER Tue Jun 19 09:23:54 EDT 2012
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 215 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_Complex fix
489 */
490 tSCC zAix_ComplexName[] =
491 "aix_complex";
492
493 /*
494 * File name selection pattern
495 */
496 tSCC zAix_ComplexList[] =
497 "complex.h\0";
498 /*
499 * Machine/OS name selection pattern
500 */
501 tSCC* apzAix_ComplexMachs[] = {
502 "*-*-aix*",
503 (const char*)NULL };
504
505 /*
506 * content selection pattern - do fix if pattern found
507 */
508 tSCC zAix_ComplexSelect0[] =
509 "#define[ \t]_Complex_I[ \t]__I";
510
511 #define AIX_COMPLEX_TEST_CT 1
512 static tTestDesc aAix_ComplexTests[] = {
513 { TT_EGREP, zAix_ComplexSelect0, (regex_t*)NULL }, };
514
515 /*
516 * Fix Command Arguments for Aix_Complex
517 */
518 static const char* apzAix_ComplexPatch[] = {
519 "format",
520 "#define _Complex_I (__extension__ 1.0iF)",
521 (char*)NULL };
522
523 /* * * * * * * * * * * * * * * * * * * * * * * * * *
524 *
525 * Description of Aix_Malloc fix
526 */
527 tSCC zAix_MallocName[] =
528 "aix_malloc";
529
530 /*
531 * File name selection pattern
532 */
533 tSCC zAix_MallocList[] =
534 "malloc.h\0";
535 /*
536 * Machine/OS name selection pattern
537 */
538 tSCC* apzAix_MallocMachs[] = {
539 "*-*-aix*",
540 (const char*)NULL };
541
542 /*
543 * content selection pattern - do fix if pattern found
544 */
545 tSCC zAix_MallocSelect0[] =
546 "#ifdef __cplusplus";
547
548 #define AIX_MALLOC_TEST_CT 1
549 static tTestDesc aAix_MallocTests[] = {
550 { TT_EGREP, zAix_MallocSelect0, (regex_t*)NULL }, };
551
552 /*
553 * Fix Command Arguments for Aix_Malloc
554 */
555 static const char* apzAix_MallocPatch[] = {
556 "format",
557 "#if (defined(__cplusplus) && defined(__IBMCPP__))",
558 (char*)NULL };
559
560 /* * * * * * * * * * * * * * * * * * * * * * * * * *
561 *
562 * Description of Aix_Net_If_Arp fix
563 */
564 tSCC zAix_Net_If_ArpName[] =
565 "aix_net_if_arp";
566
567 /*
568 * File name selection pattern
569 */
570 tSCC zAix_Net_If_ArpList[] =
571 "net/if_arp.h\0";
572 /*
573 * Machine/OS name selection pattern
574 */
575 tSCC* apzAix_Net_If_ArpMachs[] = {
576 "*-*-aix*",
577 (const char*)NULL };
578
579 /*
580 * content selection pattern - do fix if pattern found
581 */
582 tSCC zAix_Net_If_ArpSelect0[] =
583 "^struct fc_softc \\{";
584
585 #define AIX_NET_IF_ARP_TEST_CT 1
586 static tTestDesc aAix_Net_If_ArpTests[] = {
587 { TT_EGREP, zAix_Net_If_ArpSelect0, (regex_t*)NULL }, };
588
589 /*
590 * Fix Command Arguments for Aix_Net_If_Arp
591 */
592 static const char* apzAix_Net_If_ArpPatch[] = {
593 "format",
594 "typedef struct _fc_softc {",
595 (char*)NULL };
596
597 /* * * * * * * * * * * * * * * * * * * * * * * * * *
598 *
599 * Description of Aix_Once_Init_1 fix
600 */
601 tSCC zAix_Once_Init_1Name[] =
602 "aix_once_init_1";
603
604 /*
605 * File name selection pattern
606 */
607 tSCC zAix_Once_Init_1List[] =
608 "pthread.h\0";
609 /*
610 * Machine/OS name selection pattern
611 */
612 tSCC* apzAix_Once_Init_1Machs[] = {
613 "*-*-aix*",
614 (const char*)NULL };
615
616 /*
617 * content selection pattern - do fix if pattern found
618 */
619 tSCC zAix_Once_Init_1Select0[] =
620 "#define[ \t]PTHREAD_ONCE_INIT \\\\\n\
621 \\{ \\\\\n";
622
623 #define AIX_ONCE_INIT_1_TEST_CT 1
624 static tTestDesc aAix_Once_Init_1Tests[] = {
625 { TT_EGREP, zAix_Once_Init_1Select0, (regex_t*)NULL }, };
626
627 /*
628 * Fix Command Arguments for Aix_Once_Init_1
629 */
630 static const char* apzAix_Once_Init_1Patch[] = {
631 "format",
632 "#define PTHREAD_ONCE_INIT \\\n\
633 {{ \\\n",
634 (char*)NULL };
635
636 /* * * * * * * * * * * * * * * * * * * * * * * * * *
637 *
638 * Description of Aix_Once_Init_2 fix
639 */
640 tSCC zAix_Once_Init_2Name[] =
641 "aix_once_init_2";
642
643 /*
644 * File name selection pattern
645 */
646 tSCC zAix_Once_Init_2List[] =
647 "pthread.h\0";
648 /*
649 * Machine/OS name selection pattern
650 */
651 tSCC* apzAix_Once_Init_2Machs[] = {
652 "*-*-aix*",
653 (const char*)NULL };
654
655 /*
656 * content selection pattern - do fix if pattern found
657 */
658 tSCC zAix_Once_Init_2Select0[] =
659 "[ \t]0 \\\\\n\
660 \\}\n";
661
662 #define AIX_ONCE_INIT_2_TEST_CT 1
663 static tTestDesc aAix_Once_Init_2Tests[] = {
664 { TT_EGREP, zAix_Once_Init_2Select0, (regex_t*)NULL }, };
665
666 /*
667 * Fix Command Arguments for Aix_Once_Init_2
668 */
669 static const char* apzAix_Once_Init_2Patch[] = {
670 "format",
671 "\t0 \\\n\
672 }}\n",
673 (char*)NULL };
674
675 /* * * * * * * * * * * * * * * * * * * * * * * * * *
676 *
677 * Description of Aix_Mutex_Initializer_1 fix
678 */
679 tSCC zAix_Mutex_Initializer_1Name[] =
680 "aix_mutex_initializer_1";
681
682 /*
683 * File name selection pattern
684 */
685 tSCC zAix_Mutex_Initializer_1List[] =
686 "pthread.h\0";
687 /*
688 * Machine/OS name selection pattern
689 */
690 tSCC* apzAix_Mutex_Initializer_1Machs[] = {
691 "*-*-aix*",
692 (const char*)NULL };
693
694 /*
695 * content selection pattern - do fix if pattern found
696 */
697 tSCC zAix_Mutex_Initializer_1Select0[] =
698 "#define[ \t]PTHREAD_MUTEX_INITIALIZER \\\\\n\
699 \\{ \\\\\n";
700
701 #define AIX_MUTEX_INITIALIZER_1_TEST_CT 1
702 static tTestDesc aAix_Mutex_Initializer_1Tests[] = {
703 { TT_EGREP, zAix_Mutex_Initializer_1Select0, (regex_t*)NULL }, };
704
705 /*
706 * Fix Command Arguments for Aix_Mutex_Initializer_1
707 */
708 static const char* apzAix_Mutex_Initializer_1Patch[] = {
709 "format",
710 "#define PTHREAD_MUTEX_INITIALIZER \\\n\
711 {{ \\\n",
712 (char*)NULL };
713
714 /* * * * * * * * * * * * * * * * * * * * * * * * * *
715 *
716 * Description of Aix_Cond_Initializer_1 fix
717 */
718 tSCC zAix_Cond_Initializer_1Name[] =
719 "aix_cond_initializer_1";
720
721 /*
722 * File name selection pattern
723 */
724 tSCC zAix_Cond_Initializer_1List[] =
725 "pthread.h\0";
726 /*
727 * Machine/OS name selection pattern
728 */
729 tSCC* apzAix_Cond_Initializer_1Machs[] = {
730 "*-*-aix*",
731 (const char*)NULL };
732
733 /*
734 * content selection pattern - do fix if pattern found
735 */
736 tSCC zAix_Cond_Initializer_1Select0[] =
737 "#define[ \t]PTHREAD_COND_INITIALIZER \\\\\n\
738 \\{ \\\\\n";
739
740 #define AIX_COND_INITIALIZER_1_TEST_CT 1
741 static tTestDesc aAix_Cond_Initializer_1Tests[] = {
742 { TT_EGREP, zAix_Cond_Initializer_1Select0, (regex_t*)NULL }, };
743
744 /*
745 * Fix Command Arguments for Aix_Cond_Initializer_1
746 */
747 static const char* apzAix_Cond_Initializer_1Patch[] = {
748 "format",
749 "#define PTHREAD_COND_INITIALIZER \\\n\
750 {{ \\\n",
751 (char*)NULL };
752
753 /* * * * * * * * * * * * * * * * * * * * * * * * * *
754 *
755 * Description of Aix_Rwlock_Initializer_1 fix
756 */
757 tSCC zAix_Rwlock_Initializer_1Name[] =
758 "aix_rwlock_initializer_1";
759
760 /*
761 * File name selection pattern
762 */
763 tSCC zAix_Rwlock_Initializer_1List[] =
764 "pthread.h\0";
765 /*
766 * Machine/OS name selection pattern
767 */
768 tSCC* apzAix_Rwlock_Initializer_1Machs[] = {
769 "*-*-aix*",
770 (const char*)NULL };
771
772 /*
773 * content selection pattern - do fix if pattern found
774 */
775 tSCC zAix_Rwlock_Initializer_1Select0[] =
776 "#define[ \t]PTHREAD_RWLOCK_INITIALIZER \\\\\n\
777 \\{ \\\\\n";
778
779 #define AIX_RWLOCK_INITIALIZER_1_TEST_CT 1
780 static tTestDesc aAix_Rwlock_Initializer_1Tests[] = {
781 { TT_EGREP, zAix_Rwlock_Initializer_1Select0, (regex_t*)NULL }, };
782
783 /*
784 * Fix Command Arguments for Aix_Rwlock_Initializer_1
785 */
786 static const char* apzAix_Rwlock_Initializer_1Patch[] = {
787 "format",
788 "#define PTHREAD_RWLOCK_INITIALIZER \\\n\
789 {{ \\\n",
790 (char*)NULL };
791
792 /* * * * * * * * * * * * * * * * * * * * * * * * * *
793 *
794 * Description of Aix_Pthread fix
795 */
796 tSCC zAix_PthreadName[] =
797 "aix_pthread";
798
799 /*
800 * File name selection pattern
801 */
802 tSCC zAix_PthreadList[] =
803 "pthread.h\0";
804 /*
805 * Machine/OS name selection pattern
806 */
807 #define apzAix_PthreadMachs (const char**)NULL
808
809 /*
810 * content selection pattern - do fix if pattern found
811 */
812 tSCC zAix_PthreadSelect0[] =
813 "(#define [A-Za-z_0-9]+)(\\\\\n\
814 [^A-Za-z_0-9 \t\n\
815 (])";
816
817 #define AIX_PTHREAD_TEST_CT 1
818 static tTestDesc aAix_PthreadTests[] = {
819 { TT_EGREP, zAix_PthreadSelect0, (regex_t*)NULL }, };
820
821 /*
822 * Fix Command Arguments for Aix_Pthread
823 */
824 static const char* apzAix_PthreadPatch[] = {
825 "format",
826 "%1 %2",
827 (char*)NULL };
828
829 /* * * * * * * * * * * * * * * * * * * * * * * * * *
830 *
831 * Description of Aix_Stdint_1 fix
832 */
833 tSCC zAix_Stdint_1Name[] =
834 "aix_stdint_1";
835
836 /*
837 * File name selection pattern
838 */
839 tSCC zAix_Stdint_1List[] =
840 "stdint-aix.h\0stdint.h\0";
841 /*
842 * Machine/OS name selection pattern
843 */
844 tSCC* apzAix_Stdint_1Machs[] = {
845 "*-*-aix*",
846 (const char*)NULL };
847
848 /*
849 * content selection pattern - do fix if pattern found
850 */
851 tSCC zAix_Stdint_1Select0[] =
852 "#define[ \t]UINT8_MAX[ \t]\\(255U\\)\n\
853 #define[ \t]UINT16_MAX[ \t]\\(65535U\\)";
854
855 #define AIX_STDINT_1_TEST_CT 1
856 static tTestDesc aAix_Stdint_1Tests[] = {
857 { TT_EGREP, zAix_Stdint_1Select0, (regex_t*)NULL }, };
858
859 /*
860 * Fix Command Arguments for Aix_Stdint_1
861 */
862 static const char* apzAix_Stdint_1Patch[] = {
863 "format",
864 "#define UINT8_MAX\t(255)\n\
865 #define UINT16_MAX\t(65535)",
866 (char*)NULL };
867
868 /* * * * * * * * * * * * * * * * * * * * * * * * * *
869 *
870 * Description of Aix_Stdint_2 fix
871 */
872 tSCC zAix_Stdint_2Name[] =
873 "aix_stdint_2";
874
875 /*
876 * File name selection pattern
877 */
878 tSCC zAix_Stdint_2List[] =
879 "stdint-aix.h\0stdint.h\0";
880 /*
881 * Machine/OS name selection pattern
882 */
883 tSCC* apzAix_Stdint_2Machs[] = {
884 "*-*-aix*",
885 (const char*)NULL };
886
887 /*
888 * content selection pattern - do fix if pattern found
889 */
890 tSCC zAix_Stdint_2Select0[] =
891 "#define[ \t]INTPTR_MIN[ \t]INT64_MIN\n\
892 #define[ \t]INTPTR_MAX[ \t]INT64_MAX\n\
893 #define[ \t]UINTPTR_MAX[ \t]UINT64_MAX\n\
894 #else\n\
895 #define[ \t]INTPTR_MIN[ \t]INT32_MIN\n\
896 #define[ \t]INTPTR_MAX[ \t]INT32_MAX\n\
897 #define[ \t]UINTPTR_MAX[ \t]UINT32_MAX";
898
899 #define AIX_STDINT_2_TEST_CT 1
900 static tTestDesc aAix_Stdint_2Tests[] = {
901 { TT_EGREP, zAix_Stdint_2Select0, (regex_t*)NULL }, };
902
903 /*
904 * Fix Command Arguments for Aix_Stdint_2
905 */
906 static const char* apzAix_Stdint_2Patch[] = {
907 "format",
908 "#define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
909 #define INTPTR_MAX\t9223372036854775807L\n\
910 #define UINTPTR_MAX\t18446744073709551615UL\n\
911 #else\n\
912 #define INTPTR_MIN\t(-INTPTR_MAX-1)\n\
913 #define INTPTR_MAX\t2147483647L\n\
914 #define UINTPTR_MAX\t4294967295UL",
915 (char*)NULL };
916
917 /* * * * * * * * * * * * * * * * * * * * * * * * * *
918 *
919 * Description of Aix_Stdint_3 fix
920 */
921 tSCC zAix_Stdint_3Name[] =
922 "aix_stdint_3";
923
924 /*
925 * File name selection pattern
926 */
927 tSCC zAix_Stdint_3List[] =
928 "stdint-aix.h\0stdint.h\0";
929 /*
930 * Machine/OS name selection pattern
931 */
932 tSCC* apzAix_Stdint_3Machs[] = {
933 "*-*-aix*",
934 (const char*)NULL };
935
936 /*
937 * content selection pattern - do fix if pattern found
938 */
939 tSCC zAix_Stdint_3Select0[] =
940 "#define[ \t]PTRDIFF_MIN[ \t]INT64_MIN\n\
941 #define[ \t]PTRDIFF_MAX[ \t]INT64_MAX\n\
942 #else\n\
943 #define[ \t]PTRDIFF_MIN[ \t]*INT32_MIN\n\
944 #define[ \t]PTRDIFF_MAX[ \t]*INT32_MAX";
945
946 #define AIX_STDINT_3_TEST_CT 1
947 static tTestDesc aAix_Stdint_3Tests[] = {
948 { TT_EGREP, zAix_Stdint_3Select0, (regex_t*)NULL }, };
949
950 /*
951 * Fix Command Arguments for Aix_Stdint_3
952 */
953 static const char* apzAix_Stdint_3Patch[] = {
954 "format",
955 "#define PTRDIFF_MIN\t(-9223372036854775807L - 1)\n\
956 #define PTRDIFF_MAX\t9223372036854775807L\n\
957 #else\n\
958 #define PTRDIFF_MIN\t(-2147483647L - 1)\n\
959 #define PTRDIFF_MAX\t2147483647L",
960 (char*)NULL };
961
962 /* * * * * * * * * * * * * * * * * * * * * * * * * *
963 *
964 * Description of Aix_Stdint_4 fix
965 */
966 tSCC zAix_Stdint_4Name[] =
967 "aix_stdint_4";
968
969 /*
970 * File name selection pattern
971 */
972 tSCC zAix_Stdint_4List[] =
973 "stdint-aix.h\0stdint.h\0";
974 /*
975 * Machine/OS name selection pattern
976 */
977 tSCC* apzAix_Stdint_4Machs[] = {
978 "*-*-aix*",
979 (const char*)NULL };
980
981 /*
982 * content selection pattern - do fix if pattern found
983 */
984 tSCC zAix_Stdint_4Select0[] =
985 "#define[ \t]SIZE_MAX[ \t]UINT64_MAX\n\
986 #else\n\
987 #define[ \t]SIZE_MAX[ \t]*UINT32_MAX";
988
989 #define AIX_STDINT_4_TEST_CT 1
990 static tTestDesc aAix_Stdint_4Tests[] = {
991 { TT_EGREP, zAix_Stdint_4Select0, (regex_t*)NULL }, };
992
993 /*
994 * Fix Command Arguments for Aix_Stdint_4
995 */
996 static const char* apzAix_Stdint_4Patch[] = {
997 "format",
998 "#define SIZE_MAX\t18446744073709551615UL\n\
999 #else\n\
1000 #define SIZE_MAX\t4294967295UL",
1001 (char*)NULL };
1002
1003 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1004 *
1005 * Description of Aix_Stdint_5 fix
1006 */
1007 tSCC zAix_Stdint_5Name[] =
1008 "aix_stdint_5";
1009
1010 /*
1011 * File name selection pattern
1012 */
1013 tSCC zAix_Stdint_5List[] =
1014 "stdint-aix.h\0stdint.h\0";
1015 /*
1016 * Machine/OS name selection pattern
1017 */
1018 tSCC* apzAix_Stdint_5Machs[] = {
1019 "*-*-aix*",
1020 (const char*)NULL };
1021
1022 /*
1023 * content selection pattern - do fix if pattern found
1024 */
1025 tSCC zAix_Stdint_5Select0[] =
1026 "#define[ \t]UINT8_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)\n\
1027 #define[ \t]UINT16_C\\(c\\)[ \t]__CONCAT__\\(c,U\\)";
1028
1029 #define AIX_STDINT_5_TEST_CT 1
1030 static tTestDesc aAix_Stdint_5Tests[] = {
1031 { TT_EGREP, zAix_Stdint_5Select0, (regex_t*)NULL }, };
1032
1033 /*
1034 * Fix Command Arguments for Aix_Stdint_5
1035 */
1036 static const char* apzAix_Stdint_5Patch[] = {
1037 "format",
1038 "#define UINT8_C(c)\tc\n\
1039 #define UINT16_C(c)\tc",
1040 (char*)NULL };
1041
1042 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1043 *
1044 * Description of Aix_Sysmachine fix
1045 */
1046 tSCC zAix_SysmachineName[] =
1047 "aix_sysmachine";
1048
1049 /*
1050 * File name selection pattern
1051 */
1052 tSCC zAix_SysmachineList[] =
1053 "sys/machine.h\0";
1054 /*
1055 * Machine/OS name selection pattern
1056 */
1057 #define apzAix_SysmachineMachs (const char**)NULL
1058
1059 /*
1060 * content selection pattern - do fix if pattern found
1061 */
1062 tSCC zAix_SysmachineSelect0[] =
1063 "\\\\ +\n";
1064
1065 #define AIX_SYSMACHINE_TEST_CT 1
1066 static tTestDesc aAix_SysmachineTests[] = {
1067 { TT_EGREP, zAix_SysmachineSelect0, (regex_t*)NULL }, };
1068
1069 /*
1070 * Fix Command Arguments for Aix_Sysmachine
1071 */
1072 static const char* apzAix_SysmachinePatch[] = {
1073 "format",
1074 "\\\n",
1075 (char*)NULL };
1076
1077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1078 *
1079 * Description of Aix_Syswait_2 fix
1080 */
1081 tSCC zAix_Syswait_2Name[] =
1082 "aix_syswait_2";
1083
1084 /*
1085 * File name selection pattern
1086 */
1087 tSCC zAix_Syswait_2List[] =
1088 "sys/wait.h\0";
1089 /*
1090 * Machine/OS name selection pattern
1091 */
1092 #define apzAix_Syswait_2Machs (const char**)NULL
1093
1094 /*
1095 * content selection pattern - do fix if pattern found
1096 */
1097 tSCC zAix_Syswait_2Select0[] =
1098 "\\? (\\(\\(\\(\\(unsigned[^)]*\\)[^)]*\\) >> [^)]*\\) \\& 0xff\\) : -1)";
1099
1100 #define AIX_SYSWAIT_2_TEST_CT 1
1101 static tTestDesc aAix_Syswait_2Tests[] = {
1102 { TT_EGREP, zAix_Syswait_2Select0, (regex_t*)NULL }, };
1103
1104 /*
1105 * Fix Command Arguments for Aix_Syswait_2
1106 */
1107 static const char* apzAix_Syswait_2Patch[] = {
1108 "format",
1109 "? (int)%1",
1110 (char*)NULL };
1111
1112 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1113 *
1114 * Description of Aix_Volatile fix
1115 */
1116 tSCC zAix_VolatileName[] =
1117 "aix_volatile";
1118
1119 /*
1120 * File name selection pattern
1121 */
1122 tSCC zAix_VolatileList[] =
1123 "sys/signal.h\0";
1124 /*
1125 * Machine/OS name selection pattern
1126 */
1127 #define apzAix_VolatileMachs (const char**)NULL
1128
1129 /*
1130 * content selection pattern - do fix if pattern found
1131 */
1132 tSCC zAix_VolatileSelect0[] =
1133 "typedef volatile int sig_atomic_t";
1134
1135 #define AIX_VOLATILE_TEST_CT 1
1136 static tTestDesc aAix_VolatileTests[] = {
1137 { TT_EGREP, zAix_VolatileSelect0, (regex_t*)NULL }, };
1138
1139 /*
1140 * Fix Command Arguments for Aix_Volatile
1141 */
1142 static const char* apzAix_VolatilePatch[] = {
1143 "format",
1144 "typedef int sig_atomic_t",
1145 (char*)NULL };
1146
1147 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1148 *
1149 * Description of Alpha___Assert fix
1150 */
1151 tSCC zAlpha___AssertName[] =
1152 "alpha___assert";
1153
1154 /*
1155 * File name selection pattern
1156 */
1157 tSCC zAlpha___AssertList[] =
1158 "assert.h\0";
1159 /*
1160 * Machine/OS name selection pattern
1161 */
1162 #define apzAlpha___AssertMachs (const char**)NULL
1163
1164 /*
1165 * content selection pattern - do fix if pattern found
1166 */
1167 tSCC zAlpha___AssertSelect0[] =
1168 "__assert\\(char \\*, char \\*, int\\)";
1169
1170 #define ALPHA___ASSERT_TEST_CT 1
1171 static tTestDesc aAlpha___AssertTests[] = {
1172 { TT_EGREP, zAlpha___AssertSelect0, (regex_t*)NULL }, };
1173
1174 /*
1175 * Fix Command Arguments for Alpha___Assert
1176 */
1177 static const char* apzAlpha___AssertPatch[] = {
1178 "format",
1179 "__assert(const char *, const char *, int)",
1180 (char*)NULL };
1181
1182 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1183 *
1184 * Description of Alpha_Assert fix
1185 */
1186 tSCC zAlpha_AssertName[] =
1187 "alpha_assert";
1188
1189 /*
1190 * File name selection pattern
1191 */
1192 tSCC zAlpha_AssertList[] =
1193 "assert.h\0";
1194 /*
1195 * Machine/OS name selection pattern
1196 */
1197 #define apzAlpha_AssertMachs (const char**)NULL
1198
1199 /*
1200 * content selection pattern - do fix if pattern found
1201 */
1202 tSCC zAlpha_AssertSelect0[] =
1203 "(#[ \t]*define assert\\(EX\\).*)\\(\\(int\\) \\(EX\\)\\)";
1204
1205 #define ALPHA_ASSERT_TEST_CT 1
1206 static tTestDesc aAlpha_AssertTests[] = {
1207 { TT_EGREP, zAlpha_AssertSelect0, (regex_t*)NULL }, };
1208
1209 /*
1210 * Fix Command Arguments for Alpha_Assert
1211 */
1212 static const char* apzAlpha_AssertPatch[] = {
1213 "format",
1214 "%1(EX)",
1215 (char*)NULL };
1216
1217 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1218 *
1219 * Description of Alpha_Getopt fix
1220 */
1221 tSCC zAlpha_GetoptName[] =
1222 "alpha_getopt";
1223
1224 /*
1225 * File name selection pattern
1226 */
1227 tSCC zAlpha_GetoptList[] =
1228 "stdio.h\0stdlib.h\0";
1229 /*
1230 * Machine/OS name selection pattern
1231 */
1232 #define apzAlpha_GetoptMachs (const char**)NULL
1233
1234 /*
1235 * content selection pattern - do fix if pattern found
1236 */
1237 tSCC zAlpha_GetoptSelect0[] =
1238 "getopt\\(int, char \\*\\[\\], *char \\*\\)";
1239
1240 #define ALPHA_GETOPT_TEST_CT 1
1241 static tTestDesc aAlpha_GetoptTests[] = {
1242 { TT_EGREP, zAlpha_GetoptSelect0, (regex_t*)NULL }, };
1243
1244 /*
1245 * Fix Command Arguments for Alpha_Getopt
1246 */
1247 static const char* apzAlpha_GetoptPatch[] = {
1248 "format",
1249 "getopt(int, char *const[], const char *)",
1250 (char*)NULL };
1251
1252 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1253 *
1254 * Description of Alpha_If_Semicolon fix
1255 */
1256 tSCC zAlpha_If_SemicolonName[] =
1257 "alpha_if_semicolon";
1258
1259 /*
1260 * File name selection pattern
1261 */
1262 tSCC zAlpha_If_SemicolonList[] =
1263 "net/if.h\0";
1264 /*
1265 * Machine/OS name selection pattern
1266 */
1267 #define apzAlpha_If_SemicolonMachs (const char**)NULL
1268
1269 /*
1270 * content selection pattern - do fix if pattern found
1271 */
1272 tSCC zAlpha_If_SemicolonSelect0[] =
1273 "struct[ \t]+sockaddr[ \t]+vmif_paddr[ \t]+/\\*";
1274
1275 #define ALPHA_IF_SEMICOLON_TEST_CT 1
1276 static tTestDesc aAlpha_If_SemicolonTests[] = {
1277 { TT_EGREP, zAlpha_If_SemicolonSelect0, (regex_t*)NULL }, };
1278
1279 /*
1280 * Fix Command Arguments for Alpha_If_Semicolon
1281 */
1282 static const char* apzAlpha_If_SemicolonPatch[] = {
1283 "format",
1284 "struct sockaddr vmif_paddr;\t/*",
1285 (char*)NULL };
1286
1287 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1288 *
1289 * Description of Alpha_Parens fix
1290 */
1291 tSCC zAlpha_ParensName[] =
1292 "alpha_parens";
1293
1294 /*
1295 * File name selection pattern
1296 */
1297 tSCC zAlpha_ParensList[] =
1298 "sym.h\0";
1299 /*
1300 * Machine/OS name selection pattern
1301 */
1302 #define apzAlpha_ParensMachs (const char**)NULL
1303
1304 /*
1305 * content selection pattern - do fix if pattern found
1306 */
1307 tSCC zAlpha_ParensSelect0[] =
1308 "#ifndef\\(__mips64\\)";
1309
1310 #define ALPHA_PARENS_TEST_CT 1
1311 static tTestDesc aAlpha_ParensTests[] = {
1312 { TT_EGREP, zAlpha_ParensSelect0, (regex_t*)NULL }, };
1313
1314 /*
1315 * Fix Command Arguments for Alpha_Parens
1316 */
1317 static const char* apzAlpha_ParensPatch[] = {
1318 "format",
1319 "#ifndef __mips64",
1320 (char*)NULL };
1321
1322 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1323 *
1324 * Description of Alpha_Sbrk fix
1325 */
1326 tSCC zAlpha_SbrkName[] =
1327 "alpha_sbrk";
1328
1329 /*
1330 * File name selection pattern
1331 */
1332 tSCC zAlpha_SbrkList[] =
1333 "unistd.h\0";
1334 /*
1335 * Machine/OS name selection pattern
1336 */
1337 #define apzAlpha_SbrkMachs (const char**)NULL
1338
1339 /*
1340 * content selection pattern - do fix if pattern found
1341 */
1342 tSCC zAlpha_SbrkSelect0[] =
1343 "char[ \t]*\\*[\t ]*sbrk[ \t]*\\(";
1344
1345 #define ALPHA_SBRK_TEST_CT 1
1346 static tTestDesc aAlpha_SbrkTests[] = {
1347 { TT_EGREP, zAlpha_SbrkSelect0, (regex_t*)NULL }, };
1348
1349 /*
1350 * Fix Command Arguments for Alpha_Sbrk
1351 */
1352 static const char* apzAlpha_SbrkPatch[] = {
1353 "format",
1354 "void *sbrk(",
1355 (char*)NULL };
1356
1357 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1358 *
1359 * Description of Avoid_Bool_Define fix
1360 */
1361 tSCC zAvoid_Bool_DefineName[] =
1362 "avoid_bool_define";
1363
1364 /*
1365 * File name selection pattern
1366 */
1367 tSCC zAvoid_Bool_DefineList[] =
1368 "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1369 /*
1370 * Machine/OS name selection pattern
1371 */
1372 #define apzAvoid_Bool_DefineMachs (const char**)NULL
1373
1374 /*
1375 * content selection pattern - do fix if pattern found
1376 */
1377 tSCC zAvoid_Bool_DefineSelect0[] =
1378 "#[ \t]*define[ \t]+bool[ \t]";
1379
1380 /*
1381 * content bypass pattern - skip fix if pattern found
1382 */
1383 tSCC zAvoid_Bool_DefineBypass0[] =
1384 "__cplusplus";
1385
1386 #define AVOID_BOOL_DEFINE_TEST_CT 2
1387 static tTestDesc aAvoid_Bool_DefineTests[] = {
1388 { TT_NEGREP, zAvoid_Bool_DefineBypass0, (regex_t*)NULL },
1389 { TT_EGREP, zAvoid_Bool_DefineSelect0, (regex_t*)NULL }, };
1390
1391 /*
1392 * Fix Command Arguments for Avoid_Bool_Define
1393 */
1394 static const char* apzAvoid_Bool_DefinePatch[] = {
1395 "format",
1396 "#ifndef __cplusplus\n\
1397 %0\n\
1398 #endif",
1399 "^[ \t]*#[ \t]*define[ \t]+bool[ \t].*",
1400 (char*)NULL };
1401
1402 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1403 *
1404 * Description of Avoid_Bool_Type fix
1405 */
1406 tSCC zAvoid_Bool_TypeName[] =
1407 "avoid_bool_type";
1408
1409 /*
1410 * File name selection pattern
1411 */
1412 tSCC zAvoid_Bool_TypeList[] =
1413 "curses.h\0curses_colr/curses.h\0term.h\0tinfo.h\0";
1414 /*
1415 * Machine/OS name selection pattern
1416 */
1417 #define apzAvoid_Bool_TypeMachs (const char**)NULL
1418
1419 /*
1420 * content selection pattern - do fix if pattern found
1421 */
1422 tSCC zAvoid_Bool_TypeSelect0[] =
1423 "^[ \t]*typedef[ \t].*[ \t]bool[ \t]*;";
1424
1425 /*
1426 * content bypass pattern - skip fix if pattern found
1427 */
1428 tSCC zAvoid_Bool_TypeBypass0[] =
1429 "__cplusplus";
1430
1431 #define AVOID_BOOL_TYPE_TEST_CT 2
1432 static tTestDesc aAvoid_Bool_TypeTests[] = {
1433 { TT_NEGREP, zAvoid_Bool_TypeBypass0, (regex_t*)NULL },
1434 { TT_EGREP, zAvoid_Bool_TypeSelect0, (regex_t*)NULL }, };
1435
1436 /*
1437 * Fix Command Arguments for Avoid_Bool_Type
1438 */
1439 static const char* apzAvoid_Bool_TypePatch[] = {
1440 "format",
1441 "#ifndef __cplusplus\n\
1442 %0\n\
1443 #endif",
1444 (char*)NULL };
1445
1446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1447 *
1448 * Description of Avoid_Wchar_T_Type fix
1449 */
1450 tSCC zAvoid_Wchar_T_TypeName[] =
1451 "avoid_wchar_t_type";
1452
1453 /*
1454 * File name selection pattern
1455 */
1456 #define zAvoid_Wchar_T_TypeList (char*)NULL
1457 /*
1458 * Machine/OS name selection pattern
1459 */
1460 #define apzAvoid_Wchar_T_TypeMachs (const char**)NULL
1461
1462 /*
1463 * content selection pattern - do fix if pattern found
1464 */
1465 tSCC zAvoid_Wchar_T_TypeSelect0[] =
1466 "^[ \t]*typedef[ \t].*[ \t]wchar_t[ \t]*;";
1467
1468 /*
1469 * content bypass pattern - skip fix if pattern found
1470 */
1471 tSCC zAvoid_Wchar_T_TypeBypass0[] =
1472 "__cplusplus";
1473 tSCC zAvoid_Wchar_T_TypeBypass1[] =
1474 "_LINUX_NLS_H";
1475 tSCC zAvoid_Wchar_T_TypeBypass2[] =
1476 "XFree86: xc/lib/X11/Xlib\\.h";
1477
1478 #define AVOID_WCHAR_T_TYPE_TEST_CT 4
1479 static tTestDesc aAvoid_Wchar_T_TypeTests[] = {
1480 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass0, (regex_t*)NULL },
1481 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass1, (regex_t*)NULL },
1482 { TT_NEGREP, zAvoid_Wchar_T_TypeBypass2, (regex_t*)NULL },
1483 { TT_EGREP, zAvoid_Wchar_T_TypeSelect0, (regex_t*)NULL }, };
1484
1485 /*
1486 * Fix Command Arguments for Avoid_Wchar_T_Type
1487 */
1488 static const char* apzAvoid_Wchar_T_TypePatch[] = {
1489 "format",
1490 "#ifndef __cplusplus\n\
1491 %0\n\
1492 #endif",
1493 (char*)NULL };
1494
1495 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1496 *
1497 * Description of Bad_Struct_Term fix
1498 */
1499 tSCC zBad_Struct_TermName[] =
1500 "bad_struct_term";
1501
1502 /*
1503 * File name selection pattern
1504 */
1505 tSCC zBad_Struct_TermList[] =
1506 "curses.h\0";
1507 /*
1508 * Machine/OS name selection pattern
1509 */
1510 #define apzBad_Struct_TermMachs (const char**)NULL
1511
1512 /*
1513 * content selection pattern - do fix if pattern found
1514 */
1515 tSCC zBad_Struct_TermSelect0[] =
1516 "^[ \t]*typedef[ \t]+struct[ \t]+term[ \t]*;";
1517
1518 #define BAD_STRUCT_TERM_TEST_CT 1
1519 static tTestDesc aBad_Struct_TermTests[] = {
1520 { TT_EGREP, zBad_Struct_TermSelect0, (regex_t*)NULL }, };
1521
1522 /*
1523 * Fix Command Arguments for Bad_Struct_Term
1524 */
1525 static const char* apzBad_Struct_TermPatch[] = {
1526 "format",
1527 "struct term;",
1528 (char*)NULL };
1529
1530 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1531 *
1532 * Description of Badquote fix
1533 */
1534 tSCC zBadquoteName[] =
1535 "badquote";
1536
1537 /*
1538 * File name selection pattern
1539 */
1540 tSCC zBadquoteList[] =
1541 "sundev/vuid_event.h\0";
1542 /*
1543 * Machine/OS name selection pattern
1544 */
1545 #define apzBadquoteMachs (const char**)NULL
1546
1547 /*
1548 * content selection pattern - do fix if pattern found
1549 */
1550 tSCC zBadquoteSelect0[] =
1551 "doesn't";
1552
1553 #define BADQUOTE_TEST_CT 1
1554 static tTestDesc aBadquoteTests[] = {
1555 { TT_EGREP, zBadquoteSelect0, (regex_t*)NULL }, };
1556
1557 /*
1558 * Fix Command Arguments for Badquote
1559 */
1560 static const char* apzBadquotePatch[] = {
1561 "format",
1562 "does not",
1563 (char*)NULL };
1564
1565 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1566 *
1567 * Description of Broken_Assert_Stdio fix
1568 */
1569 tSCC zBroken_Assert_StdioName[] =
1570 "broken_assert_stdio";
1571
1572 /*
1573 * File name selection pattern
1574 */
1575 tSCC zBroken_Assert_StdioList[] =
1576 "assert.h\0";
1577 /*
1578 * Machine/OS name selection pattern
1579 */
1580 #define apzBroken_Assert_StdioMachs (const char**)NULL
1581
1582 /*
1583 * content selection pattern - do fix if pattern found
1584 */
1585 tSCC zBroken_Assert_StdioSelect0[] =
1586 "stderr";
1587
1588 /*
1589 * content bypass pattern - skip fix if pattern found
1590 */
1591 tSCC zBroken_Assert_StdioBypass0[] =
1592 "include.*stdio\\.h";
1593
1594 #define BROKEN_ASSERT_STDIO_TEST_CT 2
1595 static tTestDesc aBroken_Assert_StdioTests[] = {
1596 { TT_NEGREP, zBroken_Assert_StdioBypass0, (regex_t*)NULL },
1597 { TT_EGREP, zBroken_Assert_StdioSelect0, (regex_t*)NULL }, };
1598
1599 /*
1600 * Fix Command Arguments for Broken_Assert_Stdio
1601 */
1602 static const char* apzBroken_Assert_StdioPatch[] = {
1603 "wrap",
1604 "#include <stdio.h>\n",
1605 (char*)NULL };
1606
1607 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1608 *
1609 * Description of Broken_Assert_Stdlib fix
1610 */
1611 tSCC zBroken_Assert_StdlibName[] =
1612 "broken_assert_stdlib";
1613
1614 /*
1615 * File name selection pattern
1616 */
1617 tSCC zBroken_Assert_StdlibList[] =
1618 "assert.h\0";
1619 /*
1620 * Machine/OS name selection pattern
1621 */
1622 #define apzBroken_Assert_StdlibMachs (const char**)NULL
1623
1624 /*
1625 * content selection pattern - do fix if pattern found
1626 */
1627 tSCC zBroken_Assert_StdlibSelect0[] =
1628 "exit *\\(|abort *\\(";
1629
1630 /*
1631 * content bypass pattern - skip fix if pattern found
1632 */
1633 tSCC zBroken_Assert_StdlibBypass0[] =
1634 "include.*stdlib\\.h";
1635
1636 #define BROKEN_ASSERT_STDLIB_TEST_CT 2
1637 static tTestDesc aBroken_Assert_StdlibTests[] = {
1638 { TT_NEGREP, zBroken_Assert_StdlibBypass0, (regex_t*)NULL },
1639 { TT_EGREP, zBroken_Assert_StdlibSelect0, (regex_t*)NULL }, };
1640
1641 /*
1642 * Fix Command Arguments for Broken_Assert_Stdlib
1643 */
1644 static const char* apzBroken_Assert_StdlibPatch[] = {
1645 "wrap",
1646 "#ifdef __cplusplus\n\
1647 #include <stdlib.h>\n\
1648 #endif\n",
1649 (char*)NULL };
1650
1651 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1652 *
1653 * Description of Broken_Cabs fix
1654 */
1655 tSCC zBroken_CabsName[] =
1656 "broken_cabs";
1657
1658 /*
1659 * File name selection pattern
1660 */
1661 tSCC zBroken_CabsList[] =
1662 "math.h\0architecture/*/math.h\0";
1663 /*
1664 * Machine/OS name selection pattern
1665 */
1666 #define apzBroken_CabsMachs (const char**)NULL
1667
1668 /*
1669 * content selection pattern - do fix if pattern found
1670 */
1671 tSCC zBroken_CabsSelect0[] =
1672 "^extern[ \t]+double[ \t]+cabs";
1673
1674 #define BROKEN_CABS_TEST_CT 1
1675 static tTestDesc aBroken_CabsTests[] = {
1676 { TT_EGREP, zBroken_CabsSelect0, (regex_t*)NULL }, };
1677
1678 /*
1679 * Fix Command Arguments for Broken_Cabs
1680 */
1681 static const char* apzBroken_CabsPatch[] = { sed_cmd_z,
1682 "-e", "s/^extern[ \t]*double[ \t]*cabs[ \t]*([^\\)]*);//",
1683 "-e", "s/^extern[ \t]*long[ \t]*double[ \t]*cabsl[ \t]*([^\\)]*);//",
1684 (char*)NULL };
1685
1686 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1687 *
1688 * Description of Broken_Nan fix
1689 */
1690 tSCC zBroken_NanName[] =
1691 "broken_nan";
1692
1693 /*
1694 * File name selection pattern
1695 */
1696 tSCC zBroken_NanList[] =
1697 "architecture/ppc/math.h\0architecture/*/math.h\0";
1698 /*
1699 * Machine/OS name selection pattern
1700 */
1701 #define apzBroken_NanMachs (const char**)NULL
1702
1703 /*
1704 * content selection pattern - do fix if pattern found
1705 */
1706 tSCC zBroken_NanSelect0[] =
1707 "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
1708
1709 /*
1710 * content bypass pattern - skip fix if pattern found
1711 */
1712 tSCC zBroken_NanBypass0[] =
1713 "powl";
1714
1715 #define BROKEN_NAN_TEST_CT 2
1716 static tTestDesc aBroken_NanTests[] = {
1717 { TT_NEGREP, zBroken_NanBypass0, (regex_t*)NULL },
1718 { TT_EGREP, zBroken_NanSelect0, (regex_t*)NULL }, };
1719
1720 /*
1721 * Fix Command Arguments for Broken_Nan
1722 */
1723 static const char* apzBroken_NanPatch[] = {
1724 "format",
1725 "#if 1",
1726 (char*)NULL };
1727
1728 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1729 *
1730 * Description of Bsd_Stdio_Attrs_Conflict fix
1731 */
1732 tSCC zBsd_Stdio_Attrs_ConflictName[] =
1733 "bsd_stdio_attrs_conflict";
1734
1735 /*
1736 * File name selection pattern
1737 */
1738 tSCC zBsd_Stdio_Attrs_ConflictList[] =
1739 "stdio.h\0";
1740 /*
1741 * Machine/OS name selection pattern
1742 */
1743 tSCC* apzBsd_Stdio_Attrs_ConflictMachs[] = {
1744 "*-*-*bsd*",
1745 "*-*-*darwin*",
1746 (const char*)NULL };
1747
1748 /*
1749 * content selection pattern - do fix if pattern found
1750 */
1751 tSCC zBsd_Stdio_Attrs_ConflictSelect0[] =
1752 "^#define[ \t]*vfscanf[ \t]*__svfscanf[ \t]*$";
1753
1754 #define BSD_STDIO_ATTRS_CONFLICT_TEST_CT 1
1755 static tTestDesc aBsd_Stdio_Attrs_ConflictTests[] = {
1756 { TT_EGREP, zBsd_Stdio_Attrs_ConflictSelect0, (regex_t*)NULL }, };
1757
1758 /*
1759 * Fix Command Arguments for Bsd_Stdio_Attrs_Conflict
1760 */
1761 static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = {
1762 "format",
1763 "#define _BSD_STRING(_BSD_X) _BSD_STRINGX(_BSD_X)\n\
1764 #define _BSD_STRINGX(_BSD_X) #_BSD_X\n\
1765 int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");",
1766 (char*)NULL };
1767
1768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1769 *
1770 * Description of Cdef_Cplusplus fix
1771 */
1772 tSCC zCdef_CplusplusName[] =
1773 "cdef_cplusplus";
1774
1775 /*
1776 * File name selection pattern
1777 */
1778 tSCC zCdef_CplusplusList[] =
1779 "sys/cdefs.h\0";
1780 /*
1781 * Machine/OS name selection pattern
1782 */
1783 #define apzCdef_CplusplusMachs (const char**)NULL
1784
1785 /*
1786 * content selection pattern - do fix if pattern found
1787 */
1788 tSCC zCdef_CplusplusSelect0[] =
1789 "\\[\\[noreturn\\]\\]";
1790
1791 #define CDEF_CPLUSPLUS_TEST_CT 1
1792 static tTestDesc aCdef_CplusplusTests[] = {
1793 { TT_EGREP, zCdef_CplusplusSelect0, (regex_t*)NULL }, };
1794
1795 /*
1796 * Fix Command Arguments for Cdef_Cplusplus
1797 */
1798 static const char* apzCdef_CplusplusPatch[] = {
1799 "format",
1800 "__attribute__((__noreturn__))",
1801 (char*)NULL };
1802
1803 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1804 *
1805 * Description of Ctrl_Quotes_Def fix
1806 */
1807 tSCC zCtrl_Quotes_DefName[] =
1808 "ctrl_quotes_def";
1809
1810 /*
1811 * File name selection pattern
1812 */
1813 #define zCtrl_Quotes_DefList (char*)NULL
1814 /*
1815 * Machine/OS name selection pattern
1816 */
1817 #define apzCtrl_Quotes_DefMachs (const char**)NULL
1818
1819 /*
1820 * content selection pattern - do fix if pattern found
1821 */
1822 tSCC zCtrl_Quotes_DefSelect0[] =
1823 "define[ \t]+[A-Z0-9_]+CTRL\\([a-zA-Z][,)]";
1824
1825 #define CTRL_QUOTES_DEF_TEST_CT 1
1826 static tTestDesc aCtrl_Quotes_DefTests[] = {
1827 { TT_EGREP, zCtrl_Quotes_DefSelect0, (regex_t*)NULL }, };
1828
1829 /*
1830 * Fix Command Arguments for Ctrl_Quotes_Def
1831 */
1832 static const char* apzCtrl_Quotes_DefPatch[] = {
1833 "char_macro_def",
1834 "CTRL",
1835 (char*)NULL };
1836
1837 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1838 *
1839 * Description of Ctrl_Quotes_Use fix
1840 */
1841 tSCC zCtrl_Quotes_UseName[] =
1842 "ctrl_quotes_use";
1843
1844 /*
1845 * File name selection pattern
1846 */
1847 #define zCtrl_Quotes_UseList (char*)NULL
1848 /*
1849 * Machine/OS name selection pattern
1850 */
1851 #define apzCtrl_Quotes_UseMachs (const char**)NULL
1852
1853 /*
1854 * content selection pattern - do fix if pattern found
1855 */
1856 tSCC zCtrl_Quotes_UseSelect0[] =
1857 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+CTRL[ \t]*\\( *[^,']";
1858
1859 #define CTRL_QUOTES_USE_TEST_CT 1
1860 static tTestDesc aCtrl_Quotes_UseTests[] = {
1861 { TT_EGREP, zCtrl_Quotes_UseSelect0, (regex_t*)NULL }, };
1862
1863 /*
1864 * Fix Command Arguments for Ctrl_Quotes_Use
1865 */
1866 static const char* apzCtrl_Quotes_UsePatch[] = {
1867 "char_macro_use",
1868 "CTRL",
1869 (char*)NULL };
1870
1871 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1872 *
1873 * Description of Cxx_Unready fix
1874 */
1875 tSCC zCxx_UnreadyName[] =
1876 "cxx_unready";
1877
1878 /*
1879 * File name selection pattern
1880 */
1881 tSCC zCxx_UnreadyList[] =
1882 "sys/mman.h\0rpc/types.h\0";
1883 /*
1884 * Machine/OS name selection pattern
1885 */
1886 #define apzCxx_UnreadyMachs (const char**)NULL
1887
1888 /*
1889 * content selection pattern - do fix if pattern found
1890 */
1891 tSCC zCxx_UnreadySelect0[] =
1892 "[^#]+malloc.*;";
1893
1894 /*
1895 * content bypass pattern - skip fix if pattern found
1896 */
1897 tSCC zCxx_UnreadyBypass0[] =
1898 "\"C\"|__BEGIN_DECLS";
1899
1900 #define CXX_UNREADY_TEST_CT 2
1901 static tTestDesc aCxx_UnreadyTests[] = {
1902 { TT_NEGREP, zCxx_UnreadyBypass0, (regex_t*)NULL },
1903 { TT_EGREP, zCxx_UnreadySelect0, (regex_t*)NULL }, };
1904
1905 /*
1906 * Fix Command Arguments for Cxx_Unready
1907 */
1908 static const char* apzCxx_UnreadyPatch[] = {
1909 "wrap",
1910 "#ifdef __cplusplus\n\
1911 extern \"C\" {\n\
1912 #endif\n",
1913 "#ifdef __cplusplus\n\
1914 }\n\
1915 #endif\n",
1916 (char*)NULL };
1917
1918 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1919 *
1920 * Description of Darwin_Externc fix
1921 */
1922 tSCC zDarwin_ExterncName[] =
1923 "darwin_externc";
1924
1925 /*
1926 * File name selection pattern
1927 */
1928 tSCC zDarwin_ExterncList[] =
1929 "mach-o/swap.h\0mach/mach_time.h\0mach/mach_traps.h\0mach/message.h\0mach/mig.h\0mach/semaphore.h\0";
1930 /*
1931 * Machine/OS name selection pattern
1932 */
1933 tSCC* apzDarwin_ExterncMachs[] = {
1934 "*-*-darwin*",
1935 (const char*)NULL };
1936
1937 /*
1938 * content bypass pattern - skip fix if pattern found
1939 */
1940 tSCC zDarwin_ExterncBypass0[] =
1941 "extern \"C\"";
1942 tSCC zDarwin_ExterncBypass1[] =
1943 "__BEGIN_DECLS";
1944
1945 #define DARWIN_EXTERNC_TEST_CT 2
1946 static tTestDesc aDarwin_ExterncTests[] = {
1947 { TT_NEGREP, zDarwin_ExterncBypass0, (regex_t*)NULL },
1948 { TT_NEGREP, zDarwin_ExterncBypass1, (regex_t*)NULL }, };
1949
1950 /*
1951 * Fix Command Arguments for Darwin_Externc
1952 */
1953 static const char* apzDarwin_ExterncPatch[] = {
1954 "wrap",
1955 "#ifdef __cplusplus\n\
1956 extern \"C\" {\n\
1957 #endif\n",
1958 "#ifdef __cplusplus\n\
1959 }\n\
1960 #endif\n",
1961 (char*)NULL };
1962
1963 /* * * * * * * * * * * * * * * * * * * * * * * * * *
1964 *
1965 * Description of Darwin_Gcc4_Breakage fix
1966 */
1967 tSCC zDarwin_Gcc4_BreakageName[] =
1968 "darwin_gcc4_breakage";
1969
1970 /*
1971 * File name selection pattern
1972 */
1973 tSCC zDarwin_Gcc4_BreakageList[] =
1974 "AvailabilityMacros.h\0";
1975 /*
1976 * Machine/OS name selection pattern
1977 */
1978 tSCC* apzDarwin_Gcc4_BreakageMachs[] = {
1979 "*-*-darwin*",
1980 (const char*)NULL };
1981
1982 /*
1983 * content selection pattern - do fix if pattern found
1984 */
1985 tSCC zDarwin_Gcc4_BreakageSelect0[] =
1986 "\\(__GNUC__ >= 3\\) && \\(__GNUC_MINOR__ >= 1\\)";
1987
1988 #define DARWIN_GCC4_BREAKAGE_TEST_CT 1
1989 static tTestDesc aDarwin_Gcc4_BreakageTests[] = {
1990 { TT_EGREP, zDarwin_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
1991
1992 /*
1993 * Fix Command Arguments for Darwin_Gcc4_Breakage
1994 */
1995 static const char* apzDarwin_Gcc4_BreakagePatch[] = {
1996 "format",
1997 "((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))",
1998 (char*)NULL };
1999
2000 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2001 *
2002 * Description of Darwin_Private_Extern fix
2003 */
2004 tSCC zDarwin_Private_ExternName[] =
2005 "darwin_private_extern";
2006
2007 /*
2008 * File name selection pattern
2009 */
2010 tSCC zDarwin_Private_ExternList[] =
2011 "mach-o/dyld.h\0";
2012 /*
2013 * Machine/OS name selection pattern
2014 */
2015 tSCC* apzDarwin_Private_ExternMachs[] = {
2016 "*-*-darwin*",
2017 (const char*)NULL };
2018
2019 /*
2020 * content selection pattern - do fix if pattern found
2021 */
2022 tSCC zDarwin_Private_ExternSelect0[] =
2023 "__private_extern__ [a-z_]+ _dyld_";
2024
2025 #define DARWIN_PRIVATE_EXTERN_TEST_CT 1
2026 static tTestDesc aDarwin_Private_ExternTests[] = {
2027 { TT_EGREP, zDarwin_Private_ExternSelect0, (regex_t*)NULL }, };
2028
2029 /*
2030 * Fix Command Arguments for Darwin_Private_Extern
2031 */
2032 static const char* apzDarwin_Private_ExternPatch[] = {
2033 "format",
2034 "extern",
2035 "__private_extern__",
2036 (char*)NULL };
2037
2038 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2039 *
2040 * Description of Darwin_Stdint_1 fix
2041 */
2042 tSCC zDarwin_Stdint_1Name[] =
2043 "darwin_stdint_1";
2044
2045 /*
2046 * File name selection pattern
2047 */
2048 tSCC zDarwin_Stdint_1List[] =
2049 "stdint-darwin.h\0stdint.h\0";
2050 /*
2051 * Machine/OS name selection pattern
2052 */
2053 tSCC* apzDarwin_Stdint_1Machs[] = {
2054 "*-*-darwin*",
2055 (const char*)NULL };
2056
2057 /*
2058 * content selection pattern - do fix if pattern found
2059 */
2060 tSCC zDarwin_Stdint_1Select0[] =
2061 "#define UINT8_C\\(v\\)[ \t]+\\(v ## U\\)\n\
2062 #define UINT16_C\\(v\\)[ \t]+\\(v ## U\\)";
2063
2064 #define DARWIN_STDINT_1_TEST_CT 1
2065 static tTestDesc aDarwin_Stdint_1Tests[] = {
2066 { TT_EGREP, zDarwin_Stdint_1Select0, (regex_t*)NULL }, };
2067
2068 /*
2069 * Fix Command Arguments for Darwin_Stdint_1
2070 */
2071 static const char* apzDarwin_Stdint_1Patch[] = {
2072 "format",
2073 "#define UINT8_C(v)\tv\n\
2074 #define UINT16_C(v)\tv",
2075 (char*)NULL };
2076
2077 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2078 *
2079 * Description of Darwin_Stdint_2 fix
2080 */
2081 tSCC zDarwin_Stdint_2Name[] =
2082 "darwin_stdint_2";
2083
2084 /*
2085 * File name selection pattern
2086 */
2087 tSCC zDarwin_Stdint_2List[] =
2088 "stdint-darwin.h\0stdint.h\0";
2089 /*
2090 * Machine/OS name selection pattern
2091 */
2092 tSCC* apzDarwin_Stdint_2Machs[] = {
2093 "*-*-darwin*",
2094 (const char*)NULL };
2095
2096 /*
2097 * content selection pattern - do fix if pattern found
2098 */
2099 tSCC zDarwin_Stdint_2Select0[] =
2100 "#if __WORDSIZE == 64\n\
2101 #define INTPTR_MIN[ \t]+INT64_MIN\n\
2102 #define INTPTR_MAX[ \t]+INT64_MAX\n\
2103 #else\n\
2104 #define INTPTR_MIN[ \t]+INT32_MIN\n\
2105 #define INTPTR_MAX[ \t]+INT32_MAX\n\
2106 #endif";
2107
2108 #define DARWIN_STDINT_2_TEST_CT 1
2109 static tTestDesc aDarwin_Stdint_2Tests[] = {
2110 { TT_EGREP, zDarwin_Stdint_2Select0, (regex_t*)NULL }, };
2111
2112 /*
2113 * Fix Command Arguments for Darwin_Stdint_2
2114 */
2115 static const char* apzDarwin_Stdint_2Patch[] = {
2116 "format",
2117 "#if __WORDSIZE == 64\n\
2118 #define INTPTR_MAX 9223372036854775807L\n\
2119 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2120 #else\n\
2121 #define INTPTR_MAX 2147483647L\n\
2122 #define INTPTR_MIN (-INTPTR_MAX-1)\n\
2123 #endif",
2124 (char*)NULL };
2125
2126 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2127 *
2128 * Description of Darwin_Stdint_3 fix
2129 */
2130 tSCC zDarwin_Stdint_3Name[] =
2131 "darwin_stdint_3";
2132
2133 /*
2134 * File name selection pattern
2135 */
2136 tSCC zDarwin_Stdint_3List[] =
2137 "stdint-darwin.h\0stdint.h\0";
2138 /*
2139 * Machine/OS name selection pattern
2140 */
2141 tSCC* apzDarwin_Stdint_3Machs[] = {
2142 "*-*-darwin*",
2143 (const char*)NULL };
2144
2145 /*
2146 * content selection pattern - do fix if pattern found
2147 */
2148 tSCC zDarwin_Stdint_3Select0[] =
2149 "#if __WORDSIZE == 64\n\
2150 #define UINTPTR_MAX[ \t]+UINT64_MAX\n\
2151 #else\n\
2152 #define UINTPTR_MAX[ \t]+UINT32_MAX\n\
2153 #endif";
2154
2155 #define DARWIN_STDINT_3_TEST_CT 1
2156 static tTestDesc aDarwin_Stdint_3Tests[] = {
2157 { TT_EGREP, zDarwin_Stdint_3Select0, (regex_t*)NULL }, };
2158
2159 /*
2160 * Fix Command Arguments for Darwin_Stdint_3
2161 */
2162 static const char* apzDarwin_Stdint_3Patch[] = {
2163 "format",
2164 "#if __WORDSIZE == 64\n\
2165 #define UINTPTR_MAX 18446744073709551615UL\n\
2166 #else\n\
2167 #define UINTPTR_MAX 4294967295UL\n\
2168 #endif",
2169 (char*)NULL };
2170
2171 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2172 *
2173 * Description of Darwin_Stdint_4 fix
2174 */
2175 tSCC zDarwin_Stdint_4Name[] =
2176 "darwin_stdint_4";
2177
2178 /*
2179 * File name selection pattern
2180 */
2181 tSCC zDarwin_Stdint_4List[] =
2182 "stdint-darwin.h\0stdint.h\0";
2183 /*
2184 * Machine/OS name selection pattern
2185 */
2186 tSCC* apzDarwin_Stdint_4Machs[] = {
2187 "*-*-darwin*",
2188 (const char*)NULL };
2189
2190 /*
2191 * content selection pattern - do fix if pattern found
2192 */
2193 tSCC zDarwin_Stdint_4Select0[] =
2194 "#if __WORDSIZE == 64\n\
2195 #define SIZE_MAX[ \t]+UINT64_MAX\n\
2196 #else\n\
2197 #define SIZE_MAX[ \t]+UINT32_MAX\n\
2198 #endif";
2199
2200 #define DARWIN_STDINT_4_TEST_CT 1
2201 static tTestDesc aDarwin_Stdint_4Tests[] = {
2202 { TT_EGREP, zDarwin_Stdint_4Select0, (regex_t*)NULL }, };
2203
2204 /*
2205 * Fix Command Arguments for Darwin_Stdint_4
2206 */
2207 static const char* apzDarwin_Stdint_4Patch[] = {
2208 "format",
2209 "#if __WORDSIZE == 64\n\
2210 #define SIZE_MAX 18446744073709551615UL\n\
2211 #else\n\
2212 #define SIZE_MAX 4294967295UL\n\
2213 #endif",
2214 (char*)NULL };
2215
2216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2217 *
2218 * Description of Darwin_Stdint_5 fix
2219 */
2220 tSCC zDarwin_Stdint_5Name[] =
2221 "darwin_stdint_5";
2222
2223 /*
2224 * File name selection pattern
2225 */
2226 tSCC zDarwin_Stdint_5List[] =
2227 "stdint-darwin.h\0stdint.h\0";
2228 /*
2229 * Machine/OS name selection pattern
2230 */
2231 tSCC* apzDarwin_Stdint_5Machs[] = {
2232 "*-*-darwin*",
2233 (const char*)NULL };
2234
2235 /*
2236 * content selection pattern - do fix if pattern found
2237 */
2238 tSCC zDarwin_Stdint_5Select0[] =
2239 "#define INTMAX_MIN[ \t]+INT64_MIN\n\
2240 #define INTMAX_MAX[ \t]+INT64_MAX\n\n\
2241 #define UINTMAX_MAX[ \t]+UINT64_MAX";
2242
2243 #define DARWIN_STDINT_5_TEST_CT 1
2244 static tTestDesc aDarwin_Stdint_5Tests[] = {
2245 { TT_EGREP, zDarwin_Stdint_5Select0, (regex_t*)NULL }, };
2246
2247 /*
2248 * Fix Command Arguments for Darwin_Stdint_5
2249 */
2250 static const char* apzDarwin_Stdint_5Patch[] = {
2251 "format",
2252 "#if __WORDSIZE == 64\n\
2253 #define INTMAX_MIN (-9223372036854775807L - 1)\n\
2254 #define INTMAX_MAX 9223372036854775807L\n\
2255 #define UINTMAX_MAX 18446744073709551615UL\n\
2256 #else\n\
2257 #define INTMAX_MIN (-9223372036854775807LL - 1)\n\
2258 #define INTMAX_MAX 9223372036854775807LL\n\
2259 #define UINTMAX_MAX 18446744073709551615ULL\n\
2260 #endif",
2261 (char*)NULL };
2262
2263 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2264 *
2265 * Description of Darwin_Stdint_6 fix
2266 */
2267 tSCC zDarwin_Stdint_6Name[] =
2268 "darwin_stdint_6";
2269
2270 /*
2271 * File name selection pattern
2272 */
2273 tSCC zDarwin_Stdint_6List[] =
2274 "stdint-darwin.h\0stdint.h\0";
2275 /*
2276 * Machine/OS name selection pattern
2277 */
2278 tSCC* apzDarwin_Stdint_6Machs[] = {
2279 "*-*-darwin*",
2280 (const char*)NULL };
2281
2282 /*
2283 * content selection pattern - do fix if pattern found
2284 */
2285 tSCC zDarwin_Stdint_6Select0[] =
2286 "#if __WORDSIZE == 64\n\
2287 #define PTRDIFF_MIN[ \t]+INT64_MIN\n\
2288 #define PTRDIFF_MAX[ \t]+INT64_MAX\n\
2289 #else\n\
2290 #define PTRDIFF_MIN[ \t]+INT32_MIN\n\
2291 #define PTRDIFF_MAX[ \t]+INT32_MAX\n\
2292 #endif";
2293
2294 #define DARWIN_STDINT_6_TEST_CT 1
2295 static tTestDesc aDarwin_Stdint_6Tests[] = {
2296 { TT_EGREP, zDarwin_Stdint_6Select0, (regex_t*)NULL }, };
2297
2298 /*
2299 * Fix Command Arguments for Darwin_Stdint_6
2300 */
2301 static const char* apzDarwin_Stdint_6Patch[] = {
2302 "format",
2303 "#if __WORDSIZE == 64\n\
2304 #define PTRDIFF_MIN (-9223372036854775807L - 1)\n\
2305 #define PTRDIFF_MAX 9223372036854775807L\n\
2306 #else\n\
2307 #define PTRDIFF_MIN (-2147483647 - 1)\n\
2308 #define PTRDIFF_MAX 2147483647\n\
2309 #endif",
2310 (char*)NULL };
2311
2312 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2313 *
2314 * Description of Darwin_Stdint_7 fix
2315 */
2316 tSCC zDarwin_Stdint_7Name[] =
2317 "darwin_stdint_7";
2318
2319 /*
2320 * File name selection pattern
2321 */
2322 tSCC zDarwin_Stdint_7List[] =
2323 "stdint-darwin.h\0stdint.h\0";
2324 /*
2325 * Machine/OS name selection pattern
2326 */
2327 tSCC* apzDarwin_Stdint_7Machs[] = {
2328 "*-*-darwin*",
2329 (const char*)NULL };
2330
2331 /*
2332 * content selection pattern - do fix if pattern found
2333 */
2334 tSCC zDarwin_Stdint_7Select0[] =
2335 "#define INTMAX_C\\(v\\)[ \t]+\\(v ## LL\\)\n\
2336 #define UINTMAX_C\\(v\\)[ \t]+\\(v ## ULL\\)";
2337
2338 #define DARWIN_STDINT_7_TEST_CT 1
2339 static tTestDesc aDarwin_Stdint_7Tests[] = {
2340 { TT_EGREP, zDarwin_Stdint_7Select0, (regex_t*)NULL }, };
2341
2342 /*
2343 * Fix Command Arguments for Darwin_Stdint_7
2344 */
2345 static const char* apzDarwin_Stdint_7Patch[] = {
2346 "format",
2347 "#if __WORDSIZE == 64\n\
2348 #define INTMAX_C(v) (v ## L)\n\
2349 #define UINTMAX_C(v) (v ## UL)\n\
2350 #else\n\
2351 #define INTMAX_C(v) (v ## LL)\n\
2352 #define UINTMAX_C(v) (v ## ULL)\n\
2353 #endif",
2354 (char*)NULL };
2355
2356 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2357 *
2358 * Description of Dec_Intern_Asm fix
2359 */
2360 tSCC zDec_Intern_AsmName[] =
2361 "dec_intern_asm";
2362
2363 /*
2364 * File name selection pattern
2365 */
2366 tSCC zDec_Intern_AsmList[] =
2367 "c_asm.h\0";
2368 /*
2369 * Machine/OS name selection pattern
2370 */
2371 #define apzDec_Intern_AsmMachs (const char**)NULL
2372 #define DEC_INTERN_ASM_TEST_CT 0
2373 #define aDec_Intern_AsmTests (tTestDesc*)NULL
2374
2375 /*
2376 * Fix Command Arguments for Dec_Intern_Asm
2377 */
2378 static const char* apzDec_Intern_AsmPatch[] = { sed_cmd_z,
2379 "-e", "/^[ \t]*float[ \t]*fasm/i\\\n\
2380 #ifdef __DECC\n",
2381 "-e", "/^[ \t]*#[ \t]*pragma[ \t]*intrinsic([ \t]*dasm/a\\\n\
2382 #endif\n",
2383 (char*)NULL };
2384
2385 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2386 *
2387 * Description of Djgpp_Wchar_H fix
2388 */
2389 tSCC zDjgpp_Wchar_HName[] =
2390 "djgpp_wchar_h";
2391
2392 /*
2393 * File name selection pattern
2394 */
2395 #define zDjgpp_Wchar_HList (char*)NULL
2396 /*
2397 * Machine/OS name selection pattern
2398 */
2399 #define apzDjgpp_Wchar_HMachs (const char**)NULL
2400
2401 /*
2402 * content selection pattern - do fix if pattern found
2403 */
2404 tSCC zDjgpp_Wchar_HSelect0[] =
2405 "__DJ_wint_t";
2406
2407 /*
2408 * content bypass pattern - skip fix if pattern found
2409 */
2410 tSCC zDjgpp_Wchar_HBypass0[] =
2411 "sys/djtypes.h";
2412
2413 #define DJGPP_WCHAR_H_TEST_CT 2
2414 static tTestDesc aDjgpp_Wchar_HTests[] = {
2415 { TT_NEGREP, zDjgpp_Wchar_HBypass0, (regex_t*)NULL },
2416 { TT_EGREP, zDjgpp_Wchar_HSelect0, (regex_t*)NULL }, };
2417
2418 /*
2419 * Fix Command Arguments for Djgpp_Wchar_H
2420 */
2421 static const char* apzDjgpp_Wchar_HPatch[] = {
2422 "format",
2423 "%0\n\
2424 #include <sys/djtypes.h>",
2425 "#include <stddef.h>",
2426 (char*)NULL };
2427
2428 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2429 *
2430 * Description of Ecd_Cursor fix
2431 */
2432 tSCC zEcd_CursorName[] =
2433 "ecd_cursor";
2434
2435 /*
2436 * File name selection pattern
2437 */
2438 tSCC zEcd_CursorList[] =
2439 "sunwindow/win_lock.h\0sunwindow/win_cursor.h\0";
2440 /*
2441 * Machine/OS name selection pattern
2442 */
2443 #define apzEcd_CursorMachs (const char**)NULL
2444
2445 /*
2446 * content selection pattern - do fix if pattern found
2447 */
2448 tSCC zEcd_CursorSelect0[] =
2449 "ecd\\.cursor";
2450
2451 #define ECD_CURSOR_TEST_CT 1
2452 static tTestDesc aEcd_CursorTests[] = {
2453 { TT_EGREP, zEcd_CursorSelect0, (regex_t*)NULL }, };
2454
2455 /*
2456 * Fix Command Arguments for Ecd_Cursor
2457 */
2458 static const char* apzEcd_CursorPatch[] = {
2459 "format",
2460 "ecd_cursor",
2461 (char*)NULL };
2462
2463 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2464 *
2465 * Description of Freebsd_Gcc3_Breakage fix
2466 */
2467 tSCC zFreebsd_Gcc3_BreakageName[] =
2468 "freebsd_gcc3_breakage";
2469
2470 /*
2471 * File name selection pattern
2472 */
2473 tSCC zFreebsd_Gcc3_BreakageList[] =
2474 "sys/cdefs.h\0";
2475 /*
2476 * Machine/OS name selection pattern
2477 */
2478 tSCC* apzFreebsd_Gcc3_BreakageMachs[] = {
2479 "*-*-freebsd*",
2480 (const char*)NULL };
2481
2482 /*
2483 * content selection pattern - do fix if pattern found
2484 */
2485 tSCC zFreebsd_Gcc3_BreakageSelect0[] =
2486 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7$";
2487
2488 /*
2489 * content bypass pattern - skip fix if pattern found
2490 */
2491 tSCC zFreebsd_Gcc3_BreakageBypass0[] =
2492 "__GNUC__[ \\t]*([>=]=[ \\t]*[3-9]|>[ \\t]*2)";
2493
2494 #define FREEBSD_GCC3_BREAKAGE_TEST_CT 2
2495 static tTestDesc aFreebsd_Gcc3_BreakageTests[] = {
2496 { TT_NEGREP, zFreebsd_Gcc3_BreakageBypass0, (regex_t*)NULL },
2497 { TT_EGREP, zFreebsd_Gcc3_BreakageSelect0, (regex_t*)NULL }, };
2498
2499 /*
2500 * Fix Command Arguments for Freebsd_Gcc3_Breakage
2501 */
2502 static const char* apzFreebsd_Gcc3_BreakagePatch[] = {
2503 "format",
2504 "%0 || __GNUC__ >= 3",
2505 (char*)NULL };
2506
2507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2508 *
2509 * Description of Freebsd_Gcc4_Breakage fix
2510 */
2511 tSCC zFreebsd_Gcc4_BreakageName[] =
2512 "freebsd_gcc4_breakage";
2513
2514 /*
2515 * File name selection pattern
2516 */
2517 tSCC zFreebsd_Gcc4_BreakageList[] =
2518 "sys/cdefs.h\0";
2519 /*
2520 * Machine/OS name selection pattern
2521 */
2522 tSCC* apzFreebsd_Gcc4_BreakageMachs[] = {
2523 "*-*-freebsd*",
2524 (const char*)NULL };
2525
2526 /*
2527 * content selection pattern - do fix if pattern found
2528 */
2529 tSCC zFreebsd_Gcc4_BreakageSelect0[] =
2530 "^#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 \\|\\| __GNUC__ == 3$";
2531
2532 #define FREEBSD_GCC4_BREAKAGE_TEST_CT 1
2533 static tTestDesc aFreebsd_Gcc4_BreakageTests[] = {
2534 { TT_EGREP, zFreebsd_Gcc4_BreakageSelect0, (regex_t*)NULL }, };
2535
2536 /*
2537 * Fix Command Arguments for Freebsd_Gcc4_Breakage
2538 */
2539 static const char* apzFreebsd_Gcc4_BreakagePatch[] = {
2540 "format",
2541 "#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ >= 3",
2542 (char*)NULL };
2543
2544 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2545 *
2546 * Description of Glibc_C99_Inline_1 fix
2547 */
2548 tSCC zGlibc_C99_Inline_1Name[] =
2549 "glibc_c99_inline_1";
2550
2551 /*
2552 * File name selection pattern
2553 */
2554 tSCC zGlibc_C99_Inline_1List[] =
2555 "features.h\0*/features.h\0";
2556 /*
2557 * Machine/OS name selection pattern
2558 */
2559 #define apzGlibc_C99_Inline_1Machs (const char**)NULL
2560
2561 /*
2562 * content selection pattern - do fix if pattern found
2563 */
2564 tSCC zGlibc_C99_Inline_1Select0[] =
2565 "^ *&& !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__$";
2566
2567 #define GLIBC_C99_INLINE_1_TEST_CT 1
2568 static tTestDesc aGlibc_C99_Inline_1Tests[] = {
2569 { TT_EGREP, zGlibc_C99_Inline_1Select0, (regex_t*)NULL }, };
2570
2571 /*
2572 * Fix Command Arguments for Glibc_C99_Inline_1
2573 */
2574 static const char* apzGlibc_C99_Inline_1Patch[] = {
2575 "format",
2576 "%0 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)",
2577 (char*)NULL };
2578
2579 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2580 *
2581 * Description of Glibc_C99_Inline_1a fix
2582 */
2583 tSCC zGlibc_C99_Inline_1aName[] =
2584 "glibc_c99_inline_1a";
2585
2586 /*
2587 * File name selection pattern
2588 */
2589 tSCC zGlibc_C99_Inline_1aList[] =
2590 "features.h\0*/features.h\0";
2591 /*
2592 * Machine/OS name selection pattern
2593 */
2594 #define apzGlibc_C99_Inline_1aMachs (const char**)NULL
2595
2596 /*
2597 * content selection pattern - do fix if pattern found
2598 */
2599 tSCC zGlibc_C99_Inline_1aSelect0[] =
2600 "(\\) && defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__)\n\
2601 (#[ \t]*define[ \t]*__USE_EXTERN_INLINES[ \t]*1)";
2602
2603 #define GLIBC_C99_INLINE_1A_TEST_CT 1
2604 static tTestDesc aGlibc_C99_Inline_1aTests[] = {
2605 { TT_EGREP, zGlibc_C99_Inline_1aSelect0, (regex_t*)NULL }, };
2606
2607 /*
2608 * Fix Command Arguments for Glibc_C99_Inline_1a
2609 */
2610 static const char* apzGlibc_C99_Inline_1aPatch[] = {
2611 "format",
2612 "%1 && (defined __extern_inline || defined __GNUC_GNU_INLINE__)\n\
2613 %2",
2614 (char*)NULL };
2615
2616 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2617 *
2618 * Description of Glibc_C99_Inline_2 fix
2619 */
2620 tSCC zGlibc_C99_Inline_2Name[] =
2621 "glibc_c99_inline_2";
2622
2623 /*
2624 * File name selection pattern
2625 */
2626 tSCC zGlibc_C99_Inline_2List[] =
2627 "sys/stat.h\0*/sys/stat.h\0";
2628 /*
2629 * Machine/OS name selection pattern
2630 */
2631 #define apzGlibc_C99_Inline_2Machs (const char**)NULL
2632
2633 /*
2634 * content selection pattern - do fix if pattern found
2635 */
2636 tSCC zGlibc_C99_Inline_2Select0[] =
2637 "extern __inline__ int";
2638
2639 #define GLIBC_C99_INLINE_2_TEST_CT 1
2640 static tTestDesc aGlibc_C99_Inline_2Tests[] = {
2641 { TT_EGREP, zGlibc_C99_Inline_2Select0, (regex_t*)NULL }, };
2642
2643 /*
2644 * Fix Command Arguments for Glibc_C99_Inline_2
2645 */
2646 static const char* apzGlibc_C99_Inline_2Patch[] = { sed_cmd_z,
2647 "-e", "s/extern int \\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2648 extern\\\n\
2649 #endif\\\n\
2650 __inline__ int \\1/",
2651 "-e", "s/extern int \\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2652 extern\\\n\
2653 #endif\\\n\
2654 __inline__ int \\1/",
2655 "-e", "s/extern int \\(mknod\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2656 extern\\\n\
2657 #endif\\\n\
2658 __inline__ int \\1/",
2659 "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\(stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2660 extern\\\n\
2661 #endif\\\n\
2662 __inline__ int __REDIRECT\\1 (\\2/",
2663 "-e", "s/extern int __REDIRECT\\(_NTH\\)\\{0,1\\} (\\([lf]stat\\)/#ifdef __GNUC_GNU_INLINE__\\\n\
2664 extern\\\n\
2665 #endif\\\n\
2666 __inline__ int __REDIRECT\\1 (\\2/",
2667 "-e", "s/^extern __inline__ int/#ifdef __GNUC_GNU_INLINE__\\\n\
2668 extern\\\n\
2669 #endif\\\n\
2670 __inline__ int/",
2671 (char*)NULL };
2672
2673 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2674 *
2675 * Description of Glibc_C99_Inline_3 fix
2676 */
2677 tSCC zGlibc_C99_Inline_3Name[] =
2678 "glibc_c99_inline_3";
2679
2680 /*
2681 * File name selection pattern
2682 */
2683 tSCC zGlibc_C99_Inline_3List[] =
2684 "bits/string2.h\0*/bits/string2.h\0";
2685 /*
2686 * Machine/OS name selection pattern
2687 */
2688 #define apzGlibc_C99_Inline_3Machs (const char**)NULL
2689
2690 /*
2691 * content selection pattern - do fix if pattern found
2692 */
2693 tSCC zGlibc_C99_Inline_3Select0[] =
2694 "extern __inline";
2695
2696 /*
2697 * content bypass pattern - skip fix if pattern found
2698 */
2699 tSCC zGlibc_C99_Inline_3Bypass0[] =
2700 "__extern_inline|__GNU_STDC_INLINE__";
2701
2702 #define GLIBC_C99_INLINE_3_TEST_CT 2
2703 static tTestDesc aGlibc_C99_Inline_3Tests[] = {
2704 { TT_NEGREP, zGlibc_C99_Inline_3Bypass0, (regex_t*)NULL },
2705 { TT_EGREP, zGlibc_C99_Inline_3Select0, (regex_t*)NULL }, };
2706
2707 /*
2708 * Fix Command Arguments for Glibc_C99_Inline_3
2709 */
2710 static const char* apzGlibc_C99_Inline_3Patch[] = {
2711 "format",
2712 "# if defined(__cplusplus) || defined(__GNUC_STDC_INLINE__)",
2713 "^# ifdef __cplusplus$",
2714 (char*)NULL };
2715
2716 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2717 *
2718 * Description of Glibc_C99_Inline_4 fix
2719 */
2720 tSCC zGlibc_C99_Inline_4Name[] =
2721 "glibc_c99_inline_4";
2722
2723 /*
2724 * File name selection pattern
2725 */
2726 tSCC zGlibc_C99_Inline_4List[] =
2727 "sys/sysmacros.h\0*/sys/sysmacros.h\0wchar.h\0*/wchar.h\0";
2728 /*
2729 * Machine/OS name selection pattern
2730 */
2731 #define apzGlibc_C99_Inline_4Machs (const char**)NULL
2732
2733 /*
2734 * content selection pattern - do fix if pattern found
2735 */
2736 tSCC zGlibc_C99_Inline_4Select0[] =
2737 "(^| )extern __inline";
2738
2739 /*
2740 * content bypass pattern - skip fix if pattern found
2741 */
2742 tSCC zGlibc_C99_Inline_4Bypass0[] =
2743 "__extern_inline|__gnu_inline__";
2744
2745 #define GLIBC_C99_INLINE_4_TEST_CT 2
2746 static tTestDesc aGlibc_C99_Inline_4Tests[] = {
2747 { TT_NEGREP, zGlibc_C99_Inline_4Bypass0, (regex_t*)NULL },
2748 { TT_EGREP, zGlibc_C99_Inline_4Select0, (regex_t*)NULL }, };
2749
2750 /*
2751 * Fix Command Arguments for Glibc_C99_Inline_4
2752 */
2753 static const char* apzGlibc_C99_Inline_4Patch[] = {
2754 "format",
2755 "%0 __attribute__ ((__gnu_inline__))",
2756 (char*)NULL };
2757
2758 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2759 *
2760 * Description of Glibc_Mutex_Init fix
2761 */
2762 tSCC zGlibc_Mutex_InitName[] =
2763 "glibc_mutex_init";
2764
2765 /*
2766 * File name selection pattern
2767 */
2768 tSCC zGlibc_Mutex_InitList[] =
2769 "pthread.h\0";
2770 /*
2771 * Machine/OS name selection pattern
2772 */
2773 #define apzGlibc_Mutex_InitMachs (const char**)NULL
2774
2775 /*
2776 * content selection pattern - do fix if pattern found
2777 */
2778 tSCC zGlibc_Mutex_InitSelect0[] =
2779 "\\{ *\\{ *0, *\\} *\\}";
2780
2781 #define GLIBC_MUTEX_INIT_TEST_CT 1
2782 static tTestDesc aGlibc_Mutex_InitTests[] = {
2783 { TT_EGREP, zGlibc_Mutex_InitSelect0, (regex_t*)NULL }, };
2784
2785 /*
2786 * Fix Command Arguments for Glibc_Mutex_Init
2787 */
2788 static const char* apzGlibc_Mutex_InitPatch[] = { sed_cmd_z,
2789 "-e", "/define[ \t]\\{1,\\}PTHREAD_MUTEX_INITIALIZER[ \t]*\\\\/{\n\
2790 N\n\
2791 s/{ { 0, } }/{ { 0, 0, 0, 0, 0, 0 } }/\n\
2792 }",
2793 "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0 }/",
2794 "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0 }/",
2795 "-e", "s/{ \\(0, 0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0 }/",
2796 "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(RECURSIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
2797 "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ERRORCHECK\\)_NP\\) }/{ \\1, 0, 0 }/",
2798 "-e", "s/{ \\(0, 0, 0, PTHREAD_MUTEX_\\(ADAPTIVE\\)_NP\\) }/{ \\1, 0, 0 }/",
2799 "-e", "/define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\/N;s/^[ \t]*#[ \t]*\\(define[ \t]\\{1,\\}PTHREAD_RWLOCK_INITIALIZER[ \t]*\\\\\\)\\n[ \t]*{ { 0, } }/# if __WORDSIZE == 64\\\n\
2800 # \\1\\\n\
2801 { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
2802 # else\\\n\
2803 # \\1\\\n\
2804 { { 0, 0, 0, 0, 0, 0, 0, 0 } }\\\n\
2805 # endif/",
2806 "-e", "s/{ \\(0, 0, 0, 0, 0, 0, PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP\\) }/{ \\1, 0 }/",
2807 "-e", "/define[ \t]\\{1,\\}PTHREAD_COND_INITIALIZER/s/{ { 0, } }/{ { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }/",
2808 (char*)NULL };
2809
2810 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2811 *
2812 * Description of Glibc_Stdint fix
2813 */
2814 tSCC zGlibc_StdintName[] =
2815 "glibc_stdint";
2816
2817 /*
2818 * File name selection pattern
2819 */
2820 tSCC zGlibc_StdintList[] =
2821 "stdint.h\0";
2822 /*
2823 * Machine/OS name selection pattern
2824 */
2825 #define apzGlibc_StdintMachs (const char**)NULL
2826
2827 /*
2828 * content selection pattern - do fix if pattern found
2829 */
2830 tSCC zGlibc_StdintSelect0[] =
2831 "GNU C Library";
2832
2833 #define GLIBC_STDINT_TEST_CT 1
2834 static tTestDesc aGlibc_StdintTests[] = {
2835 { TT_EGREP, zGlibc_StdintSelect0, (regex_t*)NULL }, };
2836
2837 /*
2838 * Fix Command Arguments for Glibc_Stdint
2839 */
2840 static const char* apzGlibc_StdintPatch[] = {
2841 "format",
2842 "# define UINT8_C(c)\tc\n\
2843 # define UINT16_C(c)\tc",
2844 "# define UINT8_C\\(c\\)\tc ## U\n\
2845 # define UINT16_C\\(c\\)\tc ## U",
2846 (char*)NULL };
2847
2848 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2849 *
2850 * Description of Glibc_Strncpy fix
2851 */
2852 tSCC zGlibc_StrncpyName[] =
2853 "glibc_strncpy";
2854
2855 /*
2856 * File name selection pattern
2857 */
2858 tSCC zGlibc_StrncpyList[] =
2859 "bits/string2.h\0";
2860 /*
2861 * Machine/OS name selection pattern
2862 */
2863 #define apzGlibc_StrncpyMachs (const char**)NULL
2864
2865 /*
2866 * content bypass pattern - skip fix if pattern found
2867 */
2868 tSCC zGlibc_StrncpyBypass0[] =
2869 "__builtin_strncpy";
2870
2871 #define GLIBC_STRNCPY_TEST_CT 1
2872 static tTestDesc aGlibc_StrncpyTests[] = {
2873 { TT_NEGREP, zGlibc_StrncpyBypass0, (regex_t*)NULL }, };
2874
2875 /*
2876 * Fix Command Arguments for Glibc_Strncpy
2877 */
2878 static const char* apzGlibc_StrncpyPatch[] = {
2879 "format",
2880 "# define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)",
2881 "# define strncpy([^\n\
2882 ]*\\\\\n\
2883 )*[^\n\
2884 ]*",
2885 (char*)NULL };
2886
2887 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2888 *
2889 * Description of Glibc_Tgmath fix
2890 */
2891 tSCC zGlibc_TgmathName[] =
2892 "glibc_tgmath";
2893
2894 /*
2895 * File name selection pattern
2896 */
2897 tSCC zGlibc_TgmathList[] =
2898 "tgmath.h\0";
2899 /*
2900 * Machine/OS name selection pattern
2901 */
2902 #define apzGlibc_TgmathMachs (const char**)NULL
2903
2904 /*
2905 * content selection pattern - do fix if pattern found
2906 */
2907 tSCC zGlibc_TgmathSelect0[] =
2908 "\\(\\(\\(type\\) 0.25\\) && \\(\\(type\\) 0.25 - 1\\)\\)";
2909
2910 /*
2911 * content bypass pattern - skip fix if pattern found
2912 */
2913 tSCC zGlibc_TgmathBypass0[] =
2914 "__floating_type\\(type\\) \\\\\n\
2915 .*__builtin_classify_type";
2916
2917 #define GLIBC_TGMATH_TEST_CT 2
2918 static tTestDesc aGlibc_TgmathTests[] = {
2919 { TT_NEGREP, zGlibc_TgmathBypass0, (regex_t*)NULL },
2920 { TT_EGREP, zGlibc_TgmathSelect0, (regex_t*)NULL }, };
2921
2922 /*
2923 * Fix Command Arguments for Glibc_Tgmath
2924 */
2925 static const char* apzGlibc_TgmathPatch[] = {
2926 "format",
2927 "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))",
2928 (char*)NULL };
2929
2930 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2931 *
2932 * Description of Gnu_Types fix
2933 */
2934 tSCC zGnu_TypesName[] =
2935 "gnu_types";
2936
2937 /*
2938 * File name selection pattern
2939 */
2940 tSCC zGnu_TypesList[] =
2941 "sys/types.h\0stdlib.h\0sys/stdtypes.h\0stddef.h\0memory.h\0unistd.h\0";
2942 /*
2943 * Machine/OS name selection pattern
2944 */
2945 tSCC* apzGnu_TypesMachs[] = {
2946 "*-*-solaris2.1[0-9]*",
2947 (const char*)NULL };
2948
2949 /*
2950 * content selection pattern - do fix if pattern found
2951 */
2952 tSCC zGnu_TypesSelect0[] =
2953 "^[ \t]*typedef[ \t]+.*[ \t](ptrdiff|size|wchar)_t;";
2954
2955 /*
2956 * content bypass pattern - skip fix if pattern found
2957 */
2958 tSCC zGnu_TypesBypass0[] =
2959 "_GCC_(PTRDIFF|SIZE|WCHAR)_T";
2960
2961 #define GNU_TYPES_TEST_CT 2
2962 static tTestDesc aGnu_TypesTests[] = {
2963 { TT_NEGREP, zGnu_TypesBypass0, (regex_t*)NULL },
2964 { TT_EGREP, zGnu_TypesSelect0, (regex_t*)NULL }, };
2965
2966 /*
2967 * Fix Command Arguments for Gnu_Types
2968 */
2969 static const char* apzGnu_TypesPatch[] = {
2970 "gnu_type",
2971 (char*)NULL };
2972
2973 /* * * * * * * * * * * * * * * * * * * * * * * * * *
2974 *
2975 * Description of Hp_Inline fix
2976 */
2977 tSCC zHp_InlineName[] =
2978 "hp_inline";
2979
2980 /*
2981 * File name selection pattern
2982 */
2983 tSCC zHp_InlineList[] =
2984 "sys/spinlock.h\0machine/machparam.h\0";
2985 /*
2986 * Machine/OS name selection pattern
2987 */
2988 #define apzHp_InlineMachs (const char**)NULL
2989
2990 /*
2991 * content selection pattern - do fix if pattern found
2992 */
2993 tSCC zHp_InlineSelect0[] =
2994 "[ \t]*#[ \t]*include[ \t]+\"\\.\\./machine/";
2995
2996 #define HP_INLINE_TEST_CT 1
2997 static tTestDesc aHp_InlineTests[] = {
2998 { TT_EGREP, zHp_InlineSelect0, (regex_t*)NULL }, };
2999
3000 /*
3001 * Fix Command Arguments for Hp_Inline
3002 */
3003 static const char* apzHp_InlinePatch[] = {
3004 "format",
3005 "%1<machine/%2.h>",
3006 "([ \t]*#[ \t]*include[ \t]+)\"\\.\\./machine/([a-z]+)\\.h\"",
3007 (char*)NULL };
3008
3009 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3010 *
3011 * Description of Hp_Sysfile fix
3012 */
3013 tSCC zHp_SysfileName[] =
3014 "hp_sysfile";
3015
3016 /*
3017 * File name selection pattern
3018 */
3019 tSCC zHp_SysfileList[] =
3020 "sys/file.h\0";
3021 /*
3022 * Machine/OS name selection pattern
3023 */
3024 #define apzHp_SysfileMachs (const char**)NULL
3025
3026 /*
3027 * content selection pattern - do fix if pattern found
3028 */
3029 tSCC zHp_SysfileSelect0[] =
3030 "HPUX_SOURCE";
3031
3032 #define HP_SYSFILE_TEST_CT 1
3033 static tTestDesc aHp_SysfileTests[] = {
3034 { TT_EGREP, zHp_SysfileSelect0, (regex_t*)NULL }, };
3035
3036 /*
3037 * Fix Command Arguments for Hp_Sysfile
3038 */
3039 static const char* apzHp_SysfilePatch[] = {
3040 "format",
3041 "(struct file *, ...)",
3042 "\\(\\.\\.\\.\\)",
3043 (char*)NULL };
3044
3045 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3046 *
3047 * Description of Hppa_Hpux_Fp_Macros fix
3048 */
3049 tSCC zHppa_Hpux_Fp_MacrosName[] =
3050 "hppa_hpux_fp_macros";
3051
3052 /*
3053 * File name selection pattern
3054 */
3055 tSCC zHppa_Hpux_Fp_MacrosList[] =
3056 "math.h\0";
3057 /*
3058 * Machine/OS name selection pattern
3059 */
3060 tSCC* apzHppa_Hpux_Fp_MacrosMachs[] = {
3061 "hppa*-hp-hpux11*",
3062 (const char*)NULL };
3063
3064 /*
3065 * content selection pattern - do fix if pattern found
3066 */
3067 tSCC zHppa_Hpux_Fp_MacrosSelect0[] =
3068 "#[ \t]*define[ \t]*FP_NORMAL.*\n\
3069 #[ \t]*define[ \t]*FP_ZERO.*\n\
3070 #[ \t]*define[ \t]*FP_INFINITE.*\n\
3071 #[ \t]*define[ \t]*FP_SUBNORMAL.*\n\
3072 #[ \t]*define[ \t]*FP_NAN.*\n";
3073
3074 #define HPPA_HPUX_FP_MACROS_TEST_CT 1
3075 static tTestDesc aHppa_Hpux_Fp_MacrosTests[] = {
3076 { TT_EGREP, zHppa_Hpux_Fp_MacrosSelect0, (regex_t*)NULL }, };
3077
3078 /*
3079 * Fix Command Arguments for Hppa_Hpux_Fp_Macros
3080 */
3081 static const char* apzHppa_Hpux_Fp_MacrosPatch[] = {
3082 "format",
3083 "#endif /* _INCLUDE_HPUX_SOURCE */\n\n\
3084 #if defined(_INCLUDE_HPUX_SOURCE) || \\\n\
3085 (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L))\n\
3086 %0#endif\n\n\
3087 #ifdef _INCLUDE_HPUX_SOURCE\n",
3088 (char*)NULL };
3089
3090 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3091 *
3092 * Description of Hpux10_Cpp_Pow_Inline fix
3093 */
3094 tSCC zHpux10_Cpp_Pow_InlineName[] =
3095 "hpux10_cpp_pow_inline";
3096
3097 /*
3098 * File name selection pattern
3099 */
3100 tSCC zHpux10_Cpp_Pow_InlineList[] =
3101 "fixinc-test-limits.h\0math.h\0";
3102 /*
3103 * Machine/OS name selection pattern
3104 */
3105 #define apzHpux10_Cpp_Pow_InlineMachs (const char**)NULL
3106
3107 /*
3108 * content selection pattern - do fix if pattern found
3109 */
3110 tSCC zHpux10_Cpp_Pow_InlineSelect0[] =
3111 "^# +ifdef +__cplusplus\n\
3112 +\\}\n\
3113 +inline +double +pow\\(double +__d,int +__expon\\) +\\{\n\
3114 [ \t]+return +pow\\(__d,\\(double\\)__expon\\);\n\
3115 +\\}\n\
3116 +extern +\"C\" +\\{\n\
3117 #else\n\
3118 # +endif";
3119
3120 #define HPUX10_CPP_POW_INLINE_TEST_CT 1
3121 static tTestDesc aHpux10_Cpp_Pow_InlineTests[] = {
3122 { TT_EGREP, zHpux10_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3123
3124 /*
3125 * Fix Command Arguments for Hpux10_Cpp_Pow_Inline
3126 */
3127 static const char* apzHpux10_Cpp_Pow_InlinePatch[] = {
3128 "format",
3129 "",
3130 (char*)NULL };
3131
3132 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3133 *
3134 * Description of Hpux11_Cpp_Pow_Inline fix
3135 */
3136 tSCC zHpux11_Cpp_Pow_InlineName[] =
3137 "hpux11_cpp_pow_inline";
3138
3139 /*
3140 * File name selection pattern
3141 */
3142 tSCC zHpux11_Cpp_Pow_InlineList[] =
3143 "math.h\0";
3144 /*
3145 * Machine/OS name selection pattern
3146 */
3147 #define apzHpux11_Cpp_Pow_InlineMachs (const char**)NULL
3148
3149 /*
3150 * content selection pattern - do fix if pattern found
3151 */
3152 tSCC zHpux11_Cpp_Pow_InlineSelect0[] =
3153 " +inline double pow\\(double d,int expon\\) \\{\n\
3154 +return pow\\(d, \\(double\\)expon\\);\n\
3155 +\\}\n";
3156
3157 #define HPUX11_CPP_POW_INLINE_TEST_CT 1
3158 static tTestDesc aHpux11_Cpp_Pow_InlineTests[] = {
3159 { TT_EGREP, zHpux11_Cpp_Pow_InlineSelect0, (regex_t*)NULL }, };
3160
3161 /*
3162 * Fix Command Arguments for Hpux11_Cpp_Pow_Inline
3163 */
3164 static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
3165 "format",
3166 "",
3167 (char*)NULL };
3168
3169 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3170 *
3171 * Description of Hpux10_Ctype_Declarations1 fix
3172 */
3173 tSCC zHpux10_Ctype_Declarations1Name[] =
3174 "hpux10_ctype_declarations1";
3175
3176 /*
3177 * File name selection pattern
3178 */
3179 tSCC zHpux10_Ctype_Declarations1List[] =
3180 "ctype.h\0";
3181 /*
3182 * Machine/OS name selection pattern
3183 */
3184 #define apzHpux10_Ctype_Declarations1Machs (const char**)NULL
3185
3186 /*
3187 * content selection pattern - do fix if pattern found
3188 */
3189 tSCC zHpux10_Ctype_Declarations1Select0[] =
3190 "^#[ \t]*define _toupper\\(__c\\)[ \t]*__toupper\\(__c\\)";
3191
3192 /*
3193 * content bypass pattern - skip fix if pattern found
3194 */
3195 tSCC zHpux10_Ctype_Declarations1Bypass0[] =
3196 "^[ \t]*extern[ \t]*int[ \t]*__tolower[ \t]*\\(";
3197
3198 #define HPUX10_CTYPE_DECLARATIONS1_TEST_CT 2
3199 static tTestDesc aHpux10_Ctype_Declarations1Tests[] = {
3200 { TT_NEGREP, zHpux10_Ctype_Declarations1Bypass0, (regex_t*)NULL },
3201 { TT_EGREP, zHpux10_Ctype_Declarations1Select0, (regex_t*)NULL }, };
3202
3203 /*
3204 * Fix Command Arguments for Hpux10_Ctype_Declarations1
3205 */
3206 static const char* apzHpux10_Ctype_Declarations1Patch[] = {
3207 "format",
3208 "#ifdef _PROTOTYPES\n\
3209 extern int __tolower(int);\n\
3210 extern int __toupper(int);\n\
3211 #else /* NOT _PROTOTYPES */\n\
3212 extern int __tolower();\n\
3213 extern int __toupper();\n\
3214 #endif /* _PROTOTYPES */\n\n\
3215 %0\n",
3216 (char*)NULL };
3217
3218 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3219 *
3220 * Description of Hpux10_Ctype_Declarations2 fix
3221 */
3222 tSCC zHpux10_Ctype_Declarations2Name[] =
3223 "hpux10_ctype_declarations2";
3224
3225 /*
3226 * File name selection pattern
3227 */
3228 tSCC zHpux10_Ctype_Declarations2List[] =
3229 "ctype.h\0";
3230 /*
3231 * Machine/OS name selection pattern
3232 */
3233 #define apzHpux10_Ctype_Declarations2Machs (const char**)NULL
3234
3235 /*
3236 * content selection pattern - do fix if pattern found
3237 */
3238 tSCC zHpux10_Ctype_Declarations2Select0[] =
3239 "^# if defined\\(_SB_CTYPE_MACROS\\) && \\!defined\\(__lint\\)";
3240
3241 /*
3242 * content bypass pattern - skip fix if pattern found
3243 */
3244 tSCC zHpux10_Ctype_Declarations2Bypass0[] =
3245 "^[ \t]*extern[ \t]*int[ \t]*_isalnum[ \t]*\\(";
3246
3247 #define HPUX10_CTYPE_DECLARATIONS2_TEST_CT 2
3248 static tTestDesc aHpux10_Ctype_Declarations2Tests[] = {
3249 { TT_NEGREP, zHpux10_Ctype_Declarations2Bypass0, (regex_t*)NULL },
3250 { TT_EGREP, zHpux10_Ctype_Declarations2Select0, (regex_t*)NULL }, };
3251
3252 /*
3253 * Fix Command Arguments for Hpux10_Ctype_Declarations2
3254 */
3255 static const char* apzHpux10_Ctype_Declarations2Patch[] = {
3256 "format",
3257 "%0\n\n\
3258 #ifdef _PROTOTYPES\n\
3259 extern int _isalnum(int);\n\
3260 extern int _isalpha(int);\n\
3261 extern int _iscntrl(int);\n\
3262 extern int _isdigit(int);\n\
3263 extern int _isgraph(int);\n\
3264 extern int _islower(int);\n\
3265 extern int _isprint(int);\n\
3266 extern int _ispunct(int);\n\
3267 extern int _isspace(int);\n\
3268 extern int _isupper(int);\n\
3269 extern int _isxdigit(int);\n\
3270 # else /* not _PROTOTYPES */\n\
3271 extern int _isalnum();\n\
3272 extern int _isalpha();\n\
3273 extern int _iscntrl();\n\
3274 extern int _isdigit();\n\
3275 extern int _isgraph();\n\
3276 extern int _islower();\n\
3277 extern int _isprint();\n\
3278 extern int _ispunct();\n\
3279 extern int _isspace();\n\
3280 extern int _isupper();\n\
3281 extern int _isxdigit();\n\
3282 #endif /* _PROTOTYPES */\n",
3283 (char*)NULL };
3284
3285 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3286 *
3287 * Description of Hpux10_Stdio_Declarations fix
3288 */
3289 tSCC zHpux10_Stdio_DeclarationsName[] =
3290 "hpux10_stdio_declarations";
3291
3292 /*
3293 * File name selection pattern
3294 */
3295 tSCC zHpux10_Stdio_DeclarationsList[] =
3296 "stdio.h\0";
3297 /*
3298 * Machine/OS name selection pattern
3299 */
3300 #define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
3301
3302 /*
3303 * content selection pattern - do fix if pattern found
3304 */
3305 tSCC zHpux10_Stdio_DeclarationsSelect0[] =
3306 "^#[ \t]*define _iob[ \t]*__iob";
3307
3308 /*
3309 * content bypass pattern - skip fix if pattern found
3310 */
3311 tSCC zHpux10_Stdio_DeclarationsBypass0[] =
3312 "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
3313
3314 #define HPUX10_STDIO_DECLARATIONS_TEST_CT 2
3315 static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
3316 { TT_NEGREP, zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
3317 { TT_EGREP, zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
3318
3319 /*
3320 * Fix Command Arguments for Hpux10_Stdio_Declarations
3321 */
3322 static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
3323 "format",
3324 "%0\n\n\
3325 # if defined(__STDC__) || defined(__cplusplus)\n\
3326 extern int snprintf(char *, size_t, const char *, ...);\n\
3327 extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
3328 # else /* not __STDC__) || __cplusplus */\n\
3329 extern int snprintf();\n\
3330 extern int vsnprintf();\n\
3331 # endif /* __STDC__) || __cplusplus */\n",
3332 (char*)NULL };
3333
3334 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3335 *
3336 * Description of Hpux11_Abs fix
3337 */
3338 tSCC zHpux11_AbsName[] =
3339 "hpux11_abs";
3340
3341 /*
3342 * File name selection pattern
3343 */
3344 tSCC zHpux11_AbsList[] =
3345 "stdlib.h\0";
3346 /*
3347 * Machine/OS name selection pattern
3348 */
3349 tSCC* apzHpux11_AbsMachs[] = {
3350 "*-hp-hpux11*",
3351 (const char*)NULL };
3352
3353 /*
3354 * content selection pattern - do fix if pattern found
3355 */
3356 tSCC zHpux11_AbsSelect0[] =
3357 "ifndef _MATH_INCLUDED";
3358
3359 #define HPUX11_ABS_TEST_CT 1
3360 static tTestDesc aHpux11_AbsTests[] = {
3361 { TT_EGREP, zHpux11_AbsSelect0, (regex_t*)NULL }, };
3362
3363 /*
3364 * Fix Command Arguments for Hpux11_Abs
3365 */
3366 static const char* apzHpux11_AbsPatch[] = {
3367 "format",
3368 "if !defined(_MATH_INCLUDED) || defined(__GNUG__)",
3369 (char*)NULL };
3370
3371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3372 *
3373 * Description of Hpux11_Fabsf fix
3374 */
3375 tSCC zHpux11_FabsfName[] =
3376 "hpux11_fabsf";
3377
3378 /*
3379 * File name selection pattern
3380 */
3381 tSCC zHpux11_FabsfList[] =
3382 "math.h\0";
3383 /*
3384 * Machine/OS name selection pattern
3385 */
3386 #define apzHpux11_FabsfMachs (const char**)NULL
3387
3388 /*
3389 * content selection pattern - do fix if pattern found
3390 */
3391 tSCC zHpux11_FabsfSelect0[] =
3392 "^[ \t]*#[ \t]*define[ \t]+fabsf\\(.*";
3393
3394 /*
3395 * content bypass pattern - skip fix if pattern found
3396 */
3397 tSCC zHpux11_FabsfBypass0[] =
3398 "__cplusplus";
3399
3400 #define HPUX11_FABSF_TEST_CT 2
3401 static tTestDesc aHpux11_FabsfTests[] = {
3402 { TT_NEGREP, zHpux11_FabsfBypass0, (regex_t*)NULL },
3403 { TT_EGREP, zHpux11_FabsfSelect0, (regex_t*)NULL }, };
3404
3405 /*
3406 * Fix Command Arguments for Hpux11_Fabsf
3407 */
3408 static const char* apzHpux11_FabsfPatch[] = {
3409 "format",
3410 "#ifndef __cplusplus\n\
3411 %0\n\
3412 #endif",
3413 (char*)NULL };
3414
3415 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3416 *
3417 * Description of Hpux11_Pthread_Const fix
3418 */
3419 tSCC zHpux11_Pthread_ConstName[] =
3420 "hpux11_pthread_const";
3421
3422 /*
3423 * File name selection pattern
3424 */
3425 tSCC zHpux11_Pthread_ConstList[] =
3426 "sys/pthread.h\0";
3427 /*
3428 * Machine/OS name selection pattern
3429 */
3430 tSCC* apzHpux11_Pthread_ConstMachs[] = {
3431 "*-hp-hpux11.[0-3]*",
3432 (const char*)NULL };
3433
3434 /*
3435 * content selection pattern - do fix if pattern found
3436 */
3437 tSCC zHpux11_Pthread_ConstSelect0[] =
3438 "^#define[ \t]*__POINTER_SET[ \t]*\\(\\(void \\*\\) 1LL\\)";
3439
3440 #define HPUX11_PTHREAD_CONST_TEST_CT 1
3441 static tTestDesc aHpux11_Pthread_ConstTests[] = {
3442 { TT_EGREP, zHpux11_Pthread_ConstSelect0, (regex_t*)NULL }, };
3443
3444 /*
3445 * Fix Command Arguments for Hpux11_Pthread_Const
3446 */
3447 static const char* apzHpux11_Pthread_ConstPatch[] = {
3448 "format",
3449 "#define __POINTER_SET\t\t((void *) 1L)",
3450 (char*)NULL };
3451
3452 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3453 *
3454 * Description of Hpux11_Size_T fix
3455 */
3456 tSCC zHpux11_Size_TName[] =
3457 "hpux11_size_t";
3458
3459 /*
3460 * File name selection pattern
3461 */
3462 #define zHpux11_Size_TList (char*)NULL
3463 /*
3464 * Machine/OS name selection pattern
3465 */
3466 tSCC* apzHpux11_Size_TMachs[] = {
3467 "*-hp-hpux11*",
3468 (const char*)NULL };
3469
3470 /*
3471 * content selection pattern - do fix if pattern found
3472 */
3473 tSCC zHpux11_Size_TSelect0[] =
3474 "__size_t";
3475
3476 #define HPUX11_SIZE_T_TEST_CT 1
3477 static tTestDesc aHpux11_Size_TTests[] = {
3478 { TT_EGREP, zHpux11_Size_TSelect0, (regex_t*)NULL }, };
3479
3480 /*
3481 * Fix Command Arguments for Hpux11_Size_T
3482 */
3483 static const char* apzHpux11_Size_TPatch[] = {
3484 "format",
3485 "_hpux_size_t",
3486 (char*)NULL };
3487
3488 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3489 *
3490 * Description of Hpux11_Snprintf fix
3491 */
3492 tSCC zHpux11_SnprintfName[] =
3493 "hpux11_snprintf";
3494
3495 /*
3496 * File name selection pattern
3497 */
3498 tSCC zHpux11_SnprintfList[] =
3499 "stdio.h\0";
3500 /*
3501 * Machine/OS name selection pattern
3502 */
3503 #define apzHpux11_SnprintfMachs (const char**)NULL
3504
3505 /*
3506 * content selection pattern - do fix if pattern found
3507 */
3508 tSCC zHpux11_SnprintfSelect0[] =
3509 "(extern int snprintf *\\(char *\\*, *(|__|_hpux_)size_t,) *(char *\\*, *\\.\\.\\.\\);)";
3510
3511 #define HPUX11_SNPRINTF_TEST_CT 1
3512 static tTestDesc aHpux11_SnprintfTests[] = {
3513 { TT_EGREP, zHpux11_SnprintfSelect0, (regex_t*)NULL }, };
3514
3515 /*
3516 * Fix Command Arguments for Hpux11_Snprintf
3517 */
3518 static const char* apzHpux11_SnprintfPatch[] = {
3519 "format",
3520 "%1 const %3",
3521 (char*)NULL };
3522
3523 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3524 *
3525 * Description of Hpux11_Vsnprintf fix
3526 */
3527 tSCC zHpux11_VsnprintfName[] =
3528 "hpux11_vsnprintf";
3529
3530 /*
3531 * File name selection pattern
3532 */
3533 tSCC zHpux11_VsnprintfList[] =
3534 "stdio.h\0";
3535 /*
3536 * Machine/OS name selection pattern
3537 */
3538 #define apzHpux11_VsnprintfMachs (const char**)NULL
3539
3540 /*
3541 * content selection pattern - do fix if pattern found
3542 */
3543 tSCC zHpux11_VsnprintfSelect0[] =
3544 "(extern int vsnprintf\\(char \\*, _[hpux]*_size_t, const char \\*,) __va__list\\);";
3545
3546 #define HPUX11_VSNPRINTF_TEST_CT 1
3547 static tTestDesc aHpux11_VsnprintfTests[] = {
3548 { TT_EGREP, zHpux11_VsnprintfSelect0, (regex_t*)NULL }, };
3549
3550 /*
3551 * Fix Command Arguments for Hpux11_Vsnprintf
3552 */
3553 static const char* apzHpux11_VsnprintfPatch[] = {
3554 "format",
3555 "%1 __va_list);",
3556 (char*)NULL };
3557
3558 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3559 *
3560 * Description of Hpux8_Bogus_Inlines fix
3561 */
3562 tSCC zHpux8_Bogus_InlinesName[] =
3563 "hpux8_bogus_inlines";
3564
3565 /*
3566 * File name selection pattern
3567 */
3568 tSCC zHpux8_Bogus_InlinesList[] =
3569 "math.h\0";
3570 /*
3571 * Machine/OS name selection pattern
3572 */
3573 #define apzHpux8_Bogus_InlinesMachs (const char**)NULL
3574
3575 /*
3576 * content selection pattern - do fix if pattern found
3577 */
3578 tSCC zHpux8_Bogus_InlinesSelect0[] =
3579 "inline";
3580
3581 /*
3582 * content bypass pattern - skip fix if pattern found
3583 */
3584 tSCC zHpux8_Bogus_InlinesBypass0[] =
3585 "__GNUG__";
3586
3587 #define HPUX8_BOGUS_INLINES_TEST_CT 2
3588 static tTestDesc aHpux8_Bogus_InlinesTests[] = {
3589 { TT_NEGREP, zHpux8_Bogus_InlinesBypass0, (regex_t*)NULL },
3590 { TT_EGREP, zHpux8_Bogus_InlinesSelect0, (regex_t*)NULL }, };
3591
3592 /*
3593 * Fix Command Arguments for Hpux8_Bogus_Inlines
3594 */
3595 static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z,
3596 "-e", "s@inline int abs(int [a-z][a-z]*) {.*}@extern \"C\" int abs(int);@",
3597 "-e", "s@inline double abs(double [a-z][a-z]*) {.*}@@",
3598 "-e", "s@inline int sqr(int [a-z][a-z]*) {.*}@@",
3599 "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@",
3600 (char*)NULL };
3601
3602 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3603 *
3604 * Description of Hpux_Ctype_Macros fix
3605 */
3606 tSCC zHpux_Ctype_MacrosName[] =
3607 "hpux_ctype_macros";
3608
3609 /*
3610 * File name selection pattern
3611 */
3612 tSCC zHpux_Ctype_MacrosList[] =
3613 "ctype.h\0";
3614 /*
3615 * Machine/OS name selection pattern
3616 */
3617 #define apzHpux_Ctype_MacrosMachs (const char**)NULL
3618
3619 /*
3620 * content selection pattern - do fix if pattern found
3621 */
3622 tSCC zHpux_Ctype_MacrosSelect0[] =
3623 "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)";
3624
3625 #define HPUX_CTYPE_MACROS_TEST_CT 1
3626 static tTestDesc aHpux_Ctype_MacrosTests[] = {
3627 { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, };
3628
3629 /*
3630 * Fix Command Arguments for Hpux_Ctype_Macros
3631 */
3632 static const char* apzHpux_Ctype_MacrosPatch[] = {
3633 "format",
3634 "%1(int)%3",
3635 (char*)NULL };
3636
3637 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3638 *
3639 * Description of Hpux_Htonl fix
3640 */
3641 tSCC zHpux_HtonlName[] =
3642 "hpux_htonl";
3643
3644 /*
3645 * File name selection pattern
3646 */
3647 tSCC zHpux_HtonlList[] =
3648 "netinet/in.h\0";
3649 /*
3650 * Machine/OS name selection pattern
3651 */
3652 #define apzHpux_HtonlMachs (const char**)NULL
3653
3654 /*
3655 * content selection pattern - do fix if pattern found
3656 */
3657 tSCC zHpux_HtonlSelect0[] =
3658 "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\
3659 (/\\*\n\
3660 \\* Macros for number representation conversion\\.\n\
3661 \\*/\n\
3662 #ifndef ntohl)";
3663
3664 #define HPUX_HTONL_TEST_CT 1
3665 static tTestDesc aHpux_HtonlTests[] = {
3666 { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, };
3667
3668 /*
3669 * Fix Command Arguments for Hpux_Htonl
3670 */
3671 static const char* apzHpux_HtonlPatch[] = {
3672 "format",
3673 "#if 1\n\
3674 %1",
3675 (char*)NULL };
3676
3677 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3678 *
3679 * Description of Hpux_Long_Double fix
3680 */
3681 tSCC zHpux_Long_DoubleName[] =
3682 "hpux_long_double";
3683
3684 /*
3685 * File name selection pattern
3686 */
3687 tSCC zHpux_Long_DoubleList[] =
3688 "stdlib.h\0";
3689 /*
3690 * Machine/OS name selection pattern
3691 */
3692 tSCC* apzHpux_Long_DoubleMachs[] = {
3693 "*-*-hpux10*",
3694 "*-*-hpux11.[012]*",
3695 (const char*)NULL };
3696
3697 /*
3698 * content selection pattern - do fix if pattern found
3699 */
3700 tSCC zHpux_Long_DoubleSelect0[] =
3701 "extern[ \t]long_double[ \t]strtold";
3702
3703 /*
3704 * content bypass pattern - skip fix if pattern found
3705 */
3706 tSCC zHpux_Long_DoubleBypass0[] =
3707 "long_double_t";
3708
3709 #define HPUX_LONG_DOUBLE_TEST_CT 2
3710 static tTestDesc aHpux_Long_DoubleTests[] = {
3711 { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL },
3712 { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, };
3713
3714 /*
3715 * Fix Command Arguments for Hpux_Long_Double
3716 */
3717 static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z,
3718 "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D",
3719 "-e", "s/long_double/long double/g",
3720 (char*)NULL };
3721
3722 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3723 *
3724 * Description of Hpux_Long_Double_2 fix
3725 */
3726 tSCC zHpux_Long_Double_2Name[] =
3727 "hpux_long_double_2";
3728
3729 /*
3730 * File name selection pattern
3731 */
3732 tSCC zHpux_Long_Double_2List[] =
3733 "stdlib.h\0";
3734 /*
3735 * Machine/OS name selection pattern
3736 */
3737 tSCC* apzHpux_Long_Double_2Machs[] = {
3738 "hppa*-*-hpux11.3*",
3739 (const char*)NULL };
3740
3741 /*
3742 * content selection pattern - do fix if pattern found
3743 */
3744 tSCC zHpux_Long_Double_2Select0[] =
3745 "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)";
3746
3747 #define HPUX_LONG_DOUBLE_2_TEST_CT 1
3748 static tTestDesc aHpux_Long_Double_2Tests[] = {
3749 { TT_EGREP, zHpux_Long_Double_2Select0, (regex_t*)NULL }, };
3750
3751 /*
3752 * Fix Command Arguments for Hpux_Long_Double_2
3753 */
3754 static const char* apzHpux_Long_Double_2Patch[] = {
3755 "format",
3756 "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)",
3757 (char*)NULL };
3758
3759 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3760 *
3761 * Description of Hpux_Systime fix
3762 */
3763 tSCC zHpux_SystimeName[] =
3764 "hpux_systime";
3765
3766 /*
3767 * File name selection pattern
3768 */
3769 tSCC zHpux_SystimeList[] =
3770 "sys/time.h\0";
3771 /*
3772 * Machine/OS name selection pattern
3773 */
3774 #define apzHpux_SystimeMachs (const char**)NULL
3775
3776 /*
3777 * content selection pattern - do fix if pattern found
3778 */
3779 tSCC zHpux_SystimeSelect0[] =
3780 "^extern struct sigevent;";
3781
3782 #define HPUX_SYSTIME_TEST_CT 1
3783 static tTestDesc aHpux_SystimeTests[] = {
3784 { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, };
3785
3786 /*
3787 * Fix Command Arguments for Hpux_Systime
3788 */
3789 static const char* apzHpux_SystimePatch[] = {
3790 "format",
3791 "struct sigevent;",
3792 (char*)NULL };
3793
3794 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3795 *
3796 * Description of Hpux_Spu_Info fix
3797 */
3798 tSCC zHpux_Spu_InfoName[] =
3799 "hpux_spu_info";
3800
3801 /*
3802 * File name selection pattern
3803 */
3804 tSCC zHpux_Spu_InfoList[] =
3805 "ia64/sys/getppdp.h\0*/sys/getppdp.h\0";
3806 /*
3807 * Machine/OS name selection pattern
3808 */
3809 tSCC* apzHpux_Spu_InfoMachs[] = {
3810 "*-hp-hpux*",
3811 (const char*)NULL };
3812
3813 /*
3814 * content selection pattern - do fix if pattern found
3815 */
3816 tSCC zHpux_Spu_InfoSelect0[] =
3817 "^.*extern.*spu_info.*";
3818
3819 #define HPUX_SPU_INFO_TEST_CT 1
3820 static tTestDesc aHpux_Spu_InfoTests[] = {
3821 { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, };
3822
3823 /*
3824 * Fix Command Arguments for Hpux_Spu_Info
3825 */
3826 static const char* apzHpux_Spu_InfoPatch[] = {
3827 "format",
3828 "#ifdef _KERNEL\n\
3829 %0\n\
3830 #endif",
3831 (char*)NULL };
3832
3833 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3834 *
3835 * Description of Hpux11_Extern_Sendfile fix
3836 */
3837 tSCC zHpux11_Extern_SendfileName[] =
3838 "hpux11_extern_sendfile";
3839
3840 /*
3841 * File name selection pattern
3842 */
3843 tSCC zHpux11_Extern_SendfileList[] =
3844 "sys/socket.h\0";
3845 /*
3846 * Machine/OS name selection pattern
3847 */
3848 tSCC* apzHpux11_Extern_SendfileMachs[] = {
3849 "*-hp-hpux11.[12]*",
3850 (const char*)NULL };
3851
3852 /*
3853 * content selection pattern - do fix if pattern found
3854 */
3855 tSCC zHpux11_Extern_SendfileSelect0[] =
3856 "^[ \t]*extern sbsize_t sendfile.*\n\
3857 .*, int\\)\\);\n";
3858
3859 #define HPUX11_EXTERN_SENDFILE_TEST_CT 1
3860 static tTestDesc aHpux11_Extern_SendfileTests[] = {
3861 { TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, };
3862
3863 /*
3864 * Fix Command Arguments for Hpux11_Extern_Sendfile
3865 */
3866 static const char* apzHpux11_Extern_SendfilePatch[] = {
3867 "format",
3868 "#ifndef _APP32_64BIT_OFF_T\n\
3869 %0#endif\n",
3870 (char*)NULL };
3871
3872 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3873 *
3874 * Description of Hpux11_Extern_Sendpath fix
3875 */
3876 tSCC zHpux11_Extern_SendpathName[] =
3877 "hpux11_extern_sendpath";
3878
3879 /*
3880 * File name selection pattern
3881 */
3882 tSCC zHpux11_Extern_SendpathList[] =
3883 "sys/socket.h\0";
3884 /*
3885 * Machine/OS name selection pattern
3886 */
3887 tSCC* apzHpux11_Extern_SendpathMachs[] = {
3888 "*-hp-hpux11.[12]*",
3889 (const char*)NULL };
3890
3891 /*
3892 * content selection pattern - do fix if pattern found
3893 */
3894 tSCC zHpux11_Extern_SendpathSelect0[] =
3895 "^[ \t]*extern sbsize_t sendpath.*\n\
3896 .*, int\\)\\);\n";
3897
3898 #define HPUX11_EXTERN_SENDPATH_TEST_CT 1
3899 static tTestDesc aHpux11_Extern_SendpathTests[] = {
3900 { TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, };
3901
3902 /*
3903 * Fix Command Arguments for Hpux11_Extern_Sendpath
3904 */
3905 static const char* apzHpux11_Extern_SendpathPatch[] = {
3906 "format",
3907 "#ifndef _APP32_64BIT_OFF_T\n\
3908 %0#endif\n",
3909 (char*)NULL };
3910
3911 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3912 *
3913 * Description of Hpux_Extern_Errno fix
3914 */
3915 tSCC zHpux_Extern_ErrnoName[] =
3916 "hpux_extern_errno";
3917
3918 /*
3919 * File name selection pattern
3920 */
3921 tSCC zHpux_Extern_ErrnoList[] =
3922 "errno.h\0";
3923 /*
3924 * Machine/OS name selection pattern
3925 */
3926 tSCC* apzHpux_Extern_ErrnoMachs[] = {
3927 "*-hp-hpux10.*",
3928 "*-hp-hpux11.[0-2]*",
3929 (const char*)NULL };
3930
3931 /*
3932 * content selection pattern - do fix if pattern found
3933 */
3934 tSCC zHpux_Extern_ErrnoSelect0[] =
3935 "^[ \t]*extern int errno;$";
3936
3937 #define HPUX_EXTERN_ERRNO_TEST_CT 1
3938 static tTestDesc aHpux_Extern_ErrnoTests[] = {
3939 { TT_EGREP, zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, };
3940
3941 /*
3942 * Fix Command Arguments for Hpux_Extern_Errno
3943 */
3944 static const char* apzHpux_Extern_ErrnoPatch[] = {
3945 "format",
3946 "#ifdef __cplusplus\n\
3947 extern \"C\" {\n\
3948 #endif\n\
3949 %0\n\
3950 #ifdef __cplusplus\n\
3951 }\n\
3952 #endif",
3953 (char*)NULL };
3954
3955 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3956 *
3957 * Description of Hpux_Pthread_Initializers fix
3958 */
3959 tSCC zHpux_Pthread_InitializersName[] =
3960 "hpux_pthread_initializers";
3961
3962 /*
3963 * File name selection pattern
3964 */
3965 tSCC zHpux_Pthread_InitializersList[] =
3966 "sys/pthread.h\0";
3967 /*
3968 * Machine/OS name selection pattern
3969 */
3970 tSCC* apzHpux_Pthread_InitializersMachs[] = {
3971 "*-hp-hpux11.[0-3]*",
3972 (const char*)NULL };
3973 #define HPUX_PTHREAD_INITIALIZERS_TEST_CT 0
3974 #define aHpux_Pthread_InitializersTests (tTestDesc*)NULL
3975
3976 /*
3977 * Fix Command Arguments for Hpux_Pthread_Initializers
3978 */
3979 static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z,
3980 "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@",
3981 "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@",
3982 "-e", "/^[ \t]*0$/d",
3983 "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@",
3984 "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@",
3985 "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@",
3986 "-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\\\\@",
3987 "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@",
3988 "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@",
3989 "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@",
3990 "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@",
3991 "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@",
3992 "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@",
3993 (char*)NULL };
3994
3995 /* * * * * * * * * * * * * * * * * * * * * * * * * *
3996 *
3997 * Description of Hpux_C99_Intptr fix
3998 */
3999 tSCC zHpux_C99_IntptrName[] =
4000 "hpux_c99_intptr";
4001
4002 /*
4003 * File name selection pattern
4004 */
4005 tSCC zHpux_C99_IntptrList[] =
4006 "stdint-hpux11.h\0stdint.h\0";
4007 /*
4008 * Machine/OS name selection pattern
4009 */
4010 tSCC* apzHpux_C99_IntptrMachs[] = {
4011 "*-hp-hpux11.3*",
4012 (const char*)NULL };
4013 #define HPUX_C99_INTPTR_TEST_CT 0
4014 #define aHpux_C99_IntptrTests (tTestDesc*)NULL
4015
4016 /*
4017 * Fix Command Arguments for Hpux_C99_Intptr
4018 */
4019 static const char* apzHpux_C99_IntptrPatch[] = { sed_cmd_z,
4020 "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@",
4021 "-e", "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
4022 "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@",
4023 "-e", "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@",
4024 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@",
4025 "-e", "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@",
4026 (char*)NULL };
4027
4028 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4029 *
4030 * Description of Hpux_C99_Inttypes fix
4031 */
4032 tSCC zHpux_C99_InttypesName[] =
4033 "hpux_c99_inttypes";
4034
4035 /*
4036 * File name selection pattern
4037 */
4038 tSCC zHpux_C99_InttypesList[] =
4039 "inttypes.h\0stdint-hpux11.h\0stdint.h\0";
4040 /*
4041 * Machine/OS name selection pattern
4042 */
4043 tSCC* apzHpux_C99_InttypesMachs[] = {
4044 "*-hp-hpux11.[23]*",
4045 (const char*)NULL };
4046 #define HPUX_C99_INTTYPES_TEST_CT 0
4047 #define aHpux_C99_InttypesTests (tTestDesc*)NULL
4048
4049 /*
4050 * Fix Command Arguments for Hpux_C99_Inttypes
4051 */
4052 static const char* apzHpux_C99_InttypesPatch[] = { sed_cmd_z,
4053 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@",
4054 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@",
4055 "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@",
4056 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@",
4057 (char*)NULL };
4058
4059 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4060 *
4061 * Description of Hpux_C99_Inttypes2 fix
4062 */
4063 tSCC zHpux_C99_Inttypes2Name[] =
4064 "hpux_c99_inttypes2";
4065
4066 /*
4067 * File name selection pattern
4068 */
4069 tSCC zHpux_C99_Inttypes2List[] =
4070 "stdint-hpux11.h\0stdint.h\0";
4071 /*
4072 * Machine/OS name selection pattern
4073 */
4074 tSCC* apzHpux_C99_Inttypes2Machs[] = {
4075 "*-hp-hpux11.2*",
4076 (const char*)NULL };
4077 #define HPUX_C99_INTTYPES2_TEST_CT 0
4078 #define aHpux_C99_Inttypes2Tests (tTestDesc*)NULL
4079
4080 /*
4081 * Fix Command Arguments for Hpux_C99_Inttypes2
4082 */
4083 static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z,
4084 "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@",
4085 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@",
4086 "-e", "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@",
4087 "-e", "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@",
4088 (char*)NULL };
4089
4090 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4091 *
4092 * Description of Hpux_Stdint_Least_Fast fix
4093 */
4094 tSCC zHpux_Stdint_Least_FastName[] =
4095 "hpux_stdint_least_fast";
4096
4097 /*
4098 * File name selection pattern
4099 */
4100 tSCC zHpux_Stdint_Least_FastList[] =
4101 "stdint-hpux11.h\0stdint.h\0";
4102 /*
4103 * Machine/OS name selection pattern
4104 */
4105 tSCC* apzHpux_Stdint_Least_FastMachs[] = {
4106 "*-hp-hpux11.2*",
4107 (const char*)NULL };
4108
4109 /*
4110 * content selection pattern - do fix if pattern found
4111 */
4112 tSCC zHpux_Stdint_Least_FastSelect0[] =
4113 "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX";
4114
4115 #define HPUX_STDINT_LEAST_FAST_TEST_CT 1
4116 static tTestDesc aHpux_Stdint_Least_FastTests[] = {
4117 { TT_EGREP, zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, };
4118
4119 /*
4120 * Fix Command Arguments for Hpux_Stdint_Least_Fast
4121 */
4122 static const char* apzHpux_Stdint_Least_FastPatch[] = {
4123 "format",
4124 "# define\tUINT_%164_MAX\t__UINT64_MAX__",
4125 (char*)NULL };
4126
4127 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4128 *
4129 * Description of Hpux_Inttype_Int8_T fix
4130 */
4131 tSCC zHpux_Inttype_Int8_TName[] =
4132 "hpux_inttype_int8_t";
4133
4134 /*
4135 * File name selection pattern
4136 */
4137 tSCC zHpux_Inttype_Int8_TList[] =
4138 "sys/_inttypes.h\0";
4139 /*
4140 * Machine/OS name selection pattern
4141 */
4142 tSCC* apzHpux_Inttype_Int8_TMachs[] = {
4143 "*-hp-hpux1[01].*",
4144 (const char*)NULL };
4145
4146 /*
4147 * content selection pattern - do fix if pattern found
4148 */
4149 tSCC zHpux_Inttype_Int8_TSelect0[] =
4150 "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*";
4151
4152 #define HPUX_INTTYPE_INT8_T_TEST_CT 1
4153 static tTestDesc aHpux_Inttype_Int8_TTests[] = {
4154 { TT_EGREP, zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, };
4155
4156 /*
4157 * Fix Command Arguments for Hpux_Inttype_Int8_T
4158 */
4159 static const char* apzHpux_Inttype_Int8_TPatch[] = {
4160 "format",
4161 "typedef signed char int%18_t;",
4162 (char*)NULL };
4163
4164 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4165 *
4166 * Description of Hpux_Imaginary_I fix
4167 */
4168 tSCC zHpux_Imaginary_IName[] =
4169 "hpux_imaginary_i";
4170
4171 /*
4172 * File name selection pattern
4173 */
4174 tSCC zHpux_Imaginary_IList[] =
4175 "complex.h\0";
4176 /*
4177 * Machine/OS name selection pattern
4178 */
4179 tSCC* apzHpux_Imaginary_IMachs[] = {
4180 "ia64-hp-hpux11.*",
4181 (const char*)NULL };
4182
4183 /*
4184 * content selection pattern - do fix if pattern found
4185 */
4186 tSCC zHpux_Imaginary_ISelect0[] =
4187 "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*";
4188
4189 #define HPUX_IMAGINARY_I_TEST_CT 1
4190 static tTestDesc aHpux_Imaginary_ITests[] = {
4191 { TT_EGREP, zHpux_Imaginary_ISelect0, (regex_t*)NULL }, };
4192
4193 /*
4194 * Fix Command Arguments for Hpux_Imaginary_I
4195 */
4196 static const char* apzHpux_Imaginary_IPatch[] = {
4197 "format",
4198 "#define _Complex_I (__extension__ 1.0iF)",
4199 (char*)NULL };
4200
4201 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4202 *
4203 * Description of Huge_Val_Hex fix
4204 */
4205 tSCC zHuge_Val_HexName[] =
4206 "huge_val_hex";
4207
4208 /*
4209 * File name selection pattern
4210 */
4211 tSCC zHuge_Val_HexList[] =
4212 "bits/huge_val.h\0";
4213 /*
4214 * Machine/OS name selection pattern
4215 */
4216 #define apzHuge_Val_HexMachs (const char**)NULL
4217
4218 /*
4219 * content selection pattern - do fix if pattern found
4220 */
4221 tSCC zHuge_Val_HexSelect0[] =
4222 "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*";
4223
4224 /*
4225 * content bypass pattern - skip fix if pattern found
4226 */
4227 tSCC zHuge_Val_HexBypass0[] =
4228 "__builtin_huge_val";
4229
4230 #define HUGE_VAL_HEX_TEST_CT 2
4231 static tTestDesc aHuge_Val_HexTests[] = {
4232 { TT_NEGREP, zHuge_Val_HexBypass0, (regex_t*)NULL },
4233 { TT_EGREP, zHuge_Val_HexSelect0, (regex_t*)NULL }, };
4234
4235 /*
4236 * Fix Command Arguments for Huge_Val_Hex
4237 */
4238 static const char* apzHuge_Val_HexPatch[] = {
4239 "format",
4240 "#define HUGE_VAL (__builtin_huge_val())\n",
4241 (char*)NULL };
4242
4243 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4244 *
4245 * Description of Huge_Valf_Hex fix
4246 */
4247 tSCC zHuge_Valf_HexName[] =
4248 "huge_valf_hex";
4249
4250 /*
4251 * File name selection pattern
4252 */
4253 tSCC zHuge_Valf_HexList[] =
4254 "bits/huge_val.h\0";
4255 /*
4256 * Machine/OS name selection pattern
4257 */
4258 #define apzHuge_Valf_HexMachs (const char**)NULL
4259
4260 /*
4261 * content selection pattern - do fix if pattern found
4262 */
4263 tSCC zHuge_Valf_HexSelect0[] =
4264 "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*";
4265
4266 /*
4267 * content bypass pattern - skip fix if pattern found
4268 */
4269 tSCC zHuge_Valf_HexBypass0[] =
4270 "__builtin_huge_valf";
4271
4272 #define HUGE_VALF_HEX_TEST_CT 2
4273 static tTestDesc aHuge_Valf_HexTests[] = {
4274 { TT_NEGREP, zHuge_Valf_HexBypass0, (regex_t*)NULL },
4275 { TT_EGREP, zHuge_Valf_HexSelect0, (regex_t*)NULL }, };
4276
4277 /*
4278 * Fix Command Arguments for Huge_Valf_Hex
4279 */
4280 static const char* apzHuge_Valf_HexPatch[] = {
4281 "format",
4282 "#define HUGE_VALF (__builtin_huge_valf())\n",
4283 (char*)NULL };
4284
4285 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4286 *
4287 * Description of Huge_Vall_Hex fix
4288 */
4289 tSCC zHuge_Vall_HexName[] =
4290 "huge_vall_hex";
4291
4292 /*
4293 * File name selection pattern
4294 */
4295 tSCC zHuge_Vall_HexList[] =
4296 "bits/huge_val.h\0";
4297 /*
4298 * Machine/OS name selection pattern
4299 */
4300 #define apzHuge_Vall_HexMachs (const char**)NULL
4301
4302 /*
4303 * content selection pattern - do fix if pattern found
4304 */
4305 tSCC zHuge_Vall_HexSelect0[] =
4306 "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*";
4307
4308 /*
4309 * content bypass pattern - skip fix if pattern found
4310 */
4311 tSCC zHuge_Vall_HexBypass0[] =
4312 "__builtin_huge_vall";
4313
4314 #define HUGE_VALL_HEX_TEST_CT 2
4315 static tTestDesc aHuge_Vall_HexTests[] = {
4316 { TT_NEGREP, zHuge_Vall_HexBypass0, (regex_t*)NULL },
4317 { TT_EGREP, zHuge_Vall_HexSelect0, (regex_t*)NULL }, };
4318
4319 /*
4320 * Fix Command Arguments for Huge_Vall_Hex
4321 */
4322 static const char* apzHuge_Vall_HexPatch[] = {
4323 "format",
4324 "#define HUGE_VALL (__builtin_huge_vall())\n",
4325 (char*)NULL };
4326
4327 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4328 *
4329 * Description of Int_Abort_Free_And_Exit fix
4330 */
4331 tSCC zInt_Abort_Free_And_ExitName[] =
4332 "int_abort_free_and_exit";
4333
4334 /*
4335 * File name selection pattern
4336 */
4337 tSCC zInt_Abort_Free_And_ExitList[] =
4338 "stdlib.h\0";
4339 /*
4340 * Machine/OS name selection pattern
4341 */
4342 #define apzInt_Abort_Free_And_ExitMachs (const char**)NULL
4343
4344 /*
4345 * content selection pattern - do fix if pattern found
4346 */
4347 tSCC zInt_Abort_Free_And_ExitSelect0[] =
4348 "int[ \t]+(abort|free|exit)[ \t]*\\(";
4349
4350 /*
4351 * content bypass pattern - skip fix if pattern found
4352 */
4353 tSCC zInt_Abort_Free_And_ExitBypass0[] =
4354 "_CLASSIC_ANSI_TYPES";
4355
4356 #define INT_ABORT_FREE_AND_EXIT_TEST_CT 2
4357 static tTestDesc aInt_Abort_Free_And_ExitTests[] = {
4358 { TT_NEGREP, zInt_Abort_Free_And_ExitBypass0, (regex_t*)NULL },
4359 { TT_EGREP, zInt_Abort_Free_And_ExitSelect0, (regex_t*)NULL }, };
4360
4361 /*
4362 * Fix Command Arguments for Int_Abort_Free_And_Exit
4363 */
4364 static const char* apzInt_Abort_Free_And_ExitPatch[] = {
4365 "format",
4366 "void\t%1(",
4367 (char*)NULL };
4368
4369 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4370 *
4371 * Description of Io_Quotes_Def fix
4372 */
4373 tSCC zIo_Quotes_DefName[] =
4374 "io_quotes_def";
4375
4376 /*
4377 * File name selection pattern
4378 */
4379 #define zIo_Quotes_DefList (char*)NULL
4380 /*
4381 * Machine/OS name selection pattern
4382 */
4383 #define apzIo_Quotes_DefMachs (const char**)NULL
4384
4385 /*
4386 * content selection pattern - do fix if pattern found
4387 */
4388 tSCC zIo_Quotes_DefSelect0[] =
4389 "define[ \t]+[A-Z0-9_]+IO[A-Z]*\\([a-zA-Z][,)]";
4390
4391 #define IO_QUOTES_DEF_TEST_CT 1
4392 static tTestDesc aIo_Quotes_DefTests[] = {
4393 { TT_EGREP, zIo_Quotes_DefSelect0, (regex_t*)NULL }, };
4394
4395 /*
4396 * Fix Command Arguments for Io_Quotes_Def
4397 */
4398 static const char* apzIo_Quotes_DefPatch[] = {
4399 "char_macro_def",
4400 "IO",
4401 (char*)NULL };
4402
4403 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4404 *
4405 * Description of Io_Quotes_Use fix
4406 */
4407 tSCC zIo_Quotes_UseName[] =
4408 "io_quotes_use";
4409
4410 /*
4411 * File name selection pattern
4412 */
4413 #define zIo_Quotes_UseList (char*)NULL
4414 /*
4415 * Machine/OS name selection pattern
4416 */
4417 #define apzIo_Quotes_UseMachs (const char**)NULL
4418
4419 /*
4420 * content selection pattern - do fix if pattern found
4421 */
4422 tSCC zIo_Quotes_UseSelect0[] =
4423 "define[ \t]+[A-Z0-9_]+[ \t]+[A-Z0-9_]+IO[A-Z]*[ \t]*\\( *[^,']";
4424
4425 #define IO_QUOTES_USE_TEST_CT 1
4426 static tTestDesc aIo_Quotes_UseTests[] = {
4427 { TT_EGREP, zIo_Quotes_UseSelect0, (regex_t*)NULL }, };
4428
4429 /*
4430 * Fix Command Arguments for Io_Quotes_Use
4431 */
4432 static const char* apzIo_Quotes_UsePatch[] = {
4433 "char_macro_use",
4434 "IO",
4435 (char*)NULL };
4436
4437 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4438 *
4439 * Description of Ip_Missing_Semi fix
4440 */
4441 tSCC zIp_Missing_SemiName[] =
4442 "ip_missing_semi";
4443
4444 /*
4445 * File name selection pattern
4446 */
4447 tSCC zIp_Missing_SemiList[] =
4448 "netinet/ip.h\0";
4449 /*
4450 * Machine/OS name selection pattern
4451 */
4452 #define apzIp_Missing_SemiMachs (const char**)NULL
4453
4454 /*
4455 * content selection pattern - do fix if pattern found
4456 */
4457 tSCC zIp_Missing_SemiSelect0[] =
4458 "}$";
4459
4460 #define IP_MISSING_SEMI_TEST_CT 1
4461 static tTestDesc aIp_Missing_SemiTests[] = {
4462 { TT_EGREP, zIp_Missing_SemiSelect0, (regex_t*)NULL }, };
4463
4464 /*
4465 * Fix Command Arguments for Ip_Missing_Semi
4466 */
4467 static const char* apzIp_Missing_SemiPatch[] = { sed_cmd_z,
4468 "-e", "/^struct/,/^};/s/}$/};/",
4469 (char*)NULL };
4470
4471 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4472 *
4473 * Description of Irix_Limits_Const fix
4474 */
4475 tSCC zIrix_Limits_ConstName[] =
4476 "irix_limits_const";
4477
4478 /*
4479 * File name selection pattern
4480 */
4481 tSCC zIrix_Limits_ConstList[] =
4482 "fixinc-test-limits.h\0limits.h\0";
4483 /*
4484 * Machine/OS name selection pattern
4485 */
4486 #define apzIrix_Limits_ConstMachs (const char**)NULL
4487
4488 /*
4489 * content selection pattern - do fix if pattern found
4490 */
4491 tSCC zIrix_Limits_ConstSelect0[] =
4492 "^extern const ";
4493
4494 #define IRIX_LIMITS_CONST_TEST_CT 1
4495 static tTestDesc aIrix_Limits_ConstTests[] = {
4496 { TT_EGREP, zIrix_Limits_ConstSelect0, (regex_t*)NULL }, };
4497
4498 /*
4499 * Fix Command Arguments for Irix_Limits_Const
4500 */
4501 static const char* apzIrix_Limits_ConstPatch[] = {
4502 "format",
4503 "extern __const ",
4504 (char*)NULL };
4505
4506 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4507 *
4508 * Description of Irix_Stdio_Va_List fix
4509 */
4510 tSCC zIrix_Stdio_Va_ListName[] =
4511 "irix_stdio_va_list";
4512
4513 /*
4514 * File name selection pattern
4515 */
4516 tSCC zIrix_Stdio_Va_ListList[] =
4517 "stdio.h\0";
4518 /*
4519 * Machine/OS name selection pattern
4520 */
4521 #define apzIrix_Stdio_Va_ListMachs (const char**)NULL
4522
4523 /*
4524 * content selection pattern - do fix if pattern found
4525 */
4526 tSCC zIrix_Stdio_Va_ListSelect0[] =
4527 "/\\* va_list \\*/ char \\*";
4528
4529 #define IRIX_STDIO_VA_LIST_TEST_CT 1
4530 static tTestDesc aIrix_Stdio_Va_ListTests[] = {
4531 { TT_EGREP, zIrix_Stdio_Va_ListSelect0, (regex_t*)NULL }, };
4532
4533 /*
4534 * Fix Command Arguments for Irix_Stdio_Va_List
4535 */
4536 static const char* apzIrix_Stdio_Va_ListPatch[] = {
4537 "format",
4538 "__gnuc_va_list",
4539 (char*)NULL };
4540
4541 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4542 *
4543 * Description of Kandr_Concat fix
4544 */
4545 tSCC zKandr_ConcatName[] =
4546 "kandr_concat";
4547
4548 /*
4549 * File name selection pattern
4550 */
4551 tSCC zKandr_ConcatList[] =
4552 "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";
4553 /*
4554 * Machine/OS name selection pattern
4555 */
4556 #define apzKandr_ConcatMachs (const char**)NULL
4557
4558 /*
4559 * content selection pattern - do fix if pattern found
4560 */
4561 tSCC zKandr_ConcatSelect0[] =
4562 "/\\*\\*/";
4563
4564 #define KANDR_CONCAT_TEST_CT 1
4565 static tTestDesc aKandr_ConcatTests[] = {
4566 { TT_EGREP, zKandr_ConcatSelect0, (regex_t*)NULL }, };
4567
4568 /*
4569 * Fix Command Arguments for Kandr_Concat
4570 */
4571 static const char* apzKandr_ConcatPatch[] = {
4572 "format",
4573 "##",
4574 (char*)NULL };
4575
4576 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4577 *
4578 * Description of Linux_Ia64_Ucontext fix
4579 */
4580 tSCC zLinux_Ia64_UcontextName[] =
4581 "linux_ia64_ucontext";
4582
4583 /*
4584 * File name selection pattern
4585 */
4586 tSCC zLinux_Ia64_UcontextList[] =
4587 "sys/ucontext.h\0";
4588 /*
4589 * Machine/OS name selection pattern
4590 */
4591 tSCC* apzLinux_Ia64_UcontextMachs[] = {
4592 "ia64-*-linux*",
4593 (const char*)NULL };
4594
4595 /*
4596 * content selection pattern - do fix if pattern found
4597 */
4598 tSCC zLinux_Ia64_UcontextSelect0[] =
4599 "\\(\\(\\(char \\*\\) &\\(\\(struct sigcontext \\*\\) 0\\)->sc_gr\\[0\\]\\) - \\(char \\*\\) 0\\)";
4600
4601 #define LINUX_IA64_UCONTEXT_TEST_CT 1
4602 static tTestDesc aLinux_Ia64_UcontextTests[] = {
4603 { TT_EGREP, zLinux_Ia64_UcontextSelect0, (regex_t*)NULL }, };
4604
4605 /*
4606 * Fix Command Arguments for Linux_Ia64_Ucontext
4607 */
4608 static const char* apzLinux_Ia64_UcontextPatch[] = {
4609 "format",
4610 "__builtin_offsetof (struct sigcontext, sc_gr[0])",
4611 (char*)NULL };
4612
4613 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4614 *
4615 * Description of Lynxos_No_Warning_In_Sys_Time_H fix
4616 */
4617 tSCC zLynxos_No_Warning_In_Sys_Time_HName[] =
4618 "lynxos_no_warning_in_sys_time_h";
4619
4620 /*
4621 * File name selection pattern
4622 */
4623 tSCC zLynxos_No_Warning_In_Sys_Time_HList[] =
4624 "sys/time.h\0";
4625 /*
4626 * Machine/OS name selection pattern
4627 */
4628 #define apzLynxos_No_Warning_In_Sys_Time_HMachs (const char**)NULL
4629
4630 /*
4631 * content selection pattern - do fix if pattern found
4632 */
4633 tSCC zLynxos_No_Warning_In_Sys_Time_HSelect0[] =
4634 "#warning[ \t]+Using <time.h> instead of <sys/time.h>";
4635
4636 #define LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT 1
4637 static tTestDesc aLynxos_No_Warning_In_Sys_Time_HTests[] = {
4638 { TT_EGREP, zLynxos_No_Warning_In_Sys_Time_HSelect0, (regex_t*)NULL }, };
4639
4640 /*
4641 * Fix Command Arguments for Lynxos_No_Warning_In_Sys_Time_H
4642 */
4643 static const char* apzLynxos_No_Warning_In_Sys_Time_HPatch[] = {
4644 "format",
4645 "",
4646 (char*)NULL };
4647
4648 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4649 *
4650 * Description of Lynxos_Missing_Putenv fix
4651 */
4652 tSCC zLynxos_Missing_PutenvName[] =
4653 "lynxos_missing_putenv";
4654
4655 /*
4656 * File name selection pattern
4657 */
4658 tSCC zLynxos_Missing_PutenvList[] =
4659 "stdlib.h\0";
4660 /*
4661 * Machine/OS name selection pattern
4662 */
4663 tSCC* apzLynxos_Missing_PutenvMachs[] = {
4664 "*-*-lynxos*",
4665 (const char*)NULL };
4666
4667 /*
4668 * content selection pattern - do fix if pattern found
4669 */
4670 tSCC zLynxos_Missing_PutenvSelect0[] =
4671 "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);";
4672
4673 /*
4674 * content bypass pattern - skip fix if pattern found
4675 */
4676 tSCC zLynxos_Missing_PutenvBypass0[] =
4677 "putenv[ \\t]*\\(";
4678
4679 #define LYNXOS_MISSING_PUTENV_TEST_CT 2
4680 static tTestDesc aLynxos_Missing_PutenvTests[] = {
4681 { TT_NEGREP, zLynxos_Missing_PutenvBypass0, (regex_t*)NULL },
4682 { TT_EGREP, zLynxos_Missing_PutenvSelect0, (regex_t*)NULL }, };
4683
4684 /*
4685 * Fix Command Arguments for Lynxos_Missing_Putenv
4686 */
4687 static const char* apzLynxos_Missing_PutenvPatch[] = {
4688 "format",
4689 "%0\n\
4690 extern int putenv\t\t\t\t_AP((char *));",
4691 "extern char \\*getenv[ \t]*_AP\\(\\(const char \\*\\)\\);",
4692 (char*)NULL };
4693
4694 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4695 *
4696 * Description of Machine_Ansi_H_Va_List fix
4697 */
4698 tSCC zMachine_Ansi_H_Va_ListName[] =
4699 "machine_ansi_h_va_list";
4700
4701 /*
4702 * File name selection pattern
4703 */
4704 #define zMachine_Ansi_H_Va_ListList (char*)NULL
4705 /*
4706 * Machine/OS name selection pattern
4707 */
4708 #define apzMachine_Ansi_H_Va_ListMachs (const char**)NULL
4709
4710 /*
4711 * content selection pattern - do fix if pattern found
4712 */
4713 tSCC zMachine_Ansi_H_Va_ListSelect0[] =
4714 "define[ \t]+_BSD_VA_LIST_[ \t]";
4715
4716 /*
4717 * content bypass pattern - skip fix if pattern found
4718 */
4719 tSCC zMachine_Ansi_H_Va_ListBypass0[] =
4720 "__builtin_va_list";
4721
4722 #define MACHINE_ANSI_H_VA_LIST_TEST_CT 2
4723 static tTestDesc aMachine_Ansi_H_Va_ListTests[] = {
4724 { TT_NEGREP, zMachine_Ansi_H_Va_ListBypass0, (regex_t*)NULL },
4725 { TT_EGREP, zMachine_Ansi_H_Va_ListSelect0, (regex_t*)NULL }, };
4726
4727 /*
4728 * Fix Command Arguments for Machine_Ansi_H_Va_List
4729 */
4730 static const char* apzMachine_Ansi_H_Va_ListPatch[] = {
4731 "format",
4732 "%1__builtin_va_list",
4733 "(define[ \t]+_BSD_VA_LIST_[ \t]+).*",
4734 (char*)NULL };
4735
4736 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4737 *
4738 * Description of Machine_Name fix
4739 */
4740 tSCC zMachine_NameName[] =
4741 "machine_name";
4742
4743 /*
4744 * File name selection pattern
4745 */
4746 #define zMachine_NameList (char*)NULL
4747 /*
4748 * Machine/OS name selection pattern
4749 */
4750 #define apzMachine_NameMachs (const char**)NULL
4751
4752 /*
4753 * perform the C function call test
4754 */
4755 tSCC zMachine_NameFTst0[] = "machine_name";
4756
4757 #define MACHINE_NAME_TEST_CT 1
4758 static tTestDesc aMachine_NameTests[] = {
4759 { TT_FUNCTION, zMachine_NameFTst0, 0 /* unused */ }, };
4760
4761 /*
4762 * Fix Command Arguments for Machine_Name
4763 */
4764 static const char* apzMachine_NamePatch[] = {
4765 "machine_name",
4766 (char*)NULL };
4767
4768 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4769 *
4770 * Description of Math_Exception fix
4771 */
4772 tSCC zMath_ExceptionName[] =
4773 "math_exception";
4774
4775 /*
4776 * File name selection pattern
4777 */
4778 tSCC zMath_ExceptionList[] =
4779 "math.h\0";
4780 /*
4781 * Machine/OS name selection pattern
4782 */
4783 #define apzMath_ExceptionMachs (const char**)NULL
4784
4785 /*
4786 * content selection pattern - do fix if pattern found
4787 */
4788 tSCC zMath_ExceptionSelect0[] =
4789 "struct exception";
4790
4791 /*
4792 * content bypass pattern - skip fix if pattern found
4793 */
4794 tSCC zMath_ExceptionBypass0[] =
4795 "We have a problem when using C\\+\\+|for C\\+\\+, _[a-z0-9A-Z_]+_exception; for C, exception";
4796
4797 #define MATH_EXCEPTION_TEST_CT 2
4798 static tTestDesc aMath_ExceptionTests[] = {
4799 { TT_NEGREP, zMath_ExceptionBypass0, (regex_t*)NULL },
4800 { TT_EGREP, zMath_ExceptionSelect0, (regex_t*)NULL }, };
4801
4802 /*
4803 * Fix Command Arguments for Math_Exception
4804 */
4805 static const char* apzMath_ExceptionPatch[] = {
4806 "wrap",
4807 "#ifdef __cplusplus\n\
4808 #define exception __math_exception\n\
4809 #endif\n",
4810 "#ifdef __cplusplus\n\
4811 #undef exception\n\
4812 #endif\n",
4813 (char*)NULL };
4814
4815 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4816 *
4817 * Description of Math_Huge_Val_From_Dbl_Max fix
4818 */
4819 tSCC zMath_Huge_Val_From_Dbl_MaxName[] =
4820 "math_huge_val_from_dbl_max";
4821
4822 /*
4823 * File name selection pattern
4824 */
4825 tSCC zMath_Huge_Val_From_Dbl_MaxList[] =
4826 "math.h\0";
4827 /*
4828 * Machine/OS name selection pattern
4829 */
4830 #define apzMath_Huge_Val_From_Dbl_MaxMachs (const char**)NULL
4831
4832 /*
4833 * content selection pattern - do fix if pattern found
4834 */
4835 tSCC zMath_Huge_Val_From_Dbl_MaxSelect0[] =
4836 "define[ \t]+HUGE_VAL[ \t]+DBL_MAX";
4837
4838 /*
4839 * content bypass pattern - skip fix if pattern found
4840 */
4841 tSCC zMath_Huge_Val_From_Dbl_MaxBypass0[] =
4842 "define[ \t]+DBL_MAX";
4843
4844 #define MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT 2
4845 static tTestDesc aMath_Huge_Val_From_Dbl_MaxTests[] = {
4846 { TT_NEGREP, zMath_Huge_Val_From_Dbl_MaxBypass0, (regex_t*)NULL },
4847 { TT_EGREP, zMath_Huge_Val_From_Dbl_MaxSelect0, (regex_t*)NULL }, };
4848
4849 /*
4850 * Fix Command Arguments for Math_Huge_Val_From_Dbl_Max
4851 */
4852 static const char* apzMath_Huge_Val_From_Dbl_MaxPatch[] = { "sh", "-c",
4853 "\tdbl_max_def=`egrep 'define[ \t]+DBL_MAX[ \t]+.*' float.h | sed 's/.*DBL_MAX[ \t]*//' 2>/dev/null`\n\n\
4854 \tif ( test -n \"${dbl_max_def}\" ) > /dev/null 2>&1\n\
4855 \tthen sed -e '/define[ \t]*HUGE_VAL[ \t]*DBL_MAX/s@DBL_MAX@'\"$dbl_max_def@\"\n\
4856 \telse cat\n\
4857 \tfi",
4858 (char*)NULL };
4859
4860 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4861 *
4862 * Description of Nested_Auth_Des fix
4863 */
4864 tSCC zNested_Auth_DesName[] =
4865 "nested_auth_des";
4866
4867 /*
4868 * File name selection pattern
4869 */
4870 tSCC zNested_Auth_DesList[] =
4871 "rpc/rpc.h\0";
4872 /*
4873 * Machine/OS name selection pattern
4874 */
4875 #define apzNested_Auth_DesMachs (const char**)NULL
4876
4877 /*
4878 * content selection pattern - do fix if pattern found
4879 */
4880 tSCC zNested_Auth_DesSelect0[] =
4881 "(/\\*.*rpc/auth_des\\.h>.*)/\\*";
4882
4883 #define NESTED_AUTH_DES_TEST_CT 1
4884 static tTestDesc aNested_Auth_DesTests[] = {
4885 { TT_EGREP, zNested_Auth_DesSelect0, (regex_t*)NULL }, };
4886
4887 /*
4888 * Fix Command Arguments for Nested_Auth_Des
4889 */
4890 static const char* apzNested_Auth_DesPatch[] = {
4891 "format",
4892 "%1*/ /*",
4893 (char*)NULL };
4894
4895 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4896 *
4897 * Description of Netbsd_C99_Inline_1 fix
4898 */
4899 tSCC zNetbsd_C99_Inline_1Name[] =
4900 "netbsd_c99_inline_1";
4901
4902 /*
4903 * File name selection pattern
4904 */
4905 tSCC zNetbsd_C99_Inline_1List[] =
4906 "signal.h\0";
4907 /*
4908 * Machine/OS name selection pattern
4909 */
4910 tSCC* apzNetbsd_C99_Inline_1Machs[] = {
4911 "*-*-netbsd*",
4912 (const char*)NULL };
4913
4914 /*
4915 * content selection pattern - do fix if pattern found
4916 */
4917 tSCC zNetbsd_C99_Inline_1Select0[] =
4918 "extern __inline int";
4919
4920 #define NETBSD_C99_INLINE_1_TEST_CT 1
4921 static tTestDesc aNetbsd_C99_Inline_1Tests[] = {
4922 { TT_EGREP, zNetbsd_C99_Inline_1Select0, (regex_t*)NULL }, };
4923
4924 /*
4925 * Fix Command Arguments for Netbsd_C99_Inline_1
4926 */
4927 static const char* apzNetbsd_C99_Inline_1Patch[] = {
4928 "format",
4929 "extern\n\
4930 #ifdef __GNUC_STDC_INLINE__\n\
4931 __attribute__((__gnu_inline__))\n\
4932 #endif\n\
4933 __inline int",
4934 (char*)NULL };
4935
4936 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4937 *
4938 * Description of Netbsd_C99_Inline_2 fix
4939 */
4940 tSCC zNetbsd_C99_Inline_2Name[] =
4941 "netbsd_c99_inline_2";
4942
4943 /*
4944 * File name selection pattern
4945 */
4946 tSCC zNetbsd_C99_Inline_2List[] =
4947 "signal.h\0";
4948 /*
4949 * Machine/OS name selection pattern
4950 */
4951 tSCC* apzNetbsd_C99_Inline_2Machs[] = {
4952 "*-*-netbsd*",
4953 (const char*)NULL };
4954
4955 /*
4956 * content selection pattern - do fix if pattern found
4957 */
4958 tSCC zNetbsd_C99_Inline_2Select0[] =
4959 "#define _SIGINLINE extern __inline";
4960
4961 #define NETBSD_C99_INLINE_2_TEST_CT 1
4962 static tTestDesc aNetbsd_C99_Inline_2Tests[] = {
4963 { TT_EGREP, zNetbsd_C99_Inline_2Select0, (regex_t*)NULL }, };
4964
4965 /*
4966 * Fix Command Arguments for Netbsd_C99_Inline_2
4967 */
4968 static const char* apzNetbsd_C99_Inline_2Patch[] = {
4969 "format",
4970 "#ifdef __GNUC_STDC_INLINE__\n\
4971 #define _SIGINLINE extern __attribute__((__gnu_inline__)) __inline\n\
4972 #else\n\
4973 %0\n\
4974 #endif",
4975 (char*)NULL };
4976
4977 /* * * * * * * * * * * * * * * * * * * * * * * * * *
4978 *
4979 * Description of Netbsd_Extra_Semicolon fix
4980 */
4981 tSCC zNetbsd_Extra_SemicolonName[] =
4982 "netbsd_extra_semicolon";
4983
4984 /*
4985 * File name selection pattern
4986 */
4987 tSCC zNetbsd_Extra_SemicolonList[] =
4988 "sys/cdefs.h\0";
4989 /*
4990 * Machine/OS name selection pattern
4991 */
4992 tSCC* apzNetbsd_Extra_SemicolonMachs[] = {
4993 "*-*-netbsd*",
4994 (const char*)NULL };
4995
4996 /*
4997 * content selection pattern - do fix if pattern found
4998 */
4999 tSCC zNetbsd_Extra_SemicolonSelect0[] =
5000 "#define[ \t]*__END_DECLS[ \t]*};";
5001
5002 #define NETBSD_EXTRA_SEMICOLON_TEST_CT 1
5003 static tTestDesc aNetbsd_Extra_SemicolonTests[] = {
5004 { TT_EGREP, zNetbsd_Extra_SemicolonSelect0, (regex_t*)NULL }, };
5005
5006 /*
5007 * Fix Command Arguments for Netbsd_Extra_Semicolon
5008 */
5009 static const char* apzNetbsd_Extra_SemicolonPatch[] = {
5010 "format",
5011 "#define __END_DECLS }",
5012 (char*)NULL };
5013
5014 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5015 *
5016 * Description of Newlib_Stdint_1 fix
5017 */
5018 tSCC zNewlib_Stdint_1Name[] =
5019 "newlib_stdint_1";
5020
5021 /*
5022 * File name selection pattern
5023 */
5024 tSCC zNewlib_Stdint_1List[] =
5025 "stdint-newlib.h\0stdint.h\0";
5026 /*
5027 * Machine/OS name selection pattern
5028 */
5029 #define apzNewlib_Stdint_1Machs (const char**)NULL
5030
5031 /*
5032 * content selection pattern - do fix if pattern found
5033 */
5034 tSCC zNewlib_Stdint_1Select0[] =
5035 "@todo - Add support for wint_t types";
5036
5037 #define NEWLIB_STDINT_1_TEST_CT 1
5038 static tTestDesc aNewlib_Stdint_1Tests[] = {
5039 { TT_EGREP, zNewlib_Stdint_1Select0, (regex_t*)NULL }, };
5040
5041 /*
5042 * Fix Command Arguments for Newlib_Stdint_1
5043 */
5044 static const char* apzNewlib_Stdint_1Patch[] = { sed_cmd_z,
5045 "-e", "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@",
5046 "-e", "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@",
5047 "-e", "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@",
5048 "-e", "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@",
5049 "-e", "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@",
5050 "-e", "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@",
5051 "-e", "s@#define INT_FAST\\([0-9]*\\)_MIN.*@#define INT_FAST\\1_MIN (-INT_FAST\\1_MAX - 1)@",
5052 "-e", "s@#define INT_FAST\\([0-9]*\\)_MAX.*@#define INT_FAST\\1_MAX __INT_FAST\\1_MAX__@",
5053 "-e", "s@#define UINT_FAST\\([0-9]*\\)_MAX.*@#define UINT_FAST\\1_MAX __UINT_FAST\\1_MAX__@",
5054 "-e", "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@",
5055 "-e", "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@",
5056 "-e", "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@",
5057 "-e", "s@#define UINT8_C.*@#define UINT8_C(c) __UINT8_C(c)@",
5058 "-e", "s@#define UINT16_C.*@#define UINT16_C(c) __UINT16_C(c)@",
5059 (char*)NULL };
5060
5061 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5062 *
5063 * Description of Newlib_Stdint_2 fix
5064 */
5065 tSCC zNewlib_Stdint_2Name[] =
5066 "newlib_stdint_2";
5067
5068 /*
5069 * File name selection pattern
5070 */
5071 tSCC zNewlib_Stdint_2List[] =
5072 "stdint-newlib.h\0stdint.h\0";
5073 /*
5074 * Machine/OS name selection pattern
5075 */
5076 #define apzNewlib_Stdint_2Machs (const char**)NULL
5077
5078 /*
5079 * content selection pattern - do fix if pattern found
5080 */
5081 tSCC zNewlib_Stdint_2Select0[] =
5082 "@todo - Add support for wint_t types";
5083
5084 #define NEWLIB_STDINT_2_TEST_CT 1
5085 static tTestDesc aNewlib_Stdint_2Tests[] = {
5086 { TT_EGREP, zNewlib_Stdint_2Select0, (regex_t*)NULL }, };
5087
5088 /*
5089 * Fix Command Arguments for Newlib_Stdint_2
5090 */
5091 static const char* apzNewlib_Stdint_2Patch[] = {
5092 "format",
5093 "#define INTMAX_MAX __INTMAX_MAX__\n\
5094 #define INTMAX_MIN (-INTMAX_MAX - 1)\n\
5095 #define UINTMAX_MAX __UINTMAX_MAX__\n\
5096 #define WCHAR_MAX __WCHAR_MAX__\n\
5097 #define WCHAR_MIN __WCHAR_MIN__\n\
5098 #define WINT_MAX __WINT_MAX__\n\
5099 #define WINT_MIN __WINT_MIN__\n\n\
5100 %0",
5101 "/\\*\\* Macros for minimum-width integer constant expressions \\*/",
5102 (char*)NULL };
5103
5104 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5105 *
5106 * Description of Next_Math_Prefix fix
5107 */
5108 tSCC zNext_Math_PrefixName[] =
5109 "next_math_prefix";
5110
5111 /*
5112 * File name selection pattern
5113 */
5114 tSCC zNext_Math_PrefixList[] =
5115 "ansi/math.h\0";
5116 /*
5117 * Machine/OS name selection pattern
5118 */
5119 #define apzNext_Math_PrefixMachs (const char**)NULL
5120
5121 /*
5122 * content selection pattern - do fix if pattern found
5123 */
5124 tSCC zNext_Math_PrefixSelect0[] =
5125 "^extern[ \t]+double[ \t]+__const__[ \t]";
5126
5127 #define NEXT_MATH_PREFIX_TEST_CT 1
5128 static tTestDesc aNext_Math_PrefixTests[] = {
5129 { TT_EGREP, zNext_Math_PrefixSelect0, (regex_t*)NULL }, };
5130
5131 /*
5132 * Fix Command Arguments for Next_Math_Prefix
5133 */
5134 static const char* apzNext_Math_PrefixPatch[] = {
5135 "format",
5136 "extern double %1(",
5137 "^extern[ \t]+double[ \t]+__const__[ \t]+([a-z]+)\\(",
5138 (char*)NULL };
5139
5140 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5141 *
5142 * Description of Next_Template fix
5143 */
5144 tSCC zNext_TemplateName[] =
5145 "next_template";
5146
5147 /*
5148 * File name selection pattern
5149 */
5150 tSCC zNext_TemplateList[] =
5151 "bsd/libc.h\0";
5152 /*
5153 * Machine/OS name selection pattern
5154 */
5155 #define apzNext_TemplateMachs (const char**)NULL
5156
5157 /*
5158 * content selection pattern - do fix if pattern found
5159 */
5160 tSCC zNext_TemplateSelect0[] =
5161 "[ \t]template\\)";
5162
5163 #define NEXT_TEMPLATE_TEST_CT 1
5164 static tTestDesc aNext_TemplateTests[] = {
5165 { TT_EGREP, zNext_TemplateSelect0, (regex_t*)NULL }, };
5166
5167 /*
5168 * Fix Command Arguments for Next_Template
5169 */
5170 static const char* apzNext_TemplatePatch[] = {
5171 "format",
5172 "(%1)",
5173 "\\(([^)]*)[ \t]template\\)",
5174 (char*)NULL };
5175
5176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5177 *
5178 * Description of Next_Volitile fix
5179 */
5180 tSCC zNext_VolitileName[] =
5181 "next_volitile";
5182
5183 /*
5184 * File name selection pattern
5185 */
5186 tSCC zNext_VolitileList[] =
5187 "ansi/stdlib.h\0";
5188 /*
5189 * Machine/OS name selection pattern
5190 */
5191 #define apzNext_VolitileMachs (const char**)NULL
5192
5193 /*
5194 * content selection pattern - do fix if pattern found
5195 */
5196 tSCC zNext_VolitileSelect0[] =
5197 "^extern[ \t]+volatile[ \t]+void[ \t]";
5198
5199 #define NEXT_VOLITILE_TEST_CT 1
5200 static tTestDesc aNext_VolitileTests[] = {
5201 { TT_EGREP, zNext_VolitileSelect0, (regex_t*)NULL }, };
5202
5203 /*
5204 * Fix Command Arguments for Next_Volitile
5205 */
5206 static const char* apzNext_VolitilePatch[] = {
5207 "format",
5208 "extern void %1(",
5209 "^extern[ \t]+volatile[ \t]+void[ \t]+(exit|abort)\\(",
5210 (char*)NULL };
5211
5212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5213 *
5214 * Description of Next_Wait_Union fix
5215 */
5216 tSCC zNext_Wait_UnionName[] =
5217 "next_wait_union";
5218
5219 /*
5220 * File name selection pattern
5221 */
5222 tSCC zNext_Wait_UnionList[] =
5223 "sys/wait.h\0";
5224 /*
5225 * Machine/OS name selection pattern
5226 */
5227 #define apzNext_Wait_UnionMachs (const char**)NULL
5228
5229 /*
5230 * content selection pattern - do fix if pattern found
5231 */
5232 tSCC zNext_Wait_UnionSelect0[] =
5233 "wait\\(union wait";
5234
5235 #define NEXT_WAIT_UNION_TEST_CT 1
5236 static tTestDesc aNext_Wait_UnionTests[] = {
5237 { TT_EGREP, zNext_Wait_UnionSelect0, (regex_t*)NULL }, };
5238
5239 /*
5240 * Fix Command Arguments for Next_Wait_Union
5241 */
5242 static const char* apzNext_Wait_UnionPatch[] = {
5243 "format",
5244 "wait(void",
5245 (char*)NULL };
5246
5247 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5248 *
5249 * Description of Nodeent_Syntax fix
5250 */
5251 tSCC zNodeent_SyntaxName[] =
5252 "nodeent_syntax";
5253
5254 /*
5255 * File name selection pattern
5256 */
5257 tSCC zNodeent_SyntaxList[] =
5258 "netdnet/dnetdb.h\0";
5259 /*
5260 * Machine/OS name selection pattern
5261 */
5262 #define apzNodeent_SyntaxMachs (const char**)NULL
5263
5264 /*
5265 * content selection pattern - do fix if pattern found
5266 */
5267 tSCC zNodeent_SyntaxSelect0[] =
5268 "char[ \t]*\\*na_addr[ \t]*$";
5269
5270 #define NODEENT_SYNTAX_TEST_CT 1
5271 static tTestDesc aNodeent_SyntaxTests[] = {
5272 { TT_EGREP, zNodeent_SyntaxSelect0, (regex_t*)NULL }, };
5273
5274 /*
5275 * Fix Command Arguments for Nodeent_Syntax
5276 */
5277 static const char* apzNodeent_SyntaxPatch[] = {
5278 "format",
5279 "%0;",
5280 (char*)NULL };
5281
5282 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5283 *
5284 * Description of Openbsd_Null_Definition fix
5285 */
5286 tSCC zOpenbsd_Null_DefinitionName[] =
5287 "openbsd_null_definition";
5288
5289 /*
5290 * File name selection pattern
5291 */
5292 tSCC zOpenbsd_Null_DefinitionList[] =
5293 "locale.h\0stddef.h\0stdio.h\0string.h\0time.h\0unistd.h\0wchar.h\0sys/param.h\0";
5294 /*
5295 * Machine/OS name selection pattern
5296 */
5297 tSCC* apzOpenbsd_Null_DefinitionMachs[] = {
5298 "*-*-openbsd*",
5299 (const char*)NULL };
5300
5301 /*
5302 * content selection pattern - do fix if pattern found
5303 */
5304 tSCC zOpenbsd_Null_DefinitionSelect0[] =
5305 "__GNUG__";
5306
5307 #define OPENBSD_NULL_DEFINITION_TEST_CT 1
5308 static tTestDesc aOpenbsd_Null_DefinitionTests[] = {
5309 { TT_EGREP, zOpenbsd_Null_DefinitionSelect0, (regex_t*)NULL }, };
5310
5311 /*
5312 * Fix Command Arguments for Openbsd_Null_Definition
5313 */
5314 static const char* apzOpenbsd_Null_DefinitionPatch[] = {
5315 "format",
5316 "#ifndef NULL\n\
5317 #ifdef __cplusplus\n\
5318 #ifdef __GNUG__\n\
5319 #define NULL\t__null\n\
5320 #else\t /* ! __GNUG__ */\n\
5321 #define NULL\t0L\n\
5322 #endif\t /* __GNUG__ */\n\
5323 #else\t /* ! __cplusplus */\n\
5324 #define NULL\t((void *)0)\n\
5325 #endif\t /* __cplusplus */\n\
5326 #endif\t /* !NULL */",
5327 "^#ifndef[ \t]*NULL\n\
5328 ^#ifdef[ \t]*__GNUG__\n\
5329 ^#define[ \t]*NULL[ \t]*__null\n\
5330 ^#else\n\
5331 ^#define[ \t]*NULL[ \t]*0L\n\
5332 ^#endif\n\
5333 ^#endif",
5334 (char*)NULL };
5335
5336 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5337 *
5338 * Description of Obstack_Lvalue_Cast fix
5339 */
5340 tSCC zObstack_Lvalue_CastName[] =
5341 "obstack_lvalue_cast";
5342
5343 /*
5344 * File name selection pattern
5345 */
5346 tSCC zObstack_Lvalue_CastList[] =
5347 "obstack.h\0";
5348 /*
5349 * Machine/OS name selection pattern
5350 */
5351 #define apzObstack_Lvalue_CastMachs (const char**)NULL
5352
5353 /*
5354 * content selection pattern - do fix if pattern found
5355 */
5356 tSCC zObstack_Lvalue_CastSelect0[] =
5357 "\\*\\(\\(([^()]*)\\*\\)(.*)\\)\\+\\+ = \\(([^()]*)\\)";
5358
5359 #define OBSTACK_LVALUE_CAST_TEST_CT 1
5360 static tTestDesc aObstack_Lvalue_CastTests[] = {
5361 { TT_EGREP, zObstack_Lvalue_CastSelect0, (regex_t*)NULL }, };
5362
5363 /*
5364 * Fix Command Arguments for Obstack_Lvalue_Cast
5365 */
5366 static const char* apzObstack_Lvalue_CastPatch[] = {
5367 "format",
5368 "((*((%1*)%2) = (%3)), (%2 += sizeof (%1)))",
5369 (char*)NULL };
5370
5371 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5372 *
5373 * Description of Openbsd_Va_Start fix
5374 */
5375 tSCC zOpenbsd_Va_StartName[] =
5376 "openbsd_va_start";
5377
5378 /*
5379 * File name selection pattern
5380 */
5381 tSCC zOpenbsd_Va_StartList[] =
5382 "stdarg.h\0";
5383 /*
5384 * Machine/OS name selection pattern
5385 */
5386 tSCC* apzOpenbsd_Va_StartMachs[] = {
5387 "*-*-openbsd*",
5388 (const char*)NULL };
5389
5390 /*
5391 * content selection pattern - do fix if pattern found
5392 */
5393 tSCC zOpenbsd_Va_StartSelect0[] =
5394 "__builtin_stdarg_start";
5395
5396 #define OPENBSD_VA_START_TEST_CT 1
5397 static tTestDesc aOpenbsd_Va_StartTests[] = {
5398 { TT_EGREP, zOpenbsd_Va_StartSelect0, (regex_t*)NULL }, };
5399
5400 /*
5401 * Fix Command Arguments for Openbsd_Va_Start
5402 */
5403 static const char* apzOpenbsd_Va_StartPatch[] = {
5404 "format",
5405 "__builtin_va_start",
5406 (char*)NULL };
5407
5408 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5409 *
5410 * Description of Osf_Namespace_A fix
5411 */
5412 tSCC zOsf_Namespace_AName[] =
5413 "osf_namespace_a";
5414
5415 /*
5416 * File name selection pattern
5417 */
5418 tSCC zOsf_Namespace_AList[] =
5419 "reg_types.h\0sys/lc_core.h\0";
5420 /*
5421 * Machine/OS name selection pattern
5422 */
5423 #define apzOsf_Namespace_AMachs (const char**)NULL
5424
5425 /*
5426 * perform the 'test' shell command - do fix on success
5427 */
5428 tSCC zOsf_Namespace_ATest0[] =
5429 " -r reg_types.h";
5430 tSCC zOsf_Namespace_ATest1[] =
5431 " -r sys/lc_core.h";
5432 tSCC zOsf_Namespace_ATest2[] =
5433 " -n \"`grep '} regex_t;' reg_types.h`\"";
5434 tSCC zOsf_Namespace_ATest3[] =
5435 " -z \"`grep __regex_t regex.h`\"";
5436
5437 #define OSF_NAMESPACE_A_TEST_CT 4
5438 static tTestDesc aOsf_Namespace_ATests[] = {
5439 { TT_TEST, zOsf_Namespace_ATest0, 0 /* unused */ },
5440 { TT_TEST, zOsf_Namespace_ATest1, 0 /* unused */ },
5441 { TT_TEST, zOsf_Namespace_ATest2, 0 /* unused */ },
5442 { TT_TEST, zOsf_Namespace_ATest3, 0 /* unused */ }, };
5443
5444 /*
5445 * Fix Command Arguments for Osf_Namespace_A
5446 */
5447 static const char* apzOsf_Namespace_APatch[] = {
5448 "format",
5449 "__%0",
5450 "reg(ex|off|match)_t",
5451 (char*)NULL };
5452
5453 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5454 *
5455 * Description of Osf_Namespace_C fix
5456 */
5457 tSCC zOsf_Namespace_CName[] =
5458 "osf_namespace_c";
5459
5460 /*
5461 * File name selection pattern
5462 */
5463 tSCC zOsf_Namespace_CList[] =
5464 "regex.h\0";
5465 /*
5466 * Machine/OS name selection pattern
5467 */
5468 #define apzOsf_Namespace_CMachs (const char**)NULL
5469
5470 /*
5471 * content selection pattern - do fix if pattern found
5472 */
5473 tSCC zOsf_Namespace_CSelect0[] =
5474 "#include <reg_types.h>.*";
5475
5476 /*
5477 * perform the 'test' shell command - do fix on success
5478 */
5479 tSCC zOsf_Namespace_CTest0[] =
5480 " -r reg_types.h";
5481 tSCC zOsf_Namespace_CTest1[] =
5482 " -r sys/lc_core.h";
5483 tSCC zOsf_Namespace_CTest2[] =
5484 " -n \"`grep '} regex_t;' reg_types.h`\"";
5485 tSCC zOsf_Namespace_CTest3[] =
5486 " -z \"`grep __regex_t regex.h`\"";
5487
5488 #define OSF_NAMESPACE_C_TEST_CT 5
5489 static tTestDesc aOsf_Namespace_CTests[] = {
5490 { TT_TEST, zOsf_Namespace_CTest0, 0 /* unused */ },
5491 { TT_TEST, zOsf_Namespace_CTest1, 0 /* unused */ },
5492 { TT_TEST, zOsf_Namespace_CTest2, 0 /* unused */ },
5493 { TT_TEST, zOsf_Namespace_CTest3, 0 /* unused */ },
5494 { TT_EGREP, zOsf_Namespace_CSelect0, (regex_t*)NULL }, };
5495
5496 /*
5497 * Fix Command Arguments for Osf_Namespace_C
5498 */
5499 static const char* apzOsf_Namespace_CPatch[] = {
5500 "format",
5501 "%0\n\
5502 typedef __regex_t\tregex_t;\n\
5503 typedef __regoff_t\tregoff_t;\n\
5504 typedef __regmatch_t\tregmatch_t;",
5505 (char*)NULL };
5506
5507 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5508 *
5509 * Description of Pthread_Incomplete_Struct_Argument fix
5510 */
5511 tSCC zPthread_Incomplete_Struct_ArgumentName[] =
5512 "pthread_incomplete_struct_argument";
5513
5514 /*
5515 * File name selection pattern
5516 */
5517 tSCC zPthread_Incomplete_Struct_ArgumentList[] =
5518 "pthread.h\0";
5519 /*
5520 * Machine/OS name selection pattern
5521 */
5522 #define apzPthread_Incomplete_Struct_ArgumentMachs (const char**)NULL
5523
5524 /*
5525 * content selection pattern - do fix if pattern found
5526 */
5527 tSCC zPthread_Incomplete_Struct_ArgumentSelect0[] =
5528 "struct __jmp_buf_tag";
5529
5530 #define PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT 1
5531 static tTestDesc aPthread_Incomplete_Struct_ArgumentTests[] = {
5532 { TT_EGREP, zPthread_Incomplete_Struct_ArgumentSelect0, (regex_t*)NULL }, };
5533
5534 /*
5535 * Fix Command Arguments for Pthread_Incomplete_Struct_Argument
5536 */
5537 static const char* apzPthread_Incomplete_Struct_ArgumentPatch[] = {
5538 "format",
5539 "%1 *%2%3",
5540 "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$",
5541 (char*)NULL };
5542
5543 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5544 *
5545 * Description of Read_Ret_Type fix
5546 */
5547 tSCC zRead_Ret_TypeName[] =
5548 "read_ret_type";
5549
5550 /*
5551 * File name selection pattern
5552 */
5553 tSCC zRead_Ret_TypeList[] =
5554 "stdio.h\0";
5555 /*
5556 * Machine/OS name selection pattern
5557 */
5558 #define apzRead_Ret_TypeMachs (const char**)NULL
5559
5560 /*
5561 * content selection pattern - do fix if pattern found
5562 */
5563 tSCC zRead_Ret_TypeSelect0[] =
5564 "extern int\t.*, fread\\(\\), fwrite\\(\\)";
5565
5566 #define READ_RET_TYPE_TEST_CT 1
5567 static tTestDesc aRead_Ret_TypeTests[] = {
5568 { TT_EGREP, zRead_Ret_TypeSelect0, (regex_t*)NULL }, };
5569
5570 /*
5571 * Fix Command Arguments for Read_Ret_Type
5572 */
5573 static const char* apzRead_Ret_TypePatch[] = {
5574 "format",
5575 "extern unsigned int fread(), fwrite();\n\
5576 %1%2",
5577 "(extern int\t.*), fread\\(\\), fwrite\\(\\)(.*)",
5578 (char*)NULL };
5579
5580 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5581 *
5582 * Description of Rpc_Xdr_Lvalue_Cast_A fix
5583 */
5584 tSCC zRpc_Xdr_Lvalue_Cast_AName[] =
5585 "rpc_xdr_lvalue_cast_a";
5586
5587 /*
5588 * File name selection pattern
5589 */
5590 tSCC zRpc_Xdr_Lvalue_Cast_AList[] =
5591 "rpc/xdr.h\0";
5592 /*
5593 * Machine/OS name selection pattern
5594 */
5595 #define apzRpc_Xdr_Lvalue_Cast_AMachs (const char**)NULL
5596
5597 /*
5598 * content selection pattern - do fix if pattern found
5599 */
5600 tSCC zRpc_Xdr_Lvalue_Cast_ASelect0[] =
5601 "#define[ \t]*IXDR_GET_LONG.*\\\\\n\
5602 .*__extension__.*";
5603
5604 #define RPC_XDR_LVALUE_CAST_A_TEST_CT 1
5605 static tTestDesc aRpc_Xdr_Lvalue_Cast_ATests[] = {
5606 { TT_EGREP, zRpc_Xdr_Lvalue_Cast_ASelect0, (regex_t*)NULL }, };
5607
5608 /*
5609 * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_A
5610 */
5611 static const char* apzRpc_Xdr_Lvalue_Cast_APatch[] = {
5612 "format",
5613 "#define IXDR_GET_LONG(buf) ((long)IXDR_GET_U_INT32(buf))",
5614 (char*)NULL };
5615
5616 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5617 *
5618 * Description of Rpc_Xdr_Lvalue_Cast_B fix
5619 */
5620 tSCC zRpc_Xdr_Lvalue_Cast_BName[] =
5621 "rpc_xdr_lvalue_cast_b";
5622
5623 /*
5624 * File name selection pattern
5625 */
5626 tSCC zRpc_Xdr_Lvalue_Cast_BList[] =
5627 "rpc/xdr.h\0";
5628 /*
5629 * Machine/OS name selection pattern
5630 */
5631 #define apzRpc_Xdr_Lvalue_Cast_BMachs (const char**)NULL
5632
5633 /*
5634 * content selection pattern - do fix if pattern found
5635 */
5636 tSCC zRpc_Xdr_Lvalue_Cast_BSelect0[] =
5637 "#define[ \t]*IXDR_PUT_LONG.*\\\\\n\
5638 .*__extension__.*";
5639
5640 #define RPC_XDR_LVALUE_CAST_B_TEST_CT 1
5641 static tTestDesc aRpc_Xdr_Lvalue_Cast_BTests[] = {
5642 { TT_EGREP, zRpc_Xdr_Lvalue_Cast_BSelect0, (regex_t*)NULL }, };
5643
5644 /*
5645 * Fix Command Arguments for Rpc_Xdr_Lvalue_Cast_B
5646 */
5647 static const char* apzRpc_Xdr_Lvalue_Cast_BPatch[] = {
5648 "format",
5649 "#define IXDR_PUT_LONG(buf, v) ((long)IXDR_PUT_INT32(buf, (long)(v)))",
5650 (char*)NULL };
5651
5652 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5653 *
5654 * Description of Rs6000_Double fix
5655 */
5656 tSCC zRs6000_DoubleName[] =
5657 "rs6000_double";
5658
5659 /*
5660 * File name selection pattern
5661 */
5662 tSCC zRs6000_DoubleList[] =
5663 "math.h\0";
5664 /*
5665 * Machine/OS name selection pattern
5666 */
5667 #define apzRs6000_DoubleMachs (const char**)NULL
5668
5669 /*
5670 * content selection pattern - do fix if pattern found
5671 */
5672 tSCC zRs6000_DoubleSelect0[] =
5673 "[^a-zA-Z_]class\\(";
5674
5675 #define RS6000_DOUBLE_TEST_CT 1
5676 static tTestDesc aRs6000_DoubleTests[] = {
5677 { TT_EGREP, zRs6000_DoubleSelect0, (regex_t*)NULL }, };
5678
5679 /*
5680 * Fix Command Arguments for Rs6000_Double
5681 */
5682 static const char* apzRs6000_DoublePatch[] = {
5683 "format",
5684 "#ifndef __cplusplus\n\
5685 %0\n\
5686 #endif",
5687 "^.*[^a-zA-Z_]class\\(.*",
5688 (char*)NULL };
5689
5690 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5691 *
5692 * Description of Rs6000_Fchmod fix
5693 */
5694 tSCC zRs6000_FchmodName[] =
5695 "rs6000_fchmod";
5696
5697 /*
5698 * File name selection pattern
5699 */
5700 tSCC zRs6000_FchmodList[] =
5701 "sys/stat.h\0";
5702 /*
5703 * Machine/OS name selection pattern
5704 */
5705 #define apzRs6000_FchmodMachs (const char**)NULL
5706
5707 /*
5708 * content selection pattern - do fix if pattern found
5709 */
5710 tSCC zRs6000_FchmodSelect0[] =
5711 "fchmod\\(char \\*";
5712
5713 #define RS6000_FCHMOD_TEST_CT 1
5714 static tTestDesc aRs6000_FchmodTests[] = {
5715 { TT_EGREP, zRs6000_FchmodSelect0, (regex_t*)NULL }, };
5716
5717 /*
5718 * Fix Command Arguments for Rs6000_Fchmod
5719 */
5720 static const char* apzRs6000_FchmodPatch[] = {
5721 "format",
5722 "fchmod(int",
5723 (char*)NULL };
5724
5725 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5726 *
5727 * Description of Rs6000_Param fix
5728 */
5729 tSCC zRs6000_ParamName[] =
5730 "rs6000_param";
5731
5732 /*
5733 * File name selection pattern
5734 */
5735 tSCC zRs6000_ParamList[] =
5736 "stdio.h\0unistd.h\0";
5737 /*
5738 * Machine/OS name selection pattern
5739 */
5740 #define apzRs6000_ParamMachs (const char**)NULL
5741
5742 /*
5743 * content selection pattern - do fix if pattern found
5744 */
5745 tSCC zRs6000_ParamSelect0[] =
5746 "rename\\(const char \\*old, const char \\*new\\)";
5747
5748 #define RS6000_PARAM_TEST_CT 1
5749 static tTestDesc aRs6000_ParamTests[] = {
5750 { TT_EGREP, zRs6000_ParamSelect0, (regex_t*)NULL }, };
5751
5752 /*
5753 * Fix Command Arguments for Rs6000_Param
5754 */
5755 static const char* apzRs6000_ParamPatch[] = {
5756 "format",
5757 "rename(const char *_old, const char *_new)",
5758 (char*)NULL };
5759
5760 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5761 *
5762 * Description of Solaris___Restrict fix
5763 */
5764 tSCC zSolaris___RestrictName[] =
5765 "solaris___restrict";
5766
5767 /*
5768 * File name selection pattern
5769 */
5770 tSCC zSolaris___RestrictList[] =
5771 "sys/feature_tests.h\0";
5772 /*
5773 * Machine/OS name selection pattern
5774 */
5775 tSCC* apzSolaris___RestrictMachs[] = {
5776 "*-*-solaris2*",
5777 (const char*)NULL };
5778
5779 /*
5780 * content selection pattern - do fix if pattern found
5781 */
5782 tSCC zSolaris___RestrictSelect0[] =
5783 "#define[ \t]*_RESTRICT_KYWD[ \t]*restrict";
5784
5785 #define SOLARIS___RESTRICT_TEST_CT 1
5786 static tTestDesc aSolaris___RestrictTests[] = {
5787 { TT_EGREP, zSolaris___RestrictSelect0, (regex_t*)NULL }, };
5788
5789 /*
5790 * Fix Command Arguments for Solaris___Restrict
5791 */
5792 static const char* apzSolaris___RestrictPatch[] = {
5793 "format",
5794 "#ifdef __cplusplus\n\
5795 #define\t_RESTRICT_KYWD\t__restrict\n\
5796 #else\n\
5797 %0\n\
5798 #endif",
5799 (char*)NULL };
5800
5801 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5802 *
5803 * Description of Solaris_Complex fix
5804 */
5805 tSCC zSolaris_ComplexName[] =
5806 "solaris_complex";
5807
5808 /*
5809 * File name selection pattern
5810 */
5811 tSCC zSolaris_ComplexList[] =
5812 "complex.h\0";
5813 /*
5814 * Machine/OS name selection pattern
5815 */
5816 tSCC* apzSolaris_ComplexMachs[] = {
5817 "*-*-solaris2.*",
5818 (const char*)NULL };
5819
5820 /*
5821 * content selection pattern - do fix if pattern found
5822 */
5823 tSCC zSolaris_ComplexSelect0[] =
5824 "#define[ \t]_Complex_I[ \t]_Complex_I";
5825
5826 #define SOLARIS_COMPLEX_TEST_CT 1
5827 static tTestDesc aSolaris_ComplexTests[] = {
5828 { TT_EGREP, zSolaris_ComplexSelect0, (regex_t*)NULL }, };
5829
5830 /*
5831 * Fix Command Arguments for Solaris_Complex
5832 */
5833 static const char* apzSolaris_ComplexPatch[] = { sed_cmd_z,
5834 "-e", "s/#define[ \t]_Complex_I[ \t]_Complex_I/#define\t_Complex_I\t(__extension__ 1.0iF)/",
5835 "-e", "/#define[ \t]_Imaginary_I[ \t]_Imaginary_I/d",
5836 "-e", "/#define[ \t]imaginary[ \t]_Imaginary/d",
5837 "-e", "s/#define[ \t]I[ \t]\\{1,\\}_Imaginary_I/#define\tI\t\t_Complex_I/",
5838 (char*)NULL };
5839
5840 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5841 *
5842 * Description of Solaris_Complex_Cxx fix
5843 */
5844 tSCC zSolaris_Complex_CxxName[] =
5845 "solaris_complex_cxx";
5846
5847 /*
5848 * File name selection pattern
5849 */
5850 tSCC zSolaris_Complex_CxxList[] =
5851 "complex.h\0";
5852 /*
5853 * Machine/OS name selection pattern
5854 */
5855 tSCC* apzSolaris_Complex_CxxMachs[] = {
5856 "*-*-solaris2.*",
5857 (const char*)NULL };
5858 #define SOLARIS_COMPLEX_CXX_TEST_CT 0
5859 #define aSolaris_Complex_CxxTests (tTestDesc*)NULL
5860
5861 /*
5862 * Fix Command Arguments for Solaris_Complex_Cxx
5863 */
5864 static const char* apzSolaris_Complex_CxxPatch[] = { sed_cmd_z,
5865 "-e", "/#if[ \t]*!defined(__cplusplus)/c\\\n\
5866 #ifdef\t__cplusplus\\\n\
5867 extern \"C\" {\\\n\
5868 #endif",
5869 "-e", "/#endif[ \t]*\\/\\* !defined(__cplusplus) \\*\\//c\\\n\
5870 #ifdef\t__cplusplus\\\n\
5871 }\\\n\
5872 #endif",
5873 (char*)NULL };
5874
5875 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5876 *
5877 * Description of Solaris_Cxx_Linkage fix
5878 */
5879 tSCC zSolaris_Cxx_LinkageName[] =
5880 "solaris_cxx_linkage";
5881
5882 /*
5883 * File name selection pattern
5884 */
5885 tSCC zSolaris_Cxx_LinkageList[] =
5886 "iso/stdlib_iso.h\0";
5887 /*
5888 * Machine/OS name selection pattern
5889 */
5890 tSCC* apzSolaris_Cxx_LinkageMachs[] = {
5891 "*-*-solaris2*",
5892 (const char*)NULL };
5893
5894 /*
5895 * content selection pattern - do fix if pattern found
5896 */
5897 tSCC zSolaris_Cxx_LinkageSelect0[] =
5898 "(#if __cplusplus >= 199711L)\n\
5899 (extern \"C\\+\\+\" \\{\n\
5900 )(.*(bsearch|qsort).*)";
5901
5902 #define SOLARIS_CXX_LINKAGE_TEST_CT 1
5903 static tTestDesc aSolaris_Cxx_LinkageTests[] = {
5904 { TT_EGREP, zSolaris_Cxx_LinkageSelect0, (regex_t*)NULL }, };
5905
5906 /*
5907 * Fix Command Arguments for Solaris_Cxx_Linkage
5908 */
5909 static const char* apzSolaris_Cxx_LinkagePatch[] = {
5910 "format",
5911 "%1 && !__GNUG__\n\
5912 %2%3",
5913 (char*)NULL };
5914
5915 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5916 *
5917 * Description of Solaris_Getc_Strict_Stdc fix
5918 */
5919 tSCC zSolaris_Getc_Strict_StdcName[] =
5920 "solaris_getc_strict_stdc";
5921
5922 /*
5923 * File name selection pattern
5924 */
5925 tSCC zSolaris_Getc_Strict_StdcList[] =
5926 "iso/stdio_iso.h\0";
5927 /*
5928 * Machine/OS name selection pattern
5929 */
5930 tSCC* apzSolaris_Getc_Strict_StdcMachs[] = {
5931 "*-*-solaris2*",
5932 (const char*)NULL };
5933
5934 /*
5935 * content selection pattern - do fix if pattern found
5936 */
5937 tSCC zSolaris_Getc_Strict_StdcSelect0[] =
5938 "(.*&& )!defined\\(_STRICT_STDC\\)(.*)";
5939
5940 #define SOLARIS_GETC_STRICT_STDC_TEST_CT 1
5941 static tTestDesc aSolaris_Getc_Strict_StdcTests[] = {
5942 { TT_EGREP, zSolaris_Getc_Strict_StdcSelect0, (regex_t*)NULL }, };
5943
5944 /*
5945 * Fix Command Arguments for Solaris_Getc_Strict_Stdc
5946 */
5947 static const char* apzSolaris_Getc_Strict_StdcPatch[] = {
5948 "format",
5949 "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2",
5950 (char*)NULL };
5951
5952 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5953 *
5954 * Description of Solaris_Longjmp_Noreturn fix
5955 */
5956 tSCC zSolaris_Longjmp_NoreturnName[] =
5957 "solaris_longjmp_noreturn";
5958
5959 /*
5960 * File name selection pattern
5961 */
5962 tSCC zSolaris_Longjmp_NoreturnList[] =
5963 "iso/setjmp_iso.h\0";
5964 /*
5965 * Machine/OS name selection pattern
5966 */
5967 tSCC* apzSolaris_Longjmp_NoreturnMachs[] = {
5968 "*-*-solaris2*",
5969 (const char*)NULL };
5970
5971 /*
5972 * content selection pattern - do fix if pattern found
5973 */
5974 tSCC zSolaris_Longjmp_NoreturnSelect0[] =
5975 "(.*longjmp\\(jmp_buf.*[^)]+\\));";
5976
5977 /*
5978 * content bypass pattern - skip fix if pattern found
5979 */
5980 tSCC zSolaris_Longjmp_NoreturnBypass0[] =
5981 "__NORETURN";
5982
5983 #define SOLARIS_LONGJMP_NORETURN_TEST_CT 2
5984 static tTestDesc aSolaris_Longjmp_NoreturnTests[] = {
5985 { TT_NEGREP, zSolaris_Longjmp_NoreturnBypass0, (regex_t*)NULL },
5986 { TT_EGREP, zSolaris_Longjmp_NoreturnSelect0, (regex_t*)NULL }, };
5987
5988 /*
5989 * Fix Command Arguments for Solaris_Longjmp_Noreturn
5990 */
5991 static const char* apzSolaris_Longjmp_NoreturnPatch[] = {
5992 "format",
5993 "%1 __attribute__ ((__noreturn__));",
5994 (char*)NULL };
5995
5996 /* * * * * * * * * * * * * * * * * * * * * * * * * *
5997 *
5998 * Description of Solaris_Math_1 fix
5999 */
6000 tSCC zSolaris_Math_1Name[] =
6001 "solaris_math_1";
6002
6003 /*
6004 * File name selection pattern
6005 */
6006 tSCC zSolaris_Math_1List[] =
6007 "iso/math_c99.h\0";
6008 /*
6009 * Machine/OS name selection pattern
6010 */
6011 #define apzSolaris_Math_1Machs (const char**)NULL
6012
6013 /*
6014 * content selection pattern - do fix if pattern found
6015 */
6016 tSCC zSolaris_Math_1Select0[] =
6017 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6018
6019 /*
6020 * content bypass pattern - skip fix if pattern found
6021 */
6022 tSCC zSolaris_Math_1Bypass0[] =
6023 "__GNUC__";
6024
6025 #define SOLARIS_MATH_1_TEST_CT 2
6026 static tTestDesc aSolaris_Math_1Tests[] = {
6027 { TT_NEGREP, zSolaris_Math_1Bypass0, (regex_t*)NULL },
6028 { TT_EGREP, zSolaris_Math_1Select0, (regex_t*)NULL }, };
6029
6030 /*
6031 * Fix Command Arguments for Solaris_Math_1
6032 */
6033 static const char* apzSolaris_Math_1Patch[] = {
6034 "format",
6035 "#define\tHUGE_VA%1\t(__builtin_huge_va%2())",
6036 "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)",
6037 (char*)NULL };
6038
6039 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6040 *
6041 * Description of Solaris_Math_2 fix
6042 */
6043 tSCC zSolaris_Math_2Name[] =
6044 "solaris_math_2";
6045
6046 /*
6047 * File name selection pattern
6048 */
6049 tSCC zSolaris_Math_2List[] =
6050 "iso/math_c99.h\0";
6051 /*
6052 * Machine/OS name selection pattern
6053 */
6054 #define apzSolaris_Math_2Machs (const char**)NULL
6055
6056 /*
6057 * content selection pattern - do fix if pattern found
6058 */
6059 tSCC zSolaris_Math_2Select0[] =
6060 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6061
6062 /*
6063 * content bypass pattern - skip fix if pattern found
6064 */
6065 tSCC zSolaris_Math_2Bypass0[] =
6066 "__GNUC__";
6067
6068 #define SOLARIS_MATH_2_TEST_CT 2
6069 static tTestDesc aSolaris_Math_2Tests[] = {
6070 { TT_NEGREP, zSolaris_Math_2Bypass0, (regex_t*)NULL },
6071 { TT_EGREP, zSolaris_Math_2Select0, (regex_t*)NULL }, };
6072
6073 /*
6074 * Fix Command Arguments for Solaris_Math_2
6075 */
6076 static const char* apzSolaris_Math_2Patch[] = {
6077 "format",
6078 "#define\tINFINITY\t(__builtin_inff())",
6079 "^#define[ \t]+INFINITY[ \t]+__builtin_infinity",
6080 (char*)NULL };
6081
6082 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6083 *
6084 * Description of Solaris_Math_3 fix
6085 */
6086 tSCC zSolaris_Math_3Name[] =
6087 "solaris_math_3";
6088
6089 /*
6090 * File name selection pattern
6091 */
6092 tSCC zSolaris_Math_3List[] =
6093 "iso/math_c99.h\0";
6094 /*
6095 * Machine/OS name selection pattern
6096 */
6097 #define apzSolaris_Math_3Machs (const char**)NULL
6098
6099 /*
6100 * content selection pattern - do fix if pattern found
6101 */
6102 tSCC zSolaris_Math_3Select0[] =
6103 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6104
6105 /*
6106 * content bypass pattern - skip fix if pattern found
6107 */
6108 tSCC zSolaris_Math_3Bypass0[] =
6109 "__GNUC__";
6110
6111 #define SOLARIS_MATH_3_TEST_CT 2
6112 static tTestDesc aSolaris_Math_3Tests[] = {
6113 { TT_NEGREP, zSolaris_Math_3Bypass0, (regex_t*)NULL },
6114 { TT_EGREP, zSolaris_Math_3Select0, (regex_t*)NULL }, };
6115
6116 /*
6117 * Fix Command Arguments for Solaris_Math_3
6118 */
6119 static const char* apzSolaris_Math_3Patch[] = {
6120 "format",
6121 "#define\tNAN\t\t(__builtin_nanf(\"\"))",
6122 "^#define[ \t]+NAN[ \t]+__builtin_nan",
6123 (char*)NULL };
6124
6125 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6126 *
6127 * Description of Solaris_Math_4 fix
6128 */
6129 tSCC zSolaris_Math_4Name[] =
6130 "solaris_math_4";
6131
6132 /*
6133 * File name selection pattern
6134 */
6135 tSCC zSolaris_Math_4List[] =
6136 "iso/math_c99.h\0";
6137 /*
6138 * Machine/OS name selection pattern
6139 */
6140 #define apzSolaris_Math_4Machs (const char**)NULL
6141
6142 /*
6143 * content selection pattern - do fix if pattern found
6144 */
6145 tSCC zSolaris_Math_4Select0[] =
6146 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6147
6148 /*
6149 * content bypass pattern - skip fix if pattern found
6150 */
6151 tSCC zSolaris_Math_4Bypass0[] =
6152 "__GNUC__";
6153
6154 #define SOLARIS_MATH_4_TEST_CT 2
6155 static tTestDesc aSolaris_Math_4Tests[] = {
6156 { TT_NEGREP, zSolaris_Math_4Bypass0, (regex_t*)NULL },
6157 { TT_EGREP, zSolaris_Math_4Select0, (regex_t*)NULL }, };
6158
6159 /*
6160 * Fix Command Arguments for Solaris_Math_4
6161 */
6162 static const char* apzSolaris_Math_4Patch[] = {
6163 "format",
6164 "#define\tfpclassify(x) \\\n\
6165 __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))",
6166 "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)",
6167 (char*)NULL };
6168
6169 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6170 *
6171 * Description of Solaris_Math_8 fix
6172 */
6173 tSCC zSolaris_Math_8Name[] =
6174 "solaris_math_8";
6175
6176 /*
6177 * File name selection pattern
6178 */
6179 tSCC zSolaris_Math_8List[] =
6180 "iso/math_c99.h\0";
6181 /*
6182 * Machine/OS name selection pattern
6183 */
6184 #define apzSolaris_Math_8Machs (const char**)NULL
6185
6186 /*
6187 * content selection pattern - do fix if pattern found
6188 */
6189 tSCC zSolaris_Math_8Select0[] =
6190 "@\\(#\\)math_c99\\.h[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI";
6191
6192 /*
6193 * content bypass pattern - skip fix if pattern found
6194 */
6195 tSCC zSolaris_Math_8Bypass0[] =
6196 "__GNUC__";
6197
6198 #define SOLARIS_MATH_8_TEST_CT 2
6199 static tTestDesc aSolaris_Math_8Tests[] = {
6200 { TT_NEGREP, zSolaris_Math_8Bypass0, (regex_t*)NULL },
6201 { TT_EGREP, zSolaris_Math_8Select0, (regex_t*)NULL }, };
6202
6203 /*
6204 * Fix Command Arguments for Solaris_Math_8
6205 */
6206 static const char* apzSolaris_Math_8Patch[] = {
6207 "format",
6208 "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n\
6209 \t\t\t ? __builtin_signbitf(x) \\\n\
6210 \t\t\t : sizeof(x) == sizeof(long double) \\\n\
6211 \t\t\t ? __builtin_signbitl(x) \\\n\
6212 \t\t\t : __builtin_signbit(x))",
6213 "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)",
6214 (char*)NULL };
6215
6216 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6217 *
6218 * Description of Solaris_Math_9 fix
6219 */
6220 tSCC zSolaris_Math_9Name[] =
6221 "solaris_math_9";
6222
6223 /*
6224 * File name selection pattern
6225 */
6226 tSCC zSolaris_Math_9List[] =
6227 "iso/math_c99.h\0";
6228 /*
6229 * Machine/OS name selection pattern
6230 */
6231 #define apzSolaris_Math_9Machs (const char**)NULL
6232
6233 /*
6234 * content selection pattern - do fix if pattern found
6235 */
6236 tSCC zSolaris_Math_9Select0[] =
6237 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6238
6239 /*
6240 * content bypass pattern - skip fix if pattern found
6241 */
6242 tSCC zSolaris_Math_9Bypass0[] =
6243 "__GNUC__";
6244
6245 #define SOLARIS_MATH_9_TEST_CT 2
6246 static tTestDesc aSolaris_Math_9Tests[] = {
6247 { TT_NEGREP, zSolaris_Math_9Bypass0, (regex_t*)NULL },
6248 { TT_EGREP, zSolaris_Math_9Select0, (regex_t*)NULL }, };
6249
6250 /*
6251 * Fix Command Arguments for Solaris_Math_9
6252 */
6253 static const char* apzSolaris_Math_9Patch[] = {
6254 "format",
6255 "#define\t%1(x, y)%2__builtin_%1(x, y)",
6256 "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)",
6257 (char*)NULL };
6258
6259 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6260 *
6261 * Description of Solaris_Math_10 fix
6262 */
6263 tSCC zSolaris_Math_10Name[] =
6264 "solaris_math_10";
6265
6266 /*
6267 * File name selection pattern
6268 */
6269 tSCC zSolaris_Math_10List[] =
6270 "iso/math_c99.h\0";
6271 /*
6272 * Machine/OS name selection pattern
6273 */
6274 #define apzSolaris_Math_10Machs (const char**)NULL
6275
6276 /*
6277 * content selection pattern - do fix if pattern found
6278 */
6279 tSCC zSolaris_Math_10Select0[] =
6280 "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6281
6282 #define SOLARIS_MATH_10_TEST_CT 1
6283 static tTestDesc aSolaris_Math_10Tests[] = {
6284 { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, };
6285
6286 /*
6287 * Fix Command Arguments for Solaris_Math_10
6288 */
6289 static const char* apzSolaris_Math_10Patch[] = {
6290 "format",
6291 "#define\tisinf(x) __builtin_isinf(x)",
6292 "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\
6293 [ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\
6294 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\
6295 [ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)",
6296 (char*)NULL };
6297
6298 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6299 *
6300 * Description of Solaris_Mutex_Init_2 fix
6301 */
6302 tSCC zSolaris_Mutex_Init_2Name[] =
6303 "solaris_mutex_init_2";
6304
6305 /*
6306 * File name selection pattern
6307 */
6308 tSCC zSolaris_Mutex_Init_2List[] =
6309 "pthread.h\0";
6310 /*
6311 * Machine/OS name selection pattern
6312 */
6313 tSCC* apzSolaris_Mutex_Init_2Machs[] = {
6314 "*-*-solaris2.[0-9]",
6315 "*-*-solaris2.[0-9][!0-9]*",
6316 (const char*)NULL };
6317
6318 /*
6319 * content selection pattern - do fix if pattern found
6320 */
6321 tSCC zSolaris_Mutex_Init_2Select0[] =
6322 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6323
6324 #define SOLARIS_MUTEX_INIT_2_TEST_CT 1
6325 static tTestDesc aSolaris_Mutex_Init_2Tests[] = {
6326 { TT_EGREP, zSolaris_Mutex_Init_2Select0, (regex_t*)NULL }, };
6327
6328 /*
6329 * Fix Command Arguments for Solaris_Mutex_Init_2
6330 */
6331 static const char* apzSolaris_Mutex_Init_2Patch[] = {
6332 "format",
6333 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6334 %0\n\
6335 #else\n\
6336 %1, {0}}%4\n\
6337 #endif",
6338 "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+(|/*.**/[ \t]*\\\\\n\
6339 [ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$",
6340 (char*)NULL };
6341
6342 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6343 *
6344 * Description of Solaris_Pow_Int_Overload fix
6345 */
6346 tSCC zSolaris_Pow_Int_OverloadName[] =
6347 "solaris_pow_int_overload";
6348
6349 /*
6350 * File name selection pattern
6351 */
6352 tSCC zSolaris_Pow_Int_OverloadList[] =
6353 "iso/math_iso.h\0";
6354 /*
6355 * Machine/OS name selection pattern
6356 */
6357 tSCC* apzSolaris_Pow_Int_OverloadMachs[] = {
6358 "*-*-solaris2*",
6359 (const char*)NULL };
6360
6361 /*
6362 * content selection pattern - do fix if pattern found
6363 */
6364 tSCC zSolaris_Pow_Int_OverloadSelect0[] =
6365 "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\
6366 [^{}]*\\}";
6367
6368 #define SOLARIS_POW_INT_OVERLOAD_TEST_CT 1
6369 static tTestDesc aSolaris_Pow_Int_OverloadTests[] = {
6370 { TT_EGREP, zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, };
6371
6372 /*
6373 * Fix Command Arguments for Solaris_Pow_Int_Overload
6374 */
6375 static const char* apzSolaris_Pow_Int_OverloadPatch[] = {
6376 "format",
6377 "#ifndef __GXX_EXPERIMENTAL_CXX0X__\n\
6378 %0\n\
6379 #endif",
6380 (char*)NULL };
6381
6382 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6383 *
6384 * Description of Solaris_Rwlock_Init_1 fix
6385 */
6386 tSCC zSolaris_Rwlock_Init_1Name[] =
6387 "solaris_rwlock_init_1";
6388
6389 /*
6390 * File name selection pattern
6391 */
6392 tSCC zSolaris_Rwlock_Init_1List[] =
6393 "pthread.h\0";
6394 /*
6395 * Machine/OS name selection pattern
6396 */
6397 tSCC* apzSolaris_Rwlock_Init_1Machs[] = {
6398 "*-*-solaris*",
6399 (const char*)NULL };
6400
6401 /*
6402 * content selection pattern - do fix if pattern found
6403 */
6404 tSCC zSolaris_Rwlock_Init_1Select0[] =
6405 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6406
6407 #define SOLARIS_RWLOCK_INIT_1_TEST_CT 1
6408 static tTestDesc aSolaris_Rwlock_Init_1Tests[] = {
6409 { TT_EGREP, zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, };
6410
6411 /*
6412 * Fix Command Arguments for Solaris_Rwlock_Init_1
6413 */
6414 static const char* apzSolaris_Rwlock_Init_1Patch[] = {
6415 "format",
6416 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6417 %0\n\
6418 #else\n\
6419 %1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\
6420 #endif",
6421 "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$",
6422 (char*)NULL };
6423
6424 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6425 *
6426 * Description of Solaris_Once_Init_1 fix
6427 */
6428 tSCC zSolaris_Once_Init_1Name[] =
6429 "solaris_once_init_1";
6430
6431 /*
6432 * File name selection pattern
6433 */
6434 tSCC zSolaris_Once_Init_1List[] =
6435 "pthread.h\0";
6436 /*
6437 * Machine/OS name selection pattern
6438 */
6439 tSCC* apzSolaris_Once_Init_1Machs[] = {
6440 "*-*-solaris*",
6441 (const char*)NULL };
6442
6443 /*
6444 * content selection pattern - do fix if pattern found
6445 */
6446 tSCC zSolaris_Once_Init_1Select0[] =
6447 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6448
6449 #define SOLARIS_ONCE_INIT_1_TEST_CT 1
6450 static tTestDesc aSolaris_Once_Init_1Tests[] = {
6451 { TT_EGREP, zSolaris_Once_Init_1Select0, (regex_t*)NULL }, };
6452
6453 /*
6454 * Fix Command Arguments for Solaris_Once_Init_1
6455 */
6456 static const char* apzSolaris_Once_Init_1Patch[] = {
6457 "format",
6458 "%1{%2}%3",
6459 "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$",
6460 (char*)NULL };
6461
6462 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6463 *
6464 * Description of Solaris_Once_Init_2 fix
6465 */
6466 tSCC zSolaris_Once_Init_2Name[] =
6467 "solaris_once_init_2";
6468
6469 /*
6470 * File name selection pattern
6471 */
6472 tSCC zSolaris_Once_Init_2List[] =
6473 "pthread.h\0";
6474 /*
6475 * Machine/OS name selection pattern
6476 */
6477 tSCC* apzSolaris_Once_Init_2Machs[] = {
6478 "*-*-solaris2.[0-9]",
6479 "*-*-solaris2.[0-9][!0-9]*",
6480 (const char*)NULL };
6481
6482 /*
6483 * content selection pattern - do fix if pattern found
6484 */
6485 tSCC zSolaris_Once_Init_2Select0[] =
6486 "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI";
6487
6488 #define SOLARIS_ONCE_INIT_2_TEST_CT 1
6489 static tTestDesc aSolaris_Once_Init_2Tests[] = {
6490 { TT_EGREP, zSolaris_Once_Init_2Select0, (regex_t*)NULL }, };
6491
6492 /*
6493 * Fix Command Arguments for Solaris_Once_Init_2
6494 */
6495 static const char* apzSolaris_Once_Init_2Patch[] = {
6496 "format",
6497 "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\
6498 %0\n\
6499 #else\n\
6500 %1{0}, {0}, {0}, {%3}%4\n\
6501 #endif",
6502 "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$",
6503 (char*)NULL };
6504
6505 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6506 *
6507 * Description of Solaris_Int_Const fix
6508 */
6509 tSCC zSolaris_Int_ConstName[] =
6510 "solaris_int_const";
6511
6512 /*
6513 * File name selection pattern
6514 */
6515 tSCC zSolaris_Int_ConstList[] =
6516 "sys/int_const.h\0";
6517 /*
6518 * Machine/OS name selection pattern
6519 */
6520 tSCC* apzSolaris_Int_ConstMachs[] = {
6521 "*-*-solaris2*",
6522 (const char*)NULL };
6523
6524 /*
6525 * content selection pattern - do fix if pattern found
6526 */
6527 tSCC zSolaris_Int_ConstSelect0[] =
6528 "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\
6529 (/*.**/)\n\
6530 #define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*";
6531
6532 #define SOLARIS_INT_CONST_TEST_CT 1
6533 static tTestDesc aSolaris_Int_ConstTests[] = {
6534 { TT_EGREP, zSolaris_Int_ConstSelect0, (regex_t*)NULL }, };
6535
6536 /*
6537 * Fix Command Arguments for Solaris_Int_Const
6538 */
6539 static const char* apzSolaris_Int_ConstPatch[] = {
6540 "format",
6541 "#define\tUINT8_C(c)\t(c)\n\
6542 %1\n\
6543 #define\tUINT16_C(c)\t(c)",
6544 (char*)NULL };
6545
6546 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6547 *
6548 * Description of Solaris_Int_Limits_1 fix
6549 */
6550 tSCC zSolaris_Int_Limits_1Name[] =
6551 "solaris_int_limits_1";
6552
6553 /*
6554 * File name selection pattern
6555 */
6556 tSCC zSolaris_Int_Limits_1List[] =
6557 "sys/int_limits.h\0";
6558 /*
6559 * Machine/OS name selection pattern
6560 */
6561 tSCC* apzSolaris_Int_Limits_1Machs[] = {
6562 "*-*-solaris2*",
6563 (const char*)NULL };
6564
6565 /*
6566 * content selection pattern - do fix if pattern found
6567 */
6568 tSCC zSolaris_Int_Limits_1Select0[] =
6569 "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\
6570 #define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)";
6571
6572 #define SOLARIS_INT_LIMITS_1_TEST_CT 1
6573 static tTestDesc aSolaris_Int_Limits_1Tests[] = {
6574 { TT_EGREP, zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, };
6575
6576 /*
6577 * Fix Command Arguments for Solaris_Int_Limits_1
6578 */
6579 static const char* apzSolaris_Int_Limits_1Patch[] = {
6580 "format",
6581 "#define\tUINT8_MAX\t(255)\n\
6582 #define\tUINT16_MAX\t(65535)",
6583 (char*)NULL };
6584
6585 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6586 *
6587 * Description of Solaris_Int_Limits_2 fix
6588 */
6589 tSCC zSolaris_Int_Limits_2Name[] =
6590 "solaris_int_limits_2";
6591
6592 /*
6593 * File name selection pattern
6594 */
6595 tSCC zSolaris_Int_Limits_2List[] =
6596 "sys/int_limits.h\0";
6597 /*
6598 * Machine/OS name selection pattern
6599 */
6600 tSCC* apzSolaris_Int_Limits_2Machs[] = {
6601 "*-*-solaris2*",
6602 (const char*)NULL };
6603
6604 /*
6605 * content selection pattern - do fix if pattern found
6606 */
6607 tSCC zSolaris_Int_Limits_2Select0[] =
6608 "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*";
6609
6610 #define SOLARIS_INT_LIMITS_2_TEST_CT 1
6611 static tTestDesc aSolaris_Int_Limits_2Tests[] = {
6612 { TT_EGREP, zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, };
6613
6614 /*
6615 * Fix Command Arguments for Solaris_Int_Limits_2
6616 */
6617 static const char* apzSolaris_Int_Limits_2Patch[] = {
6618 "format",
6619 "#define\t%1_FAST16_%2 %132_%2",
6620 (char*)NULL };
6621
6622 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6623 *
6624 * Description of Solaris_Int_Limits_3 fix
6625 */
6626 tSCC zSolaris_Int_Limits_3Name[] =
6627 "solaris_int_limits_3";
6628
6629 /*
6630 * File name selection pattern
6631 */
6632 tSCC zSolaris_Int_Limits_3List[] =
6633 "sys/int_limits.h\0";
6634 /*
6635 * Machine/OS name selection pattern
6636 */
6637 tSCC* apzSolaris_Int_Limits_3Machs[] = {
6638 "*-*-solaris2*",
6639 (const char*)NULL };
6640
6641 /*
6642 * content selection pattern - do fix if pattern found
6643 */
6644 tSCC zSolaris_Int_Limits_3Select0[] =
6645 "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL";
6646
6647 #define SOLARIS_INT_LIMITS_3_TEST_CT 1
6648 static tTestDesc aSolaris_Int_Limits_3Tests[] = {
6649 { TT_EGREP, zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, };
6650
6651 /*
6652 * Fix Command Arguments for Solaris_Int_Limits_3
6653 */
6654 static const char* apzSolaris_Int_Limits_3Patch[] = {
6655 "format",
6656 "#define\tSIZE_MAX\t4294967295U",
6657 (char*)NULL };
6658
6659 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6660 *
6661 * Description of Solaris_Int_Types fix
6662 */
6663 tSCC zSolaris_Int_TypesName[] =
6664 "solaris_int_types";
6665
6666 /*
6667 * File name selection pattern
6668 */
6669 tSCC zSolaris_Int_TypesList[] =
6670 "sys/int_types.h\0";
6671 /*
6672 * Machine/OS name selection pattern
6673 */
6674 #define apzSolaris_Int_TypesMachs (const char**)NULL
6675
6676 /*
6677 * content selection pattern - do fix if pattern found
6678 */
6679 tSCC zSolaris_Int_TypesSelect0[] =
6680 "__STDC__ - 0 == 0";
6681
6682 /*
6683 * content bypass pattern - skip fix if pattern found
6684 */
6685 tSCC zSolaris_Int_TypesBypass0[] =
6686 "_LONGLONG_TYPE";
6687
6688 #define SOLARIS_INT_TYPES_TEST_CT 2
6689 static tTestDesc aSolaris_Int_TypesTests[] = {
6690 { TT_NEGREP, zSolaris_Int_TypesBypass0, (regex_t*)NULL },
6691 { TT_EGREP, zSolaris_Int_TypesSelect0, (regex_t*)NULL }, };
6692
6693 /*
6694 * Fix Command Arguments for Solaris_Int_Types
6695 */
6696 static const char* apzSolaris_Int_TypesPatch[] = {
6697 "format",
6698 "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))",
6699 (char*)NULL };
6700
6701 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6702 *
6703 * Description of Solaris_Posix_Spawn_Restrict fix
6704 */
6705 tSCC zSolaris_Posix_Spawn_RestrictName[] =
6706 "solaris_posix_spawn_restrict";
6707
6708 /*
6709 * File name selection pattern
6710 */
6711 tSCC zSolaris_Posix_Spawn_RestrictList[] =
6712 "spawn.h\0";
6713 /*
6714 * Machine/OS name selection pattern
6715 */
6716 tSCC* apzSolaris_Posix_Spawn_RestrictMachs[] = {
6717 "*-*-solaris2*",
6718 (const char*)NULL };
6719
6720 /*
6721 * content selection pattern - do fix if pattern found
6722 */
6723 tSCC zSolaris_Posix_Spawn_RestrictSelect0[] =
6724 "(.*[ \t]+)([a-z]+)\\[_RESTRICT_KYWD\\](.*)";
6725
6726 #define SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT 1
6727 static tTestDesc aSolaris_Posix_Spawn_RestrictTests[] = {
6728 { TT_EGREP, zSolaris_Posix_Spawn_RestrictSelect0, (regex_t*)NULL }, };
6729
6730 /*
6731 * Fix Command Arguments for Solaris_Posix_Spawn_Restrict
6732 */
6733 static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = {
6734 "format",
6735 "%1*_RESTRICT_KYWD %2%3",
6736 (char*)NULL };
6737
6738 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6739 *
6740 * Description of Solaris_Std___Filbuf fix
6741 */
6742 tSCC zSolaris_Std___FilbufName[] =
6743 "solaris_std___filbuf";
6744
6745 /*
6746 * File name selection pattern
6747 */
6748 tSCC zSolaris_Std___FilbufList[] =
6749 "stdio.h\0";
6750 /*
6751 * Machine/OS name selection pattern
6752 */
6753 tSCC* apzSolaris_Std___FilbufMachs[] = {
6754 "*-*-solaris2*",
6755 (const char*)NULL };
6756
6757 /*
6758 * content selection pattern - do fix if pattern found
6759 */
6760 tSCC zSolaris_Std___FilbufSelect0[] =
6761 "(using std::perror;\n\
6762 )(#endif)";
6763
6764 /*
6765 * content bypass pattern - skip fix if pattern found
6766 */
6767 tSCC zSolaris_Std___FilbufBypass0[] =
6768 "using std::__filbuf";
6769
6770 #define SOLARIS_STD___FILBUF_TEST_CT 2
6771 static tTestDesc aSolaris_Std___FilbufTests[] = {
6772 { TT_NEGREP, zSolaris_Std___FilbufBypass0, (regex_t*)NULL },
6773 { TT_EGREP, zSolaris_Std___FilbufSelect0, (regex_t*)NULL }, };
6774
6775 /*
6776 * Fix Command Arguments for Solaris_Std___Filbuf
6777 */
6778 static const char* apzSolaris_Std___FilbufPatch[] = {
6779 "format",
6780 "%1#ifndef _LP64\n\
6781 using std::__filbuf;\n\
6782 using std::__flsbuf;\n\
6783 #endif\n\
6784 %2",
6785 (char*)NULL };
6786
6787 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6788 *
6789 * Description of Solaris_Stdio_Tag fix
6790 */
6791 tSCC zSolaris_Stdio_TagName[] =
6792 "solaris_stdio_tag";
6793
6794 /*
6795 * File name selection pattern
6796 */
6797 tSCC zSolaris_Stdio_TagList[] =
6798 "stdio_tag.h\0";
6799 /*
6800 * Machine/OS name selection pattern
6801 */
6802 #define apzSolaris_Stdio_TagMachs (const char**)NULL
6803
6804 /*
6805 * content selection pattern - do fix if pattern found
6806 */
6807 tSCC zSolaris_Stdio_TagSelect0[] =
6808 "__cplusplus < 54321L";
6809
6810 /*
6811 * content bypass pattern - skip fix if pattern found
6812 */
6813 tSCC zSolaris_Stdio_TagBypass0[] =
6814 "__GNUC__";
6815
6816 #define SOLARIS_STDIO_TAG_TEST_CT 2
6817 static tTestDesc aSolaris_Stdio_TagTests[] = {
6818 { TT_NEGREP, zSolaris_Stdio_TagBypass0, (regex_t*)NULL },
6819 { TT_EGREP, zSolaris_Stdio_TagSelect0, (regex_t*)NULL }, };
6820
6821 /*
6822 * Fix Command Arguments for Solaris_Stdio_Tag
6823 */
6824 static const char* apzSolaris_Stdio_TagPatch[] = { sed_cmd_z,
6825 "-e", "s/defined(__cplusplus) && (__cplusplus < 54321L)/0/",
6826 (char*)NULL };
6827
6828 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6829 *
6830 * Description of Solaris_Sys_Va_List fix
6831 */
6832 tSCC zSolaris_Sys_Va_ListName[] =
6833 "solaris_sys_va_list";
6834
6835 /*
6836 * File name selection pattern
6837 */
6838 tSCC zSolaris_Sys_Va_ListList[] =
6839 "sys/va_list.h\0";
6840 /*
6841 * Machine/OS name selection pattern
6842 */
6843 tSCC* apzSolaris_Sys_Va_ListMachs[] = {
6844 "*-*-solaris2.9",
6845 (const char*)NULL };
6846
6847 /*
6848 * content selection pattern - do fix if pattern found
6849 */
6850 tSCC zSolaris_Sys_Va_ListSelect0[] =
6851 "#if.*__STDC__.*\n\
6852 typedef void \\*__va_list;\n\
6853 #else\n\
6854 typedef char \\*__va_list;\n\
6855 #endif";
6856
6857 #define SOLARIS_SYS_VA_LIST_TEST_CT 1
6858 static tTestDesc aSolaris_Sys_Va_ListTests[] = {
6859 { TT_EGREP, zSolaris_Sys_Va_ListSelect0, (regex_t*)NULL }, };
6860
6861 /*
6862 * Fix Command Arguments for Solaris_Sys_Va_List
6863 */
6864 static const char* apzSolaris_Sys_Va_ListPatch[] = {
6865 "format",
6866 "#ifdef __GNUC__\n\
6867 typedef __builtin_va_list __va_list;\n\
6868 #else\n\
6869 %0\n\
6870 #endif",
6871 (char*)NULL };
6872
6873 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6874 *
6875 * Description of Statsswtch fix
6876 */
6877 tSCC zStatsswtchName[] =
6878 "statsswtch";
6879
6880 /*
6881 * File name selection pattern
6882 */
6883 tSCC zStatsswtchList[] =
6884 "rpcsvc/rstat.h\0";
6885 /*
6886 * Machine/OS name selection pattern
6887 */
6888 #define apzStatsswtchMachs (const char**)NULL
6889
6890 /*
6891 * content selection pattern - do fix if pattern found
6892 */
6893 tSCC zStatsswtchSelect0[] =
6894 "boottime$";
6895
6896 #define STATSSWTCH_TEST_CT 1
6897 static tTestDesc aStatsswtchTests[] = {
6898 { TT_EGREP, zStatsswtchSelect0, (regex_t*)NULL }, };
6899
6900 /*
6901 * Fix Command Arguments for Statsswtch
6902 */
6903 static const char* apzStatsswtchPatch[] = {
6904 "format",
6905 "boottime;",
6906 (char*)NULL };
6907
6908 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6909 *
6910 * Description of Stdio_Stdarg_H fix
6911 */
6912 tSCC zStdio_Stdarg_HName[] =
6913 "stdio_stdarg_h";
6914
6915 /*
6916 * File name selection pattern
6917 */
6918 tSCC zStdio_Stdarg_HList[] =
6919 "stdio.h\0";
6920 /*
6921 * Machine/OS name selection pattern
6922 */
6923 tSCC* apzStdio_Stdarg_HMachs[] = {
6924 "*-*-solaris2.1[0-9]*",
6925 (const char*)NULL };
6926
6927 /*
6928 * content bypass pattern - skip fix if pattern found
6929 */
6930 tSCC zStdio_Stdarg_HBypass0[] =
6931 "include.*(stdarg.h|machine/ansi.h)";
6932
6933 #define STDIO_STDARG_H_TEST_CT 1
6934 static tTestDesc aStdio_Stdarg_HTests[] = {
6935 { TT_NEGREP, zStdio_Stdarg_HBypass0, (regex_t*)NULL }, };
6936
6937 /*
6938 * Fix Command Arguments for Stdio_Stdarg_H
6939 */
6940 static const char* apzStdio_Stdarg_HPatch[] = {
6941 "wrap",
6942 "#define __need___va_list\n\
6943 #include <stdarg.h>\n",
6944 (char*)NULL };
6945
6946 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6947 *
6948 * Description of Stdio_Va_List fix
6949 */
6950 tSCC zStdio_Va_ListName[] =
6951 "stdio_va_list";
6952
6953 /*
6954 * File name selection pattern
6955 */
6956 tSCC zStdio_Va_ListList[] =
6957 "stdio.h\0";
6958 /*
6959 * Machine/OS name selection pattern
6960 */
6961 tSCC* apzStdio_Va_ListMachs[] = {
6962 "*-*-solaris2.1[0-9]*",
6963 (const char*)NULL };
6964
6965 /*
6966 * content bypass pattern - skip fix if pattern found
6967 */
6968 tSCC zStdio_Va_ListBypass0[] =
6969 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
6970
6971 #define STDIO_VA_LIST_TEST_CT 1
6972 static tTestDesc aStdio_Va_ListTests[] = {
6973 { TT_NEGREP, zStdio_Va_ListBypass0, (regex_t*)NULL }, };
6974
6975 /*
6976 * Fix Command Arguments for Stdio_Va_List
6977 */
6978 static const char* apzStdio_Va_ListPatch[] = { sed_cmd_z,
6979 "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
6980 s@(va_list)&@(__gnuc_va_list)\\&@\n\
6981 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
6982 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
6983 s@ va_list@ __not_va_list__@\n\
6984 s@\\*va_list@*__not_va_list__@\n\
6985 s@ __va_list)@ __gnuc_va_list)@\n\
6986 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
6987 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
6988 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
6989 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
6990 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
6991 s@VA_LIST@DUMMY_VA_LIST@\n\
6992 s@_Va_LIST@_VA_LIST@",
6993 (char*)NULL };
6994
6995 /* * * * * * * * * * * * * * * * * * * * * * * * * *
6996 *
6997 * Description of Stdio_Va_List_Clients fix
6998 */
6999 tSCC zStdio_Va_List_ClientsName[] =
7000 "stdio_va_list_clients";
7001
7002 /*
7003 * File name selection pattern
7004 */
7005 tSCC zStdio_Va_List_ClientsList[] =
7006 "com_err.h\0cps.h\0curses.h\0krb5.h\0lc_core.h\0pfmt.h\0wchar.h\0curses_colr/curses.h\0";
7007 /*
7008 * Machine/OS name selection pattern
7009 */
7010 #define apzStdio_Va_List_ClientsMachs (const char**)NULL
7011
7012 /*
7013 * content bypass pattern - skip fix if pattern found
7014 */
7015 tSCC zStdio_Va_List_ClientsBypass0[] =
7016 "__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list";
7017 tSCC zStdio_Va_List_ClientsBypass1[] =
7018 "include <stdarg\\.h>|#ifdef va_start";
7019
7020 #define STDIO_VA_LIST_CLIENTS_TEST_CT 2
7021 static tTestDesc aStdio_Va_List_ClientsTests[] = {
7022 { TT_NEGREP, zStdio_Va_List_ClientsBypass0, (regex_t*)NULL },
7023 { TT_NEGREP, zStdio_Va_List_ClientsBypass1, (regex_t*)NULL }, };
7024
7025 /*
7026 * Fix Command Arguments for Stdio_Va_List_Clients
7027 */
7028 static const char* apzStdio_Va_List_ClientsPatch[] = { sed_cmd_z,
7029 "-e", "s@[ \t]va_list\\([ \t)]\\)@ __gnuc_va_list\\1@\n\
7030 s@(va_list)&@(__gnuc_va_list)\\&@\n\
7031 s@ _VA_LIST_));@ __gnuc_va_list));@\n\
7032 s@ __VA_LIST__));@ __gnuc_va_list));@\n\
7033 s@ va_list@ __not_va_list__@\n\
7034 s@\\*va_list@*__not_va_list__@\n\
7035 s@ __va_list)@ __gnuc_va_list)@\n\
7036 s@typedef[ \t]\\(.*\\)[ \t]va_list[ \t]*;@typedef \\1 __not_va_list__;@\n\
7037 s@typedef[ \t]*__va_list__@typedef __gnuc_va_list@\n\
7038 s@GNUC_VA_LIST@GNUC_Va_LIST@\n\
7039 s@_VA_LIST_DEFINED@_Va_LIST_DEFINED@\n\
7040 s@_NEED___VA_LIST@_NEED___Va_LIST@\n\
7041 s@VA_LIST@DUMMY_VA_LIST@\n\
7042 s@_Va_LIST@_VA_LIST@",
7043 (char*)NULL };
7044
7045 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7046 *
7047 * Description of Strict_Ansi_Not fix
7048 */
7049 tSCC zStrict_Ansi_NotName[] =
7050 "strict_ansi_not";
7051
7052 /*
7053 * File name selection pattern
7054 */
7055 #define zStrict_Ansi_NotList (char*)NULL
7056 /*
7057 * Machine/OS name selection pattern
7058 */
7059 #define apzStrict_Ansi_NotMachs (const char**)NULL
7060
7061 /*
7062 * content selection pattern - do fix if pattern found
7063 */
7064 tSCC zStrict_Ansi_NotSelect0[] =
7065 "^([ \t]*#[ \t]*if.*)(!__STDC__|__STDC__[ \t]*==[ \t]*0|__STDC__[ \t]*!=[ \t]*1|__STDC__[ \t]*-[ \t]*0[ \t]*==[ \t]*0)";
7066
7067 /*
7068 * content bypass pattern - skip fix if pattern found
7069 */
7070 tSCC zStrict_Ansi_NotBypass0[] =
7071 "GNU and MIPS C compilers define __STDC__ differently";
7072 tSCC zStrict_Ansi_NotBypass1[] =
7073 "__SCO_VERSION__.*__STDC__ != 1";
7074
7075 /*
7076 * perform the C function call test
7077 */
7078 tSCC zStrict_Ansi_NotFTst0[] = "stdc_0_in_system_headers";
7079
7080 #define STRICT_ANSI_NOT_TEST_CT 4
7081 static tTestDesc aStrict_Ansi_NotTests[] = {
7082 { TT_FUNCTION, zStrict_Ansi_NotFTst0, 0 /* unused */ },
7083 { TT_NEGREP, zStrict_Ansi_NotBypass0, (regex_t*)NULL },
7084 { TT_NEGREP, zStrict_Ansi_NotBypass1, (regex_t*)NULL },
7085 { TT_EGREP, zStrict_Ansi_NotSelect0, (regex_t*)NULL }, };
7086
7087 /*
7088 * Fix Command Arguments for Strict_Ansi_Not
7089 */
7090 static const char* apzStrict_Ansi_NotPatch[] = {
7091 "format",
7092 "%1 !defined(__STRICT_ANSI__)",
7093 (char*)NULL };
7094
7095 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7096 *
7097 * Description of Strict_Ansi_Not_Ctd fix
7098 */
7099 tSCC zStrict_Ansi_Not_CtdName[] =
7100 "strict_ansi_not_ctd";
7101
7102 /*
7103 * File name selection pattern
7104 */
7105 tSCC zStrict_Ansi_Not_CtdList[] =
7106 "math.h\0limits.h\0stdio.h\0signal.h\0stdlib.h\0sys/signal.h\0time.h\0";
7107 /*
7108 * Machine/OS name selection pattern
7109 */
7110 #define apzStrict_Ansi_Not_CtdMachs (const char**)NULL
7111
7112 /*
7113 * content selection pattern - do fix if pattern found
7114 */
7115 tSCC zStrict_Ansi_Not_CtdSelect0[] =
7116 "^([ \t]*(\\(|&&|\\|\\|)([ \t(]*!*[ \t]*defined\\([a-zA-Z_0-9]+\\)[ \t]*[|&][|&])*[ \t(]*)(__STDC__[ \t]*(|-[ \t]*0[ \t]*)==[ \t]*0)";
7117
7118 /*
7119 * perform the C function call test
7120 */
7121 tSCC zStrict_Ansi_Not_CtdFTst0[] = "stdc_0_in_system_headers";
7122
7123 #define STRICT_ANSI_NOT_CTD_TEST_CT 2
7124 static tTestDesc aStrict_Ansi_Not_CtdTests[] = {
7125 { TT_FUNCTION, zStrict_Ansi_Not_CtdFTst0, 0 /* unused */ },
7126 { TT_EGREP, zStrict_Ansi_Not_CtdSelect0, (regex_t*)NULL }, };
7127
7128 /*
7129 * Fix Command Arguments for Strict_Ansi_Not_Ctd
7130 */
7131 static const char* apzStrict_Ansi_Not_CtdPatch[] = {
7132 "format",
7133 "%1 !defined(__STRICT_ANSI__)",
7134 (char*)NULL };
7135
7136 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7137 *
7138 * Description of Strict_Ansi_Only fix
7139 */
7140 tSCC zStrict_Ansi_OnlyName[] =
7141 "strict_ansi_only";
7142
7143 /*
7144 * File name selection pattern
7145 */
7146 #define zStrict_Ansi_OnlyList (char*)NULL
7147 /*
7148 * Machine/OS name selection pattern
7149 */
7150 #define apzStrict_Ansi_OnlyMachs (const char**)NULL
7151
7152 /*
7153 * content selection pattern - do fix if pattern found
7154 */
7155 tSCC zStrict_Ansi_OnlySelect0[] =
7156 "^([ \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)";
7157
7158 /*
7159 * perform the C function call test
7160 */
7161 tSCC zStrict_Ansi_OnlyFTst0[] = "stdc_0_in_system_headers";
7162
7163 #define STRICT_ANSI_ONLY_TEST_CT 2
7164 static tTestDesc aStrict_Ansi_OnlyTests[] = {
7165 { TT_FUNCTION, zStrict_Ansi_OnlyFTst0, 0 /* unused */ },
7166 { TT_EGREP, zStrict_Ansi_OnlySelect0, (regex_t*)NULL }, };
7167
7168 /*
7169 * Fix Command Arguments for Strict_Ansi_Only
7170 */
7171 static const char* apzStrict_Ansi_OnlyPatch[] = {
7172 "format",
7173 "%1 defined(__STRICT_ANSI__)",
7174 (char*)NULL };
7175
7176 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7177 *
7178 * Description of Struct_File fix
7179 */
7180 tSCC zStruct_FileName[] =
7181 "struct_file";
7182
7183 /*
7184 * File name selection pattern
7185 */
7186 tSCC zStruct_FileList[] =
7187 "rpc/xdr.h\0";
7188 /*
7189 * Machine/OS name selection pattern
7190 */
7191 #define apzStruct_FileMachs (const char**)NULL
7192
7193 /*
7194 * content selection pattern - do fix if pattern found
7195 */
7196 tSCC zStruct_FileSelect0[] =
7197 "^.*xdrstdio_create.*struct __file_s";
7198
7199 #define STRUCT_FILE_TEST_CT 1
7200 static tTestDesc aStruct_FileTests[] = {
7201 { TT_EGREP, zStruct_FileSelect0, (regex_t*)NULL }, };
7202
7203 /*
7204 * Fix Command Arguments for Struct_File
7205 */
7206 static const char* apzStruct_FilePatch[] = {
7207 "format",
7208 "struct __file_s;\n\
7209 %0",
7210 (char*)NULL };
7211
7212 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7213 *
7214 * Description of Struct_Sockaddr fix
7215 */
7216 tSCC zStruct_SockaddrName[] =
7217 "struct_sockaddr";
7218
7219 /*
7220 * File name selection pattern
7221 */
7222 tSCC zStruct_SockaddrList[] =
7223 "rpc/auth.h\0";
7224 /*
7225 * Machine/OS name selection pattern
7226 */
7227 #define apzStruct_SockaddrMachs (const char**)NULL
7228
7229 /*
7230 * content selection pattern - do fix if pattern found
7231 */
7232 tSCC zStruct_SockaddrSelect0[] =
7233 "^.*authdes_create.*struct sockaddr[^_]";
7234
7235 /*
7236 * content bypass pattern - skip fix if pattern found
7237 */
7238 tSCC zStruct_SockaddrBypass0[] =
7239 "<sys/socket.h>";
7240 tSCC zStruct_SockaddrBypass1[] =
7241 "struct sockaddr;\n";
7242
7243 #define STRUCT_SOCKADDR_TEST_CT 3
7244 static tTestDesc aStruct_SockaddrTests[] = {
7245 { TT_NEGREP, zStruct_SockaddrBypass0, (regex_t*)NULL },
7246 { TT_NEGREP, zStruct_SockaddrBypass1, (regex_t*)NULL },
7247 { TT_EGREP, zStruct_SockaddrSelect0, (regex_t*)NULL }, };
7248
7249 /*
7250 * Fix Command Arguments for Struct_Sockaddr
7251 */
7252 static const char* apzStruct_SockaddrPatch[] = {
7253 "format",
7254 "struct sockaddr;\n\
7255 %0",
7256 (char*)NULL };
7257
7258 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7259 *
7260 * Description of Sun_Auth_Proto fix
7261 */
7262 tSCC zSun_Auth_ProtoName[] =
7263 "sun_auth_proto";
7264
7265 /*
7266 * File name selection pattern
7267 */
7268 tSCC zSun_Auth_ProtoList[] =
7269 "rpc/auth.h\0rpc/clnt.h\0rpc/svc.h\0rpc/xdr.h\0";
7270 /*
7271 * Machine/OS name selection pattern
7272 */
7273 #define apzSun_Auth_ProtoMachs (const char**)NULL
7274
7275 /*
7276 * content selection pattern - do fix if pattern found
7277 */
7278 tSCC zSun_Auth_ProtoSelect0[] =
7279 "\\(\\*[a-z][a-z_]*\\)\\(\\)";
7280
7281 /*
7282 * content bypass pattern - skip fix if pattern found
7283 */
7284 tSCC zSun_Auth_ProtoBypass0[] =
7285 "__cplusplus";
7286
7287 #define SUN_AUTH_PROTO_TEST_CT 2
7288 static tTestDesc aSun_Auth_ProtoTests[] = {
7289 { TT_NEGREP, zSun_Auth_ProtoBypass0, (regex_t*)NULL },
7290 { TT_EGREP, zSun_Auth_ProtoSelect0, (regex_t*)NULL }, };
7291
7292 /*
7293 * Fix Command Arguments for Sun_Auth_Proto
7294 */
7295 static const char* apzSun_Auth_ProtoPatch[] = {
7296 "format",
7297 "#ifdef __cplusplus\n\
7298 %1(...);%2\n\
7299 #else\n\
7300 %1();%2\n\
7301 #endif",
7302 "(.*\\(\\*[a-z][a-z_]*\\))\\(\\);(.*)",
7303 (char*)NULL };
7304
7305 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7306 *
7307 * Description of Sun_Bogus_Ifdef fix
7308 */
7309 tSCC zSun_Bogus_IfdefName[] =
7310 "sun_bogus_ifdef";
7311
7312 /*
7313 * File name selection pattern
7314 */
7315 tSCC zSun_Bogus_IfdefList[] =
7316 "hsfs/hsfs_spec.h\0hsfs/iso_spec.h\0";
7317 /*
7318 * Machine/OS name selection pattern
7319 */
7320 #define apzSun_Bogus_IfdefMachs (const char**)NULL
7321
7322 /*
7323 * content selection pattern - do fix if pattern found
7324 */
7325 tSCC zSun_Bogus_IfdefSelect0[] =
7326 "#ifdef(.*\\|\\|.*)";
7327
7328 #define SUN_BOGUS_IFDEF_TEST_CT 1
7329 static tTestDesc aSun_Bogus_IfdefTests[] = {
7330 { TT_EGREP, zSun_Bogus_IfdefSelect0, (regex_t*)NULL }, };
7331
7332 /*
7333 * Fix Command Arguments for Sun_Bogus_Ifdef
7334 */
7335 static const char* apzSun_Bogus_IfdefPatch[] = {
7336 "format",
7337 "#if%1",
7338 (char*)NULL };
7339
7340 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7341 *
7342 * Description of Sun_Catmacro fix
7343 */
7344 tSCC zSun_CatmacroName[] =
7345 "sun_catmacro";
7346
7347 /*
7348 * File name selection pattern
7349 */
7350 tSCC zSun_CatmacroList[] =
7351 "pixrect/memvar.h\0";
7352 /*
7353 * Machine/OS name selection pattern
7354 */
7355 #define apzSun_CatmacroMachs (const char**)NULL
7356
7357 /*
7358 * content selection pattern - do fix if pattern found
7359 */
7360 tSCC zSun_CatmacroSelect0[] =
7361 "^#define[ \t]+CAT\\(a,b\\).*";
7362
7363 #define SUN_CATMACRO_TEST_CT 1
7364 static tTestDesc aSun_CatmacroTests[] = {
7365 { TT_EGREP, zSun_CatmacroSelect0, (regex_t*)NULL }, };
7366
7367 /*
7368 * Fix Command Arguments for Sun_Catmacro
7369 */
7370 static const char* apzSun_CatmacroPatch[] = {
7371 "format",
7372 "#ifdef __STDC__\n\
7373 # define CAT(a,b) a##b\n\
7374 #else\n\
7375 %0\n\
7376 #endif",
7377 (char*)NULL };
7378
7379 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7380 *
7381 * Description of Sun_Malloc fix
7382 */
7383 tSCC zSun_MallocName[] =
7384 "sun_malloc";
7385
7386 /*
7387 * File name selection pattern
7388 */
7389 tSCC zSun_MallocList[] =
7390 "malloc.h\0";
7391 /*
7392 * Machine/OS name selection pattern
7393 */
7394 #define apzSun_MallocMachs (const char**)NULL
7395
7396 /*
7397 * content bypass pattern - skip fix if pattern found
7398 */
7399 tSCC zSun_MallocBypass0[] =
7400 "_CLASSIC_ANSI_TYPES";
7401
7402 #define SUN_MALLOC_TEST_CT 1
7403 static tTestDesc aSun_MallocTests[] = {
7404 { TT_NEGREP, zSun_MallocBypass0, (regex_t*)NULL }, };
7405
7406 /*
7407 * Fix Command Arguments for Sun_Malloc
7408 */
7409 static const char* apzSun_MallocPatch[] = { sed_cmd_z,
7410 "-e", "s/typedef[ \t]char \\*\tmalloc_t/typedef void \\*\tmalloc_t/g",
7411 "-e", "s/int[ \t][ \t]*free/void\tfree/g",
7412 "-e", "s/char\\([ \t]*\\*[ \t]*malloc\\)/void\\1/g",
7413 "-e", "s/char\\([ \t]*\\*[ \t]*realloc\\)/void\\1/g",
7414 "-e", "s/char\\([ \t]*\\*[ \t]*calloc\\)/void\\1/g",
7415 (char*)NULL };
7416
7417 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7418 *
7419 * Description of Sun_Rusers_Semi fix
7420 */
7421 tSCC zSun_Rusers_SemiName[] =
7422 "sun_rusers_semi";
7423
7424 /*
7425 * File name selection pattern
7426 */
7427 tSCC zSun_Rusers_SemiList[] =
7428 "rpcsvc/rusers.h\0";
7429 /*
7430 * Machine/OS name selection pattern
7431 */
7432 #define apzSun_Rusers_SemiMachs (const char**)NULL
7433
7434 /*
7435 * content selection pattern - do fix if pattern found
7436 */
7437 tSCC zSun_Rusers_SemiSelect0[] =
7438 "_cnt$";
7439
7440 #define SUN_RUSERS_SEMI_TEST_CT 1
7441 static tTestDesc aSun_Rusers_SemiTests[] = {
7442 { TT_EGREP, zSun_Rusers_SemiSelect0, (regex_t*)NULL }, };
7443
7444 /*
7445 * Fix Command Arguments for Sun_Rusers_Semi
7446 */
7447 static const char* apzSun_Rusers_SemiPatch[] = { sed_cmd_z,
7448 "-e", "/^struct/,/^};/s/_cnt$/_cnt;/",
7449 (char*)NULL };
7450
7451 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7452 *
7453 * Description of Sun_Signal fix
7454 */
7455 tSCC zSun_SignalName[] =
7456 "sun_signal";
7457
7458 /*
7459 * File name selection pattern
7460 */
7461 tSCC zSun_SignalList[] =
7462 "sys/signal.h\0signal.h\0";
7463 /*
7464 * Machine/OS name selection pattern
7465 */
7466 #define apzSun_SignalMachs (const char**)NULL
7467
7468 /*
7469 * content selection pattern - do fix if pattern found
7470 */
7471 tSCC zSun_SignalSelect0[] =
7472 "^void\t\\(\\*signal\\(\\)\\)\\(\\);.*";
7473
7474 #define SUN_SIGNAL_TEST_CT 1
7475 static tTestDesc aSun_SignalTests[] = {
7476 { TT_EGREP, zSun_SignalSelect0, (regex_t*)NULL }, };
7477
7478 /*
7479 * Fix Command Arguments for Sun_Signal
7480 */
7481 static const char* apzSun_SignalPatch[] = {
7482 "format",
7483 "#ifdef __cplusplus\n\
7484 void\t(*signal(...))(...);\n\
7485 #else\n\
7486 %0\n\
7487 #endif",
7488 (char*)NULL };
7489
7490 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7491 *
7492 * Description of Sunos_Strlen fix
7493 */
7494 tSCC zSunos_StrlenName[] =
7495 "sunos_strlen";
7496
7497 /*
7498 * File name selection pattern
7499 */
7500 tSCC zSunos_StrlenList[] =
7501 "strings.h\0";
7502 /*
7503 * Machine/OS name selection pattern
7504 */
7505 #define apzSunos_StrlenMachs (const char**)NULL
7506
7507 /*
7508 * content selection pattern - do fix if pattern found
7509 */
7510 tSCC zSunos_StrlenSelect0[] =
7511 "int[ \t]*strlen\\(\\);(.*)";
7512
7513 #define SUNOS_STRLEN_TEST_CT 1
7514 static tTestDesc aSunos_StrlenTests[] = {
7515 { TT_EGREP, zSunos_StrlenSelect0, (regex_t*)NULL }, };
7516
7517 /*
7518 * Fix Command Arguments for Sunos_Strlen
7519 */
7520 static const char* apzSunos_StrlenPatch[] = {
7521 "format",
7522 "__SIZE_TYPE__ strlen();%1",
7523 (char*)NULL };
7524
7525 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7526 *
7527 * Description of Svr4_Disable_Opt fix
7528 */
7529 tSCC zSvr4_Disable_OptName[] =
7530 "svr4_disable_opt";
7531
7532 /*
7533 * File name selection pattern
7534 */
7535 tSCC zSvr4_Disable_OptList[] =
7536 "string.h\0";
7537 /*
7538 * Machine/OS name selection pattern
7539 */
7540 #define apzSvr4_Disable_OptMachs (const char**)NULL
7541
7542 /*
7543 * content selection pattern - do fix if pattern found
7544 */
7545 tSCC zSvr4_Disable_OptSelect0[] =
7546 "#define.*__std_hdr_";
7547
7548 #define SVR4_DISABLE_OPT_TEST_CT 1
7549 static tTestDesc aSvr4_Disable_OptTests[] = {
7550 { TT_EGREP, zSvr4_Disable_OptSelect0, (regex_t*)NULL }, };
7551
7552 /*
7553 * Fix Command Arguments for Svr4_Disable_Opt
7554 */
7555 static const char* apzSvr4_Disable_OptPatch[] = { sed_cmd_z,
7556 "-e", "/#define.*__std_hdr_/d",
7557 (char*)NULL };
7558
7559 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7560 *
7561 * Description of Svr4_Getcwd fix
7562 */
7563 tSCC zSvr4_GetcwdName[] =
7564 "svr4_getcwd";
7565
7566 /*
7567 * File name selection pattern
7568 */
7569 tSCC zSvr4_GetcwdList[] =
7570 "stdlib.h\0unistd.h\0prototypes.h\0";
7571 /*
7572 * Machine/OS name selection pattern
7573 */
7574 #define apzSvr4_GetcwdMachs (const char**)NULL
7575
7576 /*
7577 * content selection pattern - do fix if pattern found
7578 */
7579 tSCC zSvr4_GetcwdSelect0[] =
7580 "getcwd\\(char \\*, int\\)";
7581
7582 #define SVR4_GETCWD_TEST_CT 1
7583 static tTestDesc aSvr4_GetcwdTests[] = {
7584 { TT_EGREP, zSvr4_GetcwdSelect0, (regex_t*)NULL }, };
7585
7586 /*
7587 * Fix Command Arguments for Svr4_Getcwd
7588 */
7589 static const char* apzSvr4_GetcwdPatch[] = {
7590 "format",
7591 "getcwd(char *, size_t)",
7592 (char*)NULL };
7593
7594 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7595 *
7596 * Description of Svr4_Profil fix
7597 */
7598 tSCC zSvr4_ProfilName[] =
7599 "svr4_profil";
7600
7601 /*
7602 * File name selection pattern
7603 */
7604 tSCC zSvr4_ProfilList[] =
7605 "stdlib.h\0unistd.h\0";
7606 /*
7607 * Machine/OS name selection pattern
7608 */
7609 #define apzSvr4_ProfilMachs (const char**)NULL
7610
7611 /*
7612 * content selection pattern - do fix if pattern found
7613 */
7614 tSCC zSvr4_ProfilSelect0[] =
7615 "profil\\(unsigned short \\*, unsigned int, unsigned int, unsigned int\\)";
7616
7617 #define SVR4_PROFIL_TEST_CT 1
7618 static tTestDesc aSvr4_ProfilTests[] = {
7619 { TT_EGREP, zSvr4_ProfilSelect0, (regex_t*)NULL }, };
7620
7621 /*
7622 * Fix Command Arguments for Svr4_Profil
7623 */
7624 static const char* apzSvr4_ProfilPatch[] = {
7625 "format",
7626 "profil(unsigned short *, size_t, int, unsigned int)",
7627 (char*)NULL };
7628
7629 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7630 *
7631 * Description of Svr4_Sighandler_Type fix
7632 */
7633 tSCC zSvr4_Sighandler_TypeName[] =
7634 "svr4_sighandler_type";
7635
7636 /*
7637 * File name selection pattern
7638 */
7639 tSCC zSvr4_Sighandler_TypeList[] =
7640 "sys/signal.h\0";
7641 /*
7642 * Machine/OS name selection pattern
7643 */
7644 #define apzSvr4_Sighandler_TypeMachs (const char**)NULL
7645
7646 /*
7647 * content selection pattern - do fix if pattern found
7648 */
7649 tSCC zSvr4_Sighandler_TypeSelect0[] =
7650 "void *\\(\\*\\)\\(\\)";
7651
7652 #define SVR4_SIGHANDLER_TYPE_TEST_CT 1
7653 static tTestDesc aSvr4_Sighandler_TypeTests[] = {
7654 { TT_EGREP, zSvr4_Sighandler_TypeSelect0, (regex_t*)NULL }, };
7655
7656 /*
7657 * Fix Command Arguments for Svr4_Sighandler_Type
7658 */
7659 static const char* apzSvr4_Sighandler_TypePatch[] = {
7660 "format",
7661 "void (*)(int)",
7662 (char*)NULL };
7663
7664 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7665 *
7666 * Description of Svr4_Undeclared_Getrnge fix
7667 */
7668 tSCC zSvr4_Undeclared_GetrngeName[] =
7669 "svr4_undeclared_getrnge";
7670
7671 /*
7672 * File name selection pattern
7673 */
7674 tSCC zSvr4_Undeclared_GetrngeList[] =
7675 "regexp.h\0";
7676 /*
7677 * Machine/OS name selection pattern
7678 */
7679 #define apzSvr4_Undeclared_GetrngeMachs (const char**)NULL
7680
7681 /*
7682 * content selection pattern - do fix if pattern found
7683 */
7684 tSCC zSvr4_Undeclared_GetrngeSelect0[] =
7685 "getrnge";
7686
7687 /*
7688 * content bypass pattern - skip fix if pattern found
7689 */
7690 tSCC zSvr4_Undeclared_GetrngeBypass0[] =
7691 "static void getrnge";
7692
7693 #define SVR4_UNDECLARED_GETRNGE_TEST_CT 2
7694 static tTestDesc aSvr4_Undeclared_GetrngeTests[] = {
7695 { TT_NEGREP, zSvr4_Undeclared_GetrngeBypass0, (regex_t*)NULL },
7696 { TT_EGREP, zSvr4_Undeclared_GetrngeSelect0, (regex_t*)NULL }, };
7697
7698 /*
7699 * Fix Command Arguments for Svr4_Undeclared_Getrnge
7700 */
7701 static const char* apzSvr4_Undeclared_GetrngePatch[] = {
7702 "format",
7703 "%0\n\
7704 static int getrnge ();",
7705 "^static int[ \t]+size;",
7706 (char*)NULL };
7707
7708 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7709 *
7710 * Description of Sysv68_String fix
7711 */
7712 tSCC zSysv68_StringName[] =
7713 "sysv68_string";
7714
7715 /*
7716 * File name selection pattern
7717 */
7718 tSCC zSysv68_StringList[] =
7719 "testing.h\0string.h\0";
7720 /*
7721 * Machine/OS name selection pattern
7722 */
7723 #define apzSysv68_StringMachs (const char**)NULL
7724
7725 /*
7726 * content bypass pattern - skip fix if pattern found
7727 */
7728 tSCC zSysv68_StringBypass0[] =
7729 "_CLASSIC_ANSI_TYPES";
7730
7731 #define SYSV68_STRING_TEST_CT 1
7732 static tTestDesc aSysv68_StringTests[] = {
7733 { TT_NEGREP, zSysv68_StringBypass0, (regex_t*)NULL }, };
7734
7735 /*
7736 * Fix Command Arguments for Sysv68_String
7737 */
7738 static const char* apzSysv68_StringPatch[] = { sed_cmd_z,
7739 "-e", "s/extern[ \t]*int[ \t]*strlen();/extern unsigned int strlen();/",
7740 "-e", "s/extern[ \t]*int[ \t]*ffs[ \t]*(long);/extern int ffs(int);/",
7741 "-e", "s/strdup(char \\*s1);/strdup(const char *s1);/",
7742 "-e", "/^extern char$/N",
7743 "-e", "s/^extern char\\(\\n\t\\*memccpy(),\\)$/extern void\\1/",
7744 "-e", "/^extern int$/N",
7745 "-e", "s/^extern int\\(\\n\tstrlen(),\\)/extern size_t\\1/",
7746 "-e", "/^\tstrncmp(),$/N",
7747 "-e", "s/^\\(\tstrncmp()\\),\\n\\(\tstrlen(),\\)$/\\1;\\\n\
7748 extern unsigned int\\\n\
7749 \\2/",
7750 (char*)NULL };
7751
7752 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7753 *
7754 * Description of Sysz_Stdlib_For_Sun fix
7755 */
7756 tSCC zSysz_Stdlib_For_SunName[] =
7757 "sysz_stdlib_for_sun";
7758
7759 /*
7760 * File name selection pattern
7761 */
7762 tSCC zSysz_Stdlib_For_SunList[] =
7763 "stdlib.h\0";
7764 /*
7765 * Machine/OS name selection pattern
7766 */
7767 #define apzSysz_Stdlib_For_SunMachs (const char**)NULL
7768
7769 /*
7770 * content selection pattern - do fix if pattern found
7771 */
7772 tSCC zSysz_Stdlib_For_SunSelect0[] =
7773 "char[ \t]*\\*[ \t]*(calloc|malloc|realloc|bsearch)[ \t]*\\(";
7774
7775 /*
7776 * content bypass pattern - skip fix if pattern found
7777 */
7778 tSCC zSysz_Stdlib_For_SunBypass0[] =
7779 "_CLASSIC_ANSI_TYPES";
7780
7781 #define SYSZ_STDLIB_FOR_SUN_TEST_CT 2
7782 static tTestDesc aSysz_Stdlib_For_SunTests[] = {
7783 { TT_NEGREP, zSysz_Stdlib_For_SunBypass0, (regex_t*)NULL },
7784 { TT_EGREP, zSysz_Stdlib_For_SunSelect0, (regex_t*)NULL }, };
7785
7786 /*
7787 * Fix Command Arguments for Sysz_Stdlib_For_Sun
7788 */
7789 static const char* apzSysz_Stdlib_For_SunPatch[] = {
7790 "format",
7791 "void *\t%1(",
7792 (char*)NULL };
7793
7794 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7795 *
7796 * Description of Thread_Keyword fix
7797 */
7798 tSCC zThread_KeywordName[] =
7799 "thread_keyword";
7800
7801 /*
7802 * File name selection pattern
7803 */
7804 tSCC zThread_KeywordList[] =
7805 "pthread.h\0bits/sigthread.h\0";
7806 /*
7807 * Machine/OS name selection pattern
7808 */
7809 #define apzThread_KeywordMachs (const char**)NULL
7810
7811 /*
7812 * content selection pattern - do fix if pattern found
7813 */
7814 tSCC zThread_KeywordSelect0[] =
7815 "([* ])__thread([,)])";
7816
7817 #define THREAD_KEYWORD_TEST_CT 1
7818 static tTestDesc aThread_KeywordTests[] = {
7819 { TT_EGREP, zThread_KeywordSelect0, (regex_t*)NULL }, };
7820
7821 /*
7822 * Fix Command Arguments for Thread_Keyword
7823 */
7824 static const char* apzThread_KeywordPatch[] = {
7825 "format",
7826 "%1__thr%2",
7827 (char*)NULL };
7828
7829 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7830 *
7831 * Description of Tinfo_Cplusplus fix
7832 */
7833 tSCC zTinfo_CplusplusName[] =
7834 "tinfo_cplusplus";
7835
7836 /*
7837 * File name selection pattern
7838 */
7839 tSCC zTinfo_CplusplusList[] =
7840 "tinfo.h\0";
7841 /*
7842 * Machine/OS name selection pattern
7843 */
7844 #define apzTinfo_CplusplusMachs (const char**)NULL
7845
7846 /*
7847 * content selection pattern - do fix if pattern found
7848 */
7849 tSCC zTinfo_CplusplusSelect0[] =
7850 "[ \t]_cplusplus";
7851
7852 #define TINFO_CPLUSPLUS_TEST_CT 1
7853 static tTestDesc aTinfo_CplusplusTests[] = {
7854 { TT_EGREP, zTinfo_CplusplusSelect0, (regex_t*)NULL }, };
7855
7856 /*
7857 * Fix Command Arguments for Tinfo_Cplusplus
7858 */
7859 static const char* apzTinfo_CplusplusPatch[] = {
7860 "format",
7861 " __cplusplus",
7862 (char*)NULL };
7863
7864 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7865 *
7866 * Description of Ultrix_Const fix
7867 */
7868 tSCC zUltrix_ConstName[] =
7869 "ultrix_const";
7870
7871 /*
7872 * File name selection pattern
7873 */
7874 tSCC zUltrix_ConstList[] =
7875 "stdio.h\0";
7876 /*
7877 * Machine/OS name selection pattern
7878 */
7879 #define apzUltrix_ConstMachs (const char**)NULL
7880
7881 /*
7882 * content selection pattern - do fix if pattern found
7883 */
7884 tSCC zUltrix_ConstSelect0[] =
7885 "perror\\( char \\*";
7886
7887 #define ULTRIX_CONST_TEST_CT 1
7888 static tTestDesc aUltrix_ConstTests[] = {
7889 { TT_EGREP, zUltrix_ConstSelect0, (regex_t*)NULL }, };
7890
7891 /*
7892 * Fix Command Arguments for Ultrix_Const
7893 */
7894 static const char* apzUltrix_ConstPatch[] = {
7895 "format",
7896 "%1 const %3 *__",
7897 "([ \t*](perror|fputs|fwrite|scanf|fscanf)\\(.*)[ \t]+(char|void) \\*__",
7898 (char*)NULL };
7899
7900 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7901 *
7902 * Description of Ultrix_Const2 fix
7903 */
7904 tSCC zUltrix_Const2Name[] =
7905 "ultrix_const2";
7906
7907 /*
7908 * File name selection pattern
7909 */
7910 tSCC zUltrix_Const2List[] =
7911 "stdio.h\0";
7912 /*
7913 * Machine/OS name selection pattern
7914 */
7915 #define apzUltrix_Const2Machs (const char**)NULL
7916
7917 /*
7918 * content selection pattern - do fix if pattern found
7919 */
7920 tSCC zUltrix_Const2Select0[] =
7921 "\\*fopen\\( char \\*";
7922
7923 #define ULTRIX_CONST2_TEST_CT 1
7924 static tTestDesc aUltrix_Const2Tests[] = {
7925 { TT_EGREP, zUltrix_Const2Select0, (regex_t*)NULL }, };
7926
7927 /*
7928 * Fix Command Arguments for Ultrix_Const2
7929 */
7930 static const char* apzUltrix_Const2Patch[] = {
7931 "format",
7932 "%1( const char *%3, const char *",
7933 "([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
7934 (char*)NULL };
7935
7936 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7937 *
7938 * Description of Va_I960_Macro fix
7939 */
7940 tSCC zVa_I960_MacroName[] =
7941 "va_i960_macro";
7942
7943 /*
7944 * File name selection pattern
7945 */
7946 tSCC zVa_I960_MacroList[] =
7947 "arch/i960/archI960.h\0";
7948 /*
7949 * Machine/OS name selection pattern
7950 */
7951 #define apzVa_I960_MacroMachs (const char**)NULL
7952
7953 /*
7954 * content selection pattern - do fix if pattern found
7955 */
7956 tSCC zVa_I960_MacroSelect0[] =
7957 "__(vsiz|vali|vpad|alignof__)";
7958
7959 #define VA_I960_MACRO_TEST_CT 1
7960 static tTestDesc aVa_I960_MacroTests[] = {
7961 { TT_EGREP, zVa_I960_MacroSelect0, (regex_t*)NULL }, };
7962
7963 /*
7964 * Fix Command Arguments for Va_I960_Macro
7965 */
7966 static const char* apzVa_I960_MacroPatch[] = {
7967 "format",
7968 "__vx%1",
7969 (char*)NULL };
7970
7971 /* * * * * * * * * * * * * * * * * * * * * * * * * *
7972 *
7973 * Description of Vms_Define_Can_Use_Extern_Prefix fix
7974 */
7975 tSCC zVms_Define_Can_Use_Extern_PrefixName[] =
7976 "vms_define_can_use_extern_prefix";
7977
7978 /*
7979 * File name selection pattern
7980 */
7981 tSCC zVms_Define_Can_Use_Extern_PrefixList[] =
7982 "rtldef/decc$types.h\0";
7983 /*
7984 * Machine/OS name selection pattern
7985 */
7986 tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = {
7987 "*-*-*vms*",
7988 (const char*)NULL };
7989
7990 /*
7991 * content selection pattern - do fix if pattern found
7992 */
7993 tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] =
7994 "#[ \t]*else\n\
7995 #[ \t]*if defined\\(__DECCXX\\)\n\
7996 #[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n";
7997
7998 #define VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT 1
7999 static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = {
8000 { TT_EGREP, zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, };
8001
8002 /*
8003 * Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix
8004 */
8005 static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = {
8006 "format",
8007 "%0# elif defined (__GNUC__)\n\
8008 #\tdefine __CAN_USE_EXTERN_PREFIX 1\n",
8009 (char*)NULL };
8010
8011 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8012 *
8013 * Description of Vms_Use_Pragma_Extern_Model fix
8014 */
8015 tSCC zVms_Use_Pragma_Extern_ModelName[] =
8016 "vms_use_pragma_extern_model";
8017
8018 /*
8019 * File name selection pattern
8020 */
8021 #define zVms_Use_Pragma_Extern_ModelList (char*)NULL
8022 /*
8023 * Machine/OS name selection pattern
8024 */
8025 tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = {
8026 "*-*-*vms*",
8027 (const char*)NULL };
8028
8029 /*
8030 * content selection pattern - do fix if pattern found
8031 */
8032 tSCC zVms_Use_Pragma_Extern_ModelSelect0[] =
8033 "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\
8034 # pragma extern_model __save\n";
8035
8036 #define VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT 1
8037 static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = {
8038 { TT_EGREP, zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, };
8039
8040 /*
8041 * Fix Command Arguments for Vms_Use_Pragma_Extern_Model
8042 */
8043 static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = {
8044 "format",
8045 "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\
8046 # pragma extern_model __save\n",
8047 (char*)NULL };
8048
8049 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8050 *
8051 * Description of Vms_Disable_Decc_String_Builtins fix
8052 */
8053 tSCC zVms_Disable_Decc_String_BuiltinsName[] =
8054 "vms_disable_decc_string_builtins";
8055
8056 /*
8057 * File name selection pattern
8058 */
8059 tSCC zVms_Disable_Decc_String_BuiltinsList[] =
8060 "rtldef/string.h\0";
8061 /*
8062 * Machine/OS name selection pattern
8063 */
8064 tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = {
8065 "*-*-*vms*",
8066 (const char*)NULL };
8067
8068 /*
8069 * content selection pattern - do fix if pattern found
8070 */
8071 tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] =
8072 "#if !defined\\(__VAX\\)\n";
8073
8074 #define VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT 1
8075 static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = {
8076 { TT_EGREP, zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, };
8077
8078 /*
8079 * Fix Command Arguments for Vms_Disable_Decc_String_Builtins
8080 */
8081 static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = {
8082 "format",
8083 "#if !defined(__VAX) && !defined(__GNUC__)\n",
8084 (char*)NULL };
8085
8086 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8087 *
8088 * Description of Vms_Use_Quoted_Include fix
8089 */
8090 tSCC zVms_Use_Quoted_IncludeName[] =
8091 "vms_use_quoted_include";
8092
8093 /*
8094 * File name selection pattern
8095 */
8096 tSCC zVms_Use_Quoted_IncludeList[] =
8097 "rtldef/wait.h\0starlet_c/pthread.h\0";
8098 /*
8099 * Machine/OS name selection pattern
8100 */
8101 tSCC* apzVms_Use_Quoted_IncludeMachs[] = {
8102 "*-*-*vms*",
8103 (const char*)NULL };
8104
8105 /*
8106 * content selection pattern - do fix if pattern found
8107 */
8108 tSCC zVms_Use_Quoted_IncludeSelect0[] =
8109 "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>";
8110
8111 #define VMS_USE_QUOTED_INCLUDE_TEST_CT 1
8112 static tTestDesc aVms_Use_Quoted_IncludeTests[] = {
8113 { TT_EGREP, zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, };
8114
8115 /*
8116 * Fix Command Arguments for Vms_Use_Quoted_Include
8117 */
8118 static const char* apzVms_Use_Quoted_IncludePatch[] = {
8119 "format",
8120 "%1<sys/%2.h>",
8121 (char*)NULL };
8122
8123 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8124 *
8125 * Description of Vms_Add_Missing_Braces fix
8126 */
8127 tSCC zVms_Add_Missing_BracesName[] =
8128 "vms_add_missing_braces";
8129
8130 /*
8131 * File name selection pattern
8132 */
8133 tSCC zVms_Add_Missing_BracesList[] =
8134 "rtldef/signal.h\0";
8135 /*
8136 * Machine/OS name selection pattern
8137 */
8138 tSCC* apzVms_Add_Missing_BracesMachs[] = {
8139 "*-*-*vms*",
8140 (const char*)NULL };
8141
8142 /*
8143 * content selection pattern - do fix if pattern found
8144 */
8145 tSCC zVms_Add_Missing_BracesSelect0[] =
8146 "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)";
8147
8148 #define VMS_ADD_MISSING_BRACES_TEST_CT 1
8149 static tTestDesc aVms_Add_Missing_BracesTests[] = {
8150 { TT_EGREP, zVms_Add_Missing_BracesSelect0, (regex_t*)NULL }, };
8151
8152 /*
8153 * Fix Command Arguments for Vms_Add_Missing_Braces
8154 */
8155 static const char* apzVms_Add_Missing_BracesPatch[] = {
8156 "format",
8157 "%1 {%2} ",
8158 (char*)NULL };
8159
8160 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8161 *
8162 * Description of Vms_Do_Not_Redeclare_Hostalias fix
8163 */
8164 tSCC zVms_Do_Not_Redeclare_HostaliasName[] =
8165 "vms_do_not_redeclare_hostalias";
8166
8167 /*
8168 * File name selection pattern
8169 */
8170 tSCC zVms_Do_Not_Redeclare_HostaliasList[] =
8171 "rtldef/resolv.h\0";
8172 /*
8173 * Machine/OS name selection pattern
8174 */
8175 tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = {
8176 "*-*-*vms*",
8177 (const char*)NULL };
8178
8179 /*
8180 * content selection pattern - do fix if pattern found
8181 */
8182 tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] =
8183 "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\
8184 (__char_ptr32[ \t]+hostalias \\(const char \\*\\);)";
8185
8186 #define VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT 1
8187 static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = {
8188 { TT_EGREP, zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, };
8189
8190 /*
8191 * Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias
8192 */
8193 static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = {
8194 "format",
8195 "%1\n\
8196 /* %2 */",
8197 (char*)NULL };
8198
8199 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8200 *
8201 * Description of Vms_Decc_Builtin fix
8202 */
8203 tSCC zVms_Decc_BuiltinName[] =
8204 "vms_decc_builtin";
8205
8206 /*
8207 * File name selection pattern
8208 */
8209 tSCC zVms_Decc_BuiltinList[] =
8210 "rtldef/string.h\0rtldef/time.h\0rtldef/strings.h\0rtldef/socket.h\0";
8211 /*
8212 * Machine/OS name selection pattern
8213 */
8214 tSCC* apzVms_Decc_BuiltinMachs[] = {
8215 "*-*-*vms*",
8216 (const char*)NULL };
8217
8218 /*
8219 * content selection pattern - do fix if pattern found
8220 */
8221 tSCC zVms_Decc_BuiltinSelect0[] =
8222 "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)";
8223
8224 #define VMS_DECC_BUILTIN_TEST_CT 1
8225 static tTestDesc aVms_Decc_BuiltinTests[] = {
8226 { TT_EGREP, zVms_Decc_BuiltinSelect0, (regex_t*)NULL }, };
8227
8228 /*
8229 * Fix Command Arguments for Vms_Decc_Builtin
8230 */
8231 static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z,
8232 "-e", "s@__MEMSET@memset@",
8233 "-e", "s@__MEMMOVE@memmove@",
8234 "-e", "s@__MEMCPY@memcpy@",
8235 "-e", "s@__STRLEN@strlen@",
8236 "-e", "s@__STRCPY@strcpy@",
8237 (char*)NULL };
8238
8239 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8240 *
8241 * Description of Vms_No_64bit_Getopt fix
8242 */
8243 tSCC zVms_No_64bit_GetoptName[] =
8244 "vms_no_64bit_getopt";
8245
8246 /*
8247 * File name selection pattern
8248 */
8249 tSCC zVms_No_64bit_GetoptList[] =
8250 "rtldef/stdio.h\0rtldef/unistd.h\0";
8251 /*
8252 * Machine/OS name selection pattern
8253 */
8254 tSCC* apzVms_No_64bit_GetoptMachs[] = {
8255 "*-*-*vms*",
8256 (const char*)NULL };
8257
8258 /*
8259 * content selection pattern - do fix if pattern found
8260 */
8261 tSCC zVms_No_64bit_GetoptSelect0[] =
8262 "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
8263
8264 #define VMS_NO_64BIT_GETOPT_TEST_CT 1
8265 static tTestDesc aVms_No_64bit_GetoptTests[] = {
8266 { TT_EGREP, zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, };
8267
8268 /*
8269 * Fix Command Arguments for Vms_No_64bit_Getopt
8270 */
8271 static const char* apzVms_No_64bit_GetoptPatch[] = {
8272 "format",
8273 "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */\n\
8274 %0#endif\n",
8275 (char*)NULL };
8276
8277 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8278 *
8279 * Description of Vms_Forward_Declare_Struct fix
8280 */
8281 tSCC zVms_Forward_Declare_StructName[] =
8282 "vms_forward_declare_struct";
8283
8284 /*
8285 * File name selection pattern
8286 */
8287 tSCC zVms_Forward_Declare_StructList[] =
8288 "rtldef/if.h\0";
8289 /*
8290 * Machine/OS name selection pattern
8291 */
8292 tSCC* apzVms_Forward_Declare_StructMachs[] = {
8293 "*-*-*vms*",
8294 (const char*)NULL };
8295
8296 /*
8297 * content selection pattern - do fix if pattern found
8298 */
8299 tSCC zVms_Forward_Declare_StructSelect0[] =
8300 "(/\\* forward decls for C\\+\\+ \\*/\n\
8301 )#ifdef __cplusplus\n";
8302
8303 #define VMS_FORWARD_DECLARE_STRUCT_TEST_CT 1
8304 static tTestDesc aVms_Forward_Declare_StructTests[] = {
8305 { TT_EGREP, zVms_Forward_Declare_StructSelect0, (regex_t*)NULL }, };
8306
8307 /*
8308 * Fix Command Arguments for Vms_Forward_Declare_Struct
8309 */
8310 static const char* apzVms_Forward_Declare_StructPatch[] = {
8311 "format",
8312 "%1#if defined (__cplusplus) || defined (__GNUC__)\n",
8313 (char*)NULL };
8314
8315 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8316 *
8317 * Description of Vms_Use_Fast_Setjmp fix
8318 */
8319 tSCC zVms_Use_Fast_SetjmpName[] =
8320 "vms_use_fast_setjmp";
8321
8322 /*
8323 * File name selection pattern
8324 */
8325 tSCC zVms_Use_Fast_SetjmpList[] =
8326 "rtldef/setjmp.h\0";
8327 /*
8328 * Machine/OS name selection pattern
8329 */
8330 tSCC* apzVms_Use_Fast_SetjmpMachs[] = {
8331 "*-*-*vms*",
8332 (const char*)NULL };
8333
8334 /*
8335 * content selection pattern - do fix if pattern found
8336 */
8337 tSCC zVms_Use_Fast_SetjmpSelect0[] =
8338 "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)";
8339
8340 #define VMS_USE_FAST_SETJMP_TEST_CT 1
8341 static tTestDesc aVms_Use_Fast_SetjmpTests[] = {
8342 { TT_EGREP, zVms_Use_Fast_SetjmpSelect0, (regex_t*)NULL }, };
8343
8344 /*
8345 * Fix Command Arguments for Vms_Use_Fast_Setjmp
8346 */
8347 static const char* apzVms_Use_Fast_SetjmpPatch[] = {
8348 "format",
8349 "%0 defined (__GNUC__) ||",
8350 (char*)NULL };
8351
8352 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8353 *
8354 * Description of Void_Null fix
8355 */
8356 tSCC zVoid_NullName[] =
8357 "void_null";
8358
8359 /*
8360 * File name selection pattern
8361 */
8362 tSCC zVoid_NullList[] =
8363 "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";
8364 /*
8365 * Machine/OS name selection pattern
8366 */
8367 #define apzVoid_NullMachs (const char**)NULL
8368
8369 /*
8370 * content selection pattern - do fix if pattern found
8371 */
8372 tSCC zVoid_NullSelect0[] =
8373 "^#[ \t]*define[ \t]+NULL[ \t]+\\(\\(void[ \t]*\\*\\)0\\)";
8374
8375 /*
8376 * content bypass pattern - skip fix if pattern found
8377 */
8378 tSCC zVoid_NullBypass0[] =
8379 "__cplusplus";
8380 tSCC zVoid_NullBypass1[] =
8381 "__null";
8382
8383 #define VOID_NULL_TEST_CT 3
8384 static tTestDesc aVoid_NullTests[] = {
8385 { TT_NEGREP, zVoid_NullBypass0, (regex_t*)NULL },
8386 { TT_NEGREP, zVoid_NullBypass1, (regex_t*)NULL },
8387 { TT_EGREP, zVoid_NullSelect0, (regex_t*)NULL }, };
8388
8389 /*
8390 * Fix Command Arguments for Void_Null
8391 */
8392 static const char* apzVoid_NullPatch[] = {
8393 "format",
8394 "#define NULL 0",
8395 (char*)NULL };
8396
8397 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8398 *
8399 * Description of Vxworks_Gcc_Problem fix
8400 */
8401 tSCC zVxworks_Gcc_ProblemName[] =
8402 "vxworks_gcc_problem";
8403
8404 /*
8405 * File name selection pattern
8406 */
8407 tSCC zVxworks_Gcc_ProblemList[] =
8408 "types/vxTypesBase.h\0";
8409 /*
8410 * Machine/OS name selection pattern
8411 */
8412 #define apzVxworks_Gcc_ProblemMachs (const char**)NULL
8413
8414 /*
8415 * content selection pattern - do fix if pattern found
8416 */
8417 tSCC zVxworks_Gcc_ProblemSelect0[] =
8418 "__GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__";
8419
8420 #define VXWORKS_GCC_PROBLEM_TEST_CT 1
8421 static tTestDesc aVxworks_Gcc_ProblemTests[] = {
8422 { TT_EGREP, zVxworks_Gcc_ProblemSelect0, (regex_t*)NULL }, };
8423
8424 /*
8425 * Fix Command Arguments for Vxworks_Gcc_Problem
8426 */
8427 static const char* apzVxworks_Gcc_ProblemPatch[] = { sed_cmd_z,
8428 "-e", "s/#ifdef __GNUC_TYPEOF_FEATURE_BROKEN_USE_DEFAULT_UNTIL_FIXED__/#if 1/",
8429 "-e", "/[ \t]size_t/i\\\n\
8430 #ifndef _GCC_SIZE_T\\\n\
8431 #define _GCC_SIZE_T\n",
8432 "-e", "/[ \t]size_t/a\\\n\
8433 #endif\n",
8434 "-e", "/[ \t]ptrdiff_t/i\\\n\
8435 #ifndef _GCC_PTRDIFF_T\\\n\
8436 #define _GCC_PTRDIFF_T\n",
8437 "-e", "/[ \t]ptrdiff_t/a\\\n\
8438 #endif\n",
8439 "-e", "/[ \t]wchar_t/i\\\n\
8440 #ifndef _GCC_WCHAR_T\\\n\
8441 #define _GCC_WCHAR_T\n",
8442 "-e", "/[ \t]wchar_t/a\\\n\
8443 #endif\n",
8444 (char*)NULL };
8445
8446 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8447 *
8448 * Description of Vxworks_Needs_Vxtypes fix
8449 */
8450 tSCC zVxworks_Needs_VxtypesName[] =
8451 "vxworks_needs_vxtypes";
8452
8453 /*
8454 * File name selection pattern
8455 */
8456 tSCC zVxworks_Needs_VxtypesList[] =
8457 "time.h\0";
8458 /*
8459 * Machine/OS name selection pattern
8460 */
8461 #define apzVxworks_Needs_VxtypesMachs (const char**)NULL
8462
8463 /*
8464 * content selection pattern - do fix if pattern found
8465 */
8466 tSCC zVxworks_Needs_VxtypesSelect0[] =
8467 "uint_t([ \t]+_clocks_per_sec)";
8468
8469 #define VXWORKS_NEEDS_VXTYPES_TEST_CT 1
8470 static tTestDesc aVxworks_Needs_VxtypesTests[] = {
8471 { TT_EGREP, zVxworks_Needs_VxtypesSelect0, (regex_t*)NULL }, };
8472
8473 /*
8474 * Fix Command Arguments for Vxworks_Needs_Vxtypes
8475 */
8476 static const char* apzVxworks_Needs_VxtypesPatch[] = {
8477 "format",
8478 "unsigned int%1",
8479 (char*)NULL };
8480
8481 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8482 *
8483 * Description of Vxworks_Needs_Vxworks fix
8484 */
8485 tSCC zVxworks_Needs_VxworksName[] =
8486 "vxworks_needs_vxworks";
8487
8488 /*
8489 * File name selection pattern
8490 */
8491 tSCC zVxworks_Needs_VxworksList[] =
8492 "sys/stat.h\0";
8493 /*
8494 * Machine/OS name selection pattern
8495 */
8496 #define apzVxworks_Needs_VxworksMachs (const char**)NULL
8497
8498 /*
8499 * content selection pattern - do fix if pattern found
8500 */
8501 tSCC zVxworks_Needs_VxworksSelect0[] =
8502 "#[ \t]define[ \t]+__INCstath";
8503
8504 /*
8505 * perform the 'test' shell command - do fix on success
8506 */
8507 tSCC zVxworks_Needs_VxworksTest0[] =
8508 " -r types/vxTypesOld.h";
8509 tSCC zVxworks_Needs_VxworksTest1[] =
8510 " -n \"`egrep '#include' $file`\"";
8511 tSCC zVxworks_Needs_VxworksTest2[] =
8512 " -n \"`egrep ULONG $file`\"";
8513
8514 #define VXWORKS_NEEDS_VXWORKS_TEST_CT 4
8515 static tTestDesc aVxworks_Needs_VxworksTests[] = {
8516 { TT_TEST, zVxworks_Needs_VxworksTest0, 0 /* unused */ },
8517 { TT_TEST, zVxworks_Needs_VxworksTest1, 0 /* unused */ },
8518 { TT_TEST, zVxworks_Needs_VxworksTest2, 0 /* unused */ },
8519 { TT_EGREP, zVxworks_Needs_VxworksSelect0, (regex_t*)NULL }, };
8520
8521 /*
8522 * Fix Command Arguments for Vxworks_Needs_Vxworks
8523 */
8524 static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
8525 "-e", "/#[ \t]define[ \t][ \t]*__INCstath/a\\\n\
8526 #include <types/vxTypesOld.h>\n",
8527 (char*)NULL };
8528
8529 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8530 *
8531 * Description of Vxworks_Time fix
8532 */
8533 tSCC zVxworks_TimeName[] =
8534 "vxworks_time";
8535
8536 /*
8537 * File name selection pattern
8538 */
8539 tSCC zVxworks_TimeList[] =
8540 "time.h\0";
8541 /*
8542 * Machine/OS name selection pattern
8543 */
8544 #define apzVxworks_TimeMachs (const char**)NULL
8545
8546 /*
8547 * content selection pattern - do fix if pattern found
8548 */
8549 tSCC zVxworks_TimeSelect0[] =
8550 "#[ \t]*define[ \t]+VOIDFUNCPTR[ \t].*";
8551
8552 /*
8553 * perform the 'test' shell command - do fix on success
8554 */
8555 tSCC zVxworks_TimeTest0[] =
8556 " -r vxWorks.h";
8557
8558 #define VXWORKS_TIME_TEST_CT 2
8559 static tTestDesc aVxworks_TimeTests[] = {
8560 { TT_TEST, zVxworks_TimeTest0, 0 /* unused */ },
8561 { TT_EGREP, zVxworks_TimeSelect0, (regex_t*)NULL }, };
8562
8563 /*
8564 * Fix Command Arguments for Vxworks_Time
8565 */
8566 static const char* apzVxworks_TimePatch[] = {
8567 "format",
8568 "#ifndef __gcc_VOIDFUNCPTR_defined\n\
8569 #ifdef __cplusplus\n\
8570 typedef void (*__gcc_VOIDFUNCPTR) (...);\n\
8571 #else\n\
8572 typedef void (*__gcc_VOIDFUNCPTR) ();\n\
8573 #endif\n\
8574 #define __gcc_VOIDFUNCPTR_defined\n\
8575 #endif\n\
8576 #define VOIDFUNCPTR __gcc_VOIDFUNCPTR",
8577 (char*)NULL };
8578
8579 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8580 *
8581 * Description of X11_Class fix
8582 */
8583 tSCC zX11_ClassName[] =
8584 "x11_class";
8585
8586 /*
8587 * File name selection pattern
8588 */
8589 tSCC zX11_ClassList[] =
8590 "X11/ShellP.h\0";
8591 /*
8592 * Machine/OS name selection pattern
8593 */
8594 #define apzX11_ClassMachs (const char**)NULL
8595
8596 /*
8597 * content selection pattern - do fix if pattern found
8598 */
8599 tSCC zX11_ClassSelect0[] =
8600 "^([ \t]*char \\*)class;(.*)";
8601
8602 /*
8603 * content bypass pattern - skip fix if pattern found
8604 */
8605 tSCC zX11_ClassBypass0[] =
8606 "__cplusplus";
8607
8608 #define X11_CLASS_TEST_CT 2
8609 static tTestDesc aX11_ClassTests[] = {
8610 { TT_NEGREP, zX11_ClassBypass0, (regex_t*)NULL },
8611 { TT_EGREP, zX11_ClassSelect0, (regex_t*)NULL }, };
8612
8613 /*
8614 * Fix Command Arguments for X11_Class
8615 */
8616 static const char* apzX11_ClassPatch[] = {
8617 "format",
8618 "#ifdef __cplusplus\n\
8619 %1c_class;%2\n\
8620 #else\n\
8621 %1class;%2\n\
8622 #endif",
8623 (char*)NULL };
8624
8625 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8626 *
8627 * Description of X11_Class_Usage fix
8628 */
8629 tSCC zX11_Class_UsageName[] =
8630 "x11_class_usage";
8631
8632 /*
8633 * File name selection pattern
8634 */
8635 tSCC zX11_Class_UsageList[] =
8636 "Xm/BaseClassI.h\0";
8637 /*
8638 * Machine/OS name selection pattern
8639 */
8640 #define apzX11_Class_UsageMachs (const char**)NULL
8641
8642 /*
8643 * content selection pattern - do fix if pattern found
8644 */
8645 tSCC zX11_Class_UsageSelect0[] =
8646 " class\\)";
8647
8648 /*
8649 * content bypass pattern - skip fix if pattern found
8650 */
8651 tSCC zX11_Class_UsageBypass0[] =
8652 "__cplusplus";
8653
8654 #define X11_CLASS_USAGE_TEST_CT 2
8655 static tTestDesc aX11_Class_UsageTests[] = {
8656 { TT_NEGREP, zX11_Class_UsageBypass0, (regex_t*)NULL },
8657 { TT_EGREP, zX11_Class_UsageSelect0, (regex_t*)NULL }, };
8658
8659 /*
8660 * Fix Command Arguments for X11_Class_Usage
8661 */
8662 static const char* apzX11_Class_UsagePatch[] = {
8663 "format",
8664 " c_class)",
8665 (char*)NULL };
8666
8667 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8668 *
8669 * Description of X11_New fix
8670 */
8671 tSCC zX11_NewName[] =
8672 "x11_new";
8673
8674 /*
8675 * File name selection pattern
8676 */
8677 tSCC zX11_NewList[] =
8678 "Xm/Traversal.h\0";
8679 /*
8680 * Machine/OS name selection pattern
8681 */
8682 #define apzX11_NewMachs (const char**)NULL
8683
8684 /*
8685 * content bypass pattern - skip fix if pattern found
8686 */
8687 tSCC zX11_NewBypass0[] =
8688 "__cplusplus";
8689
8690 #define X11_NEW_TEST_CT 1
8691 static tTestDesc aX11_NewTests[] = {
8692 { TT_NEGREP, zX11_NewBypass0, (regex_t*)NULL }, };
8693
8694 /*
8695 * Fix Command Arguments for X11_New
8696 */
8697 static const char* apzX11_NewPatch[] = { sed_cmd_z,
8698 "-e", "/Widget\told, new;/i\\\n\
8699 #ifdef __cplusplus\\\n\
8700 \\\tWidget\told, c_new;\\\n\
8701 #else\n",
8702 "-e", "/Widget\told, new;/a\\\n\
8703 #endif\n",
8704 "-e", "s/Widget new,/Widget c_new,/g",
8705 (char*)NULL };
8706
8707 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8708 *
8709 * Description of X11_Sprintf fix
8710 */
8711 tSCC zX11_SprintfName[] =
8712 "x11_sprintf";
8713
8714 /*
8715 * File name selection pattern
8716 */
8717 tSCC zX11_SprintfList[] =
8718 "X11/Xmu.h\0X11/Xmu/Xmu.h\0";
8719 /*
8720 * Machine/OS name selection pattern
8721 */
8722 #define apzX11_SprintfMachs (const char**)NULL
8723
8724 /*
8725 * content selection pattern - do fix if pattern found
8726 */
8727 tSCC zX11_SprintfSelect0[] =
8728 "^extern char \\*\tsprintf\\(\\);$";
8729
8730 #define X11_SPRINTF_TEST_CT 1
8731 static tTestDesc aX11_SprintfTests[] = {
8732 { TT_EGREP, zX11_SprintfSelect0, (regex_t*)NULL }, };
8733
8734 /*
8735 * Fix Command Arguments for X11_Sprintf
8736 */
8737 static const char* apzX11_SprintfPatch[] = {
8738 "format",
8739 "#ifndef __STDC__\n\
8740 %0\n\
8741 #endif /* !defined __STDC__ */",
8742 (char*)NULL };
8743
8744
8745 /* * * * * * * * * * * * * * * * * * * * * * * * * *
8746 *
8747 * List of all fixes
8748 */
8749 #define REGEX_COUNT 258
8750 #define MACH_LIST_SIZE_LIMIT 181
8751 #define FIX_COUNT 215
8752
8753 /*
8754 * Enumerate the fixes
8755 */
8756 typedef enum {
8757 AAB_AIX_STDIO_FIXIDX,
8758 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_FIXIDX,
8759 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_FIXIDX,
8760 AAB_FD_ZERO_ASM_POSIX_TYPES_H_FIXIDX,
8761 AAB_FD_ZERO_GNU_TYPES_H_FIXIDX,
8762 AAB_FD_ZERO_SELECTBITS_H_FIXIDX,
8763 AAB_SOLARIS_SYS_VARARGS_H_FIXIDX,
8764 AAB_SUN_MEMCPY_FIXIDX,
8765 AIX_COMPLEX_FIXIDX,
8766 AIX_MALLOC_FIXIDX,
8767 AIX_NET_IF_ARP_FIXIDX,
8768 AIX_ONCE_INIT_1_FIXIDX,
8769 AIX_ONCE_INIT_2_FIXIDX,
8770 AIX_MUTEX_INITIALIZER_1_FIXIDX,
8771 AIX_COND_INITIALIZER_1_FIXIDX,
8772 AIX_RWLOCK_INITIALIZER_1_FIXIDX,
8773 AIX_PTHREAD_FIXIDX,
8774 AIX_STDINT_1_FIXIDX,
8775 AIX_STDINT_2_FIXIDX,
8776 AIX_STDINT_3_FIXIDX,
8777 AIX_STDINT_4_FIXIDX,
8778 AIX_STDINT_5_FIXIDX,
8779 AIX_SYSMACHINE_FIXIDX,
8780 AIX_SYSWAIT_2_FIXIDX,
8781 AIX_VOLATILE_FIXIDX,
8782 ALPHA___ASSERT_FIXIDX,
8783 ALPHA_ASSERT_FIXIDX,
8784 ALPHA_GETOPT_FIXIDX,
8785 ALPHA_IF_SEMICOLON_FIXIDX,
8786 ALPHA_PARENS_FIXIDX,
8787 ALPHA_SBRK_FIXIDX,
8788 AVOID_BOOL_DEFINE_FIXIDX,
8789 AVOID_BOOL_TYPE_FIXIDX,
8790 AVOID_WCHAR_T_TYPE_FIXIDX,
8791 BAD_STRUCT_TERM_FIXIDX,
8792 BADQUOTE_FIXIDX,
8793 BROKEN_ASSERT_STDIO_FIXIDX,
8794 BROKEN_ASSERT_STDLIB_FIXIDX,
8795 BROKEN_CABS_FIXIDX,
8796 BROKEN_NAN_FIXIDX,
8797 BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
8798 CDEF_CPLUSPLUS_FIXIDX,
8799 CTRL_QUOTES_DEF_FIXIDX,
8800 CTRL_QUOTES_USE_FIXIDX,
8801 CXX_UNREADY_FIXIDX,
8802 DARWIN_EXTERNC_FIXIDX,
8803 DARWIN_GCC4_BREAKAGE_FIXIDX,
8804 DARWIN_PRIVATE_EXTERN_FIXIDX,
8805 DARWIN_STDINT_1_FIXIDX,
8806 DARWIN_STDINT_2_FIXIDX,
8807 DARWIN_STDINT_3_FIXIDX,
8808 DARWIN_STDINT_4_FIXIDX,
8809 DARWIN_STDINT_5_FIXIDX,
8810 DARWIN_STDINT_6_FIXIDX,
8811 DARWIN_STDINT_7_FIXIDX,
8812 DEC_INTERN_ASM_FIXIDX,
8813 DJGPP_WCHAR_H_FIXIDX,
8814 ECD_CURSOR_FIXIDX,
8815 FREEBSD_GCC3_BREAKAGE_FIXIDX,
8816 FREEBSD_GCC4_BREAKAGE_FIXIDX,
8817 GLIBC_C99_INLINE_1_FIXIDX,
8818 GLIBC_C99_INLINE_1A_FIXIDX,
8819 GLIBC_C99_INLINE_2_FIXIDX,
8820 GLIBC_C99_INLINE_3_FIXIDX,
8821 GLIBC_C99_INLINE_4_FIXIDX,
8822 GLIBC_MUTEX_INIT_FIXIDX,
8823 GLIBC_STDINT_FIXIDX,
8824 GLIBC_STRNCPY_FIXIDX,
8825 GLIBC_TGMATH_FIXIDX,
8826 GNU_TYPES_FIXIDX,
8827 HP_INLINE_FIXIDX,
8828 HP_SYSFILE_FIXIDX,
8829 HPPA_HPUX_FP_MACROS_FIXIDX,
8830 HPUX10_CPP_POW_INLINE_FIXIDX,
8831 HPUX11_CPP_POW_INLINE_FIXIDX,
8832 HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
8833 HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
8834 HPUX10_STDIO_DECLARATIONS_FIXIDX,
8835 HPUX11_ABS_FIXIDX,
8836 HPUX11_FABSF_FIXIDX,
8837 HPUX11_PTHREAD_CONST_FIXIDX,
8838 HPUX11_SIZE_T_FIXIDX,
8839 HPUX11_SNPRINTF_FIXIDX,
8840 HPUX11_VSNPRINTF_FIXIDX,
8841 HPUX8_BOGUS_INLINES_FIXIDX,
8842 HPUX_CTYPE_MACROS_FIXIDX,
8843 HPUX_HTONL_FIXIDX,
8844 HPUX_LONG_DOUBLE_FIXIDX,
8845 HPUX_LONG_DOUBLE_2_FIXIDX,
8846 HPUX_SYSTIME_FIXIDX,
8847 HPUX_SPU_INFO_FIXIDX,
8848 HPUX11_EXTERN_SENDFILE_FIXIDX,
8849 HPUX11_EXTERN_SENDPATH_FIXIDX,
8850 HPUX_EXTERN_ERRNO_FIXIDX,
8851 HPUX_PTHREAD_INITIALIZERS_FIXIDX,
8852 HPUX_C99_INTPTR_FIXIDX,
8853 HPUX_C99_INTTYPES_FIXIDX,
8854 HPUX_C99_INTTYPES2_FIXIDX,
8855 HPUX_STDINT_LEAST_FAST_FIXIDX,
8856 HPUX_INTTYPE_INT8_T_FIXIDX,
8857 HPUX_IMAGINARY_I_FIXIDX,
8858 HUGE_VAL_HEX_FIXIDX,
8859 HUGE_VALF_HEX_FIXIDX,
8860 HUGE_VALL_HEX_FIXIDX,
8861 INT_ABORT_FREE_AND_EXIT_FIXIDX,
8862 IO_QUOTES_DEF_FIXIDX,
8863 IO_QUOTES_USE_FIXIDX,
8864 IP_MISSING_SEMI_FIXIDX,
8865 IRIX_LIMITS_CONST_FIXIDX,
8866 IRIX_STDIO_VA_LIST_FIXIDX,
8867 KANDR_CONCAT_FIXIDX,
8868 LINUX_IA64_UCONTEXT_FIXIDX,
8869 LYNXOS_NO_WARNING_IN_SYS_TIME_H_FIXIDX,
8870 LYNXOS_MISSING_PUTENV_FIXIDX,
8871 MACHINE_ANSI_H_VA_LIST_FIXIDX,
8872 MACHINE_NAME_FIXIDX,
8873 MATH_EXCEPTION_FIXIDX,
8874 MATH_HUGE_VAL_FROM_DBL_MAX_FIXIDX,
8875 NESTED_AUTH_DES_FIXIDX,
8876 NETBSD_C99_INLINE_1_FIXIDX,
8877 NETBSD_C99_INLINE_2_FIXIDX,
8878 NETBSD_EXTRA_SEMICOLON_FIXIDX,
8879 NEWLIB_STDINT_1_FIXIDX,
8880 NEWLIB_STDINT_2_FIXIDX,
8881 NEXT_MATH_PREFIX_FIXIDX,
8882 NEXT_TEMPLATE_FIXIDX,
8883 NEXT_VOLITILE_FIXIDX,
8884 NEXT_WAIT_UNION_FIXIDX,
8885 NODEENT_SYNTAX_FIXIDX,
8886 OPENBSD_NULL_DEFINITION_FIXIDX,
8887 OBSTACK_LVALUE_CAST_FIXIDX,
8888 OPENBSD_VA_START_FIXIDX,
8889 OSF_NAMESPACE_A_FIXIDX,
8890 OSF_NAMESPACE_C_FIXIDX,
8891 PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_FIXIDX,
8892 READ_RET_TYPE_FIXIDX,
8893 RPC_XDR_LVALUE_CAST_A_FIXIDX,
8894 RPC_XDR_LVALUE_CAST_B_FIXIDX,
8895 RS6000_DOUBLE_FIXIDX,
8896 RS6000_FCHMOD_FIXIDX,
8897 RS6000_PARAM_FIXIDX,
8898 SOLARIS___RESTRICT_FIXIDX,
8899 SOLARIS_COMPLEX_FIXIDX,
8900 SOLARIS_COMPLEX_CXX_FIXIDX,
8901 SOLARIS_CXX_LINKAGE_FIXIDX,
8902 SOLARIS_GETC_STRICT_STDC_FIXIDX,
8903 SOLARIS_LONGJMP_NORETURN_FIXIDX,
8904 SOLARIS_MATH_1_FIXIDX,
8905 SOLARIS_MATH_2_FIXIDX,
8906 SOLARIS_MATH_3_FIXIDX,
8907 SOLARIS_MATH_4_FIXIDX,
8908 SOLARIS_MATH_8_FIXIDX,
8909 SOLARIS_MATH_9_FIXIDX,
8910 SOLARIS_MATH_10_FIXIDX,
8911 SOLARIS_MUTEX_INIT_2_FIXIDX,
8912 SOLARIS_POW_INT_OVERLOAD_FIXIDX,
8913 SOLARIS_RWLOCK_INIT_1_FIXIDX,
8914 SOLARIS_ONCE_INIT_1_FIXIDX,
8915 SOLARIS_ONCE_INIT_2_FIXIDX,
8916 SOLARIS_INT_CONST_FIXIDX,
8917 SOLARIS_INT_LIMITS_1_FIXIDX,
8918 SOLARIS_INT_LIMITS_2_FIXIDX,
8919 SOLARIS_INT_LIMITS_3_FIXIDX,
8920 SOLARIS_INT_TYPES_FIXIDX,
8921 SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX,
8922 SOLARIS_STD___FILBUF_FIXIDX,
8923 SOLARIS_STDIO_TAG_FIXIDX,
8924 SOLARIS_SYS_VA_LIST_FIXIDX,
8925 STATSSWTCH_FIXIDX,
8926 STDIO_STDARG_H_FIXIDX,
8927 STDIO_VA_LIST_FIXIDX,
8928 STDIO_VA_LIST_CLIENTS_FIXIDX,
8929 STRICT_ANSI_NOT_FIXIDX,
8930 STRICT_ANSI_NOT_CTD_FIXIDX,
8931 STRICT_ANSI_ONLY_FIXIDX,
8932 STRUCT_FILE_FIXIDX,
8933 STRUCT_SOCKADDR_FIXIDX,
8934 SUN_AUTH_PROTO_FIXIDX,
8935 SUN_BOGUS_IFDEF_FIXIDX,
8936 SUN_CATMACRO_FIXIDX,
8937 SUN_MALLOC_FIXIDX,
8938 SUN_RUSERS_SEMI_FIXIDX,
8939 SUN_SIGNAL_FIXIDX,
8940 SUNOS_STRLEN_FIXIDX,
8941 SVR4_DISABLE_OPT_FIXIDX,
8942 SVR4_GETCWD_FIXIDX,
8943 SVR4_PROFIL_FIXIDX,
8944 SVR4_SIGHANDLER_TYPE_FIXIDX,
8945 SVR4_UNDECLARED_GETRNGE_FIXIDX,
8946 SYSV68_STRING_FIXIDX,
8947 SYSZ_STDLIB_FOR_SUN_FIXIDX,
8948 THREAD_KEYWORD_FIXIDX,
8949 TINFO_CPLUSPLUS_FIXIDX,
8950 ULTRIX_CONST_FIXIDX,
8951 ULTRIX_CONST2_FIXIDX,
8952 VA_I960_MACRO_FIXIDX,
8953 VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX,
8954 VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX,
8955 VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX,
8956 VMS_USE_QUOTED_INCLUDE_FIXIDX,
8957 VMS_ADD_MISSING_BRACES_FIXIDX,
8958 VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX,
8959 VMS_DECC_BUILTIN_FIXIDX,
8960 VMS_NO_64BIT_GETOPT_FIXIDX,
8961 VMS_FORWARD_DECLARE_STRUCT_FIXIDX,
8962 VMS_USE_FAST_SETJMP_FIXIDX,
8963 VOID_NULL_FIXIDX,
8964 VXWORKS_GCC_PROBLEM_FIXIDX,
8965 VXWORKS_NEEDS_VXTYPES_FIXIDX,
8966 VXWORKS_NEEDS_VXWORKS_FIXIDX,
8967 VXWORKS_TIME_FIXIDX,
8968 X11_CLASS_FIXIDX,
8969 X11_CLASS_USAGE_FIXIDX,
8970 X11_NEW_FIXIDX,
8971 X11_SPRINTF_FIXIDX
8972 } t_fixinc_idx;
8973
8974 tFixDesc fixDescList[ FIX_COUNT ] = {
8975 { zAab_Aix_StdioName, zAab_Aix_StdioList,
8976 apzAab_Aix_StdioMachs,
8977 AAB_AIX_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8978 aAab_Aix_StdioTests, apzAab_Aix_StdioPatch, 0 },
8979
8980 { zAab_Darwin7_9_Long_Double_FuncsName, zAab_Darwin7_9_Long_Double_FuncsList,
8981 apzAab_Darwin7_9_Long_Double_FuncsMachs,
8982 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8983 aAab_Darwin7_9_Long_Double_FuncsTests, apzAab_Darwin7_9_Long_Double_FuncsPatch, 0 },
8984
8985 { zAab_Darwin7_9_Long_Double_Funcs_2Name, zAab_Darwin7_9_Long_Double_Funcs_2List,
8986 apzAab_Darwin7_9_Long_Double_Funcs_2Machs,
8987 AAB_DARWIN7_9_LONG_DOUBLE_FUNCS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
8988 aAab_Darwin7_9_Long_Double_Funcs_2Tests, apzAab_Darwin7_9_Long_Double_Funcs_2Patch, 0 },
8989
8990 { zAab_Fd_Zero_Asm_Posix_Types_HName, zAab_Fd_Zero_Asm_Posix_Types_HList,
8991 apzAab_Fd_Zero_Asm_Posix_Types_HMachs,
8992 AAB_FD_ZERO_ASM_POSIX_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8993 aAab_Fd_Zero_Asm_Posix_Types_HTests, apzAab_Fd_Zero_Asm_Posix_Types_HPatch, 0 },
8994
8995 { zAab_Fd_Zero_Gnu_Types_HName, zAab_Fd_Zero_Gnu_Types_HList,
8996 apzAab_Fd_Zero_Gnu_Types_HMachs,
8997 AAB_FD_ZERO_GNU_TYPES_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
8998 aAab_Fd_Zero_Gnu_Types_HTests, apzAab_Fd_Zero_Gnu_Types_HPatch, 0 },
8999
9000 { zAab_Fd_Zero_Selectbits_HName, zAab_Fd_Zero_Selectbits_HList,
9001 apzAab_Fd_Zero_Selectbits_HMachs,
9002 AAB_FD_ZERO_SELECTBITS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9003 aAab_Fd_Zero_Selectbits_HTests, apzAab_Fd_Zero_Selectbits_HPatch, 0 },
9004
9005 { zAab_Solaris_Sys_Varargs_HName, zAab_Solaris_Sys_Varargs_HList,
9006 apzAab_Solaris_Sys_Varargs_HMachs,
9007 AAB_SOLARIS_SYS_VARARGS_H_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9008 aAab_Solaris_Sys_Varargs_HTests, apzAab_Solaris_Sys_Varargs_HPatch, 0 },
9009
9010 { zAab_Sun_MemcpyName, zAab_Sun_MemcpyList,
9011 apzAab_Sun_MemcpyMachs,
9012 AAB_SUN_MEMCPY_TEST_CT, FD_MACH_ONLY | FD_REPLACEMENT,
9013 aAab_Sun_MemcpyTests, apzAab_Sun_MemcpyPatch, 0 },
9014
9015 { zAix_ComplexName, zAix_ComplexList,
9016 apzAix_ComplexMachs,
9017 AIX_COMPLEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9018 aAix_ComplexTests, apzAix_ComplexPatch, 0 },
9019
9020 { zAix_MallocName, zAix_MallocList,
9021 apzAix_MallocMachs,
9022 AIX_MALLOC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9023 aAix_MallocTests, apzAix_MallocPatch, 0 },
9024
9025 { zAix_Net_If_ArpName, zAix_Net_If_ArpList,
9026 apzAix_Net_If_ArpMachs,
9027 AIX_NET_IF_ARP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9028 aAix_Net_If_ArpTests, apzAix_Net_If_ArpPatch, 0 },
9029
9030 { zAix_Once_Init_1Name, zAix_Once_Init_1List,
9031 apzAix_Once_Init_1Machs,
9032 AIX_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9033 aAix_Once_Init_1Tests, apzAix_Once_Init_1Patch, 0 },
9034
9035 { zAix_Once_Init_2Name, zAix_Once_Init_2List,
9036 apzAix_Once_Init_2Machs,
9037 AIX_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9038 aAix_Once_Init_2Tests, apzAix_Once_Init_2Patch, 0 },
9039
9040 { zAix_Mutex_Initializer_1Name, zAix_Mutex_Initializer_1List,
9041 apzAix_Mutex_Initializer_1Machs,
9042 AIX_MUTEX_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9043 aAix_Mutex_Initializer_1Tests, apzAix_Mutex_Initializer_1Patch, 0 },
9044
9045 { zAix_Cond_Initializer_1Name, zAix_Cond_Initializer_1List,
9046 apzAix_Cond_Initializer_1Machs,
9047 AIX_COND_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9048 aAix_Cond_Initializer_1Tests, apzAix_Cond_Initializer_1Patch, 0 },
9049
9050 { zAix_Rwlock_Initializer_1Name, zAix_Rwlock_Initializer_1List,
9051 apzAix_Rwlock_Initializer_1Machs,
9052 AIX_RWLOCK_INITIALIZER_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9053 aAix_Rwlock_Initializer_1Tests, apzAix_Rwlock_Initializer_1Patch, 0 },
9054
9055 { zAix_PthreadName, zAix_PthreadList,
9056 apzAix_PthreadMachs,
9057 AIX_PTHREAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9058 aAix_PthreadTests, apzAix_PthreadPatch, 0 },
9059
9060 { zAix_Stdint_1Name, zAix_Stdint_1List,
9061 apzAix_Stdint_1Machs,
9062 AIX_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9063 aAix_Stdint_1Tests, apzAix_Stdint_1Patch, 0 },
9064
9065 { zAix_Stdint_2Name, zAix_Stdint_2List,
9066 apzAix_Stdint_2Machs,
9067 AIX_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9068 aAix_Stdint_2Tests, apzAix_Stdint_2Patch, 0 },
9069
9070 { zAix_Stdint_3Name, zAix_Stdint_3List,
9071 apzAix_Stdint_3Machs,
9072 AIX_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9073 aAix_Stdint_3Tests, apzAix_Stdint_3Patch, 0 },
9074
9075 { zAix_Stdint_4Name, zAix_Stdint_4List,
9076 apzAix_Stdint_4Machs,
9077 AIX_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9078 aAix_Stdint_4Tests, apzAix_Stdint_4Patch, 0 },
9079
9080 { zAix_Stdint_5Name, zAix_Stdint_5List,
9081 apzAix_Stdint_5Machs,
9082 AIX_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9083 aAix_Stdint_5Tests, apzAix_Stdint_5Patch, 0 },
9084
9085 { zAix_SysmachineName, zAix_SysmachineList,
9086 apzAix_SysmachineMachs,
9087 AIX_SYSMACHINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9088 aAix_SysmachineTests, apzAix_SysmachinePatch, 0 },
9089
9090 { zAix_Syswait_2Name, zAix_Syswait_2List,
9091 apzAix_Syswait_2Machs,
9092 AIX_SYSWAIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9093 aAix_Syswait_2Tests, apzAix_Syswait_2Patch, 0 },
9094
9095 { zAix_VolatileName, zAix_VolatileList,
9096 apzAix_VolatileMachs,
9097 AIX_VOLATILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9098 aAix_VolatileTests, apzAix_VolatilePatch, 0 },
9099
9100 { zAlpha___AssertName, zAlpha___AssertList,
9101 apzAlpha___AssertMachs,
9102 ALPHA___ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9103 aAlpha___AssertTests, apzAlpha___AssertPatch, 0 },
9104
9105 { zAlpha_AssertName, zAlpha_AssertList,
9106 apzAlpha_AssertMachs,
9107 ALPHA_ASSERT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9108 aAlpha_AssertTests, apzAlpha_AssertPatch, 0 },
9109
9110 { zAlpha_GetoptName, zAlpha_GetoptList,
9111 apzAlpha_GetoptMachs,
9112 ALPHA_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9113 aAlpha_GetoptTests, apzAlpha_GetoptPatch, 0 },
9114
9115 { zAlpha_If_SemicolonName, zAlpha_If_SemicolonList,
9116 apzAlpha_If_SemicolonMachs,
9117 ALPHA_IF_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9118 aAlpha_If_SemicolonTests, apzAlpha_If_SemicolonPatch, 0 },
9119
9120 { zAlpha_ParensName, zAlpha_ParensList,
9121 apzAlpha_ParensMachs,
9122 ALPHA_PARENS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9123 aAlpha_ParensTests, apzAlpha_ParensPatch, 0 },
9124
9125 { zAlpha_SbrkName, zAlpha_SbrkList,
9126 apzAlpha_SbrkMachs,
9127 ALPHA_SBRK_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9128 aAlpha_SbrkTests, apzAlpha_SbrkPatch, 0 },
9129
9130 { zAvoid_Bool_DefineName, zAvoid_Bool_DefineList,
9131 apzAvoid_Bool_DefineMachs,
9132 AVOID_BOOL_DEFINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9133 aAvoid_Bool_DefineTests, apzAvoid_Bool_DefinePatch, 0 },
9134
9135 { zAvoid_Bool_TypeName, zAvoid_Bool_TypeList,
9136 apzAvoid_Bool_TypeMachs,
9137 AVOID_BOOL_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9138 aAvoid_Bool_TypeTests, apzAvoid_Bool_TypePatch, 0 },
9139
9140 { zAvoid_Wchar_T_TypeName, zAvoid_Wchar_T_TypeList,
9141 apzAvoid_Wchar_T_TypeMachs,
9142 AVOID_WCHAR_T_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9143 aAvoid_Wchar_T_TypeTests, apzAvoid_Wchar_T_TypePatch, 0 },
9144
9145 { zBad_Struct_TermName, zBad_Struct_TermList,
9146 apzBad_Struct_TermMachs,
9147 BAD_STRUCT_TERM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9148 aBad_Struct_TermTests, apzBad_Struct_TermPatch, 0 },
9149
9150 { zBadquoteName, zBadquoteList,
9151 apzBadquoteMachs,
9152 BADQUOTE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9153 aBadquoteTests, apzBadquotePatch, 0 },
9154
9155 { zBroken_Assert_StdioName, zBroken_Assert_StdioList,
9156 apzBroken_Assert_StdioMachs,
9157 BROKEN_ASSERT_STDIO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9158 aBroken_Assert_StdioTests, apzBroken_Assert_StdioPatch, 0 },
9159
9160 { zBroken_Assert_StdlibName, zBroken_Assert_StdlibList,
9161 apzBroken_Assert_StdlibMachs,
9162 BROKEN_ASSERT_STDLIB_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9163 aBroken_Assert_StdlibTests, apzBroken_Assert_StdlibPatch, 0 },
9164
9165 { zBroken_CabsName, zBroken_CabsList,
9166 apzBroken_CabsMachs,
9167 BROKEN_CABS_TEST_CT, FD_MACH_ONLY,
9168 aBroken_CabsTests, apzBroken_CabsPatch, 0 },
9169
9170 { zBroken_NanName, zBroken_NanList,
9171 apzBroken_NanMachs,
9172 BROKEN_NAN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9173 aBroken_NanTests, apzBroken_NanPatch, 0 },
9174
9175 { zBsd_Stdio_Attrs_ConflictName, zBsd_Stdio_Attrs_ConflictList,
9176 apzBsd_Stdio_Attrs_ConflictMachs,
9177 BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9178 aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
9179
9180 { zCdef_CplusplusName, zCdef_CplusplusList,
9181 apzCdef_CplusplusMachs,
9182 CDEF_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9183 aCdef_CplusplusTests, apzCdef_CplusplusPatch, 0 },
9184
9185 { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
9186 apzCtrl_Quotes_DefMachs,
9187 CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9188 aCtrl_Quotes_DefTests, apzCtrl_Quotes_DefPatch, 0 },
9189
9190 { zCtrl_Quotes_UseName, zCtrl_Quotes_UseList,
9191 apzCtrl_Quotes_UseMachs,
9192 CTRL_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9193 aCtrl_Quotes_UseTests, apzCtrl_Quotes_UsePatch, 0 },
9194
9195 { zCxx_UnreadyName, zCxx_UnreadyList,
9196 apzCxx_UnreadyMachs,
9197 CXX_UNREADY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9198 aCxx_UnreadyTests, apzCxx_UnreadyPatch, 0 },
9199
9200 { zDarwin_ExterncName, zDarwin_ExterncList,
9201 apzDarwin_ExterncMachs,
9202 DARWIN_EXTERNC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9203 aDarwin_ExterncTests, apzDarwin_ExterncPatch, 0 },
9204
9205 { zDarwin_Gcc4_BreakageName, zDarwin_Gcc4_BreakageList,
9206 apzDarwin_Gcc4_BreakageMachs,
9207 DARWIN_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9208 aDarwin_Gcc4_BreakageTests, apzDarwin_Gcc4_BreakagePatch, 0 },
9209
9210 { zDarwin_Private_ExternName, zDarwin_Private_ExternList,
9211 apzDarwin_Private_ExternMachs,
9212 DARWIN_PRIVATE_EXTERN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9213 aDarwin_Private_ExternTests, apzDarwin_Private_ExternPatch, 0 },
9214
9215 { zDarwin_Stdint_1Name, zDarwin_Stdint_1List,
9216 apzDarwin_Stdint_1Machs,
9217 DARWIN_STDINT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9218 aDarwin_Stdint_1Tests, apzDarwin_Stdint_1Patch, 0 },
9219
9220 { zDarwin_Stdint_2Name, zDarwin_Stdint_2List,
9221 apzDarwin_Stdint_2Machs,
9222 DARWIN_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9223 aDarwin_Stdint_2Tests, apzDarwin_Stdint_2Patch, 0 },
9224
9225 { zDarwin_Stdint_3Name, zDarwin_Stdint_3List,
9226 apzDarwin_Stdint_3Machs,
9227 DARWIN_STDINT_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9228 aDarwin_Stdint_3Tests, apzDarwin_Stdint_3Patch, 0 },
9229
9230 { zDarwin_Stdint_4Name, zDarwin_Stdint_4List,
9231 apzDarwin_Stdint_4Machs,
9232 DARWIN_STDINT_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9233 aDarwin_Stdint_4Tests, apzDarwin_Stdint_4Patch, 0 },
9234
9235 { zDarwin_Stdint_5Name, zDarwin_Stdint_5List,
9236 apzDarwin_Stdint_5Machs,
9237 DARWIN_STDINT_5_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9238 aDarwin_Stdint_5Tests, apzDarwin_Stdint_5Patch, 0 },
9239
9240 { zDarwin_Stdint_6Name, zDarwin_Stdint_6List,
9241 apzDarwin_Stdint_6Machs,
9242 DARWIN_STDINT_6_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9243 aDarwin_Stdint_6Tests, apzDarwin_Stdint_6Patch, 0 },
9244
9245 { zDarwin_Stdint_7Name, zDarwin_Stdint_7List,
9246 apzDarwin_Stdint_7Machs,
9247 DARWIN_STDINT_7_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9248 aDarwin_Stdint_7Tests, apzDarwin_Stdint_7Patch, 0 },
9249
9250 { zDec_Intern_AsmName, zDec_Intern_AsmList,
9251 apzDec_Intern_AsmMachs,
9252 DEC_INTERN_ASM_TEST_CT, FD_MACH_ONLY,
9253 aDec_Intern_AsmTests, apzDec_Intern_AsmPatch, 0 },
9254
9255 { zDjgpp_Wchar_HName, zDjgpp_Wchar_HList,
9256 apzDjgpp_Wchar_HMachs,
9257 DJGPP_WCHAR_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9258 aDjgpp_Wchar_HTests, apzDjgpp_Wchar_HPatch, 0 },
9259
9260 { zEcd_CursorName, zEcd_CursorList,
9261 apzEcd_CursorMachs,
9262 ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9263 aEcd_CursorTests, apzEcd_CursorPatch, 0 },
9264
9265 { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList,
9266 apzFreebsd_Gcc3_BreakageMachs,
9267 FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9268 aFreebsd_Gcc3_BreakageTests, apzFreebsd_Gcc3_BreakagePatch, 0 },
9269
9270 { zFreebsd_Gcc4_BreakageName, zFreebsd_Gcc4_BreakageList,
9271 apzFreebsd_Gcc4_BreakageMachs,
9272 FREEBSD_GCC4_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9273 aFreebsd_Gcc4_BreakageTests, apzFreebsd_Gcc4_BreakagePatch, 0 },
9274
9275 { zGlibc_C99_Inline_1Name, zGlibc_C99_Inline_1List,
9276 apzGlibc_C99_Inline_1Machs,
9277 GLIBC_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9278 aGlibc_C99_Inline_1Tests, apzGlibc_C99_Inline_1Patch, 0 },
9279
9280 { zGlibc_C99_Inline_1aName, zGlibc_C99_Inline_1aList,
9281 apzGlibc_C99_Inline_1aMachs,
9282 GLIBC_C99_INLINE_1A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9283 aGlibc_C99_Inline_1aTests, apzGlibc_C99_Inline_1aPatch, 0 },
9284
9285 { zGlibc_C99_Inline_2Name, zGlibc_C99_Inline_2List,
9286 apzGlibc_C99_Inline_2Machs,
9287 GLIBC_C99_INLINE_2_TEST_CT, FD_MACH_ONLY,
9288 aGlibc_C99_Inline_2Tests, apzGlibc_C99_Inline_2Patch, 0 },
9289
9290 { zGlibc_C99_Inline_3Name, zGlibc_C99_Inline_3List,
9291 apzGlibc_C99_Inline_3Machs,
9292 GLIBC_C99_INLINE_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9293 aGlibc_C99_Inline_3Tests, apzGlibc_C99_Inline_3Patch, 0 },
9294
9295 { zGlibc_C99_Inline_4Name, zGlibc_C99_Inline_4List,
9296 apzGlibc_C99_Inline_4Machs,
9297 GLIBC_C99_INLINE_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9298 aGlibc_C99_Inline_4Tests, apzGlibc_C99_Inline_4Patch, 0 },
9299
9300 { zGlibc_Mutex_InitName, zGlibc_Mutex_InitList,
9301 apzGlibc_Mutex_InitMachs,
9302 GLIBC_MUTEX_INIT_TEST_CT, FD_MACH_ONLY,
9303 aGlibc_Mutex_InitTests, apzGlibc_Mutex_InitPatch, 0 },
9304
9305 { zGlibc_StdintName, zGlibc_StdintList,
9306 apzGlibc_StdintMachs,
9307 GLIBC_STDINT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9308 aGlibc_StdintTests, apzGlibc_StdintPatch, 0 },
9309
9310 { zGlibc_StrncpyName, zGlibc_StrncpyList,
9311 apzGlibc_StrncpyMachs,
9312 GLIBC_STRNCPY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9313 aGlibc_StrncpyTests, apzGlibc_StrncpyPatch, 0 },
9314
9315 { zGlibc_TgmathName, zGlibc_TgmathList,
9316 apzGlibc_TgmathMachs,
9317 GLIBC_TGMATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9318 aGlibc_TgmathTests, apzGlibc_TgmathPatch, 0 },
9319
9320 { zGnu_TypesName, zGnu_TypesList,
9321 apzGnu_TypesMachs,
9322 GNU_TYPES_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
9323 aGnu_TypesTests, apzGnu_TypesPatch, 0 },
9324
9325 { zHp_InlineName, zHp_InlineList,
9326 apzHp_InlineMachs,
9327 HP_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9328 aHp_InlineTests, apzHp_InlinePatch, 0 },
9329
9330 { zHp_SysfileName, zHp_SysfileList,
9331 apzHp_SysfileMachs,
9332 HP_SYSFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9333 aHp_SysfileTests, apzHp_SysfilePatch, 0 },
9334
9335 { zHppa_Hpux_Fp_MacrosName, zHppa_Hpux_Fp_MacrosList,
9336 apzHppa_Hpux_Fp_MacrosMachs,
9337 HPPA_HPUX_FP_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9338 aHppa_Hpux_Fp_MacrosTests, apzHppa_Hpux_Fp_MacrosPatch, 0 },
9339
9340 { zHpux10_Cpp_Pow_InlineName, zHpux10_Cpp_Pow_InlineList,
9341 apzHpux10_Cpp_Pow_InlineMachs,
9342 HPUX10_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9343 aHpux10_Cpp_Pow_InlineTests, apzHpux10_Cpp_Pow_InlinePatch, 0 },
9344
9345 { zHpux11_Cpp_Pow_InlineName, zHpux11_Cpp_Pow_InlineList,
9346 apzHpux11_Cpp_Pow_InlineMachs,
9347 HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9348 aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 },
9349
9350 { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List,
9351 apzHpux10_Ctype_Declarations1Machs,
9352 HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9353 aHpux10_Ctype_Declarations1Tests, apzHpux10_Ctype_Declarations1Patch, 0 },
9354
9355 { zHpux10_Ctype_Declarations2Name, zHpux10_Ctype_Declarations2List,
9356 apzHpux10_Ctype_Declarations2Machs,
9357 HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9358 aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
9359
9360 { zHpux10_Stdio_DeclarationsName, zHpux10_Stdio_DeclarationsList,
9361 apzHpux10_Stdio_DeclarationsMachs,
9362 HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9363 aHpux10_Stdio_DeclarationsTests, apzHpux10_Stdio_DeclarationsPatch, 0 },
9364
9365 { zHpux11_AbsName, zHpux11_AbsList,
9366 apzHpux11_AbsMachs,
9367 HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9368 aHpux11_AbsTests, apzHpux11_AbsPatch, 0 },
9369
9370 { zHpux11_FabsfName, zHpux11_FabsfList,
9371 apzHpux11_FabsfMachs,
9372 HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9373 aHpux11_FabsfTests, apzHpux11_FabsfPatch, 0 },
9374
9375 { zHpux11_Pthread_ConstName, zHpux11_Pthread_ConstList,
9376 apzHpux11_Pthread_ConstMachs,
9377 HPUX11_PTHREAD_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9378 aHpux11_Pthread_ConstTests, apzHpux11_Pthread_ConstPatch, 0 },
9379
9380 { zHpux11_Size_TName, zHpux11_Size_TList,
9381 apzHpux11_Size_TMachs,
9382 HPUX11_SIZE_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9383 aHpux11_Size_TTests, apzHpux11_Size_TPatch, 0 },
9384
9385 { zHpux11_SnprintfName, zHpux11_SnprintfList,
9386 apzHpux11_SnprintfMachs,
9387 HPUX11_SNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9388 aHpux11_SnprintfTests, apzHpux11_SnprintfPatch, 0 },
9389
9390 { zHpux11_VsnprintfName, zHpux11_VsnprintfList,
9391 apzHpux11_VsnprintfMachs,
9392 HPUX11_VSNPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9393 aHpux11_VsnprintfTests, apzHpux11_VsnprintfPatch, 0 },
9394
9395 { zHpux8_Bogus_InlinesName, zHpux8_Bogus_InlinesList,
9396 apzHpux8_Bogus_InlinesMachs,
9397 HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY,
9398 aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 },
9399
9400 { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList,
9401 apzHpux_Ctype_MacrosMachs,
9402 HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9403 aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 },
9404
9405 { zHpux_HtonlName, zHpux_HtonlList,
9406 apzHpux_HtonlMachs,
9407 HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9408 aHpux_HtonlTests, apzHpux_HtonlPatch, 0 },
9409
9410 { zHpux_Long_DoubleName, zHpux_Long_DoubleList,
9411 apzHpux_Long_DoubleMachs,
9412 HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY,
9413 aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 },
9414
9415 { zHpux_Long_Double_2Name, zHpux_Long_Double_2List,
9416 apzHpux_Long_Double_2Machs,
9417 HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9418 aHpux_Long_Double_2Tests, apzHpux_Long_Double_2Patch, 0 },
9419
9420 { zHpux_SystimeName, zHpux_SystimeList,
9421 apzHpux_SystimeMachs,
9422 HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9423 aHpux_SystimeTests, apzHpux_SystimePatch, 0 },
9424
9425 { zHpux_Spu_InfoName, zHpux_Spu_InfoList,
9426 apzHpux_Spu_InfoMachs,
9427 HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9428 aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 },
9429
9430 { zHpux11_Extern_SendfileName, zHpux11_Extern_SendfileList,
9431 apzHpux11_Extern_SendfileMachs,
9432 HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9433 aHpux11_Extern_SendfileTests, apzHpux11_Extern_SendfilePatch, 0 },
9434
9435 { zHpux11_Extern_SendpathName, zHpux11_Extern_SendpathList,
9436 apzHpux11_Extern_SendpathMachs,
9437 HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9438 aHpux11_Extern_SendpathTests, apzHpux11_Extern_SendpathPatch, 0 },
9439
9440 { zHpux_Extern_ErrnoName, zHpux_Extern_ErrnoList,
9441 apzHpux_Extern_ErrnoMachs,
9442 HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9443 aHpux_Extern_ErrnoTests, apzHpux_Extern_ErrnoPatch, 0 },
9444
9445 { zHpux_Pthread_InitializersName, zHpux_Pthread_InitializersList,
9446 apzHpux_Pthread_InitializersMachs,
9447 HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY,
9448 aHpux_Pthread_InitializersTests, apzHpux_Pthread_InitializersPatch, 0 },
9449
9450 { zHpux_C99_IntptrName, zHpux_C99_IntptrList,
9451 apzHpux_C99_IntptrMachs,
9452 HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY,
9453 aHpux_C99_IntptrTests, apzHpux_C99_IntptrPatch, 0 },
9454
9455 { zHpux_C99_InttypesName, zHpux_C99_InttypesList,
9456 apzHpux_C99_InttypesMachs,
9457 HPUX_C99_INTTYPES_TEST_CT, FD_MACH_ONLY,
9458 aHpux_C99_InttypesTests, apzHpux_C99_InttypesPatch, 0 },
9459
9460 { zHpux_C99_Inttypes2Name, zHpux_C99_Inttypes2List,
9461 apzHpux_C99_Inttypes2Machs,
9462 HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY,
9463 aHpux_C99_Inttypes2Tests, apzHpux_C99_Inttypes2Patch, 0 },
9464
9465 { zHpux_Stdint_Least_FastName, zHpux_Stdint_Least_FastList,
9466 apzHpux_Stdint_Least_FastMachs,
9467 HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9468 aHpux_Stdint_Least_FastTests, apzHpux_Stdint_Least_FastPatch, 0 },
9469
9470 { zHpux_Inttype_Int8_TName, zHpux_Inttype_Int8_TList,
9471 apzHpux_Inttype_Int8_TMachs,
9472 HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9473 aHpux_Inttype_Int8_TTests, apzHpux_Inttype_Int8_TPatch, 0 },
9474
9475 { zHpux_Imaginary_IName, zHpux_Imaginary_IList,
9476 apzHpux_Imaginary_IMachs,
9477 HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9478 aHpux_Imaginary_ITests, apzHpux_Imaginary_IPatch, 0 },
9479
9480 { zHuge_Val_HexName, zHuge_Val_HexList,
9481 apzHuge_Val_HexMachs,
9482 HUGE_VAL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9483 aHuge_Val_HexTests, apzHuge_Val_HexPatch, 0 },
9484
9485 { zHuge_Valf_HexName, zHuge_Valf_HexList,
9486 apzHuge_Valf_HexMachs,
9487 HUGE_VALF_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9488 aHuge_Valf_HexTests, apzHuge_Valf_HexPatch, 0 },
9489
9490 { zHuge_Vall_HexName, zHuge_Vall_HexList,
9491 apzHuge_Vall_HexMachs,
9492 HUGE_VALL_HEX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9493 aHuge_Vall_HexTests, apzHuge_Vall_HexPatch, 0 },
9494
9495 { zInt_Abort_Free_And_ExitName, zInt_Abort_Free_And_ExitList,
9496 apzInt_Abort_Free_And_ExitMachs,
9497 INT_ABORT_FREE_AND_EXIT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9498 aInt_Abort_Free_And_ExitTests, apzInt_Abort_Free_And_ExitPatch, 0 },
9499
9500 { zIo_Quotes_DefName, zIo_Quotes_DefList,
9501 apzIo_Quotes_DefMachs,
9502 IO_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9503 aIo_Quotes_DefTests, apzIo_Quotes_DefPatch, 0 },
9504
9505 { zIo_Quotes_UseName, zIo_Quotes_UseList,
9506 apzIo_Quotes_UseMachs,
9507 IO_QUOTES_USE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9508 aIo_Quotes_UseTests, apzIo_Quotes_UsePatch, 0 },
9509
9510 { zIp_Missing_SemiName, zIp_Missing_SemiList,
9511 apzIp_Missing_SemiMachs,
9512 IP_MISSING_SEMI_TEST_CT, FD_MACH_ONLY,
9513 aIp_Missing_SemiTests, apzIp_Missing_SemiPatch, 0 },
9514
9515 { zIrix_Limits_ConstName, zIrix_Limits_ConstList,
9516 apzIrix_Limits_ConstMachs,
9517 IRIX_LIMITS_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9518 aIrix_Limits_ConstTests, apzIrix_Limits_ConstPatch, 0 },
9519
9520 { zIrix_Stdio_Va_ListName, zIrix_Stdio_Va_ListList,
9521 apzIrix_Stdio_Va_ListMachs,
9522 IRIX_STDIO_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9523 aIrix_Stdio_Va_ListTests, apzIrix_Stdio_Va_ListPatch, 0 },
9524
9525 { zKandr_ConcatName, zKandr_ConcatList,
9526 apzKandr_ConcatMachs,
9527 KANDR_CONCAT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9528 aKandr_ConcatTests, apzKandr_ConcatPatch, 0 },
9529
9530 { zLinux_Ia64_UcontextName, zLinux_Ia64_UcontextList,
9531 apzLinux_Ia64_UcontextMachs,
9532 LINUX_IA64_UCONTEXT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9533 aLinux_Ia64_UcontextTests, apzLinux_Ia64_UcontextPatch, 0 },
9534
9535 { zLynxos_No_Warning_In_Sys_Time_HName, zLynxos_No_Warning_In_Sys_Time_HList,
9536 apzLynxos_No_Warning_In_Sys_Time_HMachs,
9537 LYNXOS_NO_WARNING_IN_SYS_TIME_H_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9538 aLynxos_No_Warning_In_Sys_Time_HTests, apzLynxos_No_Warning_In_Sys_Time_HPatch, 0 },
9539
9540 { zLynxos_Missing_PutenvName, zLynxos_Missing_PutenvList,
9541 apzLynxos_Missing_PutenvMachs,
9542 LYNXOS_MISSING_PUTENV_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9543 aLynxos_Missing_PutenvTests, apzLynxos_Missing_PutenvPatch, 0 },
9544
9545 { zMachine_Ansi_H_Va_ListName, zMachine_Ansi_H_Va_ListList,
9546 apzMachine_Ansi_H_Va_ListMachs,
9547 MACHINE_ANSI_H_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9548 aMachine_Ansi_H_Va_ListTests, apzMachine_Ansi_H_Va_ListPatch, 0 },
9549
9550 { zMachine_NameName, zMachine_NameList,
9551 apzMachine_NameMachs,
9552 MACHINE_NAME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9553 aMachine_NameTests, apzMachine_NamePatch, 0 },
9554
9555 { zMath_ExceptionName, zMath_ExceptionList,
9556 apzMath_ExceptionMachs,
9557 MATH_EXCEPTION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9558 aMath_ExceptionTests, apzMath_ExceptionPatch, 0 },
9559
9560 { zMath_Huge_Val_From_Dbl_MaxName, zMath_Huge_Val_From_Dbl_MaxList,
9561 apzMath_Huge_Val_From_Dbl_MaxMachs,
9562 MATH_HUGE_VAL_FROM_DBL_MAX_TEST_CT, FD_MACH_ONLY | FD_SHELL_SCRIPT,
9563 aMath_Huge_Val_From_Dbl_MaxTests, apzMath_Huge_Val_From_Dbl_MaxPatch, 0 },
9564
9565 { zNested_Auth_DesName, zNested_Auth_DesList,
9566 apzNested_Auth_DesMachs,
9567 NESTED_AUTH_DES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9568 aNested_Auth_DesTests, apzNested_Auth_DesPatch, 0 },
9569
9570 { zNetbsd_C99_Inline_1Name, zNetbsd_C99_Inline_1List,
9571 apzNetbsd_C99_Inline_1Machs,
9572 NETBSD_C99_INLINE_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9573 aNetbsd_C99_Inline_1Tests, apzNetbsd_C99_Inline_1Patch, 0 },
9574
9575 { zNetbsd_C99_Inline_2Name, zNetbsd_C99_Inline_2List,
9576 apzNetbsd_C99_Inline_2Machs,
9577 NETBSD_C99_INLINE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9578 aNetbsd_C99_Inline_2Tests, apzNetbsd_C99_Inline_2Patch, 0 },
9579
9580 { zNetbsd_Extra_SemicolonName, zNetbsd_Extra_SemicolonList,
9581 apzNetbsd_Extra_SemicolonMachs,
9582 NETBSD_EXTRA_SEMICOLON_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9583 aNetbsd_Extra_SemicolonTests, apzNetbsd_Extra_SemicolonPatch, 0 },
9584
9585 { zNewlib_Stdint_1Name, zNewlib_Stdint_1List,
9586 apzNewlib_Stdint_1Machs,
9587 NEWLIB_STDINT_1_TEST_CT, FD_MACH_ONLY,
9588 aNewlib_Stdint_1Tests, apzNewlib_Stdint_1Patch, 0 },
9589
9590 { zNewlib_Stdint_2Name, zNewlib_Stdint_2List,
9591 apzNewlib_Stdint_2Machs,
9592 NEWLIB_STDINT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9593 aNewlib_Stdint_2Tests, apzNewlib_Stdint_2Patch, 0 },
9594
9595 { zNext_Math_PrefixName, zNext_Math_PrefixList,
9596 apzNext_Math_PrefixMachs,
9597 NEXT_MATH_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9598 aNext_Math_PrefixTests, apzNext_Math_PrefixPatch, 0 },
9599
9600 { zNext_TemplateName, zNext_TemplateList,
9601 apzNext_TemplateMachs,
9602 NEXT_TEMPLATE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9603 aNext_TemplateTests, apzNext_TemplatePatch, 0 },
9604
9605 { zNext_VolitileName, zNext_VolitileList,
9606 apzNext_VolitileMachs,
9607 NEXT_VOLITILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9608 aNext_VolitileTests, apzNext_VolitilePatch, 0 },
9609
9610 { zNext_Wait_UnionName, zNext_Wait_UnionList,
9611 apzNext_Wait_UnionMachs,
9612 NEXT_WAIT_UNION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9613 aNext_Wait_UnionTests, apzNext_Wait_UnionPatch, 0 },
9614
9615 { zNodeent_SyntaxName, zNodeent_SyntaxList,
9616 apzNodeent_SyntaxMachs,
9617 NODEENT_SYNTAX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9618 aNodeent_SyntaxTests, apzNodeent_SyntaxPatch, 0 },
9619
9620 { zOpenbsd_Null_DefinitionName, zOpenbsd_Null_DefinitionList,
9621 apzOpenbsd_Null_DefinitionMachs,
9622 OPENBSD_NULL_DEFINITION_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9623 aOpenbsd_Null_DefinitionTests, apzOpenbsd_Null_DefinitionPatch, 0 },
9624
9625 { zObstack_Lvalue_CastName, zObstack_Lvalue_CastList,
9626 apzObstack_Lvalue_CastMachs,
9627 OBSTACK_LVALUE_CAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9628 aObstack_Lvalue_CastTests, apzObstack_Lvalue_CastPatch, 0 },
9629
9630 { zOpenbsd_Va_StartName, zOpenbsd_Va_StartList,
9631 apzOpenbsd_Va_StartMachs,
9632 OPENBSD_VA_START_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9633 aOpenbsd_Va_StartTests, apzOpenbsd_Va_StartPatch, 0 },
9634
9635 { zOsf_Namespace_AName, zOsf_Namespace_AList,
9636 apzOsf_Namespace_AMachs,
9637 OSF_NAMESPACE_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9638 aOsf_Namespace_ATests, apzOsf_Namespace_APatch, 0 },
9639
9640 { zOsf_Namespace_CName, zOsf_Namespace_CList,
9641 apzOsf_Namespace_CMachs,
9642 OSF_NAMESPACE_C_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9643 aOsf_Namespace_CTests, apzOsf_Namespace_CPatch, 0 },
9644
9645 { zPthread_Incomplete_Struct_ArgumentName, zPthread_Incomplete_Struct_ArgumentList,
9646 apzPthread_Incomplete_Struct_ArgumentMachs,
9647 PTHREAD_INCOMPLETE_STRUCT_ARGUMENT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9648 aPthread_Incomplete_Struct_ArgumentTests, apzPthread_Incomplete_Struct_ArgumentPatch, 0 },
9649
9650 { zRead_Ret_TypeName, zRead_Ret_TypeList,
9651 apzRead_Ret_TypeMachs,
9652 READ_RET_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9653 aRead_Ret_TypeTests, apzRead_Ret_TypePatch, 0 },
9654
9655 { zRpc_Xdr_Lvalue_Cast_AName, zRpc_Xdr_Lvalue_Cast_AList,
9656 apzRpc_Xdr_Lvalue_Cast_AMachs,
9657 RPC_XDR_LVALUE_CAST_A_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9658 aRpc_Xdr_Lvalue_Cast_ATests, apzRpc_Xdr_Lvalue_Cast_APatch, 0 },
9659
9660 { zRpc_Xdr_Lvalue_Cast_BName, zRpc_Xdr_Lvalue_Cast_BList,
9661 apzRpc_Xdr_Lvalue_Cast_BMachs,
9662 RPC_XDR_LVALUE_CAST_B_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9663 aRpc_Xdr_Lvalue_Cast_BTests, apzRpc_Xdr_Lvalue_Cast_BPatch, 0 },
9664
9665 { zRs6000_DoubleName, zRs6000_DoubleList,
9666 apzRs6000_DoubleMachs,
9667 RS6000_DOUBLE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9668 aRs6000_DoubleTests, apzRs6000_DoublePatch, 0 },
9669
9670 { zRs6000_FchmodName, zRs6000_FchmodList,
9671 apzRs6000_FchmodMachs,
9672 RS6000_FCHMOD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9673 aRs6000_FchmodTests, apzRs6000_FchmodPatch, 0 },
9674
9675 { zRs6000_ParamName, zRs6000_ParamList,
9676 apzRs6000_ParamMachs,
9677 RS6000_PARAM_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9678 aRs6000_ParamTests, apzRs6000_ParamPatch, 0 },
9679
9680 { zSolaris___RestrictName, zSolaris___RestrictList,
9681 apzSolaris___RestrictMachs,
9682 SOLARIS___RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9683 aSolaris___RestrictTests, apzSolaris___RestrictPatch, 0 },
9684
9685 { zSolaris_ComplexName, zSolaris_ComplexList,
9686 apzSolaris_ComplexMachs,
9687 SOLARIS_COMPLEX_TEST_CT, FD_MACH_ONLY,
9688 aSolaris_ComplexTests, apzSolaris_ComplexPatch, 0 },
9689
9690 { zSolaris_Complex_CxxName, zSolaris_Complex_CxxList,
9691 apzSolaris_Complex_CxxMachs,
9692 SOLARIS_COMPLEX_CXX_TEST_CT, FD_MACH_ONLY,
9693 aSolaris_Complex_CxxTests, apzSolaris_Complex_CxxPatch, 0 },
9694
9695 { zSolaris_Cxx_LinkageName, zSolaris_Cxx_LinkageList,
9696 apzSolaris_Cxx_LinkageMachs,
9697 SOLARIS_CXX_LINKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9698 aSolaris_Cxx_LinkageTests, apzSolaris_Cxx_LinkagePatch, 0 },
9699
9700 { zSolaris_Getc_Strict_StdcName, zSolaris_Getc_Strict_StdcList,
9701 apzSolaris_Getc_Strict_StdcMachs,
9702 SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9703 aSolaris_Getc_Strict_StdcTests, apzSolaris_Getc_Strict_StdcPatch, 0 },
9704
9705 { zSolaris_Longjmp_NoreturnName, zSolaris_Longjmp_NoreturnList,
9706 apzSolaris_Longjmp_NoreturnMachs,
9707 SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9708 aSolaris_Longjmp_NoreturnTests, apzSolaris_Longjmp_NoreturnPatch, 0 },
9709
9710 { zSolaris_Math_1Name, zSolaris_Math_1List,
9711 apzSolaris_Math_1Machs,
9712 SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9713 aSolaris_Math_1Tests, apzSolaris_Math_1Patch, 0 },
9714
9715 { zSolaris_Math_2Name, zSolaris_Math_2List,
9716 apzSolaris_Math_2Machs,
9717 SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9718 aSolaris_Math_2Tests, apzSolaris_Math_2Patch, 0 },
9719
9720 { zSolaris_Math_3Name, zSolaris_Math_3List,
9721 apzSolaris_Math_3Machs,
9722 SOLARIS_MATH_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9723 aSolaris_Math_3Tests, apzSolaris_Math_3Patch, 0 },
9724
9725 { zSolaris_Math_4Name, zSolaris_Math_4List,
9726 apzSolaris_Math_4Machs,
9727 SOLARIS_MATH_4_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9728 aSolaris_Math_4Tests, apzSolaris_Math_4Patch, 0 },
9729
9730 { zSolaris_Math_8Name, zSolaris_Math_8List,
9731 apzSolaris_Math_8Machs,
9732 SOLARIS_MATH_8_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9733 aSolaris_Math_8Tests, apzSolaris_Math_8Patch, 0 },
9734
9735 { zSolaris_Math_9Name, zSolaris_Math_9List,
9736 apzSolaris_Math_9Machs,
9737 SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9738 aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 },
9739
9740 { zSolaris_Math_10Name, zSolaris_Math_10List,
9741 apzSolaris_Math_10Machs,
9742 SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9743 aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 },
9744
9745 { zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List,
9746 apzSolaris_Mutex_Init_2Machs,
9747 SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9748 aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 },
9749
9750 { zSolaris_Pow_Int_OverloadName, zSolaris_Pow_Int_OverloadList,
9751 apzSolaris_Pow_Int_OverloadMachs,
9752 SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9753 aSolaris_Pow_Int_OverloadTests, apzSolaris_Pow_Int_OverloadPatch, 0 },
9754
9755 { zSolaris_Rwlock_Init_1Name, zSolaris_Rwlock_Init_1List,
9756 apzSolaris_Rwlock_Init_1Machs,
9757 SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9758 aSolaris_Rwlock_Init_1Tests, apzSolaris_Rwlock_Init_1Patch, 0 },
9759
9760 { zSolaris_Once_Init_1Name, zSolaris_Once_Init_1List,
9761 apzSolaris_Once_Init_1Machs,
9762 SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9763 aSolaris_Once_Init_1Tests, apzSolaris_Once_Init_1Patch, 0 },
9764
9765 { zSolaris_Once_Init_2Name, zSolaris_Once_Init_2List,
9766 apzSolaris_Once_Init_2Machs,
9767 SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9768 aSolaris_Once_Init_2Tests, apzSolaris_Once_Init_2Patch, 0 },
9769
9770 { zSolaris_Int_ConstName, zSolaris_Int_ConstList,
9771 apzSolaris_Int_ConstMachs,
9772 SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9773 aSolaris_Int_ConstTests, apzSolaris_Int_ConstPatch, 0 },
9774
9775 { zSolaris_Int_Limits_1Name, zSolaris_Int_Limits_1List,
9776 apzSolaris_Int_Limits_1Machs,
9777 SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9778 aSolaris_Int_Limits_1Tests, apzSolaris_Int_Limits_1Patch, 0 },
9779
9780 { zSolaris_Int_Limits_2Name, zSolaris_Int_Limits_2List,
9781 apzSolaris_Int_Limits_2Machs,
9782 SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9783 aSolaris_Int_Limits_2Tests, apzSolaris_Int_Limits_2Patch, 0 },
9784
9785 { zSolaris_Int_Limits_3Name, zSolaris_Int_Limits_3List,
9786 apzSolaris_Int_Limits_3Machs,
9787 SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9788 aSolaris_Int_Limits_3Tests, apzSolaris_Int_Limits_3Patch, 0 },
9789
9790 { zSolaris_Int_TypesName, zSolaris_Int_TypesList,
9791 apzSolaris_Int_TypesMachs,
9792 SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9793 aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 },
9794
9795 { zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList,
9796 apzSolaris_Posix_Spawn_RestrictMachs,
9797 SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9798 aSolaris_Posix_Spawn_RestrictTests, apzSolaris_Posix_Spawn_RestrictPatch, 0 },
9799
9800 { zSolaris_Std___FilbufName, zSolaris_Std___FilbufList,
9801 apzSolaris_Std___FilbufMachs,
9802 SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9803 aSolaris_Std___FilbufTests, apzSolaris_Std___FilbufPatch, 0 },
9804
9805 { zSolaris_Stdio_TagName, zSolaris_Stdio_TagList,
9806 apzSolaris_Stdio_TagMachs,
9807 SOLARIS_STDIO_TAG_TEST_CT, FD_MACH_ONLY,
9808 aSolaris_Stdio_TagTests, apzSolaris_Stdio_TagPatch, 0 },
9809
9810 { zSolaris_Sys_Va_ListName, zSolaris_Sys_Va_ListList,
9811 apzSolaris_Sys_Va_ListMachs,
9812 SOLARIS_SYS_VA_LIST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9813 aSolaris_Sys_Va_ListTests, apzSolaris_Sys_Va_ListPatch, 0 },
9814
9815 { zStatsswtchName, zStatsswtchList,
9816 apzStatsswtchMachs,
9817 STATSSWTCH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9818 aStatsswtchTests, apzStatsswtchPatch, 0 },
9819
9820 { zStdio_Stdarg_HName, zStdio_Stdarg_HList,
9821 apzStdio_Stdarg_HMachs,
9822 STDIO_STDARG_H_TEST_CT, FD_MACH_IFNOT | FD_SUBROUTINE,
9823 aStdio_Stdarg_HTests, apzStdio_Stdarg_HPatch, 0 },
9824
9825 { zStdio_Va_ListName, zStdio_Va_ListList,
9826 apzStdio_Va_ListMachs,
9827 STDIO_VA_LIST_TEST_CT, FD_MACH_IFNOT,
9828 aStdio_Va_ListTests, apzStdio_Va_ListPatch, 0 },
9829
9830 { zStdio_Va_List_ClientsName, zStdio_Va_List_ClientsList,
9831 apzStdio_Va_List_ClientsMachs,
9832 STDIO_VA_LIST_CLIENTS_TEST_CT, FD_MACH_ONLY,
9833 aStdio_Va_List_ClientsTests, apzStdio_Va_List_ClientsPatch, 0 },
9834
9835 { zStrict_Ansi_NotName, zStrict_Ansi_NotList,
9836 apzStrict_Ansi_NotMachs,
9837 STRICT_ANSI_NOT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9838 aStrict_Ansi_NotTests, apzStrict_Ansi_NotPatch, 0 },
9839
9840 { zStrict_Ansi_Not_CtdName, zStrict_Ansi_Not_CtdList,
9841 apzStrict_Ansi_Not_CtdMachs,
9842 STRICT_ANSI_NOT_CTD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9843 aStrict_Ansi_Not_CtdTests, apzStrict_Ansi_Not_CtdPatch, 0 },
9844
9845 { zStrict_Ansi_OnlyName, zStrict_Ansi_OnlyList,
9846 apzStrict_Ansi_OnlyMachs,
9847 STRICT_ANSI_ONLY_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9848 aStrict_Ansi_OnlyTests, apzStrict_Ansi_OnlyPatch, 0 },
9849
9850 { zStruct_FileName, zStruct_FileList,
9851 apzStruct_FileMachs,
9852 STRUCT_FILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9853 aStruct_FileTests, apzStruct_FilePatch, 0 },
9854
9855 { zStruct_SockaddrName, zStruct_SockaddrList,
9856 apzStruct_SockaddrMachs,
9857 STRUCT_SOCKADDR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9858 aStruct_SockaddrTests, apzStruct_SockaddrPatch, 0 },
9859
9860 { zSun_Auth_ProtoName, zSun_Auth_ProtoList,
9861 apzSun_Auth_ProtoMachs,
9862 SUN_AUTH_PROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9863 aSun_Auth_ProtoTests, apzSun_Auth_ProtoPatch, 0 },
9864
9865 { zSun_Bogus_IfdefName, zSun_Bogus_IfdefList,
9866 apzSun_Bogus_IfdefMachs,
9867 SUN_BOGUS_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9868 aSun_Bogus_IfdefTests, apzSun_Bogus_IfdefPatch, 0 },
9869
9870 { zSun_CatmacroName, zSun_CatmacroList,
9871 apzSun_CatmacroMachs,
9872 SUN_CATMACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9873 aSun_CatmacroTests, apzSun_CatmacroPatch, 0 },
9874
9875 { zSun_MallocName, zSun_MallocList,
9876 apzSun_MallocMachs,
9877 SUN_MALLOC_TEST_CT, FD_MACH_ONLY,
9878 aSun_MallocTests, apzSun_MallocPatch, 0 },
9879
9880 { zSun_Rusers_SemiName, zSun_Rusers_SemiList,
9881 apzSun_Rusers_SemiMachs,
9882 SUN_RUSERS_SEMI_TEST_CT, FD_MACH_ONLY,
9883 aSun_Rusers_SemiTests, apzSun_Rusers_SemiPatch, 0 },
9884
9885 { zSun_SignalName, zSun_SignalList,
9886 apzSun_SignalMachs,
9887 SUN_SIGNAL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9888 aSun_SignalTests, apzSun_SignalPatch, 0 },
9889
9890 { zSunos_StrlenName, zSunos_StrlenList,
9891 apzSunos_StrlenMachs,
9892 SUNOS_STRLEN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9893 aSunos_StrlenTests, apzSunos_StrlenPatch, 0 },
9894
9895 { zSvr4_Disable_OptName, zSvr4_Disable_OptList,
9896 apzSvr4_Disable_OptMachs,
9897 SVR4_DISABLE_OPT_TEST_CT, FD_MACH_ONLY,
9898 aSvr4_Disable_OptTests, apzSvr4_Disable_OptPatch, 0 },
9899
9900 { zSvr4_GetcwdName, zSvr4_GetcwdList,
9901 apzSvr4_GetcwdMachs,
9902 SVR4_GETCWD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9903 aSvr4_GetcwdTests, apzSvr4_GetcwdPatch, 0 },
9904
9905 { zSvr4_ProfilName, zSvr4_ProfilList,
9906 apzSvr4_ProfilMachs,
9907 SVR4_PROFIL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9908 aSvr4_ProfilTests, apzSvr4_ProfilPatch, 0 },
9909
9910 { zSvr4_Sighandler_TypeName, zSvr4_Sighandler_TypeList,
9911 apzSvr4_Sighandler_TypeMachs,
9912 SVR4_SIGHANDLER_TYPE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9913 aSvr4_Sighandler_TypeTests, apzSvr4_Sighandler_TypePatch, 0 },
9914
9915 { zSvr4_Undeclared_GetrngeName, zSvr4_Undeclared_GetrngeList,
9916 apzSvr4_Undeclared_GetrngeMachs,
9917 SVR4_UNDECLARED_GETRNGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9918 aSvr4_Undeclared_GetrngeTests, apzSvr4_Undeclared_GetrngePatch, 0 },
9919
9920 { zSysv68_StringName, zSysv68_StringList,
9921 apzSysv68_StringMachs,
9922 SYSV68_STRING_TEST_CT, FD_MACH_ONLY,
9923 aSysv68_StringTests, apzSysv68_StringPatch, 0 },
9924
9925 { zSysz_Stdlib_For_SunName, zSysz_Stdlib_For_SunList,
9926 apzSysz_Stdlib_For_SunMachs,
9927 SYSZ_STDLIB_FOR_SUN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9928 aSysz_Stdlib_For_SunTests, apzSysz_Stdlib_For_SunPatch, 0 },
9929
9930 { zThread_KeywordName, zThread_KeywordList,
9931 apzThread_KeywordMachs,
9932 THREAD_KEYWORD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9933 aThread_KeywordTests, apzThread_KeywordPatch, 0 },
9934
9935 { zTinfo_CplusplusName, zTinfo_CplusplusList,
9936 apzTinfo_CplusplusMachs,
9937 TINFO_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9938 aTinfo_CplusplusTests, apzTinfo_CplusplusPatch, 0 },
9939
9940 { zUltrix_ConstName, zUltrix_ConstList,
9941 apzUltrix_ConstMachs,
9942 ULTRIX_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9943 aUltrix_ConstTests, apzUltrix_ConstPatch, 0 },
9944
9945 { zUltrix_Const2Name, zUltrix_Const2List,
9946 apzUltrix_Const2Machs,
9947 ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9948 aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
9949
9950 { zVa_I960_MacroName, zVa_I960_MacroList,
9951 apzVa_I960_MacroMachs,
9952 VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9953 aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 },
9954
9955 { zVms_Define_Can_Use_Extern_PrefixName, zVms_Define_Can_Use_Extern_PrefixList,
9956 apzVms_Define_Can_Use_Extern_PrefixMachs,
9957 VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9958 aVms_Define_Can_Use_Extern_PrefixTests, apzVms_Define_Can_Use_Extern_PrefixPatch, 0 },
9959
9960 { zVms_Use_Pragma_Extern_ModelName, zVms_Use_Pragma_Extern_ModelList,
9961 apzVms_Use_Pragma_Extern_ModelMachs,
9962 VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9963 aVms_Use_Pragma_Extern_ModelTests, apzVms_Use_Pragma_Extern_ModelPatch, 0 },
9964
9965 { zVms_Disable_Decc_String_BuiltinsName, zVms_Disable_Decc_String_BuiltinsList,
9966 apzVms_Disable_Decc_String_BuiltinsMachs,
9967 VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9968 aVms_Disable_Decc_String_BuiltinsTests, apzVms_Disable_Decc_String_BuiltinsPatch, 0 },
9969
9970 { zVms_Use_Quoted_IncludeName, zVms_Use_Quoted_IncludeList,
9971 apzVms_Use_Quoted_IncludeMachs,
9972 VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9973 aVms_Use_Quoted_IncludeTests, apzVms_Use_Quoted_IncludePatch, 0 },
9974
9975 { zVms_Add_Missing_BracesName, zVms_Add_Missing_BracesList,
9976 apzVms_Add_Missing_BracesMachs,
9977 VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9978 aVms_Add_Missing_BracesTests, apzVms_Add_Missing_BracesPatch, 0 },
9979
9980 { zVms_Do_Not_Redeclare_HostaliasName, zVms_Do_Not_Redeclare_HostaliasList,
9981 apzVms_Do_Not_Redeclare_HostaliasMachs,
9982 VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9983 aVms_Do_Not_Redeclare_HostaliasTests, apzVms_Do_Not_Redeclare_HostaliasPatch, 0 },
9984
9985 { zVms_Decc_BuiltinName, zVms_Decc_BuiltinList,
9986 apzVms_Decc_BuiltinMachs,
9987 VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY,
9988 aVms_Decc_BuiltinTests, apzVms_Decc_BuiltinPatch, 0 },
9989
9990 { zVms_No_64bit_GetoptName, zVms_No_64bit_GetoptList,
9991 apzVms_No_64bit_GetoptMachs,
9992 VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9993 aVms_No_64bit_GetoptTests, apzVms_No_64bit_GetoptPatch, 0 },
9994
9995 { zVms_Forward_Declare_StructName, zVms_Forward_Declare_StructList,
9996 apzVms_Forward_Declare_StructMachs,
9997 VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
9998 aVms_Forward_Declare_StructTests, apzVms_Forward_Declare_StructPatch, 0 },
9999
10000 { zVms_Use_Fast_SetjmpName, zVms_Use_Fast_SetjmpList,
10001 apzVms_Use_Fast_SetjmpMachs,
10002 VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10003 aVms_Use_Fast_SetjmpTests, apzVms_Use_Fast_SetjmpPatch, 0 },
10004
10005 { zVoid_NullName, zVoid_NullList,
10006 apzVoid_NullMachs,
10007 VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10008 aVoid_NullTests, apzVoid_NullPatch, 0 },
10009
10010 { zVxworks_Gcc_ProblemName, zVxworks_Gcc_ProblemList,
10011 apzVxworks_Gcc_ProblemMachs,
10012 VXWORKS_GCC_PROBLEM_TEST_CT, FD_MACH_ONLY,
10013 aVxworks_Gcc_ProblemTests, apzVxworks_Gcc_ProblemPatch, 0 },
10014
10015 { zVxworks_Needs_VxtypesName, zVxworks_Needs_VxtypesList,
10016 apzVxworks_Needs_VxtypesMachs,
10017 VXWORKS_NEEDS_VXTYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10018 aVxworks_Needs_VxtypesTests, apzVxworks_Needs_VxtypesPatch, 0 },
10019
10020 { zVxworks_Needs_VxworksName, zVxworks_Needs_VxworksList,
10021 apzVxworks_Needs_VxworksMachs,
10022 VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
10023 aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
10024
10025 { zVxworks_TimeName, zVxworks_TimeList,
10026 apzVxworks_TimeMachs,
10027 VXWORKS_TIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10028 aVxworks_TimeTests, apzVxworks_TimePatch, 0 },
10029
10030 { zX11_ClassName, zX11_ClassList,
10031 apzX11_ClassMachs,
10032 X11_CLASS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10033 aX11_ClassTests, apzX11_ClassPatch, 0 },
10034
10035 { zX11_Class_UsageName, zX11_Class_UsageList,
10036 apzX11_Class_UsageMachs,
10037 X11_CLASS_USAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10038 aX11_Class_UsageTests, apzX11_Class_UsagePatch, 0 },
10039
10040 { zX11_NewName, zX11_NewList,
10041 apzX11_NewMachs,
10042 X11_NEW_TEST_CT, FD_MACH_ONLY,
10043 aX11_NewTests, apzX11_NewPatch, 0 },
10044
10045 { zX11_SprintfName, zX11_SprintfList,
10046 apzX11_SprintfMachs,
10047 X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
10048 aX11_SprintfTests, apzX11_SprintfPatch, 0 }
10049 };