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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [fixincludes/] [fixincl.x] - Blame information for rev 816

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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