From e1775b33f51ecff1824554750d249bedf380dd27 Mon Sep 17 00:00:00 2001 From: Bruce Korb Date: Sun, 8 Dec 2013 21:55:46 +0000 Subject: [PATCH] fenv.h on Ubuntu plus fix the ordering of the patches: * inclhack.def: many of the headers found under "bits/" are often stashed under architecture directories. Apply fixes to those, too. Also, re-ordered misordered fixes. * tests/base/linux/vt.h: 80 columns in .def file limitation * tests/base/iso/math_c99.h: adjust ordering * tests/base/rtldef/string.h: likewise * tests/base/bits/fenv.h: likewise * tests/base/pthread.h: likewise From-SVN: r205793 --- fixincludes/ChangeLog | 11 + fixincludes/fixincl.x | 2542 ++++++++++++------------ fixincludes/inclhack.def | 1325 ++++++------ fixincludes/tests/base/bits/fenv.h | 20 +- fixincludes/tests/base/iso/math_c99.h | 14 +- fixincludes/tests/base/linux/vt.h | 2 +- fixincludes/tests/base/pthread.h | 20 +- fixincludes/tests/base/rtldef/string.h | 12 +- 8 files changed, 1998 insertions(+), 1948 deletions(-) diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 5e48ce17ad8..9cac3771da8 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,14 @@ +2013-12-07 Bruce Korb + + * inclhack.def: many of the headers found under "bits/" are + often stashed under architecture directories. Apply fixes + to those, too. Also, re-ordered misordered fixes. + * tests/base/linux/vt.h: 80 columns in .def file limitation + * tests/base/iso/math_c99.h: adjust ordering + * tests/base/rtldef/string.h: likewise + * tests/base/bits/fenv.h: likewise + * tests/base/pthread.h: likewise + 2013-12-06 Richard Biener * inclhack.def (suse_linux_vt_cxx): New fix for linux/vt.h diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index ec585cbd5a3..10b4061f30a 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -1,12 +1,12 @@ /* -*- buffer-read-only: t -*- vi: set ro: - * + * * DO NOT EDIT THIS FILE (fixincl.x) - * - * It has been AutoGen-ed December 6, 2013 at 09:26:10 AM by AutoGen 5.11.8 + * + * It has been AutoGen-ed December 8, 2013 at 12:24:14 PM by AutoGen 5.18.2 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Fri Dec 6 09:26:10 CET 2013 +/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Dec 8 12:24:14 PST 2013 * * You must regenerate it. Use the ./genfixes script. * @@ -2109,6 +2109,41 @@ static const char* apzBsd_Stdio_Attrs_ConflictPatch[] = { int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER_LABEL_PREFIX__) \"__svfscanf\");", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Complier_H_Tradcpp fix + */ +tSCC zComplier_H_TradcppName[] = + "complier_h_tradcpp"; + +/* + * File name selection pattern + */ +tSCC zComplier_H_TradcppList[] = + "linux/compiler.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzComplier_H_TradcppMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zComplier_H_TradcppSelect0[] = + "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)"; + +#define COMPLIER_H_TRADCPP_TEST_CT 1 +static tTestDesc aComplier_H_TradcppTests[] = { + { TT_EGREP, zComplier_H_TradcppSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Complier_H_Tradcpp + */ +static const char* apzComplier_H_TradcppPatch[] = { + "format", + "/* __builtin_warning(x, y...) is obsolete */", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Ctrl_Quotes_Def fix @@ -2807,6 +2842,108 @@ static const char* apzEcd_CursorPatch[] = { "ecd_cursor", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Feraiseexcept_Nosse_Divbyzero fix + */ +tSCC zFeraiseexcept_Nosse_DivbyzeroName[] = + "feraiseexcept_nosse_divbyzero"; + +/* + * File name selection pattern + */ +tSCC zFeraiseexcept_Nosse_DivbyzeroList[] = + "bits/fenv.h\0*/bits/fenv.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = { + "i[34567]86-*-linux*", + "x86*-linux*", + "amd64-*-linux*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] = + "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] = + "\"fdivp .*; fwait\""; + +#define FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT 2 +static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = { + { TT_NEGREP, zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL }, + { TT_EGREP, zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero + */ +static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = { + "format", + "# ifdef __SSE_MATH__\n\ +%0\n\ +# else\n\ +%1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\ +%1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\ +# endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Feraiseexcept_Nosse_Invalid fix + */ +tSCC zFeraiseexcept_Nosse_InvalidName[] = + "feraiseexcept_nosse_invalid"; + +/* + * File name selection pattern + */ +tSCC zFeraiseexcept_Nosse_InvalidList[] = + "bits/fenv.h\0*/bits/fenv.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = { + "i[34567]86-*-linux*", + "x86*-linux*", + "amd64-*-linux*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zFeraiseexcept_Nosse_InvalidSelect0[] = + "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zFeraiseexcept_Nosse_InvalidBypass0[] = + "\"fdiv .*; fwait\""; + +#define FERAISEEXCEPT_NOSSE_INVALID_TEST_CT 2 +static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = { + { TT_NEGREP, zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL }, + { TT_EGREP, zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Feraiseexcept_Nosse_Invalid + */ +static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = { + "format", + "# ifdef __SSE_MATH__\n\ +%0\n\ +# else\n\ +%1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\ +%1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\ +# endif", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Freebsd_Gcc3_Breakage fix @@ -3203,7 +3340,7 @@ tSCC zGlibc_StrncpyName[] = * File name selection pattern */ tSCC zGlibc_StrncpyList[] = - "bits/string2.h\0"; + "bits/string2.h\0*/bits/string2.h\0"; /* * Machine/OS name selection pattern */ @@ -3715,6 +3852,84 @@ static const char* apzHpux11_AbsPatch[] = { "if !defined(_MATH_INCLUDED) || defined(__GNUG__)", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Extern_Sendfile fix + */ +tSCC zHpux11_Extern_SendfileName[] = + "hpux11_extern_sendfile"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Extern_SendfileList[] = + "sys/socket.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Extern_SendfileMachs[] = { + "*-hp-hpux11.[12]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Extern_SendfileSelect0[] = + "^[ \t]*extern sbsize_t sendfile.*\n\ +.*, int\\)\\);\n"; + +#define HPUX11_EXTERN_SENDFILE_TEST_CT 1 +static tTestDesc aHpux11_Extern_SendfileTests[] = { + { TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Extern_Sendfile + */ +static const char* apzHpux11_Extern_SendfilePatch[] = { + "format", + "#ifndef _APP32_64BIT_OFF_T\n\ +%0#endif\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux11_Extern_Sendpath fix + */ +tSCC zHpux11_Extern_SendpathName[] = + "hpux11_extern_sendpath"; + +/* + * File name selection pattern + */ +tSCC zHpux11_Extern_SendpathList[] = + "sys/socket.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux11_Extern_SendpathMachs[] = { + "*-hp-hpux11.[12]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux11_Extern_SendpathSelect0[] = + "^[ \t]*extern sbsize_t sendpath.*\n\ +.*, int\\)\\);\n"; + +#define HPUX11_EXTERN_SENDPATH_TEST_CT 1 +static tTestDesc aHpux11_Extern_SendpathTests[] = { + { TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux11_Extern_Sendpath + */ +static const char* apzHpux11_Extern_SendpathPatch[] = { + "format", + "#ifndef _APP32_64BIT_OFF_T\n\ +%0#endif\n", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Hpux11_Fabsf fix @@ -3946,399 +4161,6 @@ static const char* apzHpux8_Bogus_InlinesPatch[] = { sed_cmd_z, "-e", "s@inline double sqr(double [a-z][a-z]*) {.*}@@", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Ctype_Macros fix - */ -tSCC zHpux_Ctype_MacrosName[] = - "hpux_ctype_macros"; - -/* - * File name selection pattern - */ -tSCC zHpux_Ctype_MacrosList[] = - "ctype.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzHpux_Ctype_MacrosMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_Ctype_MacrosSelect0[] = - "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)"; - -#define HPUX_CTYPE_MACROS_TEST_CT 1 -static tTestDesc aHpux_Ctype_MacrosTests[] = { - { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Ctype_Macros - */ -static const char* apzHpux_Ctype_MacrosPatch[] = { - "format", - "%1(int)%3", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Htonl fix - */ -tSCC zHpux_HtonlName[] = - "hpux_htonl"; - -/* - * File name selection pattern - */ -tSCC zHpux_HtonlList[] = - "netinet/in.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzHpux_HtonlMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_HtonlSelect0[] = - "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\ -(/\\*\n\ - \\* Macros for number representation conversion\\.\n\ - \\*/\n\ -#ifndef ntohl)"; - -#define HPUX_HTONL_TEST_CT 1 -static tTestDesc aHpux_HtonlTests[] = { - { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Htonl - */ -static const char* apzHpux_HtonlPatch[] = { - "format", - "#if 1\n\ -%1", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Long_Double fix - */ -tSCC zHpux_Long_DoubleName[] = - "hpux_long_double"; - -/* - * File name selection pattern - */ -tSCC zHpux_Long_DoubleList[] = - "stdlib.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux_Long_DoubleMachs[] = { - "*-*-hpux10*", - "*-*-hpux11.[012]*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_Long_DoubleSelect0[] = - "extern[ \t]long_double[ \t]strtold"; - -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zHpux_Long_DoubleBypass0[] = - "long_double_t"; - -#define HPUX_LONG_DOUBLE_TEST_CT 2 -static tTestDesc aHpux_Long_DoubleTests[] = { - { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL }, - { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Long_Double - */ -static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z, - "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D", - "-e", "s/long_double/long double/g", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Long_Double_2 fix - */ -tSCC zHpux_Long_Double_2Name[] = - "hpux_long_double_2"; - -/* - * File name selection pattern - */ -tSCC zHpux_Long_Double_2List[] = - "stdlib.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux_Long_Double_2Machs[] = { - "hppa*-*-hpux11.3*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_Long_Double_2Select0[] = - "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)"; - -#define HPUX_LONG_DOUBLE_2_TEST_CT 1 -static tTestDesc aHpux_Long_Double_2Tests[] = { - { TT_EGREP, zHpux_Long_Double_2Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Long_Double_2 - */ -static const char* apzHpux_Long_Double_2Patch[] = { - "format", - "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Systime fix - */ -tSCC zHpux_SystimeName[] = - "hpux_systime"; - -/* - * File name selection pattern - */ -tSCC zHpux_SystimeList[] = - "sys/time.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzHpux_SystimeMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_SystimeSelect0[] = - "^extern struct sigevent;"; - -#define HPUX_SYSTIME_TEST_CT 1 -static tTestDesc aHpux_SystimeTests[] = { - { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Systime - */ -static const char* apzHpux_SystimePatch[] = { - "format", - "struct sigevent;", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Spu_Info fix - */ -tSCC zHpux_Spu_InfoName[] = - "hpux_spu_info"; - -/* - * File name selection pattern - */ -tSCC zHpux_Spu_InfoList[] = - "ia64/sys/getppdp.h\0*/sys/getppdp.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux_Spu_InfoMachs[] = { - "*-hp-hpux*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_Spu_InfoSelect0[] = - "^.*extern.*spu_info.*"; - -#define HPUX_SPU_INFO_TEST_CT 1 -static tTestDesc aHpux_Spu_InfoTests[] = { - { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Spu_Info - */ -static const char* apzHpux_Spu_InfoPatch[] = { - "format", - "#ifdef _KERNEL\n\ -%0\n\ -#endif", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux11_Extern_Sendfile fix - */ -tSCC zHpux11_Extern_SendfileName[] = - "hpux11_extern_sendfile"; - -/* - * File name selection pattern - */ -tSCC zHpux11_Extern_SendfileList[] = - "sys/socket.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux11_Extern_SendfileMachs[] = { - "*-hp-hpux11.[12]*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux11_Extern_SendfileSelect0[] = - "^[ \t]*extern sbsize_t sendfile.*\n\ -.*, int\\)\\);\n"; - -#define HPUX11_EXTERN_SENDFILE_TEST_CT 1 -static tTestDesc aHpux11_Extern_SendfileTests[] = { - { TT_EGREP, zHpux11_Extern_SendfileSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux11_Extern_Sendfile - */ -static const char* apzHpux11_Extern_SendfilePatch[] = { - "format", - "#ifndef _APP32_64BIT_OFF_T\n\ -%0#endif\n", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux11_Extern_Sendpath fix - */ -tSCC zHpux11_Extern_SendpathName[] = - "hpux11_extern_sendpath"; - -/* - * File name selection pattern - */ -tSCC zHpux11_Extern_SendpathList[] = - "sys/socket.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux11_Extern_SendpathMachs[] = { - "*-hp-hpux11.[12]*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux11_Extern_SendpathSelect0[] = - "^[ \t]*extern sbsize_t sendpath.*\n\ -.*, int\\)\\);\n"; - -#define HPUX11_EXTERN_SENDPATH_TEST_CT 1 -static tTestDesc aHpux11_Extern_SendpathTests[] = { - { TT_EGREP, zHpux11_Extern_SendpathSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux11_Extern_Sendpath - */ -static const char* apzHpux11_Extern_SendpathPatch[] = { - "format", - "#ifndef _APP32_64BIT_OFF_T\n\ -%0#endif\n", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Extern_Errno fix - */ -tSCC zHpux_Extern_ErrnoName[] = - "hpux_extern_errno"; - -/* - * File name selection pattern - */ -tSCC zHpux_Extern_ErrnoList[] = - "errno.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux_Extern_ErrnoMachs[] = { - "*-hp-hpux10.*", - "*-hp-hpux11.[0-2]*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zHpux_Extern_ErrnoSelect0[] = - "^[ \t]*extern int errno;$"; - -#define HPUX_EXTERN_ERRNO_TEST_CT 1 -static tTestDesc aHpux_Extern_ErrnoTests[] = { - { TT_EGREP, zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Hpux_Extern_Errno - */ -static const char* apzHpux_Extern_ErrnoPatch[] = { - "format", - "#ifdef __cplusplus\n\ -extern \"C\" {\n\ -#endif\n\ -%0\n\ -#ifdef __cplusplus\n\ -}\n\ -#endif", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Hpux_Pthread_Initializers fix - */ -tSCC zHpux_Pthread_InitializersName[] = - "hpux_pthread_initializers"; - -/* - * File name selection pattern - */ -tSCC zHpux_Pthread_InitializersList[] = - "sys/pthread.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzHpux_Pthread_InitializersMachs[] = { - "*-hp-hpux11.[0-3]*", - (const char*)NULL }; -#define HPUX_PTHREAD_INITIALIZERS_TEST_CT 0 -#define aHpux_Pthread_InitializersTests (tTestDesc*)NULL - -/* - * Fix Command Arguments for Hpux_Pthread_Initializers - */ -static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z, - "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@", - "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@", - "-e", "/^[ \t]*0$/d", - "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@", - "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@", - "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@", - "-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\\\\@", - "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@", - "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@", - "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@", - "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@", - "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@", - "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Hpux_C99_Intptr fix @@ -4436,76 +4258,121 @@ static const char* apzHpux_C99_Inttypes2Patch[] = { sed_cmd_z, /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Hpux_Stdint_Least_Fast fix + * Description of Hpux_Ctype_Macros fix */ -tSCC zHpux_Stdint_Least_FastName[] = - "hpux_stdint_least_fast"; +tSCC zHpux_Ctype_MacrosName[] = + "hpux_ctype_macros"; /* * File name selection pattern */ -tSCC zHpux_Stdint_Least_FastList[] = - "stdint-hpux11.h\0stdint.h\0"; +tSCC zHpux_Ctype_MacrosList[] = + "ctype.h\0"; /* * Machine/OS name selection pattern */ -tSCC* apzHpux_Stdint_Least_FastMachs[] = { - "*-hp-hpux11.2*", - (const char*)NULL }; +#define apzHpux_Ctype_MacrosMachs (const char**)NULL /* * content selection pattern - do fix if pattern found */ -tSCC zHpux_Stdint_Least_FastSelect0[] = - "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX"; +tSCC zHpux_Ctype_MacrosSelect0[] = + "((: |\\()__SB_masks \\? )(__SB_masks\\[__(alnum|c)\\] & _IS)"; -#define HPUX_STDINT_LEAST_FAST_TEST_CT 1 -static tTestDesc aHpux_Stdint_Least_FastTests[] = { - { TT_EGREP, zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, }; +#define HPUX_CTYPE_MACROS_TEST_CT 1 +static tTestDesc aHpux_Ctype_MacrosTests[] = { + { TT_EGREP, zHpux_Ctype_MacrosSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Hpux_Stdint_Least_Fast + * Fix Command Arguments for Hpux_Ctype_Macros */ -static const char* apzHpux_Stdint_Least_FastPatch[] = { +static const char* apzHpux_Ctype_MacrosPatch[] = { "format", - "# define\tUINT_%164_MAX\t__UINT64_MAX__", + "%1(int)%3", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Hpux_Inttype_Int8_T fix + * Description of Hpux_Extern_Errno fix */ -tSCC zHpux_Inttype_Int8_TName[] = - "hpux_inttype_int8_t"; +tSCC zHpux_Extern_ErrnoName[] = + "hpux_extern_errno"; /* * File name selection pattern */ -tSCC zHpux_Inttype_Int8_TList[] = - "sys/_inttypes.h\0"; +tSCC zHpux_Extern_ErrnoList[] = + "errno.h\0"; /* * Machine/OS name selection pattern */ -tSCC* apzHpux_Inttype_Int8_TMachs[] = { - "*-hp-hpux1[01].*", +tSCC* apzHpux_Extern_ErrnoMachs[] = { + "*-hp-hpux10.*", + "*-hp-hpux11.[0-2]*", (const char*)NULL }; /* * content selection pattern - do fix if pattern found */ -tSCC zHpux_Inttype_Int8_TSelect0[] = - "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*"; +tSCC zHpux_Extern_ErrnoSelect0[] = + "^[ \t]*extern int errno;$"; -#define HPUX_INTTYPE_INT8_T_TEST_CT 1 -static tTestDesc aHpux_Inttype_Int8_TTests[] = { - { TT_EGREP, zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, }; +#define HPUX_EXTERN_ERRNO_TEST_CT 1 +static tTestDesc aHpux_Extern_ErrnoTests[] = { + { TT_EGREP, zHpux_Extern_ErrnoSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Hpux_Inttype_Int8_T + * Fix Command Arguments for Hpux_Extern_Errno */ -static const char* apzHpux_Inttype_Int8_TPatch[] = { +static const char* apzHpux_Extern_ErrnoPatch[] = { "format", - "typedef signed char int%18_t;", + "#ifdef __cplusplus\n\ +extern \"C\" {\n\ +#endif\n\ +%0\n\ +#ifdef __cplusplus\n\ +}\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Htonl fix + */ +tSCC zHpux_HtonlName[] = + "hpux_htonl"; + +/* + * File name selection pattern + */ +tSCC zHpux_HtonlList[] = + "netinet/in.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_HtonlMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_HtonlSelect0[] = + "#ifndef _XOPEN_SOURCE_EXTENDED[ \t]*\n\ +(/\\*\n\ + \\* Macros for number representation conversion\\.\n\ + \\*/\n\ +#ifndef ntohl)"; + +#define HPUX_HTONL_TEST_CT 1 +static tTestDesc aHpux_HtonlTests[] = { + { TT_EGREP, zHpux_HtonlSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Htonl + */ +static const char* apzHpux_HtonlPatch[] = { + "format", + "#if 1\n\ +%1", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * @@ -4545,6 +4412,276 @@ static const char* apzHpux_Imaginary_IPatch[] = { "#define _Complex_I (__extension__ 1.0iF)", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Inttype_Int8_T fix + */ +tSCC zHpux_Inttype_Int8_TName[] = + "hpux_inttype_int8_t"; + +/* + * File name selection pattern + */ +tSCC zHpux_Inttype_Int8_TList[] = + "sys/_inttypes.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Inttype_Int8_TMachs[] = { + "*-hp-hpux1[01].*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Inttype_Int8_TSelect0[] = + "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*"; + +#define HPUX_INTTYPE_INT8_T_TEST_CT 1 +static tTestDesc aHpux_Inttype_Int8_TTests[] = { + { TT_EGREP, zHpux_Inttype_Int8_TSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Inttype_Int8_T + */ +static const char* apzHpux_Inttype_Int8_TPatch[] = { + "format", + "typedef signed char int%18_t;", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Long_Double fix + */ +tSCC zHpux_Long_DoubleName[] = + "hpux_long_double"; + +/* + * File name selection pattern + */ +tSCC zHpux_Long_DoubleList[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Long_DoubleMachs[] = { + "*-*-hpux10*", + "*-*-hpux11.[012]*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Long_DoubleSelect0[] = + "extern[ \t]long_double[ \t]strtold"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zHpux_Long_DoubleBypass0[] = + "long_double_t"; + +#define HPUX_LONG_DOUBLE_TEST_CT 2 +static tTestDesc aHpux_Long_DoubleTests[] = { + { TT_NEGREP, zHpux_Long_DoubleBypass0, (regex_t*)NULL }, + { TT_EGREP, zHpux_Long_DoubleSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Long_Double + */ +static const char* apzHpux_Long_DoublePatch[] = { sed_cmd_z, + "-e", "/^#[ \t]*ifndef _LONG_DOUBLE/,/\\/\\* _LONG_DOUBLE \\*\\//D", + "-e", "s/long_double/long double/g", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Long_Double_2 fix + */ +tSCC zHpux_Long_Double_2Name[] = + "hpux_long_double_2"; + +/* + * File name selection pattern + */ +tSCC zHpux_Long_Double_2List[] = + "stdlib.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Long_Double_2Machs[] = { + "hppa*-*-hpux11.3*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Long_Double_2Select0[] = + "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)"; + +#define HPUX_LONG_DOUBLE_2_TEST_CT 1 +static tTestDesc aHpux_Long_Double_2Tests[] = { + { TT_EGREP, zHpux_Long_Double_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Long_Double_2 + */ +static const char* apzHpux_Long_Double_2Patch[] = { + "format", + "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Pthread_Initializers fix + */ +tSCC zHpux_Pthread_InitializersName[] = + "hpux_pthread_initializers"; + +/* + * File name selection pattern + */ +tSCC zHpux_Pthread_InitializersList[] = + "sys/pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Pthread_InitializersMachs[] = { + "*-hp-hpux11.[0-3]*", + (const char*)NULL }; +#define HPUX_PTHREAD_INITIALIZERS_TEST_CT 0 +#define aHpux_Pthread_InitializersTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Hpux_Pthread_Initializers + */ +static const char* apzHpux_Pthread_InitializersPatch[] = { sed_cmd_z, + "-e", "s@^[ \t]*1, 1, 1, 1,[ \t]*\\\\@\t{ 1, 1, 1, 1 },\t\t\t\t\t\t\t\\\\@", + "-e", "s@^[ \t]*1,[ \t]*\\\\@\t{ 1, 0 }@", + "-e", "/^[ \t]*0$/d", + "-e", "s@__PTHREAD_MUTEX_VALID, 0@{ __PTHREAD_MUTEX_VALID, 0 }@", + "-e", "s@^[ \t]*0, 0, -1, 0,[ \t]*\\\\@\t{ 0, 0, -1, 0 },\t\t\t\t\t\t\\\\@", + "-e", "s@0, __LWP_MTX_VALID, 0, 1, 1, 1, 1,[ \t]*\\\\@{ 0, __LWP_MTX_VALID }, { 0, 1, 1, 1, 1 },\t\t\t\\\\@", + "-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\\\\@", + "-e", "s@^[ \t]*0, 0[ \t]*\\\\@\t{ 0, 0 }\t\t\t\t\t\t\t\\\\@", + "-e", "s@__PTHREAD_COND_VALID, 0@{ __PTHREAD_COND_VALID, 0 }@", + "-e", "s@__LWP_COND_VALID, 0,[ \t]*\\\\@{ __LWP_COND_VALID, 0 },\t\t\t\t\t\\\\@", + "-e", "s@__PTHREAD_RWLOCK_VALID, 0@{ __PTHREAD_RWLOCK_VALID, 0 }@", + "-e", "s@__LWP_RWLOCK_VALID, 0,[ \t]*\\\\@{ __LWP_RWLOCK_VALID, 0 },\t\t\t\t\t\\\\@", + "-e", "s@^[ \t]*0, 0, 0, 0, 0, 0, 0[ \t]*\\\\@\t{ 0, 0, 0, 0, 0 }, { 0, 0}\t\t\t\t\t\\\\@", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Spu_Info fix + */ +tSCC zHpux_Spu_InfoName[] = + "hpux_spu_info"; + +/* + * File name selection pattern + */ +tSCC zHpux_Spu_InfoList[] = + "ia64/sys/getppdp.h\0*/sys/getppdp.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Spu_InfoMachs[] = { + "*-hp-hpux*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Spu_InfoSelect0[] = + "^.*extern.*spu_info.*"; + +#define HPUX_SPU_INFO_TEST_CT 1 +static tTestDesc aHpux_Spu_InfoTests[] = { + { TT_EGREP, zHpux_Spu_InfoSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Spu_Info + */ +static const char* apzHpux_Spu_InfoPatch[] = { + "format", + "#ifdef _KERNEL\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Stdint_Least_Fast fix + */ +tSCC zHpux_Stdint_Least_FastName[] = + "hpux_stdint_least_fast"; + +/* + * File name selection pattern + */ +tSCC zHpux_Stdint_Least_FastList[] = + "stdint-hpux11.h\0stdint.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Stdint_Least_FastMachs[] = { + "*-hp-hpux11.2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_Stdint_Least_FastSelect0[] = + "^[ \t]*#[ \t]*define[ \t]+UINT_(LEAST|FAST)64_MAX[ \t]+ULLONG_MAX"; + +#define HPUX_STDINT_LEAST_FAST_TEST_CT 1 +static tTestDesc aHpux_Stdint_Least_FastTests[] = { + { TT_EGREP, zHpux_Stdint_Least_FastSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Stdint_Least_Fast + */ +static const char* apzHpux_Stdint_Least_FastPatch[] = { + "format", + "# define\tUINT_%164_MAX\t__UINT64_MAX__", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Systime fix + */ +tSCC zHpux_SystimeName[] = + "hpux_systime"; + +/* + * File name selection pattern + */ +tSCC zHpux_SystimeList[] = + "sys/time.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzHpux_SystimeMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zHpux_SystimeSelect0[] = + "^extern struct sigevent;"; + +#define HPUX_SYSTIME_TEST_CT 1 +static tTestDesc aHpux_SystimeTests[] = { + { TT_EGREP, zHpux_SystimeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Hpux_Systime + */ +static const char* apzHpux_SystimePatch[] = { + "format", + "struct sigevent;", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Huge_Val_Hex fix @@ -4556,7 +4693,7 @@ tSCC zHuge_Val_HexName[] = * File name selection pattern */ tSCC zHuge_Val_HexList[] = - "bits/huge_val.h\0"; + "bits/huge_val.h\0*/bits/huge_val.h\0"; /* * Machine/OS name selection pattern */ @@ -4598,7 +4735,7 @@ tSCC zHuge_Valf_HexName[] = * File name selection pattern */ tSCC zHuge_Valf_HexList[] = - "bits/huge_val.h\0"; + "bits/huge_val.h\0*/bits/huge_val.h\0"; /* * Machine/OS name selection pattern */ @@ -4640,7 +4777,7 @@ tSCC zHuge_Vall_HexName[] = * File name selection pattern */ tSCC zHuge_Vall_HexList[] = - "bits/huge_val.h\0"; + "bits/huge_val.h\0*/bits/huge_val.h\0"; /* * Machine/OS name selection pattern */ @@ -6296,6 +6433,202 @@ static const char* apzSolaris_Getc_Strict_StdcPatch[] = { "%1(!defined(_STRICT_STDC) || (__cplusplus >= 199711L))%2", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Const fix + */ +tSCC zSolaris_Int_ConstName[] = + "solaris_int_const"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_ConstList[] = + "sys/int_const.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Int_ConstMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_ConstSelect0[] = + "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\ +(/*.**/)\n\ +#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*"; + +#define SOLARIS_INT_CONST_TEST_CT 1 +static tTestDesc aSolaris_Int_ConstTests[] = { + { TT_EGREP, zSolaris_Int_ConstSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Const + */ +static const char* apzSolaris_Int_ConstPatch[] = { + "format", + "#define\tUINT8_C(c)\t(c)\n\ +%1\n\ +#define\tUINT16_C(c)\t(c)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Limits_1 fix + */ +tSCC zSolaris_Int_Limits_1Name[] = + "solaris_int_limits_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_Limits_1List[] = + "sys/int_limits.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Int_Limits_1Machs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_Limits_1Select0[] = + "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\ +#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)"; + +#define SOLARIS_INT_LIMITS_1_TEST_CT 1 +static tTestDesc aSolaris_Int_Limits_1Tests[] = { + { TT_EGREP, zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Limits_1 + */ +static const char* apzSolaris_Int_Limits_1Patch[] = { + "format", + "#define\tUINT8_MAX\t(255)\n\ +#define\tUINT16_MAX\t(65535)", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Limits_2 fix + */ +tSCC zSolaris_Int_Limits_2Name[] = + "solaris_int_limits_2"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_Limits_2List[] = + "sys/int_limits.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Int_Limits_2Machs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_Limits_2Select0[] = + "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*"; + +#define SOLARIS_INT_LIMITS_2_TEST_CT 1 +static tTestDesc aSolaris_Int_Limits_2Tests[] = { + { TT_EGREP, zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Limits_2 + */ +static const char* apzSolaris_Int_Limits_2Patch[] = { + "format", + "#define\t%1_FAST16_%2 %132_%2", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Limits_3 fix + */ +tSCC zSolaris_Int_Limits_3Name[] = + "solaris_int_limits_3"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_Limits_3List[] = + "sys/int_limits.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Int_Limits_3Machs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_Limits_3Select0[] = + "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL"; + +#define SOLARIS_INT_LIMITS_3_TEST_CT 1 +static tTestDesc aSolaris_Int_Limits_3Tests[] = { + { TT_EGREP, zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Limits_3 + */ +static const char* apzSolaris_Int_Limits_3Patch[] = { + "format", + "#define\tSIZE_MAX\t4294967295U", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Int_Types fix + */ +tSCC zSolaris_Int_TypesName[] = + "solaris_int_types"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Int_TypesList[] = + "sys/int_types.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Int_TypesMachs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Int_TypesSelect0[] = + "__STDC__ - 0 == 0"; + +/* + * content bypass pattern - skip fix if pattern found + */ +tSCC zSolaris_Int_TypesBypass0[] = + "_LONGLONG_TYPE"; + +#define SOLARIS_INT_TYPES_TEST_CT 2 +static tTestDesc aSolaris_Int_TypesTests[] = { + { TT_NEGREP, zSolaris_Int_TypesBypass0, (regex_t*)NULL }, + { TT_EGREP, zSolaris_Int_TypesSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Int_Types + */ +static const char* apzSolaris_Int_TypesPatch[] = { + "format", + "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Longjmp_Noreturn fix @@ -6383,6 +6716,45 @@ static const char* apzSolaris_Math_1Patch[] = { "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Math_10 fix + */ +tSCC zSolaris_Math_10Name[] = + "solaris_math_10"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Math_10List[] = + "iso/math_c99.h\0"; +/* + * Machine/OS name selection pattern + */ +#define apzSolaris_Math_10Machs (const char**)NULL + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Math_10Select0[] = + "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_MATH_10_TEST_CT 1 +static tTestDesc aSolaris_Math_10Tests[] = { + { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Math_10 + */ +static const char* apzSolaris_Math_10Patch[] = { + "format", + "#define\tisinf(x) __builtin_isinf(x)", + "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\ +[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\ +[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\ +[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Math_2 fix @@ -6603,45 +6975,6 @@ static const char* apzSolaris_Math_9Patch[] = { "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) __builtin_[a-z]+\\(y\\)\\)", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Math_10 fix - */ -tSCC zSolaris_Math_10Name[] = - "solaris_math_10"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Math_10List[] = - "iso/math_c99.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzSolaris_Math_10Machs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Math_10Select0[] = - "@\\(#\\)math_c99.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - -#define SOLARIS_MATH_10_TEST_CT 1 -static tTestDesc aSolaris_Math_10Tests[] = { - { TT_EGREP, zSolaris_Math_10Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Math_10 - */ -static const char* apzSolaris_Math_10Patch[] = { - "format", - "#define\tisinf(x) __builtin_isinf(x)", - "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n\ -[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n\ -[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n\ -[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Mutex_Init_2 fix @@ -6686,88 +7019,6 @@ static const char* apzSolaris_Mutex_Init_2Patch[] = { [ \t]*)\\{.*),[ \t]*0\\}(|[ \t].*)$", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Pow_Int_Overload fix - */ -tSCC zSolaris_Pow_Int_OverloadName[] = - "solaris_pow_int_overload"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Pow_Int_OverloadList[] = - "iso/math_iso.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Pow_Int_OverloadMachs[] = { - "*-*-solaris2*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Pow_Int_OverloadSelect0[] = - "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\ -[^{}]*\\}"; - -#define SOLARIS_POW_INT_OVERLOAD_TEST_CT 1 -static tTestDesc aSolaris_Pow_Int_OverloadTests[] = { - { TT_EGREP, zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Pow_Int_Overload - */ -static const char* apzSolaris_Pow_Int_OverloadPatch[] = { - "format", - "#if __cplusplus < 201103L\n\ -%0\n\ -#endif", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Rwlock_Init_1 fix - */ -tSCC zSolaris_Rwlock_Init_1Name[] = - "solaris_rwlock_init_1"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Rwlock_Init_1List[] = - "pthread.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Rwlock_Init_1Machs[] = { - "*-*-solaris*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Rwlock_Init_1Select0[] = - "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - -#define SOLARIS_RWLOCK_INIT_1_TEST_CT 1 -static tTestDesc aSolaris_Rwlock_Init_1Tests[] = { - { TT_EGREP, zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Rwlock_Init_1 - */ -static const char* apzSolaris_Rwlock_Init_1Patch[] = { - "format", - "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\ -%0\n\ -#else\n\ -%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\ -#endif", - "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Once_Init_1 fix @@ -6849,202 +7100,6 @@ static const char* apzSolaris_Once_Init_2Patch[] = { "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Int_Const fix - */ -tSCC zSolaris_Int_ConstName[] = - "solaris_int_const"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Int_ConstList[] = - "sys/int_const.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Int_ConstMachs[] = { - "*-*-solaris2*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Int_ConstSelect0[] = - "^#define[ \t]+UINT8_C\\(c\\)[ \t]+__CONCAT__.*\n\ -(/*.**/)\n\ -#define[ \t]+UINT16_C\\(c\\)[ \t]+__CONCAT__.*"; - -#define SOLARIS_INT_CONST_TEST_CT 1 -static tTestDesc aSolaris_Int_ConstTests[] = { - { TT_EGREP, zSolaris_Int_ConstSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Int_Const - */ -static const char* apzSolaris_Int_ConstPatch[] = { - "format", - "#define\tUINT8_C(c)\t(c)\n\ -%1\n\ -#define\tUINT16_C(c)\t(c)", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Int_Limits_1 fix - */ -tSCC zSolaris_Int_Limits_1Name[] = - "solaris_int_limits_1"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Int_Limits_1List[] = - "sys/int_limits.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Int_Limits_1Machs[] = { - "*-*-solaris2*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Int_Limits_1Select0[] = - "^#define[ \t]+UINT8_MAX[ \t]+\\(255U\\)\n\ -#define[ \t]+UINT16_MAX[ \t]+\\(65535U\\)"; - -#define SOLARIS_INT_LIMITS_1_TEST_CT 1 -static tTestDesc aSolaris_Int_Limits_1Tests[] = { - { TT_EGREP, zSolaris_Int_Limits_1Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Int_Limits_1 - */ -static const char* apzSolaris_Int_Limits_1Patch[] = { - "format", - "#define\tUINT8_MAX\t(255)\n\ -#define\tUINT16_MAX\t(65535)", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Int_Limits_2 fix - */ -tSCC zSolaris_Int_Limits_2Name[] = - "solaris_int_limits_2"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Int_Limits_2List[] = - "sys/int_limits.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Int_Limits_2Machs[] = { - "*-*-solaris2*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Int_Limits_2Select0[] = - "^#define[ \t]+(INT|UINT)_FAST16_(MAX|MIN)[ \t](INT|UINT)16.*"; - -#define SOLARIS_INT_LIMITS_2_TEST_CT 1 -static tTestDesc aSolaris_Int_Limits_2Tests[] = { - { TT_EGREP, zSolaris_Int_Limits_2Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Int_Limits_2 - */ -static const char* apzSolaris_Int_Limits_2Patch[] = { - "format", - "#define\t%1_FAST16_%2 %132_%2", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Int_Limits_3 fix - */ -tSCC zSolaris_Int_Limits_3Name[] = - "solaris_int_limits_3"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Int_Limits_3List[] = - "sys/int_limits.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzSolaris_Int_Limits_3Machs[] = { - "*-*-solaris2*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Int_Limits_3Select0[] = - "^#define[ \t]+SIZE_MAX[ \t]+4294967295UL"; - -#define SOLARIS_INT_LIMITS_3_TEST_CT 1 -static tTestDesc aSolaris_Int_Limits_3Tests[] = { - { TT_EGREP, zSolaris_Int_Limits_3Select0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Int_Limits_3 - */ -static const char* apzSolaris_Int_Limits_3Patch[] = { - "format", - "#define\tSIZE_MAX\t4294967295U", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Solaris_Int_Types fix - */ -tSCC zSolaris_Int_TypesName[] = - "solaris_int_types"; - -/* - * File name selection pattern - */ -tSCC zSolaris_Int_TypesList[] = - "sys/int_types.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzSolaris_Int_TypesMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zSolaris_Int_TypesSelect0[] = - "__STDC__ - 0 == 0"; - -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zSolaris_Int_TypesBypass0[] = - "_LONGLONG_TYPE"; - -#define SOLARIS_INT_TYPES_TEST_CT 2 -static tTestDesc aSolaris_Int_TypesTests[] = { - { TT_NEGREP, zSolaris_Int_TypesBypass0, (regex_t*)NULL }, - { TT_EGREP, zSolaris_Int_TypesSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Solaris_Int_Types - */ -static const char* apzSolaris_Int_TypesPatch[] = { - "format", - "(defined(_STDC_C99) || !defined(_STRICT_STDC) || defined(__GNUC__))", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Posix_Spawn_Restrict fix @@ -7082,6 +7137,88 @@ static const char* apzSolaris_Posix_Spawn_RestrictPatch[] = { "%1*_RESTRICT_KYWD %2%3", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Pow_Int_Overload fix + */ +tSCC zSolaris_Pow_Int_OverloadName[] = + "solaris_pow_int_overload"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Pow_Int_OverloadList[] = + "iso/math_iso.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Pow_Int_OverloadMachs[] = { + "*-*-solaris2*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Pow_Int_OverloadSelect0[] = + "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\) *\\{[^{}]*\n\ +[^{}]*\\}"; + +#define SOLARIS_POW_INT_OVERLOAD_TEST_CT 1 +static tTestDesc aSolaris_Pow_Int_OverloadTests[] = { + { TT_EGREP, zSolaris_Pow_Int_OverloadSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Pow_Int_Overload + */ +static const char* apzSolaris_Pow_Int_OverloadPatch[] = { + "format", + "#if __cplusplus < 201103L\n\ +%0\n\ +#endif", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Solaris_Rwlock_Init_1 fix + */ +tSCC zSolaris_Rwlock_Init_1Name[] = + "solaris_rwlock_init_1"; + +/* + * File name selection pattern + */ +tSCC zSolaris_Rwlock_Init_1List[] = + "pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzSolaris_Rwlock_Init_1Machs[] = { + "*-*-solaris*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zSolaris_Rwlock_Init_1Select0[] = + "@\\(#\\)pthread.h[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + +#define SOLARIS_RWLOCK_INIT_1_TEST_CT 1 +static tTestDesc aSolaris_Rwlock_Init_1Tests[] = { + { TT_EGREP, zSolaris_Rwlock_Init_1Select0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Solaris_Rwlock_Init_1 + */ +static const char* apzSolaris_Rwlock_Init_1Patch[] = { + "format", + "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n\ +%0\n\ +#else\n\ +%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n\ +#endif", + "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Solaris_Std___Filbuf fix @@ -8184,7 +8321,7 @@ tSCC zThread_KeywordName[] = * File name selection pattern */ tSCC zThread_KeywordList[] = - "pthread.h\0bits/sigthread.h\0"; + "pthread.h\0bits/sigthread.h\0*/bits/sigthread.h\0"; /* * Machine/OS name selection pattern */ @@ -8350,158 +8487,6 @@ static const char* apzVa_I960_MacroPatch[] = { "__vx%1", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Vms_Define_Can_Use_Extern_Prefix fix - */ -tSCC zVms_Define_Can_Use_Extern_PrefixName[] = - "vms_define_can_use_extern_prefix"; - -/* - * File name selection pattern - */ -tSCC zVms_Define_Can_Use_Extern_PrefixList[] = - "rtldef/decc$types.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = { - "*-*-*vms*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] = - "#[ \t]*else\n\ -#[ \t]*if defined\\(__DECCXX\\)\n\ -#[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n"; - -#define VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT 1 -static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = { - { TT_EGREP, zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix - */ -static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = { - "format", - "%0# elif defined (__GNUC__)\n\ -#\tdefine __CAN_USE_EXTERN_PREFIX 1\n", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Vms_Use_Pragma_Extern_Model fix - */ -tSCC zVms_Use_Pragma_Extern_ModelName[] = - "vms_use_pragma_extern_model"; - -/* - * File name selection pattern - */ -#define zVms_Use_Pragma_Extern_ModelList (char*)NULL -/* - * Machine/OS name selection pattern - */ -tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = { - "*-*-*vms*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zVms_Use_Pragma_Extern_ModelSelect0[] = - "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\ -# pragma extern_model __save\n"; - -#define VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT 1 -static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = { - { TT_EGREP, zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Vms_Use_Pragma_Extern_Model - */ -static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = { - "format", - "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\ -# pragma extern_model __save\n", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Vms_Disable_Decc_String_Builtins fix - */ -tSCC zVms_Disable_Decc_String_BuiltinsName[] = - "vms_disable_decc_string_builtins"; - -/* - * File name selection pattern - */ -tSCC zVms_Disable_Decc_String_BuiltinsList[] = - "rtldef/string.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = { - "*-*-*vms*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] = - "#if !defined\\(__VAX\\)\n"; - -#define VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT 1 -static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = { - { TT_EGREP, zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Vms_Disable_Decc_String_Builtins - */ -static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = { - "format", - "#if !defined(__VAX) && !defined(__GNUC__)\n", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Vms_Use_Quoted_Include fix - */ -tSCC zVms_Use_Quoted_IncludeName[] = - "vms_use_quoted_include"; - -/* - * File name selection pattern - */ -tSCC zVms_Use_Quoted_IncludeList[] = - "rtldef/wait.h\0starlet_c/pthread.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzVms_Use_Quoted_IncludeMachs[] = { - "*-*-*vms*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zVms_Use_Quoted_IncludeSelect0[] = - "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>"; - -#define VMS_USE_QUOTED_INCLUDE_TEST_CT 1 -static tTestDesc aVms_Use_Quoted_IncludeTests[] = { - { TT_EGREP, zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Vms_Use_Quoted_Include - */ -static const char* apzVms_Use_Quoted_IncludePatch[] = { - "format", - "%1", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Vms_Add_Missing_Braces fix @@ -8539,45 +8524,6 @@ static const char* apzVms_Add_Missing_BracesPatch[] = { "%1 {%2} ", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Vms_Do_Not_Redeclare_Hostalias fix - */ -tSCC zVms_Do_Not_Redeclare_HostaliasName[] = - "vms_do_not_redeclare_hostalias"; - -/* - * File name selection pattern - */ -tSCC zVms_Do_Not_Redeclare_HostaliasList[] = - "rtldef/resolv.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = { - "*-*-*vms*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] = - "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\ -(__char_ptr32[ \t]+hostalias \\(const char \\*\\);)"; - -#define VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT 1 -static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = { - { TT_EGREP, zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias - */ -static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = { - "format", - "%1\n\ -/* %2 */", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Vms_Decc_Builtin fix @@ -8620,40 +8566,118 @@ static const char* apzVms_Decc_BuiltinPatch[] = { sed_cmd_z, /* * * * * * * * * * * * * * * * * * * * * * * * * * * - * Description of Vms_No_64bit_Getopt fix + * Description of Vms_Define_Can_Use_Extern_Prefix fix */ -tSCC zVms_No_64bit_GetoptName[] = - "vms_no_64bit_getopt"; +tSCC zVms_Define_Can_Use_Extern_PrefixName[] = + "vms_define_can_use_extern_prefix"; /* * File name selection pattern */ -tSCC zVms_No_64bit_GetoptList[] = - "rtldef/stdio.h\0rtldef/unistd.h\0"; +tSCC zVms_Define_Can_Use_Extern_PrefixList[] = + "rtldef/decc$types.h\0"; /* * Machine/OS name selection pattern */ -tSCC* apzVms_No_64bit_GetoptMachs[] = { +tSCC* apzVms_Define_Can_Use_Extern_PrefixMachs[] = { "*-*-*vms*", (const char*)NULL }; /* * content selection pattern - do fix if pattern found */ -tSCC zVms_No_64bit_GetoptSelect0[] = - "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n"; +tSCC zVms_Define_Can_Use_Extern_PrefixSelect0[] = + "#[ \t]*else\n\ +#[ \t]*if defined\\(__DECCXX\\)\n\ +#[ \t]*define __CAN_USE_EXTERN_PREFIX 1\n"; -#define VMS_NO_64BIT_GETOPT_TEST_CT 1 -static tTestDesc aVms_No_64bit_GetoptTests[] = { - { TT_EGREP, zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, }; +#define VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT 1 +static tTestDesc aVms_Define_Can_Use_Extern_PrefixTests[] = { + { TT_EGREP, zVms_Define_Can_Use_Extern_PrefixSelect0, (regex_t*)NULL }, }; /* - * Fix Command Arguments for Vms_No_64bit_Getopt + * Fix Command Arguments for Vms_Define_Can_Use_Extern_Prefix */ -static const char* apzVms_No_64bit_GetoptPatch[] = { +static const char* apzVms_Define_Can_Use_Extern_PrefixPatch[] = { "format", - "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */\n\ -%0#endif\n", + "%0# elif defined (__GNUC__)\n\ +#\tdefine __CAN_USE_EXTERN_PREFIX 1\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Disable_Decc_String_Builtins fix + */ +tSCC zVms_Disable_Decc_String_BuiltinsName[] = + "vms_disable_decc_string_builtins"; + +/* + * File name selection pattern + */ +tSCC zVms_Disable_Decc_String_BuiltinsList[] = + "rtldef/string.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Disable_Decc_String_BuiltinsMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Disable_Decc_String_BuiltinsSelect0[] = + "#if !defined\\(__VAX\\)\n"; + +#define VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT 1 +static tTestDesc aVms_Disable_Decc_String_BuiltinsTests[] = { + { TT_EGREP, zVms_Disable_Decc_String_BuiltinsSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Disable_Decc_String_Builtins + */ +static const char* apzVms_Disable_Decc_String_BuiltinsPatch[] = { + "format", + "#if !defined(__VAX) && !defined(__GNUC__)\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Do_Not_Redeclare_Hostalias fix + */ +tSCC zVms_Do_Not_Redeclare_HostaliasName[] = + "vms_do_not_redeclare_hostalias"; + +/* + * File name selection pattern + */ +tSCC zVms_Do_Not_Redeclare_HostaliasList[] = + "rtldef/resolv.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Do_Not_Redeclare_HostaliasMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Do_Not_Redeclare_HostaliasSelect0[] = + "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n\ +(__char_ptr32[ \t]+hostalias \\(const char \\*\\);)"; + +#define VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT 1 +static tTestDesc aVms_Do_Not_Redeclare_HostaliasTests[] = { + { TT_EGREP, zVms_Do_Not_Redeclare_HostaliasSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Do_Not_Redeclare_Hostalias + */ +static const char* apzVms_Do_Not_Redeclare_HostaliasPatch[] = { + "format", + "%1\n\ +/* %2 */", (char*)NULL }; /* * * * * * * * * * * * * * * * * * * * * * * * * * @@ -8694,6 +8718,44 @@ static const char* apzVms_Forward_Declare_StructPatch[] = { "%1#if defined (__cplusplus) || defined (__GNUC__)\n", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_No_64bit_Getopt fix + */ +tSCC zVms_No_64bit_GetoptName[] = + "vms_no_64bit_getopt"; + +/* + * File name selection pattern + */ +tSCC zVms_No_64bit_GetoptList[] = + "rtldef/stdio.h\0rtldef/unistd.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_No_64bit_GetoptMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_No_64bit_GetoptSelect0[] = + "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n"; + +#define VMS_NO_64BIT_GETOPT_TEST_CT 1 +static tTestDesc aVms_No_64bit_GetoptTests[] = { + { TT_EGREP, zVms_No_64bit_GetoptSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_No_64bit_Getopt + */ +static const char* apzVms_No_64bit_GetoptPatch[] = { + "format", + "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */\n\ +%0#endif\n", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Vms_Use_Fast_Setjmp fix @@ -8731,6 +8793,81 @@ static const char* apzVms_Use_Fast_SetjmpPatch[] = { "%0 defined (__GNUC__) ||", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Use_Pragma_Extern_Model fix + */ +tSCC zVms_Use_Pragma_Extern_ModelName[] = + "vms_use_pragma_extern_model"; + +/* + * File name selection pattern + */ +#define zVms_Use_Pragma_Extern_ModelList (char*)NULL +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Use_Pragma_Extern_ModelMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Use_Pragma_Extern_ModelSelect0[] = + "#if defined\\(__DECC\\) \\|\\| defined\\(__DECCXX\\)\n\ +# pragma extern_model __save\n"; + +#define VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT 1 +static tTestDesc aVms_Use_Pragma_Extern_ModelTests[] = { + { TT_EGREP, zVms_Use_Pragma_Extern_ModelSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Use_Pragma_Extern_Model + */ +static const char* apzVms_Use_Pragma_Extern_ModelPatch[] = { + "format", + "#if defined(__DECC) || defined(__DECCXX) || defined(__GNUC__)\n\ +# pragma extern_model __save\n", + (char*)NULL }; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Vms_Use_Quoted_Include fix + */ +tSCC zVms_Use_Quoted_IncludeName[] = + "vms_use_quoted_include"; + +/* + * File name selection pattern + */ +tSCC zVms_Use_Quoted_IncludeList[] = + "rtldef/wait.h\0starlet_c/pthread.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzVms_Use_Quoted_IncludeMachs[] = { + "*-*-*vms*", + (const char*)NULL }; + +/* + * content selection pattern - do fix if pattern found + */ +tSCC zVms_Use_Quoted_IncludeSelect0[] = + "(#[ \t]*include[ \t]+)<(resource|builtins)\\.h>"; + +#define VMS_USE_QUOTED_INCLUDE_TEST_CT 1 +static tTestDesc aVms_Use_Quoted_IncludeTests[] = { + { TT_EGREP, zVms_Use_Quoted_IncludeSelect0, (regex_t*)NULL }, }; + +/* + * Fix Command Arguments for Vms_Use_Quoted_Include + */ +static const char* apzVms_Use_Quoted_IncludePatch[] = { + "format", + "%1", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Void_Null fix @@ -9261,143 +9398,6 @@ static const char* apzX11_SprintfPatch[] = { #endif /* !defined __STDC__ */", (char*)NULL }; -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Feraiseexcept_Nosse_Invalid fix - */ -tSCC zFeraiseexcept_Nosse_InvalidName[] = - "feraiseexcept_nosse_invalid"; - -/* - * File name selection pattern - */ -tSCC zFeraiseexcept_Nosse_InvalidList[] = - "bits/fenv.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzFeraiseexcept_Nosse_InvalidMachs[] = { - "i[34567]86-*-linux*", - "x86*-linux*", - "amd64-*-linux*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zFeraiseexcept_Nosse_InvalidSelect0[] = - "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : : \"x\" \\(__f\\)\\);$"; - -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zFeraiseexcept_Nosse_InvalidBypass0[] = - "\"fdiv .*; fwait\""; - -#define FERAISEEXCEPT_NOSSE_INVALID_TEST_CT 2 -static tTestDesc aFeraiseexcept_Nosse_InvalidTests[] = { - { TT_NEGREP, zFeraiseexcept_Nosse_InvalidBypass0, (regex_t*)NULL }, - { TT_EGREP, zFeraiseexcept_Nosse_InvalidSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Feraiseexcept_Nosse_Invalid - */ -static const char* apzFeraiseexcept_Nosse_InvalidPatch[] = { - "format", - "# ifdef __SSE_MATH__\n\ -%0\n\ -# else\n\ -%1__asm__ __volatile__ (\"fdiv %%%%st, %%%%st(0); fwait\"\n\ -%1\t\t\t: \"=t\" (__f) : \"0\" (__f));\n\ -# endif", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Feraiseexcept_Nosse_Divbyzero fix - */ -tSCC zFeraiseexcept_Nosse_DivbyzeroName[] = - "feraiseexcept_nosse_divbyzero"; - -/* - * File name selection pattern - */ -tSCC zFeraiseexcept_Nosse_DivbyzeroList[] = - "bits/fenv.h\0"; -/* - * Machine/OS name selection pattern - */ -tSCC* apzFeraiseexcept_Nosse_DivbyzeroMachs[] = { - "i[34567]86-*-linux*", - "x86*-linux*", - "amd64-*-linux*", - (const char*)NULL }; - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zFeraiseexcept_Nosse_DivbyzeroSelect0[] = - "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : : \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$"; - -/* - * content bypass pattern - skip fix if pattern found - */ -tSCC zFeraiseexcept_Nosse_DivbyzeroBypass0[] = - "\"fdivp .*; fwait\""; - -#define FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT 2 -static tTestDesc aFeraiseexcept_Nosse_DivbyzeroTests[] = { - { TT_NEGREP, zFeraiseexcept_Nosse_DivbyzeroBypass0, (regex_t*)NULL }, - { TT_EGREP, zFeraiseexcept_Nosse_DivbyzeroSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Feraiseexcept_Nosse_Divbyzero - */ -static const char* apzFeraiseexcept_Nosse_DivbyzeroPatch[] = { - "format", - "# ifdef __SSE_MATH__\n\ -%0\n\ -# else\n\ -%1__asm__ __volatile__ (\"fdivp %%%%st, %%%%st(1); fwait\"\n\ -%1\t\t\t: \"=t\" (__f) : \"0\" (__f), \"u\" (__g) : \"st(1)\");\n\ -# endif", - (char*)NULL }; - -/* * * * * * * * * * * * * * * * * * * * * * * * * * - * - * Description of Complier_H_Tradcpp fix - */ -tSCC zComplier_H_TradcppName[] = - "complier_h_tradcpp"; - -/* - * File name selection pattern - */ -tSCC zComplier_H_TradcppList[] = - "linux/compiler.h\0"; -/* - * Machine/OS name selection pattern - */ -#define apzComplier_H_TradcppMachs (const char**)NULL - -/* - * content selection pattern - do fix if pattern found - */ -tSCC zComplier_H_TradcppSelect0[] = - "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)"; - -#define COMPLIER_H_TRADCPP_TEST_CT 1 -static tTestDesc aComplier_H_TradcppTests[] = { - { TT_EGREP, zComplier_H_TradcppSelect0, (regex_t*)NULL }, }; - -/* - * Fix Command Arguments for Complier_H_Tradcpp - */ -static const char* apzComplier_H_TradcppPatch[] = { - "format", - "/* __builtin_warning(x, y...) is obsolete */", - (char*)NULL }; - /* * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -9458,6 +9458,7 @@ typedef enum { BROKEN_CABS_FIXIDX, BROKEN_NAN_FIXIDX, BSD_STDIO_ATTRS_CONFLICT_FIXIDX, + COMPLIER_H_TRADCPP_FIXIDX, CTRL_QUOTES_DEF_FIXIDX, CTRL_QUOTES_USE_FIXIDX, CXX_UNREADY_FIXIDX, @@ -9475,6 +9476,8 @@ typedef enum { DEC_INTERN_ASM_FIXIDX, DJGPP_WCHAR_H_FIXIDX, ECD_CURSOR_FIXIDX, + FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX, + FERAISEEXCEPT_NOSSE_INVALID_FIXIDX, FREEBSD_GCC3_BREAKAGE_FIXIDX, FREEBSD_GCC4_BREAKAGE_FIXIDX, GLIBC_C99_INLINE_1_FIXIDX, @@ -9496,28 +9499,28 @@ typedef enum { HPUX10_CTYPE_DECLARATIONS2_FIXIDX, HPUX10_STDIO_DECLARATIONS_FIXIDX, HPUX11_ABS_FIXIDX, + HPUX11_EXTERN_SENDFILE_FIXIDX, + HPUX11_EXTERN_SENDPATH_FIXIDX, HPUX11_FABSF_FIXIDX, HPUX11_PTHREAD_CONST_FIXIDX, HPUX11_SIZE_T_FIXIDX, HPUX11_SNPRINTF_FIXIDX, HPUX11_VSNPRINTF_FIXIDX, HPUX8_BOGUS_INLINES_FIXIDX, - HPUX_CTYPE_MACROS_FIXIDX, - HPUX_HTONL_FIXIDX, - HPUX_LONG_DOUBLE_FIXIDX, - HPUX_LONG_DOUBLE_2_FIXIDX, - HPUX_SYSTIME_FIXIDX, - HPUX_SPU_INFO_FIXIDX, - HPUX11_EXTERN_SENDFILE_FIXIDX, - HPUX11_EXTERN_SENDPATH_FIXIDX, - HPUX_EXTERN_ERRNO_FIXIDX, - HPUX_PTHREAD_INITIALIZERS_FIXIDX, HPUX_C99_INTPTR_FIXIDX, HPUX_C99_INTTYPES_FIXIDX, HPUX_C99_INTTYPES2_FIXIDX, - HPUX_STDINT_LEAST_FAST_FIXIDX, - HPUX_INTTYPE_INT8_T_FIXIDX, + HPUX_CTYPE_MACROS_FIXIDX, + HPUX_EXTERN_ERRNO_FIXIDX, + HPUX_HTONL_FIXIDX, HPUX_IMAGINARY_I_FIXIDX, + HPUX_INTTYPE_INT8_T_FIXIDX, + HPUX_LONG_DOUBLE_FIXIDX, + HPUX_LONG_DOUBLE_2_FIXIDX, + HPUX_PTHREAD_INITIALIZERS_FIXIDX, + HPUX_SPU_INFO_FIXIDX, + HPUX_STDINT_LEAST_FAST_FIXIDX, + HPUX_SYSTIME_FIXIDX, HUGE_VAL_HEX_FIXIDX, HUGE_VALF_HEX_FIXIDX, HUGE_VALL_HEX_FIXIDX, @@ -9563,25 +9566,25 @@ typedef enum { SOLARIS_COMPLEX_CXX_FIXIDX, SOLARIS_CXX_LINKAGE_FIXIDX, SOLARIS_GETC_STRICT_STDC_FIXIDX, - SOLARIS_LONGJMP_NORETURN_FIXIDX, - SOLARIS_MATH_1_FIXIDX, - SOLARIS_MATH_2_FIXIDX, - SOLARIS_MATH_3_FIXIDX, - SOLARIS_MATH_4_FIXIDX, - SOLARIS_MATH_8_FIXIDX, - SOLARIS_MATH_9_FIXIDX, - SOLARIS_MATH_10_FIXIDX, - SOLARIS_MUTEX_INIT_2_FIXIDX, - SOLARIS_POW_INT_OVERLOAD_FIXIDX, - SOLARIS_RWLOCK_INIT_1_FIXIDX, - SOLARIS_ONCE_INIT_1_FIXIDX, - SOLARIS_ONCE_INIT_2_FIXIDX, SOLARIS_INT_CONST_FIXIDX, SOLARIS_INT_LIMITS_1_FIXIDX, SOLARIS_INT_LIMITS_2_FIXIDX, SOLARIS_INT_LIMITS_3_FIXIDX, SOLARIS_INT_TYPES_FIXIDX, + SOLARIS_LONGJMP_NORETURN_FIXIDX, + SOLARIS_MATH_1_FIXIDX, + SOLARIS_MATH_10_FIXIDX, + SOLARIS_MATH_2_FIXIDX, + SOLARIS_MATH_3_FIXIDX, + SOLARIS_MATH_4_FIXIDX, + SOLARIS_MATH_8_FIXIDX, + SOLARIS_MATH_9_FIXIDX, + SOLARIS_MUTEX_INIT_2_FIXIDX, + SOLARIS_ONCE_INIT_1_FIXIDX, + SOLARIS_ONCE_INIT_2_FIXIDX, SOLARIS_POSIX_SPAWN_RESTRICT_FIXIDX, + SOLARIS_POW_INT_OVERLOAD_FIXIDX, + SOLARIS_RWLOCK_INIT_1_FIXIDX, SOLARIS_STD___FILBUF_FIXIDX, SOLARIS_STDIO_TAG_FIXIDX, SOLARIS_SYS_VA_LIST_FIXIDX, @@ -9614,16 +9617,16 @@ typedef enum { ULTRIX_CONST_FIXIDX, ULTRIX_CONST2_FIXIDX, VA_I960_MACRO_FIXIDX, - VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX, - VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX, - VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX, - VMS_USE_QUOTED_INCLUDE_FIXIDX, VMS_ADD_MISSING_BRACES_FIXIDX, - VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX, VMS_DECC_BUILTIN_FIXIDX, - VMS_NO_64BIT_GETOPT_FIXIDX, + VMS_DEFINE_CAN_USE_EXTERN_PREFIX_FIXIDX, + VMS_DISABLE_DECC_STRING_BUILTINS_FIXIDX, + VMS_DO_NOT_REDECLARE_HOSTALIAS_FIXIDX, VMS_FORWARD_DECLARE_STRUCT_FIXIDX, + VMS_NO_64BIT_GETOPT_FIXIDX, VMS_USE_FAST_SETJMP_FIXIDX, + VMS_USE_PRAGMA_EXTERN_MODEL_FIXIDX, + VMS_USE_QUOTED_INCLUDE_FIXIDX, VOID_NULL_FIXIDX, VXWORKS_GCC_PROBLEM_FIXIDX, VXWORKS_IOCTL_MACRO_FIXIDX, @@ -9636,10 +9639,7 @@ typedef enum { X11_CLASS_FIXIDX, X11_CLASS_USAGE_FIXIDX, X11_NEW_FIXIDX, - X11_SPRINTF_FIXIDX, - FERAISEEXCEPT_NOSSE_INVALID_FIXIDX, - FERAISEEXCEPT_NOSSE_DIVBYZERO_FIXIDX, - COMPLIER_H_TRADCPP_FIXIDX + X11_SPRINTF_FIXIDX } t_fixinc_idx; tFixDesc fixDescList[ FIX_COUNT ] = { @@ -9878,6 +9878,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 }, + { zComplier_H_TradcppName, zComplier_H_TradcppList, + apzComplier_H_TradcppMachs, + COMPLIER_H_TRADCPP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aComplier_H_TradcppTests, apzComplier_H_TradcppPatch, 0 }, + { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList, apzCtrl_Quotes_DefMachs, CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -9963,6 +9968,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = { ECD_CURSOR_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aEcd_CursorTests, apzEcd_CursorPatch, 0 }, + { zFeraiseexcept_Nosse_DivbyzeroName, zFeraiseexcept_Nosse_DivbyzeroList, + apzFeraiseexcept_Nosse_DivbyzeroMachs, + FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aFeraiseexcept_Nosse_DivbyzeroTests, apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 }, + + { zFeraiseexcept_Nosse_InvalidName, zFeraiseexcept_Nosse_InvalidList, + apzFeraiseexcept_Nosse_InvalidMachs, + FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aFeraiseexcept_Nosse_InvalidTests, apzFeraiseexcept_Nosse_InvalidPatch, 0 }, + { zFreebsd_Gcc3_BreakageName, zFreebsd_Gcc3_BreakageList, apzFreebsd_Gcc3_BreakageMachs, FREEBSD_GCC3_BREAKAGE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10068,6 +10083,16 @@ tFixDesc fixDescList[ FIX_COUNT ] = { HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aHpux11_AbsTests, apzHpux11_AbsPatch, 0 }, + { zHpux11_Extern_SendfileName, zHpux11_Extern_SendfileList, + apzHpux11_Extern_SendfileMachs, + HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux11_Extern_SendfileTests, apzHpux11_Extern_SendfilePatch, 0 }, + + { zHpux11_Extern_SendpathName, zHpux11_Extern_SendpathList, + apzHpux11_Extern_SendpathMachs, + HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux11_Extern_SendpathTests, apzHpux11_Extern_SendpathPatch, 0 }, + { zHpux11_FabsfName, zHpux11_FabsfList, apzHpux11_FabsfMachs, HPUX11_FABSF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10098,56 +10123,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { HPUX8_BOGUS_INLINES_TEST_CT, FD_MACH_ONLY, aHpux8_Bogus_InlinesTests, apzHpux8_Bogus_InlinesPatch, 0 }, - { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList, - apzHpux_Ctype_MacrosMachs, - HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 }, - - { zHpux_HtonlName, zHpux_HtonlList, - apzHpux_HtonlMachs, - HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_HtonlTests, apzHpux_HtonlPatch, 0 }, - - { zHpux_Long_DoubleName, zHpux_Long_DoubleList, - apzHpux_Long_DoubleMachs, - HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY, - aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 }, - - { zHpux_Long_Double_2Name, zHpux_Long_Double_2List, - apzHpux_Long_Double_2Machs, - HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Long_Double_2Tests, apzHpux_Long_Double_2Patch, 0 }, - - { zHpux_SystimeName, zHpux_SystimeList, - apzHpux_SystimeMachs, - HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_SystimeTests, apzHpux_SystimePatch, 0 }, - - { zHpux_Spu_InfoName, zHpux_Spu_InfoList, - apzHpux_Spu_InfoMachs, - HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 }, - - { zHpux11_Extern_SendfileName, zHpux11_Extern_SendfileList, - apzHpux11_Extern_SendfileMachs, - HPUX11_EXTERN_SENDFILE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux11_Extern_SendfileTests, apzHpux11_Extern_SendfilePatch, 0 }, - - { zHpux11_Extern_SendpathName, zHpux11_Extern_SendpathList, - apzHpux11_Extern_SendpathMachs, - HPUX11_EXTERN_SENDPATH_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux11_Extern_SendpathTests, apzHpux11_Extern_SendpathPatch, 0 }, - - { zHpux_Extern_ErrnoName, zHpux_Extern_ErrnoList, - apzHpux_Extern_ErrnoMachs, - HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Extern_ErrnoTests, apzHpux_Extern_ErrnoPatch, 0 }, - - { zHpux_Pthread_InitializersName, zHpux_Pthread_InitializersList, - apzHpux_Pthread_InitializersMachs, - HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY, - aHpux_Pthread_InitializersTests, apzHpux_Pthread_InitializersPatch, 0 }, - { zHpux_C99_IntptrName, zHpux_C99_IntptrList, apzHpux_C99_IntptrMachs, HPUX_C99_INTPTR_TEST_CT, FD_MACH_ONLY, @@ -10163,20 +10138,60 @@ tFixDesc fixDescList[ FIX_COUNT ] = { HPUX_C99_INTTYPES2_TEST_CT, FD_MACH_ONLY, aHpux_C99_Inttypes2Tests, apzHpux_C99_Inttypes2Patch, 0 }, - { zHpux_Stdint_Least_FastName, zHpux_Stdint_Least_FastList, - apzHpux_Stdint_Least_FastMachs, - HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Stdint_Least_FastTests, apzHpux_Stdint_Least_FastPatch, 0 }, + { zHpux_Ctype_MacrosName, zHpux_Ctype_MacrosList, + apzHpux_Ctype_MacrosMachs, + HPUX_CTYPE_MACROS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Ctype_MacrosTests, apzHpux_Ctype_MacrosPatch, 0 }, + + { zHpux_Extern_ErrnoName, zHpux_Extern_ErrnoList, + apzHpux_Extern_ErrnoMachs, + HPUX_EXTERN_ERRNO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Extern_ErrnoTests, apzHpux_Extern_ErrnoPatch, 0 }, + + { zHpux_HtonlName, zHpux_HtonlList, + apzHpux_HtonlMachs, + HPUX_HTONL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_HtonlTests, apzHpux_HtonlPatch, 0 }, + + { zHpux_Imaginary_IName, zHpux_Imaginary_IList, + apzHpux_Imaginary_IMachs, + HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Imaginary_ITests, apzHpux_Imaginary_IPatch, 0 }, { zHpux_Inttype_Int8_TName, zHpux_Inttype_Int8_TList, apzHpux_Inttype_Int8_TMachs, HPUX_INTTYPE_INT8_T_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aHpux_Inttype_Int8_TTests, apzHpux_Inttype_Int8_TPatch, 0 }, - { zHpux_Imaginary_IName, zHpux_Imaginary_IList, - apzHpux_Imaginary_IMachs, - HPUX_IMAGINARY_I_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aHpux_Imaginary_ITests, apzHpux_Imaginary_IPatch, 0 }, + { zHpux_Long_DoubleName, zHpux_Long_DoubleList, + apzHpux_Long_DoubleMachs, + HPUX_LONG_DOUBLE_TEST_CT, FD_MACH_ONLY, + aHpux_Long_DoubleTests, apzHpux_Long_DoublePatch, 0 }, + + { zHpux_Long_Double_2Name, zHpux_Long_Double_2List, + apzHpux_Long_Double_2Machs, + HPUX_LONG_DOUBLE_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Long_Double_2Tests, apzHpux_Long_Double_2Patch, 0 }, + + { zHpux_Pthread_InitializersName, zHpux_Pthread_InitializersList, + apzHpux_Pthread_InitializersMachs, + HPUX_PTHREAD_INITIALIZERS_TEST_CT, FD_MACH_ONLY, + aHpux_Pthread_InitializersTests, apzHpux_Pthread_InitializersPatch, 0 }, + + { zHpux_Spu_InfoName, zHpux_Spu_InfoList, + apzHpux_Spu_InfoMachs, + HPUX_SPU_INFO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Spu_InfoTests, apzHpux_Spu_InfoPatch, 0 }, + + { zHpux_Stdint_Least_FastName, zHpux_Stdint_Least_FastList, + apzHpux_Stdint_Least_FastMachs, + HPUX_STDINT_LEAST_FAST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_Stdint_Least_FastTests, apzHpux_Stdint_Least_FastPatch, 0 }, + + { zHpux_SystimeName, zHpux_SystimeList, + apzHpux_SystimeMachs, + HPUX_SYSTIME_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aHpux_SystimeTests, apzHpux_SystimePatch, 0 }, { zHuge_Val_HexName, zHuge_Val_HexList, apzHuge_Val_HexMachs, @@ -10403,6 +10418,31 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_GETC_STRICT_STDC_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Getc_Strict_StdcTests, apzSolaris_Getc_Strict_StdcPatch, 0 }, + { zSolaris_Int_ConstName, zSolaris_Int_ConstList, + apzSolaris_Int_ConstMachs, + SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_ConstTests, apzSolaris_Int_ConstPatch, 0 }, + + { zSolaris_Int_Limits_1Name, zSolaris_Int_Limits_1List, + apzSolaris_Int_Limits_1Machs, + SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_Limits_1Tests, apzSolaris_Int_Limits_1Patch, 0 }, + + { zSolaris_Int_Limits_2Name, zSolaris_Int_Limits_2List, + apzSolaris_Int_Limits_2Machs, + SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_Limits_2Tests, apzSolaris_Int_Limits_2Patch, 0 }, + + { zSolaris_Int_Limits_3Name, zSolaris_Int_Limits_3List, + apzSolaris_Int_Limits_3Machs, + SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_Limits_3Tests, apzSolaris_Int_Limits_3Patch, 0 }, + + { zSolaris_Int_TypesName, zSolaris_Int_TypesList, + apzSolaris_Int_TypesMachs, + SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 }, + { zSolaris_Longjmp_NoreturnName, zSolaris_Longjmp_NoreturnList, apzSolaris_Longjmp_NoreturnMachs, SOLARIS_LONGJMP_NORETURN_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10413,6 +10453,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_MATH_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Math_1Tests, apzSolaris_Math_1Patch, 0 }, + { zSolaris_Math_10Name, zSolaris_Math_10List, + apzSolaris_Math_10Machs, + SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 }, + { zSolaris_Math_2Name, zSolaris_Math_2List, apzSolaris_Math_2Machs, SOLARIS_MATH_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10438,26 +10483,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_MATH_9_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Math_9Tests, apzSolaris_Math_9Patch, 0 }, - { zSolaris_Math_10Name, zSolaris_Math_10List, - apzSolaris_Math_10Machs, - SOLARIS_MATH_10_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Math_10Tests, apzSolaris_Math_10Patch, 0 }, - { zSolaris_Mutex_Init_2Name, zSolaris_Mutex_Init_2List, apzSolaris_Mutex_Init_2Machs, SOLARIS_MUTEX_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Mutex_Init_2Tests, apzSolaris_Mutex_Init_2Patch, 0 }, - { zSolaris_Pow_Int_OverloadName, zSolaris_Pow_Int_OverloadList, - apzSolaris_Pow_Int_OverloadMachs, - SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Pow_Int_OverloadTests, apzSolaris_Pow_Int_OverloadPatch, 0 }, - - { zSolaris_Rwlock_Init_1Name, zSolaris_Rwlock_Init_1List, - apzSolaris_Rwlock_Init_1Machs, - SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Rwlock_Init_1Tests, apzSolaris_Rwlock_Init_1Patch, 0 }, - { zSolaris_Once_Init_1Name, zSolaris_Once_Init_1List, apzSolaris_Once_Init_1Machs, SOLARIS_ONCE_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10468,36 +10498,21 @@ tFixDesc fixDescList[ FIX_COUNT ] = { SOLARIS_ONCE_INIT_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Once_Init_2Tests, apzSolaris_Once_Init_2Patch, 0 }, - { zSolaris_Int_ConstName, zSolaris_Int_ConstList, - apzSolaris_Int_ConstMachs, - SOLARIS_INT_CONST_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Int_ConstTests, apzSolaris_Int_ConstPatch, 0 }, - - { zSolaris_Int_Limits_1Name, zSolaris_Int_Limits_1List, - apzSolaris_Int_Limits_1Machs, - SOLARIS_INT_LIMITS_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Int_Limits_1Tests, apzSolaris_Int_Limits_1Patch, 0 }, - - { zSolaris_Int_Limits_2Name, zSolaris_Int_Limits_2List, - apzSolaris_Int_Limits_2Machs, - SOLARIS_INT_LIMITS_2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Int_Limits_2Tests, apzSolaris_Int_Limits_2Patch, 0 }, - - { zSolaris_Int_Limits_3Name, zSolaris_Int_Limits_3List, - apzSolaris_Int_Limits_3Machs, - SOLARIS_INT_LIMITS_3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Int_Limits_3Tests, apzSolaris_Int_Limits_3Patch, 0 }, - - { zSolaris_Int_TypesName, zSolaris_Int_TypesList, - apzSolaris_Int_TypesMachs, - SOLARIS_INT_TYPES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aSolaris_Int_TypesTests, apzSolaris_Int_TypesPatch, 0 }, - { zSolaris_Posix_Spawn_RestrictName, zSolaris_Posix_Spawn_RestrictList, apzSolaris_Posix_Spawn_RestrictMachs, SOLARIS_POSIX_SPAWN_RESTRICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aSolaris_Posix_Spawn_RestrictTests, apzSolaris_Posix_Spawn_RestrictPatch, 0 }, + { zSolaris_Pow_Int_OverloadName, zSolaris_Pow_Int_OverloadList, + apzSolaris_Pow_Int_OverloadMachs, + SOLARIS_POW_INT_OVERLOAD_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Pow_Int_OverloadTests, apzSolaris_Pow_Int_OverloadPatch, 0 }, + + { zSolaris_Rwlock_Init_1Name, zSolaris_Rwlock_Init_1List, + apzSolaris_Rwlock_Init_1Machs, + SOLARIS_RWLOCK_INIT_1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aSolaris_Rwlock_Init_1Tests, apzSolaris_Rwlock_Init_1Patch, 0 }, + { zSolaris_Std___FilbufName, zSolaris_Std___FilbufList, apzSolaris_Std___FilbufMachs, SOLARIS_STD___FILBUF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10658,56 +10673,56 @@ tFixDesc fixDescList[ FIX_COUNT ] = { VA_I960_MACRO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aVa_I960_MacroTests, apzVa_I960_MacroPatch, 0 }, - { zVms_Define_Can_Use_Extern_PrefixName, zVms_Define_Can_Use_Extern_PrefixList, - apzVms_Define_Can_Use_Extern_PrefixMachs, - VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_Define_Can_Use_Extern_PrefixTests, apzVms_Define_Can_Use_Extern_PrefixPatch, 0 }, - - { zVms_Use_Pragma_Extern_ModelName, zVms_Use_Pragma_Extern_ModelList, - apzVms_Use_Pragma_Extern_ModelMachs, - VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_Use_Pragma_Extern_ModelTests, apzVms_Use_Pragma_Extern_ModelPatch, 0 }, - - { zVms_Disable_Decc_String_BuiltinsName, zVms_Disable_Decc_String_BuiltinsList, - apzVms_Disable_Decc_String_BuiltinsMachs, - VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_Disable_Decc_String_BuiltinsTests, apzVms_Disable_Decc_String_BuiltinsPatch, 0 }, - - { zVms_Use_Quoted_IncludeName, zVms_Use_Quoted_IncludeList, - apzVms_Use_Quoted_IncludeMachs, - VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_Use_Quoted_IncludeTests, apzVms_Use_Quoted_IncludePatch, 0 }, - { zVms_Add_Missing_BracesName, zVms_Add_Missing_BracesList, apzVms_Add_Missing_BracesMachs, VMS_ADD_MISSING_BRACES_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aVms_Add_Missing_BracesTests, apzVms_Add_Missing_BracesPatch, 0 }, - { zVms_Do_Not_Redeclare_HostaliasName, zVms_Do_Not_Redeclare_HostaliasList, - apzVms_Do_Not_Redeclare_HostaliasMachs, - VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_Do_Not_Redeclare_HostaliasTests, apzVms_Do_Not_Redeclare_HostaliasPatch, 0 }, - { zVms_Decc_BuiltinName, zVms_Decc_BuiltinList, apzVms_Decc_BuiltinMachs, VMS_DECC_BUILTIN_TEST_CT, FD_MACH_ONLY, aVms_Decc_BuiltinTests, apzVms_Decc_BuiltinPatch, 0 }, - { zVms_No_64bit_GetoptName, zVms_No_64bit_GetoptList, - apzVms_No_64bit_GetoptMachs, - VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aVms_No_64bit_GetoptTests, apzVms_No_64bit_GetoptPatch, 0 }, + { zVms_Define_Can_Use_Extern_PrefixName, zVms_Define_Can_Use_Extern_PrefixList, + apzVms_Define_Can_Use_Extern_PrefixMachs, + VMS_DEFINE_CAN_USE_EXTERN_PREFIX_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Define_Can_Use_Extern_PrefixTests, apzVms_Define_Can_Use_Extern_PrefixPatch, 0 }, + + { zVms_Disable_Decc_String_BuiltinsName, zVms_Disable_Decc_String_BuiltinsList, + apzVms_Disable_Decc_String_BuiltinsMachs, + VMS_DISABLE_DECC_STRING_BUILTINS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Disable_Decc_String_BuiltinsTests, apzVms_Disable_Decc_String_BuiltinsPatch, 0 }, + + { zVms_Do_Not_Redeclare_HostaliasName, zVms_Do_Not_Redeclare_HostaliasList, + apzVms_Do_Not_Redeclare_HostaliasMachs, + VMS_DO_NOT_REDECLARE_HOSTALIAS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Do_Not_Redeclare_HostaliasTests, apzVms_Do_Not_Redeclare_HostaliasPatch, 0 }, { zVms_Forward_Declare_StructName, zVms_Forward_Declare_StructList, apzVms_Forward_Declare_StructMachs, VMS_FORWARD_DECLARE_STRUCT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aVms_Forward_Declare_StructTests, apzVms_Forward_Declare_StructPatch, 0 }, + { zVms_No_64bit_GetoptName, zVms_No_64bit_GetoptList, + apzVms_No_64bit_GetoptMachs, + VMS_NO_64BIT_GETOPT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_No_64bit_GetoptTests, apzVms_No_64bit_GetoptPatch, 0 }, + { zVms_Use_Fast_SetjmpName, zVms_Use_Fast_SetjmpList, apzVms_Use_Fast_SetjmpMachs, VMS_USE_FAST_SETJMP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aVms_Use_Fast_SetjmpTests, apzVms_Use_Fast_SetjmpPatch, 0 }, + { zVms_Use_Pragma_Extern_ModelName, zVms_Use_Pragma_Extern_ModelList, + apzVms_Use_Pragma_Extern_ModelMachs, + VMS_USE_PRAGMA_EXTERN_MODEL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Use_Pragma_Extern_ModelTests, apzVms_Use_Pragma_Extern_ModelPatch, 0 }, + + { zVms_Use_Quoted_IncludeName, zVms_Use_Quoted_IncludeList, + apzVms_Use_Quoted_IncludeMachs, + VMS_USE_QUOTED_INCLUDE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, + aVms_Use_Quoted_IncludeTests, apzVms_Use_Quoted_IncludePatch, 0 }, + { zVoid_NullName, zVoid_NullList, apzVoid_NullMachs, VOID_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, @@ -10771,20 +10786,5 @@ tFixDesc fixDescList[ FIX_COUNT ] = { { zX11_SprintfName, zX11_SprintfList, apzX11_SprintfMachs, X11_SPRINTF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aX11_SprintfTests, apzX11_SprintfPatch, 0 }, - - { zFeraiseexcept_Nosse_InvalidName, zFeraiseexcept_Nosse_InvalidList, - apzFeraiseexcept_Nosse_InvalidMachs, - FERAISEEXCEPT_NOSSE_INVALID_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aFeraiseexcept_Nosse_InvalidTests, apzFeraiseexcept_Nosse_InvalidPatch, 0 }, - - { zFeraiseexcept_Nosse_DivbyzeroName, zFeraiseexcept_Nosse_DivbyzeroList, - apzFeraiseexcept_Nosse_DivbyzeroMachs, - FERAISEEXCEPT_NOSSE_DIVBYZERO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aFeraiseexcept_Nosse_DivbyzeroTests, apzFeraiseexcept_Nosse_DivbyzeroPatch, 0 }, - - { zComplier_H_TradcppName, zComplier_H_TradcppList, - apzComplier_H_TradcppMachs, - COMPLIER_H_TRADCPP_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, - aComplier_H_TradcppTests, apzComplier_H_TradcppPatch, 0 } + aX11_SprintfTests, apzX11_SprintfPatch, 0 } }; diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 11ac9448c5b..411300fb2e0 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -11,7 +11,7 @@ autogen definitions fixincl; pattern='^/\*$' \ trailer='^/\*EOF\*[/]' \ input=inclhack.def \ - key='hackname[ ]*=[ ]*(.*);' + key=$'hackname[ \t]*=[ \t]*(.*);' Set up a debug test so we can make the templates emit special code while debugging these fixes: */ @@ -1139,6 +1139,20 @@ fix = { test_text = '#define vfscanf __svfscanf'; }; +/* + * Old Linux kernel's header breaks Traditional CPP + */ +fix = { + hackname = complier_h_tradcpp; + files = linux/compiler.h; + + select = "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)"; + c_fix = format; + c_fix_arg = "/* __builtin_warning(x, y...) is obsolete */"; + + test_text = "#define __builtin_warning(x, y...) (1)"; +}; + /* * Fix various macros used to define ioctl numbers. * The traditional syntax was: @@ -1508,6 +1522,60 @@ fix = { test_text = "#ifdef ecd.cursor\n#error bogus\n#endif /* ecd+cursor */"; }; +/* + * Incorrect feraiseexcept extern inline in bits/fenv.h on x86_64 + * that fails when compiling for SSE-less 32-bit x86. + */ +fix = { + hackname = feraiseexcept_nosse_divbyzero; + mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*'; + files = bits/fenv.h, '*/bits/fenv.h'; + select = "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : " + ": \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$"; + bypass = "\"fdivp .*; fwait\""; + + c_fix = format; + c_fix_arg = <<- _EOText_ + # ifdef __SSE_MATH__ + %0 + # else + %1__asm__ __volatile__ ("fdivp %%%%st, %%%%st(1); fwait" + %1 : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); + # endif + _EOText_; + + test_text = <<- _EOText_ + __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); + _EOText_; +}; + +/* + * Incorrect feraiseexcept extern inline in bits/fenv.h on x86_64 + * that fails when compiling for SSE-less 32-bit x86. + */ +fix = { + hackname = feraiseexcept_nosse_invalid; + mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*'; + files = bits/fenv.h, '*/bits/fenv.h'; + select = "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : " + ": \"x\" \\(__f\\)\\);$"; + bypass = "\"fdiv .*; fwait\""; + + c_fix = format; + c_fix_arg = <<- _EOText_ + # ifdef __SSE_MATH__ + %0 + # else + %1__asm__ __volatile__ ("fdiv %%%%st, %%%%st(0); fwait" + %1 : "=t" (__f) : "0" (__f)); + # endif + _EOText_; + + test_text = <<- _EOText_ + __asm__ __volatile__ ("divss %0, %0" : : "x" (__f)); + _EOText_; +}; + /* * Between 8/24/1998 and 2/17/2001, FreeBSD system headers presume * neither the existence of GCC 3 nor its exact feature set yet break @@ -1738,7 +1806,7 @@ fix = { versions. */ fix = { hackname = glibc_strncpy; - files = bits/string2.h; + files = bits/string2.h, '*/bits/string2.h'; bypass = "__builtin_strncpy"; c_fix = format; c_fix_arg = "# define strncpy(dest, src, n) __builtin_strncpy (dest, src, n)"; @@ -2006,6 +2074,34 @@ fix = { test_text = "#ifndef _MATH_INCLUDED"; }; +/* + * hpux sendfile() + */ +fix = { + hackname = hpux11_extern_sendfile; + mach = "*-hp-hpux11.[12]*"; + files = sys/socket.h; + select = "^[ \t]*extern sbsize_t sendfile.*\n.*, int\\)\\);\n"; + c_fix = format; + c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; + test_text = " extern sbsize_t sendfile __((int, int, off_t, bsize_t,\n" + " const struct iovec *, int));\n"; +}; + +/* + * hpux sendpath() + */ +fix = { + hackname = hpux11_extern_sendpath; + mach = "*-hp-hpux11.[12]*"; + files = sys/socket.h; + select = "^[ \t]*extern sbsize_t sendpath.*\n.*, int\\)\\);\n"; + c_fix = format; + c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; + test_text = " extern sbsize_t sendpath __((int, int, off_t, bsize_t,\n" + " const struct iovec *, int));\n"; +}; + /* * Keep HP-UX 11 from stomping on C++ math namespace * with defines for fabsf. @@ -2106,6 +2202,76 @@ fix = { "inline double sqr(double v) { return v**0.5; }"; }; +/* + * hpux intptr + */ +fix = { + hackname = hpux_c99_intptr; + mach = "*-hp-hpux11.3*"; + files = stdint-hpux11.h, stdint.h; + sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*" + "INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*" + "INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*" + "INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*" + "INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*" + "UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*" + "UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@"; + test_text = "#define PTRDIFF_MAX INT32_MAX\n" + "#define PTRDIFF_MIN INT32_MIN\n" + "#define INTPTR_MAX INT32_MAX\n" + "#define INTPTR_MIN INT32_MIN\n" + "#define UINTPTR_MAX UINT32_MAX\n" + "#define SIZE_MAX UINT32_MAX\n"; +}; + +/* + * These hacks are need in inttypes.h on 11.23 and in stdint.h on 11.31. + */ +fix = { + hackname = hpux_c99_inttypes; + mach = "*-hp-hpux11.[23]*"; + files = inttypes.h; + files = stdint-hpux11.h, stdint.h; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*" + "__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*" + "__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*" + "__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@" + "#define UINT32_C(__c) __CONCAT__(__c,u)@"; + test_text = "#define UINT8_C(__c) __CONCAT_U__(__c)\n" + "#define UINT16_C(__c) __CONCAT_U__(__c)\n" + "#define INT32_C(__c) __CONCAT__(__c,l)\n" + "#define UINT32_C(__c) __CONCAT__(__c,ul)\n"; +}; + +/* + * These hacks are need in inttypes.h on 11.23 and in stdint.h on 11.31. + */ +fix = { + hackname = hpux_c99_inttypes2; + mach = "*-hp-hpux11.2*"; + files = stdint-hpux11.h, stdint.h; + sed = "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*" + "((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*" + "((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*" + "((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@"; + sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*" + "((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@"; + test_text = "# define INT8_C(__c) ((signed char)(__c))\n" + "# define UINT8_C(__c) ((unsigned char)(__c))\n" + "# define INT16_C(__c) ((short)(__c))\n" + "# define UINT16_C(__c) ((unsigned short)(__c))\n"; +}; + /* * Fix hpux broken ctype macros */ @@ -2121,6 +2287,26 @@ fix = { "# define isalpha(__c) (__SB_masks ? __SB_masks[__c] & _IS\n"; }; +/* + * hpux errno() + */ +fix = { + hackname = hpux_extern_errno; + mach = "*-hp-hpux10.*"; + mach = "*-hp-hpux11.[0-2]*"; + files = errno.h; + select = "^[ \t]*extern int errno;$"; + c_fix = format; + c_fix_arg = "#ifdef __cplusplus\n" + "extern \"C\" {\n" + "#endif\n" + "%0\n" + "#ifdef __cplusplus\n" + "}\n" + "#endif"; + test_text = " extern int errno;\n"; +}; + /* * Fix hpux broken #ifndef _XOPEN_SOURCE_EXTENDED conditional on htonl etc. */ @@ -2148,6 +2334,33 @@ fix = { "#endif /* ! _XOPEN_SOURCE_EXTENDED */"; }; +/* + * These hacks are need in inttypes.h on 11.23 and in stdint.h on 11.31. + */ +fix = { + hackname = hpux_imaginary_i; + mach = "ia64-hp-hpux11.*"; + files = complex.h; + select = "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*"; + c_fix = format; + c_fix_arg = "#define _Complex_I (__extension__ 1.0iF)"; + test_text = "#define _Complex_I (0.f+_Imaginary_I)\n"; +}; + +/* + * These hacks are need in inttypes.h on 11.23 and in stdint.h on 11.31. + */ +fix = { + hackname = hpux_inttype_int8_t; + mach = "*-hp-hpux1[01].*"; + files = sys/_inttypes.h; + select = "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*"; + c_fix = format; + c_fix_arg = "typedef signed char int%18_t;"; + test_text = "typedef char int_least8_t;\n" + "typedef char int8_t;\n"; +}; + /* * HP-UX long_double */ @@ -2170,10 +2383,10 @@ fix = { "extern long_double strtold(const char *, char **);\n"; }; - /* - * We cannot use the above rule on 11.31 because it removes the strtold - * definition. ia64 is OK with no hack, PA needs some help. - */ +/* + * We cannot use the above rule on 11.31 because it removes the strtold + * definition. ia64 is OK with no hack, PA needs some help. + */ fix = { hackname = hpux_long_double_2; mach = "hppa*-*-hpux11.3*"; @@ -2189,82 +2402,6 @@ fix = { "defined(_LONG_DOUBLE_STRUCT)\n"; }; -/* - * Fix hpux10.20 to avoid invalid forward decl - */ -fix = { - hackname = hpux_systime; - files = sys/time.h; - select = "^extern struct sigevent;"; - - c_fix = format; - c_fix_arg = "struct sigevent;"; - - test_text = 'extern struct sigevent;'; -}; - -/* - * Wrap spu_info in ifdef _KERNEL. GCC cannot handle an array of unknown - * type and mpinfou is only defined when _KERNEL is set. - */ -fix = { - hackname = hpux_spu_info; - mach = "*-hp-hpux*"; - /* - * It is tempting to omit the first "files" entry. Do not. - * The testing machinery will take the first "files" entry as the name - * of a test file to play with. It would be a nuisance to have a directory - * with the name "*". - */ - files = "ia64/sys/getppdp.h"; - files = "*/sys/getppdp.h"; - select = "^.*extern.*spu_info.*"; - - c_fix = format; - c_fix_arg = "#ifdef _KERNEL\n%0\n#endif"; - - test_text = "extern union mpinfou spu_info[];"; -}; - -fix = { - hackname = hpux11_extern_sendfile; - mach = "*-hp-hpux11.[12]*"; - files = sys/socket.h; - select = "^[ \t]*extern sbsize_t sendfile.*\n.*, int\\)\\);\n"; - c_fix = format; - c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; - test_text = " extern sbsize_t sendfile __((int, int, off_t, bsize_t,\n" - " const struct iovec *, int));\n"; -}; - -fix = { - hackname = hpux11_extern_sendpath; - mach = "*-hp-hpux11.[12]*"; - files = sys/socket.h; - select = "^[ \t]*extern sbsize_t sendpath.*\n.*, int\\)\\);\n"; - c_fix = format; - c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; - test_text = " extern sbsize_t sendpath __((int, int, off_t, bsize_t,\n" - " const struct iovec *, int));\n"; -}; - -fix = { - hackname = hpux_extern_errno; - mach = "*-hp-hpux10.*"; - mach = "*-hp-hpux11.[0-2]*"; - files = errno.h; - select = "^[ \t]*extern int errno;$"; - c_fix = format; - c_fix_arg = "#ifdef __cplusplus\n" - "extern \"C\" {\n" - "#endif\n" - "%0\n" - "#ifdef __cplusplus\n" - "}\n" - "#endif"; - test_text = " extern int errno;\n"; -}; - /* * Add missing braces to pthread initializer defines. */ @@ -2307,71 +2444,32 @@ fix = { "}\n"; }; +/* + * Wrap spu_info in ifdef _KERNEL. GCC cannot handle an array of unknown + * type and mpinfou is only defined when _KERNEL is set. + */ fix = { - hackname = hpux_c99_intptr; - mach = "*-hp-hpux11.3*"; - files = stdint-hpux11.h, stdint.h; - sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MAX[ \t]*" - "INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*" - "INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*" - "INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*" - "INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*" - "UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*" - "UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@"; - test_text = "#define PTRDIFF_MAX INT32_MAX\n" - "#define PTRDIFF_MIN INT32_MIN\n" - "#define INTPTR_MAX INT32_MAX\n" - "#define INTPTR_MIN INT32_MIN\n" - "#define UINTPTR_MAX UINT32_MAX\n" - "#define SIZE_MAX UINT32_MAX\n"; + hackname = hpux_spu_info; + mach = "*-hp-hpux*"; + /* + * It is tempting to omit the first "files" entry. Do not. + * The testing machinery will take the first "files" entry as the name + * of a test file to play with. It would be a nuisance to have a directory + * with the name "*". + */ + files = "ia64/sys/getppdp.h"; + files = "*/sys/getppdp.h"; + select = "^.*extern.*spu_info.*"; + + c_fix = format; + c_fix_arg = "#ifdef _KERNEL\n%0\n#endif"; + + test_text = "extern union mpinfou spu_info[];"; }; /* * These hacks are need in inttypes.h on 11.23 and in stdint.h on 11.31. */ - -fix = { - hackname = hpux_c99_inttypes; - mach = "*-hp-hpux11.[23]*"; - files = inttypes.h; - files = stdint-hpux11.h, stdint.h; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*" - "__CONCAT_U__(__c)[ \t]*$@#define UINT8_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*" - "__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*INT32_C(__c)[ \t]*" - "__CONCAT__(__c,l)[ \t]*$@#define INT32_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@" - "#define UINT32_C(__c) __CONCAT__(__c,u)@"; - test_text = "#define UINT8_C(__c) __CONCAT_U__(__c)\n" - "#define UINT16_C(__c) __CONCAT_U__(__c)\n" - "#define INT32_C(__c) __CONCAT__(__c,l)\n" - "#define UINT32_C(__c) __CONCAT__(__c,ul)\n"; -}; - -fix = { - hackname = hpux_c99_inttypes2; - mach = "*-hp-hpux11.2*"; - files = stdint-hpux11.h, stdint.h; - sed = "s@^[ \t]*#[ \t]*define[ \t]*INT8_C(__c)[ \t]*" - "((signed char)(__c))[ \t]*$@#define INT8_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*" - "((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*INT16_C(__c)[ \t]*" - "((short)(__c))[ \t]*$@#define INT16_C(__c) (__c)@"; - sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*" - "((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@"; - test_text = "# define INT8_C(__c) ((signed char)(__c))\n" - "# define UINT8_C(__c) ((unsigned char)(__c))\n" - "# define INT16_C(__c) ((short)(__c))\n" - "# define UINT16_C(__c) ((unsigned short)(__c))\n"; -}; - fix = { hackname = hpux_stdint_least_fast; mach = "*-hp-hpux11.2*"; @@ -2385,25 +2483,18 @@ fix = { _EOFix_; }; +/* + * Fix hpux10.20 to avoid invalid forward decl + */ fix = { - hackname = hpux_inttype_int8_t; - mach = "*-hp-hpux1[01].*"; - files = sys/_inttypes.h; - select = "^[ \t]*typedef[ \t]*char[ \t]*int(_least){0,1}8_t.*"; - c_fix = format; - c_fix_arg = "typedef signed char int%18_t;"; - test_text = "typedef char int_least8_t;\n" - "typedef char int8_t;\n"; -}; + hackname = hpux_systime; + files = sys/time.h; + select = "^extern struct sigevent;"; -fix = { - hackname = hpux_imaginary_i; - mach = "ia64-hp-hpux11.*"; - files = complex.h; - select = "^[ \t]*#[ \t]*define[ \t]*_Complex_I.*"; c_fix = format; - c_fix_arg = "#define _Complex_I (__extension__ 1.0iF)"; - test_text = "#define _Complex_I (0.f+_Imaginary_I)\n"; + c_fix_arg = "struct sigevent;"; + + test_text = 'extern struct sigevent;'; }; /* @@ -2411,7 +2502,7 @@ fix = { */ fix = { hackname = huge_val_hex; - files = bits/huge_val.h; + files = bits/huge_val.h, '*/bits/huge_val.h'; select = "^#[ \t]*define[ \t]*HUGE_VAL[ \t].*0x1\\.0p.*"; bypass = "__builtin_huge_val"; @@ -2426,7 +2517,7 @@ fix = { */ fix = { hackname = huge_valf_hex; - files = bits/huge_val.h; + files = bits/huge_val.h, '*/bits/huge_val.h'; select = "^#[ \t]*define[ \t]*HUGE_VALF[ \t].*0x1\\.0p.*"; bypass = "__builtin_huge_valf"; @@ -2441,7 +2532,7 @@ fix = { */ fix = { hackname = huge_vall_hex; - files = bits/huge_val.h; + files = bits/huge_val.h, '*/bits/huge_val.h'; select = "^#[ \t]*define[ \t]*HUGE_VALL[ \t].*0x1\\.0p.*"; bypass = "__builtin_huge_vall"; @@ -2579,7 +2670,8 @@ fix = { test_text = "#define __CONCAT__(a,b) a/**/b"; }; -/* The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines +/* + * The /usr/include/sys/ucontext.h on ia64-*linux-gnu systems defines * an _SC_GR0_OFFSET macro using an idiom that isn't a compile time * constant on recent versions of g++. */ @@ -2792,9 +2884,11 @@ fix = { test_text = "#define __END_DECLS };"; }; -/* newlib's stdint.h has several failures to conform to C99. The fix - for these removed a comment that can be matched to identify unfixed - versions. */ +/* + * newlib's stdint.h has several failures to conform to C99. The fix + * for these removed a comment that can be matched to identify unfixed + * versions. + */ fix = { hackname = newlib_stdint_1; files = stdint-newlib.h, stdint.h; @@ -3241,290 +3335,6 @@ fix = { "#if !defined(_REENTRANT) && !defined(_LP64) && !defined(_STRICT_STDC)"; }; -/* - * Before Solaris 10, doesn't mark longjump noreturn. - */ -fix = { - hackname = solaris_longjmp_noreturn; - mach = "*-*-solaris2*"; - files = "iso/setjmp_iso.h"; - bypass = "__NORETURN"; - select = "(.*longjmp\\(jmp_buf.*[^)]+\\));"; - c_fix = format; - c_fix_arg = "%1 __attribute__ ((__noreturn__));"; - - test_text = "extern void longjmp(jmp_buf, int);"; -}; - -/* - * Sun Solaris 10 defines several C99 math macros in terms of - * builtins specific to the Studio compiler, in particular not - * compatible with the GNU compiler. - */ -fix = { - hackname = solaris_math_1; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tHUGE_VA%1\t(__builtin_huge_va%2())"; - c_fix_arg = "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)"; - test_text = - '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" - "#undef HUGE_VAL\n" - "#define HUGE_VAL __builtin_huge_val\n" - "#undef HUGE_VALF\n" - "#define HUGE_VALF __builtin_huge_valf\n" - "#undef HUGE_VALL\n" - "#define HUGE_VALL __builtin_huge_vall"; -}; - -fix = { - hackname = solaris_math_2; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tINFINITY\t(__builtin_inff())"; - c_fix_arg = "^#define[ \t]+INFINITY[ \t]+__builtin_infinity"; - test_text = - '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" - "#undef INFINITY\n" - "#define INFINITY __builtin_infinity"; -}; - -fix = { - hackname = solaris_math_3; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tNAN\t\t(__builtin_nanf(\"\"))"; - c_fix_arg = "^#define[ \t]+NAN[ \t]+__builtin_nan"; - test_text = - '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" - "#undef NAN\n" - "#define NAN __builtin_nan"; -}; - -fix = { - hackname = solaris_math_4; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tfpclassify(x) \\\n" - " __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, " - "FP_SUBNORMAL, FP_ZERO, (x))"; - c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)"; - test_text = - '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" - "#undef fpclassify\n" - "#define fpclassify(x) __builtin_fpclassify(x)"; -}; - -fix = { - hackname = solaris_math_8; - select = '@\(#\)math_c99\.h' "[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n" - "\t\t\t ? __builtin_signbitf(x) \\\n" - "\t\t\t : sizeof(x) == sizeof(long double) \\\n" - "\t\t\t ? __builtin_signbitl(x) \\\n" - "\t\t\t : __builtin_signbit(x))"; - c_fix_arg = "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)"; - test_text = <<- _EOText_ - #ident "@(#)math_c99.h 1.9 04/11/01 SMI" - #undef signbit - #define signbit(x) __builtin_signbit(x) - _EOText_; -}; - -fix = { - hackname = solaris_math_9; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - bypass = "__GNUC__"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\t%1(x, y)%2__builtin_%1(x, y)"; - c_fix_arg = "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) " - "__builtin_[a-z]+\\(y\\)\\)"; - test_text = - '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" - "#undef isgreater\n" - "#define isgreater(x, y) ((x) __builtin_isgreater(y))\n" - "#undef isgreaterequal\n" - "#define isgreaterequal(x, y) ((x) __builtin_isgreaterequal(y))\n" - "#undef isless\n" - "#define isless(x, y) ((x) __builtin_isless(y))\n" - "#undef islessequal\n" - "#define islessequal(x, y) ((x) __builtin_islessequal(y))\n" - "#undef islessgreater\n" - "#define islessgreater(x, y) ((x) __builtin_islessgreater(y))\n" - "#undef isunordered\n" - "#define isunordered(x, y) ((x) __builtin_isunordered(y))"; -}; - -/* - * On Solaris 11, if you do isinf(NaN) you'll get a floating point - * exception. Provide an alternative using GCC's builtin. - */ - -fix = { - hackname = solaris_math_10; - select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = iso/math_c99.h; - c_fix = format; - c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)"; - c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n" - "[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);" - "[ \t]*\\\\\n" - "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*" - "INFINITY[ \t]*\\|\\|[ \t]*\\\\\n" - "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*" - "\\(-INFINITY\\);[ \t]*\\}\\)"; - test_text = - '#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n" - "#undef isinf\n" - "#define isinf(x) __extension__( \\\\\n" - " { __typeof(x) __x_i = (x); \\\\\n" - " __x_i == (__typeof(__x_i)) INFINITY || \\\\\n" - " __x_i == (__typeof(__x_i)) (-INFINITY); })"; -}; - -/* - * Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing - * "0" for the last field of the pthread_mutex_t structure, which is - * of type upad64_t, which itself is typedef'd to int64_t, but with - * __STDC__ defined (e.g. by -ansi) it is a union. So change the - * initializer to "{0}" instead - */ -fix = { - hackname = solaris_mutex_init_2; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - /* - * On Solaris 10, this fix is unnecessary because upad64_t is - * always defined correctly regardless of the definition of the - * __STDC__ macro. The first "mach" pattern matches up to - * solaris9. The second "mach" pattern will not match any two (or - * more) digit solaris version, but it will match e.g. 2.5.1. - */ - mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*'; - c_fix = format; - c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" - "%0\n" - "#else\n" - "%1, {0}}%4\n" - "#endif"; - c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+" - "(|/\*.*\*/[ \t]*\\\\\n[ \t]*)\\{.*)" - ",[ \t]*0\\}" "(|[ \t].*)$"; - test_text = - '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" - "#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n" - "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n" - "#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \\\\\n" - " {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}\n" - "#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \\\\\n" - " {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}"; -}; - -/* - * The pow overloads with int were removed in C++ 2011 DR 550. - */ -fix = { - hackname = solaris_pow_int_overload; - mach = '*-*-solaris2*'; - files = "iso/math_iso.h"; - select = "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\)" - " *\\{[^{}]*\n[^{}]*\\}"; - c_fix = format; - c_fix_arg = "#if __cplusplus < 201103L\n%0\n#endif"; - - test_text = - " inline long double pow(long double __X, int __Y) { return\n" - " __powl(__X, (long double) (__Y)); }"; -}; - -/* - * Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some - * fields of the pthread_rwlock_t structure, which are of type - * upad64_t, which itself is typedef'd to int64_t, but with __STDC__ - * defined (e.g. by -ansi) it is a union. So change the initializer - * to "{0}" instead. - */ -fix = { - hackname = solaris_rwlock_init_1; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - mach = '*-*-solaris*'; - c_fix = format; - c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" - "%0\n" - "#else\n" - "%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n" - "#endif"; - c_fix_arg = "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)" - "\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$"; - - test_text = - '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" - "#define PTHREAD_RWLOCK_INITIALIZER\t{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}"; -}; - -/* - * Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a - * structure. As such, it need two levels of brackets, but only - * contains one. Wrap the macro definition in an extra layer. - */ -fix = { - hackname = solaris_once_init_1; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - mach = '*-*-solaris*'; - c_fix = format; - c_fix_arg = "%1{%2}%3"; - c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$"; - test_text = - '#pragma ident "@(#)pthread.h 1.37 04/09/28 SMI"'"\n" - "#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}"; -}; - -/* - * Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some - * fields of the pthread_once_t structure, which are of type - * upad64_t, which itself is typedef'd to int64_t, but with __STDC__ - * defined (e.g. by -ansi) it is a union. So change the initializer - * to "{0}" instead. This test relies on solaris_once_init_1. - */ -fix = { - hackname = solaris_once_init_2; - select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; - files = pthread.h; - /* - * On Solaris 10, this fix is unnecessary because upad64_t is - * always defined correctly regardless of the definition of the - * __STDC__ macro. The first "mach" pattern matches up to - * solaris9. The second "mach" pattern will not match any two (or - * more) digit solaris version, but it will match e.g. 2.5.1. - */ - mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*'; - c_fix = format; - c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" - "%0\n" - "#else\n" - "%1{0}, {0}, {0}, {%3}%4\n" - "#endif"; - c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)" - "(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$"; - test_text = - '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" - "#define PTHREAD_ONCE_INIT\t{{0, 0, 0, PTHREAD_ONCE_NOTDONE}}\n"; -}; - /* * Sun Solaris 2 has a version of sys/int_const.h that defines * UINT8_C and UINT16_C to unsigned constants. @@ -3617,6 +3427,261 @@ fix = { "#endif"; }; +/* + * Before Solaris 10, doesn't mark longjump noreturn. + */ +fix = { + hackname = solaris_longjmp_noreturn; + mach = "*-*-solaris2*"; + files = "iso/setjmp_iso.h"; + bypass = "__NORETURN"; + select = "(.*longjmp\\(jmp_buf.*[^)]+\\));"; + c_fix = format; + c_fix_arg = "%1 __attribute__ ((__noreturn__));"; + + test_text = "extern void longjmp(jmp_buf, int);"; +}; + +/* + * Sun Solaris 10 defines several C99 math macros in terms of + * builtins specific to the Studio compiler, in particular not + * compatible with the GNU compiler. + */ +fix = { + hackname = solaris_math_1; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tHUGE_VA%1\t(__builtin_huge_va%2())"; + c_fix_arg = "^#define[ \t]+HUGE_VA([LF]+)[ \t]+__builtin_huge_va([lf]+)"; + test_text = + '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" + "#undef HUGE_VAL\n" + "#define HUGE_VAL __builtin_huge_val\n" + "#undef HUGE_VALF\n" + "#define HUGE_VALF __builtin_huge_valf\n" + "#undef HUGE_VALL\n" + "#define HUGE_VALL __builtin_huge_vall"; +}; + +/* + * On Solaris 11, if you do isinf(NaN) you'll get a floating point + * exception. Provide an alternative using GCC's builtin. + */ +fix = { + hackname = solaris_math_10; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)"; + c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n" + "[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);" + "[ \t]*\\\\\n" + "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*" + "INFINITY[ \t]*\\|\\|[ \t]*\\\\\n" + "[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*" + "\\(-INFINITY\\);[ \t]*\\}\\)"; + test_text = + '#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n" + "#undef isinf\n" + "#define isinf(x) __extension__( \\\\\n" + " { __typeof(x) __x_i = (x); \\\\\n" + " __x_i == (__typeof(__x_i)) INFINITY || \\\\\n" + " __x_i == (__typeof(__x_i)) (-INFINITY); })"; +}; + +/* + * Solaris math INFINITY + */ +fix = { + hackname = solaris_math_2; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tINFINITY\t(__builtin_inff())"; + c_fix_arg = "^#define[ \t]+INFINITY[ \t]+__builtin_infinity"; + test_text = + '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" + "#undef INFINITY\n" + "#define INFINITY __builtin_infinity"; +}; + +/* + * Solaris math NAN + */ +fix = { + hackname = solaris_math_3; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tNAN\t\t(__builtin_nanf(\"\"))"; + c_fix_arg = "^#define[ \t]+NAN[ \t]+__builtin_nan"; + test_text = + '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" + "#undef NAN\n" + "#define NAN __builtin_nan"; +}; + +/* + * Solaris math fpclassify + */ +fix = { + hackname = solaris_math_4; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tfpclassify(x) \\\n" + " __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, " + "FP_SUBNORMAL, FP_ZERO, (x))"; + c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)"; + test_text = + '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" + "#undef fpclassify\n" + "#define fpclassify(x) __builtin_fpclassify(x)"; +}; + +/* + * Solaris math signbit + */ +fix = { + hackname = solaris_math_8; + select = '@\(#\)math_c99\.h' "[ \t]+1\\.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\tsignbit(x)\t(sizeof(x) == sizeof(float) \\\n" + "\t\t\t ? __builtin_signbitf(x) \\\n" + "\t\t\t : sizeof(x) == sizeof(long double) \\\n" + "\t\t\t ? __builtin_signbitl(x) \\\n" + "\t\t\t : __builtin_signbit(x))"; + c_fix_arg = "^#define[ \t]+signbit\\(x\\)[ \t]+__builtin_signbit\\(x\\)"; + test_text = <<- _EOText_ + #ident "@(#)math_c99.h 1.9 04/11/01 SMI" + #undef signbit + #define signbit(x) __builtin_signbit(x) + _EOText_; +}; + +/* + * Solaris math comparison macros + */ +fix = { + hackname = solaris_math_9; + select = '@\(#\)math_c99.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + bypass = "__GNUC__"; + files = iso/math_c99.h; + c_fix = format; + c_fix_arg = "#define\t%1(x, y)%2__builtin_%1(x, y)"; + c_fix_arg = "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) " + "__builtin_[a-z]+\\(y\\)\\)"; + test_text = + '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" + "#undef isgreater\n" + "#define isgreater(x, y) ((x) __builtin_isgreater(y))\n" + "#undef isgreaterequal\n" + "#define isgreaterequal(x, y) ((x) __builtin_isgreaterequal(y))\n" + "#undef isless\n" + "#define isless(x, y) ((x) __builtin_isless(y))\n" + "#undef islessequal\n" + "#define islessequal(x, y) ((x) __builtin_islessequal(y))\n" + "#undef islessgreater\n" + "#define islessgreater(x, y) ((x) __builtin_islessgreater(y))\n" + "#undef isunordered\n" + "#define isunordered(x, y) ((x) __builtin_isunordered(y))"; +}; + +/* + * Sun Solaris defines PTHREAD_MUTEX_INITIALIZER with a trailing + * "0" for the last field of the pthread_mutex_t structure, which is + * of type upad64_t, which itself is typedef'd to int64_t, but with + * __STDC__ defined (e.g. by -ansi) it is a union. So change the + * initializer to "{0}" instead + */ +fix = { + hackname = solaris_mutex_init_2; + select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = pthread.h; + /* + * On Solaris 10, this fix is unnecessary because upad64_t is + * always defined correctly regardless of the definition of the + * __STDC__ macro. The first "mach" pattern matches up to + * solaris9. The second "mach" pattern will not match any two (or + * more) digit solaris version, but it will match e.g. 2.5.1. + */ + mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*'; + c_fix = format; + c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" + "%0\n" + "#else\n" + "%1, {0}}%4\n" + "#endif"; + c_fix_arg = "(^#define[ \t]+PTHREAD_(MUTEX|COND)_INITIALIZER[ \t]+" + "(|/\*.*\*/[ \t]*\\\\\n[ \t]*)\\{.*)" + ",[ \t]*0\\}" "(|[ \t].*)$"; + test_text = + '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" + "#define PTHREAD_MUTEX_INITIALIZER\t{{{0},0}, {{{0}}}, 0}\n" + "#define PTHREAD_COND_INITIALIZER\t{{{0}, 0}, 0}\t/* DEFAULTCV */\n" + "#define PTHREAD_MUTEX_INITIALIZER /* = DEFAULTMUTEX */ \\\\\n" + " {{0, 0, 0, DEFAULT_TYPE, _MUTEX_MAGIC}, {{{0}}}, 0}\n" + "#define PTHREAD_COND_INITIALIZER /* = DEFAULTCV */ \\\\\n" + " {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}"; +}; + +/* + * Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a + * structure. As such, it need two levels of brackets, but only + * contains one. Wrap the macro definition in an extra layer. + */ +fix = { + hackname = solaris_once_init_1; + select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = pthread.h; + mach = '*-*-solaris*'; + c_fix = format; + c_fix_arg = "%1{%2}%3"; + c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{)([^}]+)(\\})[ \t]*$"; + test_text = + '#pragma ident "@(#)pthread.h 1.37 04/09/28 SMI"'"\n" + "#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}"; +}; + +/* + * Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some + * fields of the pthread_once_t structure, which are of type + * upad64_t, which itself is typedef'd to int64_t, but with __STDC__ + * defined (e.g. by -ansi) it is a union. So change the initializer + * to "{0}" instead. This test relies on solaris_once_init_1. + */ +fix = { + hackname = solaris_once_init_2; + select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = pthread.h; + /* + * On Solaris 10, this fix is unnecessary because upad64_t is + * always defined correctly regardless of the definition of the + * __STDC__ macro. The first "mach" pattern matches up to + * solaris9. The second "mach" pattern will not match any two (or + * more) digit solaris version, but it will match e.g. 2.5.1. + */ + mach = '*-*-solaris2.[0-9]', '*-*-solaris2.[0-9][!0-9]*'; + c_fix = format; + c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" + "%0\n" + "#else\n" + "%1{0}, {0}, {0}, {%3}%4\n" + "#endif"; + c_fix_arg = "(^#define[ \t]+PTHREAD_ONCE_INIT[ \t]+\\{\\{)" + "(0, 0, 0, )(PTHREAD_[A-Z_]+)(\\}\\})[ \t]*$"; + test_text = + '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" + "#define PTHREAD_ONCE_INIT\t{{0, 0, 0, PTHREAD_ONCE_NOTDONE}}\n"; +}; + /* * Solaris 10+ uses char *const argv[_RESTRICT_KYWD] in the * posix_spawn declarations, which doesn't work with C++. @@ -3633,6 +3698,49 @@ fix = { "char *const envp[_RESTRICT_KYWD]);"; }; +/* + * The pow overloads with int were removed in C++ 2011 DR 550. + */ +fix = { + hackname = solaris_pow_int_overload; + mach = '*-*-solaris2*'; + files = "iso/math_iso.h"; + select = "^[ \t]*inline [a-z ]* pow\\([^()]*, int [^()]*\\)" + " *\\{[^{}]*\n[^{}]*\\}"; + c_fix = format; + c_fix_arg = "#if __cplusplus < 201103L\n%0\n#endif"; + + test_text = + " inline long double pow(long double __X, int __Y) { return\n" + " __powl(__X, (long double) (__Y)); }"; +}; + +/* + * Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some + * fields of the pthread_rwlock_t structure, which are of type + * upad64_t, which itself is typedef'd to int64_t, but with __STDC__ + * defined (e.g. by -ansi) it is a union. So change the initializer + * to "{0}" instead. + */ +fix = { + hackname = solaris_rwlock_init_1; + select = '@\(#\)pthread.h' "[ \t]+1.[0-9]+[ \t]+[0-9/]+ SMI"; + files = pthread.h; + mach = '*-*-solaris*'; + c_fix = format; + c_fix_arg = "#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG)\n" + "%0\n" + "#else\n" + "%1{0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}}\n" + "#endif"; + c_fix_arg = "(^#define[ \t]+PTHREAD_RWLOCK_INITIALIZER[ \t]+)" + "\\{0, 0, 0, \\{0, 0, 0\\}, \\{0, 0\\}, \\{0, 0\\}\\}[ \t]*$"; + + test_text = + '#ident "@(#)pthread.h 1.26 98/04/12 SMI"'"\n" + "#define PTHREAD_RWLOCK_INITIALIZER\t{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}"; +}; + /* * Before Solaris 10, lacks declarations of std::__filbuf and * std::__flsbuf, but uses them. @@ -4076,7 +4184,7 @@ fix = { c_fix = format; c_fix_arg = "unsigned int newev;"; - test_text = " unsigned int new; /* New console (if changing) */"; + test_text = " unsigned int new; /* New console (if changing) */"; }; /* @@ -4240,7 +4348,7 @@ fix = { fix = { hackname = thread_keyword; files = "pthread.h"; - files = "bits/sigthread.h"; + files = bits/sigthread.h, '*/bits/sigthread.h'; select = "([* ])__thread([,)])"; c_fix = format; c_fix_arg = "%1__thr%2"; @@ -4325,6 +4433,41 @@ fix = { "#define __alignof__(x) ..."; }; +/* + * On VMS, add missing braces around sigset_t constants. + */ +fix = { + hackname = vms_add_missing_braces; + select = "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)"; + mach = "*-*-*vms*"; + files = "rtldef/signal.h"; + c_fix = format; + + c_fix_arg = '%1 {%2} '; + + test_text = "static const __sigset_t _SIG_EMPTY_SET = " + "{0x00000000, 0x00000000},\n" + " _SIG_FULL_SET = {0xFFFFFFFF, 0xFFFFFFFF};\n"; +}; + +/* + * On VMS, some DEC-C builtins are directly used. + */ +fix = { + hackname = vms_decc_builtin; + select = "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)"; + mach = "*-*-*vms*"; + files = rtldef/string.h, rtldef/time.h, rtldef/strings.h, + rtldef/socket.h; + sed = "s@__MEMSET@memset@"; + sed = "s@__MEMMOVE@memmove@"; + sed = "s@__MEMCPY@memcpy@"; + sed = "s@__STRLEN@strlen@"; + sed = "s@__STRCPY@strcpy@"; + + test_text = "define FD_ZERO(__p) __MEMSET((__p), 0, sizeof(*(__p)))\n"; +}; + /* * Define __CAN_USE_EXTERN_PREFIX on vms. */ @@ -4348,6 +4491,95 @@ fix = { "# endif\n"; }; +/* + * On VMS, disable the use of dec-c string builtins + */ +fix = { + hackname = vms_disable_decc_string_builtins; + select = "#if !defined\\(__VAX\\)\n"; + mach = "*-*-*vms*"; + files = "rtldef/string.h"; + c_fix = format; + + c_fix_arg = "#if !defined(__VAX) && !defined(__GNUC__)\n"; + + test_text = "#if !defined(__VAX)\n"; +}; + +/* + * On VMS, fix incompatible redeclaration of hostalias. + */ +fix = { + hackname = vms_do_not_redeclare_hostalias; + select = "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n" + "(__char_ptr32[ \t]+hostalias \\(const char \\*\\);)"; + mach = "*-*-*vms*"; + files = "rtldef/resolv.h"; + c_fix = format; + + c_fix_arg = "%1\n" + "/* %2 */"; + + test_text = "void fp_nquery (const u_char *, int, FILE *);\n" + "__char_ptr32 hostalias (const char *);\n"; +}; + +/* + * On VMS, forward declare structure before referencing them in prototypes. + */ +fix = { + hackname = vms_forward_declare_struct; + select = "(/\\* forward decls for C\\+\\+ \\*/\n)" + "#ifdef __cplusplus\n"; + mach = "*-*-*vms*"; + files = rtldef/if.h; + c_fix = format; + + c_fix_arg = "%1" + "#if defined (__cplusplus) || defined (__GNUC__)\n"; + + test_text = "/* forward decls for C++ */\n" + "#ifdef __cplusplus\n" + "struct foo;\n" + "#endif\n"; +}; + +/* + * On VMS, do not declare getopt and al if pointers are 64 bit. + */ +fix = { + hackname = vms_no_64bit_getopt; + select = "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)" + "|(char \\*optarg))([ \t]*\\(.*\\))?;\n"; + mach = "*-*-*vms*"; + files = rtldef/stdio.h, rtldef/unistd.h; + c_fix = format; + + c_fix_arg = <<- _EOArg_ + #if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */ + %0#endif + + _EOArg_; + + test_text = "int getopt (int, char * const [], const char *);"; +}; + +/* + * On VMS, force the use of fast setjmp, as the normal setjmp uses conditions + * which is not yet fully supported by gcc. + */ +fix = { + hackname = vms_use_fast_setjmp; + select = "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)"; + mach = "*-*-*vms*"; + files = rtldef/setjmp.h; + c_fix = format; + + c_fix_arg = "%0 defined (__GNUC__) ||"; + + test_text = "# if defined(__FAST_SETJMP) || defined(__UNIX_SETJMP)"; +}; + /* * On VMS, use pragma extern_model instead of VAX-C keywords. */ @@ -4369,21 +4601,6 @@ fix = { "#endif\n"; }; -/* - * On VMS, disable the use of dec-c string builtins - */ -fix = { - hackname = vms_disable_decc_string_builtins; - select = "#if !defined\\(__VAX\\)\n"; - mach = "*-*-*vms*"; - files = "rtldef/string.h"; - c_fix = format; - - c_fix_arg = "#if !defined(__VAX) && !defined(__GNUC__)\n"; - - test_text = "#if !defined(__VAX)\n"; -}; - /* * On VMS, change to to avoid a * conflict while building gcc. Likewise for @@ -4400,115 +4617,6 @@ fix = { test_text = "# include "; }; -/* - * On VMS, add missing braces around sigset_t constants. - */ -fix = { - hackname = vms_add_missing_braces; - select = "(_SIG_[A-Z]+_SET[ \t]+= \\{)(0x[0F]+, 0x[0F]+)"; - mach = "*-*-*vms*"; - files = "rtldef/signal.h"; - c_fix = format; - - c_fix_arg = '%1 {%2} '; - - test_text = "static const __sigset_t _SIG_EMPTY_SET = " - "{0x00000000, 0x00000000},\n" - " _SIG_FULL_SET = {0xFFFFFFFF, 0xFFFFFFFF};\n"; -}; - -/* - * On VMS, fix incompatible redeclaration of hostalias. - */ -fix = { - hackname = vms_do_not_redeclare_hostalias; - select = "(void[ \t]+fp_nquery \\(const u_char \\*, int, FILE \\*\\);)\n" - "(__char_ptr32[ \t]+hostalias \\(const char \\*\\);)"; - mach = "*-*-*vms*"; - files = "rtldef/resolv.h"; - c_fix = format; - - c_fix_arg = "%1\n" - "/* %2 */"; - - test_text = "void fp_nquery (const u_char *, int, FILE *);\n" - "__char_ptr32 hostalias (const char *);\n"; -}; - -/* - * On VMS, some DEC-C builtins are directly used. - */ -fix = { - hackname = vms_decc_builtin; - select = "(__MEMSET|__MEMMOVE|__MEMCPY|__STRLEN|__STRCPY)"; - mach = "*-*-*vms*"; - files = rtldef/string.h, rtldef/time.h, rtldef/strings.h, - rtldef/socket.h; - sed = "s@__MEMSET@memset@"; - sed = "s@__MEMMOVE@memmove@"; - sed = "s@__MEMCPY@memcpy@"; - sed = "s@__STRLEN@strlen@"; - sed = "s@__STRCPY@strcpy@"; - - test_text = "define FD_ZERO(__p) __MEMSET((__p), 0, sizeof(*(__p)))\n"; -}; - -/* - * On VMS, do not declare getopt and al if pointers are 64 bit. - */ -fix = { - hackname = vms_no_64bit_getopt; - select = "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)" - "|(char \\*optarg))([ \t]*\\(.*\\))?;\n"; - mach = "*-*-*vms*"; - files = rtldef/stdio.h, rtldef/unistd.h; - c_fix = format; - - c_fix_arg = <<- _EOArg_ - #if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */ - %0#endif - - _EOArg_; - - test_text = "int getopt (int, char * const [], const char *);"; -}; - -/* - * On VMS, forward declare structure before referencing them in prototypes. - */ -fix = { - hackname = vms_forward_declare_struct; - select = "(/\\* forward decls for C\\+\\+ \\*/\n)" - "#ifdef __cplusplus\n"; - mach = "*-*-*vms*"; - files = rtldef/if.h; - c_fix = format; - - c_fix_arg = "%1" - "#if defined (__cplusplus) || defined (__GNUC__)\n"; - - test_text = "/* forward decls for C++ */\n" - "#ifdef __cplusplus\n" - "struct foo;\n" - "#endif\n"; -}; - -/* - * On VMS, force the use of fast setjmp, as the normal setjmp uses conditions - * which is not yet fully supported by gcc. - */ -fix = { - hackname = vms_use_fast_setjmp; - select = "(#[ \t]*if[ \t]*defined\\(__FAST_SETJMP\\)[ \t]*\\|\\|)"; - mach = "*-*-*vms*"; - files = rtldef/setjmp.h; - c_fix = format; - - c_fix_arg = "%0 defined (__GNUC__) ||"; - - test_text = "# if defined(__FAST_SETJMP) || defined(__UNIX_SETJMP)"; -}; - /* * AIX and Interix headers define NULL to be cast to a void pointer, * which is illegal in ANSI C++. @@ -4773,73 +4881,4 @@ fix = { test_text = "extern char *\tsprintf();"; }; - -/* - * Incorrect feraiseexcept extern inline in bits/fenv.h on x86_64 - * that fails when compiling for SSE-less 32-bit x86. - */ -fix = { - hackname = feraiseexcept_nosse_invalid; - mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*'; - files = bits/fenv.h; - select = "^([\t ]*)__asm__ __volatile__ \\(\"divss %0, %0 *\" : " - ": \"x\" \\(__f\\)\\);$"; - bypass = "\"fdiv .*; fwait\""; - - c_fix = format; - c_fix_arg = <<- _EOText_ - # ifdef __SSE_MATH__ - %0 - # else - %1__asm__ __volatile__ ("fdiv %%%%st, %%%%st(0); fwait" - %1 : "=t" (__f) : "0" (__f)); - # endif - _EOText_; - - test_text = <<- _EOText_ - __asm__ __volatile__ ("divss %0, %0" : : "x" (__f)); - _EOText_; -}; - -/* - * Incorrect feraiseexcept extern inline in bits/fenv.h on x86_64 - * that fails when compiling for SSE-less 32-bit x86. - */ -fix = { - hackname = feraiseexcept_nosse_divbyzero; - mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*'; - files = bits/fenv.h; - select = "^([\t ]*)__asm__ __volatile__ \\(\"divss %1, %0 *\" : " - ": \"x\" \\(__f\\), \"x\" \\(__g\\)\\);$"; - bypass = "\"fdivp .*; fwait\""; - - c_fix = format; - c_fix_arg = <<- _EOText_ - # ifdef __SSE_MATH__ - %0 - # else - %1__asm__ __volatile__ ("fdivp %%%%st, %%%%st(1); fwait" - %1 : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); - # endif - _EOText_; - - test_text = <<- _EOText_ - __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); - _EOText_; -}; - -/* - * Old Linux kernel's header breaks Traditional CPP - */ -fix = { - hackname = complier_h_tradcpp; - files = linux/compiler.h; - - select = "#define __builtin_warning\\(x, y\\.\\.\\.\\) \\(1\\)"; - c_fix = format; - c_fix_arg = "/* __builtin_warning(x, y...) is obsolete */"; - - test_text = "#define __builtin_warning(x, y...) (1)"; -}; - /*EOF*/ diff --git a/fixincludes/tests/base/bits/fenv.h b/fixincludes/tests/base/bits/fenv.h index a82ec25e8b4..eec612b7e24 100644 --- a/fixincludes/tests/base/bits/fenv.h +++ b/fixincludes/tests/base/bits/fenv.h @@ -9,16 +9,6 @@ -#if defined( FERAISEEXCEPT_NOSSE_INVALID_CHECK ) -# ifdef __SSE_MATH__ - __asm__ __volatile__ ("divss %0, %0" : : "x" (__f)); -# else - __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait" - : "=t" (__f) : "0" (__f)); -# endif -#endif /* FERAISEEXCEPT_NOSSE_INVALID_CHECK */ - - #if defined( FERAISEEXCEPT_NOSSE_DIVBYZERO_CHECK ) # ifdef __SSE_MATH__ __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g)); @@ -27,3 +17,13 @@ : "=t" (__f) : "0" (__f), "u" (__g) : "st(1)"); # endif #endif /* FERAISEEXCEPT_NOSSE_DIVBYZERO_CHECK */ + + +#if defined( FERAISEEXCEPT_NOSSE_INVALID_CHECK ) +# ifdef __SSE_MATH__ + __asm__ __volatile__ ("divss %0, %0" : : "x" (__f)); +# else + __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait" + : "=t" (__f) : "0" (__f)); +# endif +#endif /* FERAISEEXCEPT_NOSSE_INVALID_CHECK */ diff --git a/fixincludes/tests/base/iso/math_c99.h b/fixincludes/tests/base/iso/math_c99.h index 4d9b6311f6d..3758cb9b5bc 100644 --- a/fixincludes/tests/base/iso/math_c99.h +++ b/fixincludes/tests/base/iso/math_c99.h @@ -20,6 +20,13 @@ #endif /* SOLARIS_MATH_1_CHECK */ +#if defined( SOLARIS_MATH_10_CHECK ) +#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI" +#undef isinf +#define isinf(x) __builtin_isinf(x) +#endif /* SOLARIS_MATH_10_CHECK */ + + #if defined( SOLARIS_MATH_2_CHECK ) #ident "@(#)math_c99.h 1.9 04/11/01 SMI" #undef INFINITY @@ -68,10 +75,3 @@ #undef isunordered #define isunordered(x, y) __builtin_isunordered(x, y) #endif /* SOLARIS_MATH_9_CHECK */ - - -#if defined( SOLARIS_MATH_10_CHECK ) -#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI" -#undef isinf -#define isinf(x) __builtin_isinf(x) -#endif /* SOLARIS_MATH_10_CHECK */ diff --git a/fixincludes/tests/base/linux/vt.h b/fixincludes/tests/base/linux/vt.h index 4814ab642c0..94e44efc26f 100644 --- a/fixincludes/tests/base/linux/vt.h +++ b/fixincludes/tests/base/linux/vt.h @@ -10,5 +10,5 @@ #if defined( SUSE_LINUX_VT_CXX_CHECK ) -unsigned int newev; /* New console (if changing) */ +unsigned int newev; /* New console (if changing) */ #endif /* SUSE_LINUX_VT_CXX_CHECK */ diff --git a/fixincludes/tests/base/pthread.h b/fixincludes/tests/base/pthread.h index 1d28067ad57..c39cd9472dd 100644 --- a/fixincludes/tests/base/pthread.h +++ b/fixincludes/tests/base/pthread.h @@ -125,16 +125,6 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask); #endif /* SOLARIS_MUTEX_INIT_2_CHECK */ -#if defined( SOLARIS_RWLOCK_INIT_1_CHECK ) -#ident "@(#)pthread.h 1.26 98/04/12 SMI" -#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) -#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}} -#else -#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}} -#endif -#endif /* SOLARIS_RWLOCK_INIT_1_CHECK */ - - #if defined( SOLARIS_ONCE_INIT_1_CHECK ) #pragma ident "@(#)pthread.h 1.37 04/09/28 SMI" #if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) @@ -156,6 +146,16 @@ extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask); #endif /* SOLARIS_ONCE_INIT_2_CHECK */ +#if defined( SOLARIS_RWLOCK_INIT_1_CHECK ) +#ident "@(#)pthread.h 1.26 98/04/12 SMI" +#if __STDC__ - 0 == 0 && !defined(_NO_LONGLONG) +#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}} +#else +#define PTHREAD_RWLOCK_INITIALIZER {0, 0, 0, {{0}, {0}, {0}}, {{0}, {0}}, {{0}, {0}}} +#endif +#endif /* SOLARIS_RWLOCK_INIT_1_CHECK */ + + #if defined( THREAD_KEYWORD_CHECK ) extern int pthread_create (pthread_t *__restrict __thr, extern int pthread_kill (pthread_t __thr, int __signo); diff --git a/fixincludes/tests/base/rtldef/string.h b/fixincludes/tests/base/rtldef/string.h index 6249b0c6732..e01354831de 100644 --- a/fixincludes/tests/base/rtldef/string.h +++ b/fixincludes/tests/base/rtldef/string.h @@ -9,13 +9,13 @@ -#if defined( VMS_DISABLE_DECC_STRING_BUILTINS_CHECK ) -#if !defined(__VAX) && !defined(__GNUC__) - -#endif /* VMS_DISABLE_DECC_STRING_BUILTINS_CHECK */ - - #if defined( VMS_DECC_BUILTIN_CHECK ) define FD_ZERO(__p) memset((__p), 0, sizeof(*(__p))) #endif /* VMS_DECC_BUILTIN_CHECK */ + + +#if defined( VMS_DISABLE_DECC_STRING_BUILTINS_CHECK ) +#if !defined(__VAX) && !defined(__GNUC__) + +#endif /* VMS_DISABLE_DECC_STRING_BUILTINS_CHECK */