OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [fixincludes/] [fixincl.x] - Blame information for rev 15

Go to most recent revision | Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.