Commit bbeedee0 by Bruce Korb Committed by Bruce Korb

Remove cdef_cplusplus hack.

Add comments in front of fixes.
Trim lines over 90 characters to less than 80.

From-SVN: r200738
parent eabb5f48
2013-07-06 Bruce Korb <bkorb@gnu.org>
* inclhack.def (cdef_cplusplus): removed, per Bug 51776
2013-05-23 Alexander Ivchenko <alexander.ivchenko@intel.com> 2013-05-23 Alexander Ivchenko <alexander.ivchenko@intel.com>
* inclhack.def (complier_h_tradcpp): New. * inclhack.def (complier_h_tradcpp): New.
......
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
* *
* DO NOT EDIT THIS FILE (fixincl.x) * DO NOT EDIT THIS FILE (fixincl.x)
* *
* It has been AutoGen-ed May 23, 2013 at 04:44:10 PM by AutoGen 5.12 * It has been AutoGen-ed July 6, 2013 at 10:40:53 AM by AutoGen 5.17.5pre10
* From the definitions inclhack.def * From the definitions inclhack.def
* and the template file fixincl * and the template file fixincl
*/ */
/* DO NOT SVN-MERGE THIS FILE, EITHER Thu May 23 16:44:10 MSK 2013 /* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jul 6 10:40:53 PDT 2013
* *
* You must regenerate it. Use the ./genfixes script. * You must regenerate it. Use the ./genfixes script.
* *
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work * certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search. * correctly with ANSI C and placed in a directory that GNU C will search.
* *
* This file contains 228 fixup descriptions. * This file contains 227 fixup descriptions.
* *
* See README for more information. * See README for more information.
* *
...@@ -2072,41 +2072,6 @@ int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER ...@@ -2072,41 +2072,6 @@ int vfscanf(FILE *, const char *, __builtin_va_list) __asm__ (_BSD_STRING(__USER
/* * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Description of Cdef_Cplusplus fix
*/
tSCC zCdef_CplusplusName[] =
"cdef_cplusplus";
/*
* File name selection pattern
*/
tSCC zCdef_CplusplusList[] =
"sys/cdefs.h\0";
/*
* Machine/OS name selection pattern
*/
#define apzCdef_CplusplusMachs (const char**)NULL
/*
* content selection pattern - do fix if pattern found
*/
tSCC zCdef_CplusplusSelect0[] =
"\\[\\[noreturn\\]\\]";
#define CDEF_CPLUSPLUS_TEST_CT 1
static tTestDesc aCdef_CplusplusTests[] = {
{ TT_EGREP, zCdef_CplusplusSelect0, (regex_t*)NULL }, };
/*
* Fix Command Arguments for Cdef_Cplusplus
*/
static const char* apzCdef_CplusplusPatch[] = {
"format",
"__attribute__((__noreturn__))",
(char*)NULL };
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Ctrl_Quotes_Def fix * Description of Ctrl_Quotes_Def fix
*/ */
tSCC zCtrl_Quotes_DefName[] = tSCC zCtrl_Quotes_DefName[] =
...@@ -9364,9 +9329,9 @@ static const char* apzComplier_H_TradcppPatch[] = { ...@@ -9364,9 +9329,9 @@ static const char* apzComplier_H_TradcppPatch[] = {
* *
* List of all fixes * List of all fixes
*/ */
#define REGEX_COUNT 267 #define REGEX_COUNT 266
#define MACH_LIST_SIZE_LIMIT 187 #define MACH_LIST_SIZE_LIMIT 187
#define FIX_COUNT 228 #define FIX_COUNT 227
/* /*
* Enumerate the fixes * Enumerate the fixes
...@@ -9418,7 +9383,6 @@ typedef enum { ...@@ -9418,7 +9383,6 @@ typedef enum {
BROKEN_CABS_FIXIDX, BROKEN_CABS_FIXIDX,
BROKEN_NAN_FIXIDX, BROKEN_NAN_FIXIDX,
BSD_STDIO_ATTRS_CONFLICT_FIXIDX, BSD_STDIO_ATTRS_CONFLICT_FIXIDX,
CDEF_CPLUSPLUS_FIXIDX,
CTRL_QUOTES_DEF_FIXIDX, CTRL_QUOTES_DEF_FIXIDX,
CTRL_QUOTES_USE_FIXIDX, CTRL_QUOTES_USE_FIXIDX,
CXX_UNREADY_FIXIDX, CXX_UNREADY_FIXIDX,
...@@ -9833,11 +9797,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = { ...@@ -9833,11 +9797,6 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, BSD_STDIO_ATTRS_CONFLICT_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 }, aBsd_Stdio_Attrs_ConflictTests, apzBsd_Stdio_Attrs_ConflictPatch, 0 },
{ zCdef_CplusplusName, zCdef_CplusplusList,
apzCdef_CplusplusMachs,
CDEF_CPLUSPLUS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aCdef_CplusplusTests, apzCdef_CplusplusPatch, 0 },
{ zCtrl_Quotes_DefName, zCtrl_Quotes_DefList, { zCtrl_Quotes_DefName, zCtrl_Quotes_DefList,
apzCtrl_Quotes_DefMachs, apzCtrl_Quotes_DefMachs,
CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, CTRL_QUOTES_DEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
......
...@@ -64,7 +64,6 @@ fix = { ...@@ -64,7 +64,6 @@ fix = {
_EOArg_; _EOArg_;
}; };
/* On AIX when _LARGE_FILES is defined fcntl.h defines open to /* On AIX when _LARGE_FILES is defined fcntl.h defines open to
* open64 and creat to creat64. This fixes fcntl.h to * open64 and creat to creat64. This fixes fcntl.h to
* undef those defines and use __asm__ to alias the symbols if * undef those defines and use __asm__ to alias the symbols if
...@@ -103,7 +102,6 @@ fix = { ...@@ -103,7 +102,6 @@ fix = {
_EOArg_; _EOArg_;
}; };
/* /*
* On Mac OS 10.3.9, the 'long double' functions are available in * On Mac OS 10.3.9, the 'long double' functions are available in
* libSystem, but are not prototyped in math.h. * libSystem, but are not prototyped in math.h.
...@@ -237,7 +235,6 @@ fix = { ...@@ -237,7 +235,6 @@ fix = {
_EndOfHeader_; _EndOfHeader_;
}; };
/* /*
* This fixes __FD_ZERO bug for glibc-1.x * This fixes __FD_ZERO bug for glibc-1.x
*/ */
...@@ -275,7 +272,6 @@ fix = { ...@@ -275,7 +272,6 @@ fix = {
_EndOfHeader_; _EndOfHeader_;
}; };
/* /*
* This fixes __FD_ZERO bug for glibc-2.0.x * This fixes __FD_ZERO bug for glibc-2.0.x
*/ */
...@@ -317,7 +313,6 @@ fix = { ...@@ -317,7 +313,6 @@ fix = {
_EndOfHeader_; _EndOfHeader_;
}; };
/* /*
* Solaris <sys/varargs.h> is a DDK (aka kernel-land) header providing * Solaris <sys/varargs.h> is a DDK (aka kernel-land) header providing
* the same interface as <stdarg.h>. No idea why they couldn't have just * the same interface as <stdarg.h>. No idea why they couldn't have just
...@@ -336,7 +331,6 @@ fix = { ...@@ -336,7 +331,6 @@ fix = {
_EndOfHeader_; _EndOfHeader_;
}; };
/* /*
* Fix non-ANSI memcpy declaration that conflicts with gcc's builtin * Fix non-ANSI memcpy declaration that conflicts with gcc's builtin
* declaration on Sun OS 4.x. We must only fix this on Sun OS 4.x, because * declaration on Sun OS 4.x. We must only fix this on Sun OS 4.x, because
...@@ -574,7 +568,6 @@ fix = { ...@@ -574,7 +568,6 @@ fix = {
_EndOfHeader_; _EndOfHeader_;
}; };
/* /*
* complex.h on AIX 5 and AIX 6 define _Complex_I and I in terms of __I, * complex.h on AIX 5 and AIX 6 define _Complex_I and I in terms of __I,
* which only is provided by AIX xlc C99. * which only is provided by AIX xlc C99.
...@@ -727,7 +720,6 @@ fix = { ...@@ -727,7 +720,6 @@ fix = {
"{...init stuff...}"; "{...init stuff...}";
}; };
/* /*
* AIX stdint.h fixes. * AIX stdint.h fixes.
*/ */
...@@ -744,7 +736,9 @@ fix = { ...@@ -744,7 +736,9 @@ fix = {
"#define UINT16_MAX (65535U)"; "#define UINT16_MAX (65535U)";
}; };
/*
* aix_stdint_2
*/
fix = { fix = {
hackname = aix_stdint_2; hackname = aix_stdint_2;
mach = "*-*-aix*"; mach = "*-*-aix*";
...@@ -773,7 +767,9 @@ fix = { ...@@ -773,7 +767,9 @@ fix = {
"#define UINTPTR_MAX UINT32_MAX"; "#define UINTPTR_MAX UINT32_MAX";
}; };
/*
* aix_stdint_3
*/
fix = { fix = {
hackname = aix_stdint_3; hackname = aix_stdint_3;
mach = "*-*-aix*"; mach = "*-*-aix*";
...@@ -796,7 +792,9 @@ fix = { ...@@ -796,7 +792,9 @@ fix = {
"#define PTRDIFF_MAX INT32_MAX"; "#define PTRDIFF_MAX INT32_MAX";
}; };
/*
* aix_stdint_4
*/
fix = { fix = {
hackname = aix_stdint_4; hackname = aix_stdint_4;
mach = "*-*-aix*"; mach = "*-*-aix*";
...@@ -813,7 +811,9 @@ fix = { ...@@ -813,7 +811,9 @@ fix = {
"#define SIZE_MAX UINT32_MAX"; "#define SIZE_MAX UINT32_MAX";
}; };
/*
* aix_stdint_5
*/
fix = { fix = {
hackname = aix_stdint_5; hackname = aix_stdint_5;
mach = "*-*-aix*"; mach = "*-*-aix*";
...@@ -827,7 +827,6 @@ fix = { ...@@ -827,7 +827,6 @@ fix = {
"#define UINT16_C(c) __CONCAT__(c,U)"; "#define UINT16_C(c) __CONCAT__(c,U)";
}; };
/* /*
* sys/machine.h on AIX 4.3.3 puts whitespace between a \ and a newline * sys/machine.h on AIX 4.3.3 puts whitespace between a \ and a newline
* in an otherwise harmless (and #ifed out) macro definition * in an otherwise harmless (and #ifed out) macro definition
...@@ -842,7 +841,6 @@ fix = { ...@@ -842,7 +841,6 @@ fix = {
" bar \\ \n baz \\ \n bat"; " bar \\ \n baz \\ \n bat";
}; };
/* /*
* sys/wait.h on AIX 5.2 defines macros that have both signed and * sys/wait.h on AIX 5.2 defines macros that have both signed and
* unsigned types in conditional expressions. * unsigned types in conditional expressions.
...@@ -853,10 +851,10 @@ fix = { ...@@ -853,10 +851,10 @@ fix = {
select = '\? (\(\(\(\(unsigned[^)]*\)[^)]*\) >> [^)]*\) \& 0xff\) : -1)'; select = '\? (\(\(\(\(unsigned[^)]*\)[^)]*\) >> [^)]*\) \& 0xff\) : -1)';
c_fix = format; c_fix = format;
c_fix_arg = "? (int)%1"; c_fix_arg = "? (int)%1";
test_text = "#define WSTOPSIG(__x) (int)(WIFSTOPPED(__x) ? ((((unsigned int)__x) >> 8) & 0xff) : -1)"; test_text = "#define WSTOPSIG(__x) "
"(int)(WIFSTOPPED(__x) ? ((((unsigned int)__x) >> 8) & 0xff) : -1)";
}; };
/* /*
* sys/signal.h on some versions of AIX uses volatile in the typedef of * sys/signal.h on some versions of AIX uses volatile in the typedef of
* sig_atomic_t, which causes gcc to generate a warning about duplicate * sig_atomic_t, which causes gcc to generate a warning about duplicate
...@@ -872,7 +870,6 @@ fix = { ...@@ -872,7 +870,6 @@ fix = {
test_text = "typedef volatile int sig_atomic_t;"; test_text = "typedef volatile int sig_atomic_t;";
}; };
/* /*
* Fix __assert declaration in assert.h on Alpha OSF/1. * Fix __assert declaration in assert.h on Alpha OSF/1.
*/ */
...@@ -885,7 +882,6 @@ fix = { ...@@ -885,7 +882,6 @@ fix = {
test_text = 'extern void __assert(char *, char *, int);'; test_text = 'extern void __assert(char *, char *, int);';
}; };
/* /*
* Fix assert macro in assert.h on Alpha OSF/1. * Fix assert macro in assert.h on Alpha OSF/1.
* The superfluous int cast breaks C++. * The superfluous int cast breaks C++.
...@@ -900,7 +896,6 @@ fix = { ...@@ -900,7 +896,6 @@ fix = {
': __assert(#EX, __FILE__, __LINE__))'; ': __assert(#EX, __FILE__, __LINE__))';
}; };
/* /*
* Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX. * Fix getopt declarations in stdio.h and stdlib.h on Alpha OSF/1 and AIX.
*/ */
...@@ -914,7 +909,6 @@ fix = { ...@@ -914,7 +909,6 @@ fix = {
test_text = 'extern int getopt(int, char *[], char *);'; test_text = 'extern int getopt(int, char *[], char *);';
}; };
/* /*
* Fix missing semicolon on Alpha OSF/4 in <net/if.h> * Fix missing semicolon on Alpha OSF/4 in <net/if.h>
*/ */
...@@ -927,7 +921,6 @@ fix = { ...@@ -927,7 +921,6 @@ fix = {
test_text = ' struct sockaddr vmif_paddr /* protocol address */'; test_text = ' struct sockaddr vmif_paddr /* protocol address */';
}; };
/* /*
* Remove erroneous parentheses in sym.h on Alpha OSF/1. * Remove erroneous parentheses in sym.h on Alpha OSF/1.
*/ */
...@@ -940,7 +933,6 @@ fix = { ...@@ -940,7 +933,6 @@ fix = {
test_text = "#ifndef(__mips64) /* bogus */\nextern int foo;\n#endif"; test_text = "#ifndef(__mips64) /* bogus */\nextern int foo;\n#endif";
}; };
/* /*
* Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0 * Fix return value of sbrk in unistd.h on Alpha OSF/1 V2.0
* And OpenBSD. * And OpenBSD.
...@@ -954,7 +946,6 @@ fix = { ...@@ -954,7 +946,6 @@ fix = {
test_text = "extern char* sbrk(ptrdiff_t increment);"; test_text = "extern char* sbrk(ptrdiff_t increment);";
}; };
/* /*
* For C++, avoid any typedef or macro definition of bool, * For C++, avoid any typedef or macro definition of bool,
* and use the built in type instead. * and use the built in type instead.
...@@ -977,7 +968,9 @@ fix = { ...@@ -977,7 +968,9 @@ fix = {
test_text = "# define bool\t char \n"; test_text = "# define bool\t char \n";
}; };
/*
* avoid_bool_type
*/
fix = { fix = {
hackname = avoid_bool_type; hackname = avoid_bool_type;
files = curses.h; files = curses.h;
...@@ -994,7 +987,6 @@ fix = { ...@@ -994,7 +987,6 @@ fix = {
test_text = "typedef unsigned int\tbool \t; /* bool\n type */"; test_text = "typedef unsigned int\tbool \t; /* bool\n type */";
}; };
/* /*
* For C++, avoid any typedef definition of wchar_t, * For C++, avoid any typedef definition of wchar_t,
* and use the built in type instead. * and use the built in type instead.
...@@ -1018,7 +1010,6 @@ fix = { ...@@ -1018,7 +1010,6 @@ fix = {
test_text = "typedef unsigned short\twchar_t \t; /* wchar_t\n type */"; test_text = "typedef unsigned short\twchar_t \t; /* wchar_t\n type */";
}; };
/* /*
* Fix `typedef struct term;' on hppa1.1-hp-hpux9. * Fix `typedef struct term;' on hppa1.1-hp-hpux9.
*/ */
...@@ -1032,7 +1023,6 @@ fix = { ...@@ -1032,7 +1023,6 @@ fix = {
test_text = 'typedef struct term;'; test_text = 'typedef struct term;';
}; };
/* /*
* Fix one other error in this file: * Fix one other error in this file:
* a mismatched quote not inside a C comment. * a mismatched quote not inside a C comment.
...@@ -1047,7 +1037,6 @@ fix = { ...@@ -1047,7 +1037,6 @@ fix = {
test_text = "/* doesn't have matched single quotes */"; test_text = "/* doesn't have matched single quotes */";
}; };
/* /*
* check for broken assert.h that needs stdio.h * check for broken assert.h that needs stdio.h
*/ */
...@@ -1061,7 +1050,6 @@ fix = { ...@@ -1061,7 +1050,6 @@ fix = {
test_text = "extern FILE* stderr;"; test_text = "extern FILE* stderr;";
}; };
/* /*
* check for broken assert.h that needs stdlib.h * check for broken assert.h that needs stdlib.h
*/ */
...@@ -1098,7 +1086,6 @@ fix = { ...@@ -1098,7 +1086,6 @@ fix = {
"extern double cabs ( _Complex z );"; "extern double cabs ( _Complex z );";
}; };
/* /*
* Fixup Darwin's broken check for __builtin_nanf. * Fixup Darwin's broken check for __builtin_nanf.
*/ */
...@@ -1119,7 +1106,6 @@ fix = { ...@@ -1119,7 +1106,6 @@ fix = {
test_text = "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)"; test_text = "#if defined(__APPLE_CC__) && (__APPLE_CC__ >= 1345)";
}; };
/* /*
* Various systems derived from BSD4.4 contain a macro definition * Various systems derived from BSD4.4 contain a macro definition
* for vfscanf that interacts badly with requirements of builtin-attrs.def. * for vfscanf that interacts badly with requirements of builtin-attrs.def.
...@@ -1140,22 +1126,6 @@ fix = { ...@@ -1140,22 +1126,6 @@ fix = {
}; };
/* /*
* 'g++ -std=c++11' defines __cplusplus to 201103L, which suggests
* that it conforms to ISO/IEC 14882:2011. It currently does
* not support the [[noreturn]] procedure attribute.
* When it does, this hack should be removed.
* SEE: gcc.gnu.org/bugzilla/show_bug.cgi?id=51776
*/
fix = {
hackname = cdef_cplusplus;
files = sys/cdefs.h;
select = '\[\[noreturn\]\]';
c_fix = format;
c_fix_arg = '__attribute__((__noreturn__))';
test_text = "#define _Noreturn [[noreturn]]";
};
/*
* Fix various macros used to define ioctl numbers. * Fix various macros used to define ioctl numbers.
* The traditional syntax was: * The traditional syntax was:
* *
...@@ -1197,7 +1167,6 @@ fix = { ...@@ -1197,7 +1167,6 @@ fix = {
test_text = "#define TCTRLFOO BSD43_CTRL(T, 1)"; test_text = "#define TCTRLFOO BSD43_CTRL(T, 1)";
}; };
/* /*
* sys/mman.h on HP/UX is not C++ ready, * sys/mman.h on HP/UX is not C++ ready,
* even though NO_IMPLICIT_EXTERN_C is defined on HP/UX. * even though NO_IMPLICIT_EXTERN_C is defined on HP/UX.
...@@ -1242,7 +1211,6 @@ fix = { ...@@ -1242,7 +1211,6 @@ fix = {
test_text = '#include "architecture/ppc/math.h"'; test_text = '#include "architecture/ppc/math.h"';
}; };
/* /*
* On darwin8 and earlier, mach-o/swap.h isn't properly guarded * On darwin8 and earlier, mach-o/swap.h isn't properly guarded
* by 'extern "C"'. On darwin7 some mach/ headers aren't properly guarded. * by 'extern "C"'. On darwin7 some mach/ headers aren't properly guarded.
...@@ -1268,12 +1236,10 @@ fix = { ...@@ -1268,12 +1236,10 @@ fix = {
test_text = "extern void swap_fat_header();\n"; test_text = "extern void swap_fat_header();\n";
}; };
/* /*
* AvailabilityMacros.h on Darwin breaks with GCC 4.0, because of * AvailabilityMacros.h on Darwin breaks with GCC 4.0, because of
* bad __GNUC__ tests. * bad __GNUC__ tests.
*/ */
fix = { fix = {
hackname = darwin_gcc4_breakage; hackname = darwin_gcc4_breakage;
mach = "*-*-darwin*"; mach = "*-*-darwin*";
...@@ -1285,7 +1251,6 @@ fix = { ...@@ -1285,7 +1251,6 @@ fix = {
"(__GNUC_MINOR__ >= 1)\n"; "(__GNUC_MINOR__ >= 1)\n";
}; };
/* /*
* __private_extern__ doesn't exist in FSF GCC. Even if it did, * __private_extern__ doesn't exist in FSF GCC. Even if it did,
* why would you ever put it in a system header file? * why would you ever put it in a system header file?
...@@ -1303,7 +1268,6 @@ fix = { ...@@ -1303,7 +1268,6 @@ fix = {
"unsigned long *address);\n"; "unsigned long *address);\n";
}; };
/* /*
* Darwin headers have a stdint.h that defines UINT8_C and UINT16_C to * Darwin headers have a stdint.h that defines UINT8_C and UINT16_C to
* unsigned constants. * unsigned constants.
...@@ -1320,7 +1284,6 @@ fix = { ...@@ -1320,7 +1284,6 @@ fix = {
"#define UINT16_C(v) (v ## U)"; "#define UINT16_C(v) (v ## U)";
}; };
/* /*
* Darwin headers have a stdint.h that defines INTPTR_MIN and INTPTR_MAX * Darwin headers have a stdint.h that defines INTPTR_MIN and INTPTR_MAX
* with wrong types. * with wrong types.
...@@ -1353,7 +1316,6 @@ fix = { ...@@ -1353,7 +1316,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Darwin headers have a stdint.h that defines UINTPTR_MAX with a wrong type. * Darwin headers have a stdint.h that defines UINTPTR_MAX with a wrong type.
*/ */
...@@ -1379,7 +1341,6 @@ fix = { ...@@ -1379,7 +1341,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Darwin headers have a stdint.h that defines SIZE_MAX with a wrong type. * Darwin headers have a stdint.h that defines SIZE_MAX with a wrong type.
*/ */
...@@ -1405,7 +1366,6 @@ fix = { ...@@ -1405,7 +1366,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Darwin headers have a stdint.h that defines {U,}INTMAX_{MIN,MAX} * Darwin headers have a stdint.h that defines {U,}INTMAX_{MIN,MAX}
* with a wrong type. * with a wrong type.
...@@ -1434,7 +1394,6 @@ fix = { ...@@ -1434,7 +1394,6 @@ fix = {
"#define UINTMAX_MAX UINT64_MAX"; "#define UINTMAX_MAX UINT64_MAX";
}; };
/* /*
* Darwin headers have a stdint.h that defines {U,}INTMAX_C * Darwin headers have a stdint.h that defines {U,}INTMAX_C
* with a wrong type. * with a wrong type.
...@@ -1467,7 +1426,6 @@ fix = { ...@@ -1467,7 +1426,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Darwin headers have a stdint.h that defines {U,}INTMAX_C * Darwin headers have a stdint.h that defines {U,}INTMAX_C
* with a wrong type. * with a wrong type.
...@@ -1490,7 +1448,6 @@ fix = { ...@@ -1490,7 +1448,6 @@ fix = {
"#define UINTMAX_C(v) (v ## ULL)"; "#define UINTMAX_C(v) (v ## ULL)";
}; };
/* /*
* Fix <c_asm.h> on Digital UNIX V4.0: * Fix <c_asm.h> on Digital UNIX V4.0:
* It contains a prototype for a DEC C internal asm() function, * It contains a prototype for a DEC C internal asm() function,
...@@ -1508,7 +1465,6 @@ fix = { ...@@ -1508,7 +1465,6 @@ fix = {
"};\n#pragma intrinsic( dasm )\n/* END ASM TEST*/"; "};\n#pragma intrinsic( dasm )\n/* END ASM TEST*/";
}; };
/* /*
* Fix typo in <wchar.h> on DJGPP 2.03. * Fix typo in <wchar.h> on DJGPP 2.03.
*/ */
...@@ -1524,7 +1480,6 @@ fix = { ...@@ -1524,7 +1480,6 @@ fix = {
"extern __DJ_wint_t x;\n"; "extern __DJ_wint_t x;\n";
}; };
/* /*
* Fix these Sun OS files to avoid an invalid identifier in an #ifdef. * Fix these Sun OS files to avoid an invalid identifier in an #ifdef.
*/ */
...@@ -1539,7 +1494,6 @@ fix = { ...@@ -1539,7 +1494,6 @@ fix = {
test_text = "#ifdef ecd.cursor\n#error bogus\n#endif /* ecd+cursor */"; test_text = "#ifdef ecd.cursor\n#error bogus\n#endif /* ecd+cursor */";
}; };
/* /*
* Between 8/24/1998 and 2/17/2001, FreeBSD system headers presume * 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 * neither the existence of GCC 3 nor its exact feature set yet break
...@@ -1556,7 +1510,6 @@ fix = { ...@@ -1556,7 +1510,6 @@ fix = {
test_text = '#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7'; test_text = '#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7';
}; };
/* /*
* Some releases of FreeBSD 4 and FreeBSD 5.0 and 5.1 system headers presume * Some releases of FreeBSD 4 and FreeBSD 5.0 and 5.1 system headers presume
* neither the existence of GCC 4 nor its exact feature set yet break * neither the existence of GCC 4 nor its exact feature set yet break
...@@ -1572,7 +1525,6 @@ fix = { ...@@ -1572,7 +1525,6 @@ fix = {
test_text = '#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ == 3'; test_text = '#if __GNUC__ == 2 && __GNUC_MINOR__ >= 7 || __GNUC__ == 3';
}; };
/* /*
* Some versions of glibc don't expect the C99 inline semantics. * Some versions of glibc don't expect the C99 inline semantics.
*/ */
...@@ -1590,7 +1542,6 @@ fix = { ...@@ -1590,7 +1542,6 @@ fix = {
EOT; EOT;
}; };
/* /*
* Similar, but a version that didn't have __NO_INLINE__ * Similar, but a version that didn't have __NO_INLINE__
*/ */
...@@ -1608,7 +1559,6 @@ fix = { ...@@ -1608,7 +1559,6 @@ fix = {
EOT; EOT;
}; };
/* /*
* The glibc_c99_inline_1 fix should have fixed everything. Unfortunately * The glibc_c99_inline_1 fix should have fixed everything. Unfortunately
* there are many glibc headers which do not respect __USE_EXTERN_INLINES. * there are many glibc headers which do not respect __USE_EXTERN_INLINES.
...@@ -1644,7 +1594,9 @@ fix = { ...@@ -1644,7 +1594,9 @@ fix = {
EOT; EOT;
}; };
/*
* glibc_c99_inline_3
*/
fix = { fix = {
hackname = glibc_c99_inline_3; hackname = glibc_c99_inline_3;
files = bits/string2.h, '*/bits/string2.h'; files = bits/string2.h, '*/bits/string2.h';
...@@ -1662,7 +1614,9 @@ fix = { ...@@ -1662,7 +1614,9 @@ fix = {
EOT; EOT;
}; };
/*
* glibc_c99_inline_4
*/
fix = { fix = {
hackname = glibc_c99_inline_4; hackname = glibc_c99_inline_4;
files = sys/sysmacros.h, '*/sys/sysmacros.h', wchar.h, '*/wchar.h'; files = sys/sysmacros.h, '*/sys/sysmacros.h', wchar.h, '*/wchar.h';
...@@ -1676,7 +1630,6 @@ fix = { ...@@ -1676,7 +1630,6 @@ fix = {
EOT; EOT;
}; };
/* glibc-2.3.5 defines pthread mutex initializers incorrectly, /* glibc-2.3.5 defines pthread mutex initializers incorrectly,
* so we replace them with versions that correspond to the * so we replace them with versions that correspond to the
* definition. * definition.
...@@ -1750,7 +1703,6 @@ fix = { ...@@ -1750,7 +1703,6 @@ fix = {
_EOText_; _EOText_;
}; };
/* glibc versions before 2.5 have a version of stdint.h that defines /* glibc versions before 2.5 have a version of stdint.h that defines
UINT8_C and UINT16_C to produce unsigned constants, as do uClibc UINT8_C and UINT16_C to produce unsigned constants, as do uClibc
versions with stdint.h based on those glibc versions. */ versions with stdint.h based on those glibc versions. */
...@@ -1761,10 +1713,11 @@ fix = { ...@@ -1761,10 +1713,11 @@ fix = {
c_fix = format; c_fix = format;
c_fix_arg = "# define UINT8_C(c)\tc\n# define UINT16_C(c)\tc"; c_fix_arg = "# define UINT8_C(c)\tc\n# define UINT16_C(c)\tc";
c_fix_arg = "# define UINT8_C\\(c\\)\tc ## U\n# define UINT16_C\\(c\\)\tc ## U"; c_fix_arg = "# define UINT8_C\\(c\\)\tc ## U\n# define UINT16_C\\(c\\)\tc ## U";
test_text = "/* This file is part of the GNU C Library. */\n# define UINT8_C(c)\tc ## U\n# define UINT16_C(c)\tc ## U"; test_text = "/* This file is part of the GNU C Library. */\n"
"# define UINT8_C(c)\tc ## U\n"
"# define UINT16_C(c)\tc ## U";
}; };
/* Some versions of glibc have a version of bits/string2.h that /* Some versions of glibc have a version of bits/string2.h that
produces "value computed is not used" warnings from strncpy; fix produces "value computed is not used" warnings from strncpy; fix
this definition by using __builtin_strncpy instead as in newer this definition by using __builtin_strncpy instead as in newer
...@@ -1796,7 +1749,9 @@ fix = { ...@@ -1796,7 +1749,9 @@ fix = {
select = '\(\(\(type\) 0.25\) && \(\(type\) 0.25 - 1\)\)'; select = '\(\(\(type\) 0.25\) && \(\(type\) 0.25 - 1\)\)';
bypass = "__floating_type\\(type\\) \\\\\n.*__builtin_classify_type"; bypass = "__floating_type\\(type\\) \\\\\n.*__builtin_classify_type";
c_fix = format; c_fix = format;
c_fix_arg = "(__builtin_classify_type ((type) 0) == 8 || (__builtin_classify_type ((type) 0) == 9 && __builtin_classify_type (__real__ ((type) 0)) == 8))"; c_fix_arg = "(__builtin_classify_type ((type) 0) == 8 || "
"(__builtin_classify_type ((type) 0) == 9 && "
"__builtin_classify_type (__real__ ((type) 0)) == 8))";
test_text = "# define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1))"; test_text = "# define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1))";
}; };
...@@ -1828,7 +1783,6 @@ fix = { ...@@ -1828,7 +1783,6 @@ fix = {
"typedef ushort_t wchar_t; /* ushort_t */"; "typedef ushort_t wchar_t; /* ushort_t */";
}; };
/* /*
* Fix HP & Sony's use of "../machine/xxx.h" * Fix HP & Sony's use of "../machine/xxx.h"
* to refer to: <machine/xxx.h> * to refer to: <machine/xxx.h>
...@@ -1848,7 +1802,6 @@ fix = { ...@@ -1848,7 +1802,6 @@ fix = {
test_text = ' # include "../machine/mumble.h"'; test_text = ' # include "../machine/mumble.h"';
}; };
/* /*
* Check for (...) in C++ code in HP/UX sys/file.h. * Check for (...) in C++ code in HP/UX sys/file.h.
*/ */
...@@ -1864,7 +1817,6 @@ fix = { ...@@ -1864,7 +1817,6 @@ fix = {
test_text = "extern void foo(...); /* HPUX_SOURCE - bad varargs */"; test_text = "extern void foo(...); /* HPUX_SOURCE - bad varargs */";
}; };
/* /*
* Un-Hide a series of five FP defines from post-1999 compliance GCC: * Un-Hide a series of five FP defines from post-1999 compliance GCC:
* FP_NORMAL, FP_ZERO, FP_INFINITE, FP_SUBNORMAL and FP_NAN * FP_NORMAL, FP_ZERO, FP_INFINITE, FP_SUBNORMAL and FP_NAN
...@@ -1898,7 +1850,6 @@ fix = { ...@@ -1898,7 +1850,6 @@ fix = {
"# define FP_NAN 4\n"; "# define FP_NAN 4\n";
}; };
/* /*
* Delete C++ double pow (double, int) inline function from HP-UX 10 & 11 * Delete C++ double pow (double, int) inline function from HP-UX 10 & 11
* math.h to prevent clash with define in c_std/bits/std_cmath.h. * math.h to prevent clash with define in c_std/bits/std_cmath.h.
...@@ -1946,7 +1897,6 @@ fix = { ...@@ -1946,7 +1897,6 @@ fix = {
" }\n"; " }\n";
}; };
/* /*
* Fix hpux 10.X missing ctype declarations 1 * Fix hpux 10.X missing ctype declarations 1
*/ */
...@@ -1968,7 +1918,6 @@ fix = { ...@@ -1968,7 +1918,6 @@ fix = {
test_text = "# define _toupper(__c) __toupper(__c)\n"; test_text = "# define _toupper(__c) __toupper(__c)\n";
}; };
/* /*
* Fix hpux 10.X missing ctype declarations 2 * Fix hpux 10.X missing ctype declarations 2
*/ */
...@@ -2009,7 +1958,6 @@ fix = { ...@@ -2009,7 +1958,6 @@ fix = {
" extern unsigned int *__SB_masks;\n"; " extern unsigned int *__SB_masks;\n";
}; };
/* /*
* Fix hpux 10.X missing stdio declarations * Fix hpux 10.X missing stdio declarations
*/ */
...@@ -2031,7 +1979,6 @@ fix = { ...@@ -2031,7 +1979,6 @@ fix = {
test_text = "# define _iob __iob\n"; test_text = "# define _iob __iob\n";
}; };
/* /*
* Make sure hpux defines abs in header. * Make sure hpux defines abs in header.
*/ */
...@@ -2045,7 +1992,6 @@ fix = { ...@@ -2045,7 +1992,6 @@ fix = {
test_text = "#ifndef _MATH_INCLUDED"; test_text = "#ifndef _MATH_INCLUDED";
}; };
/* /*
* Keep HP-UX 11 from stomping on C++ math namespace * Keep HP-UX 11 from stomping on C++ math namespace
* with defines for fabsf. * with defines for fabsf.
...@@ -2065,7 +2011,6 @@ fix = { ...@@ -2065,7 +2011,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Fix C99 constant in __POINTER_SET define. * Fix C99 constant in __POINTER_SET define.
*/ */
...@@ -2080,7 +2025,6 @@ fix = { ...@@ -2080,7 +2025,6 @@ fix = {
test_text = "#define __POINTER_SET\t\t((void *) 1LL)"; test_text = "#define __POINTER_SET\t\t((void *) 1LL)";
}; };
/* /*
* Prevent HP-UX 11 from defining __size_t and preventing size_t from * Prevent HP-UX 11 from defining __size_t and preventing size_t from
* being defined by having it define _hpux_size_t instead. * being defined by having it define _hpux_size_t instead.
...@@ -2098,7 +2042,6 @@ fix = { ...@@ -2098,7 +2042,6 @@ fix = {
" extern int getpwuid_r( char *, __size_t, struct passwd **);\n"; " extern int getpwuid_r( char *, __size_t, struct passwd **);\n";
}; };
/* /*
* Fix hpux 11.00 broken snprintf declaration * Fix hpux 11.00 broken snprintf declaration
* (third argument is char *, needs to be const char * to prevent * (third argument is char *, needs to be const char * to prevent
...@@ -2132,7 +2075,6 @@ fix = { ...@@ -2132,7 +2075,6 @@ fix = {
' __va__list);'; ' __va__list);';
}; };
/* /*
* get rid of bogus inline definitions in HP-UX 8.0 * get rid of bogus inline definitions in HP-UX 8.0
*/ */
...@@ -2150,7 +2092,6 @@ fix = { ...@@ -2150,7 +2092,6 @@ fix = {
"inline double sqr(double v) { return v**0.5; }"; "inline double sqr(double v) { return v**0.5; }";
}; };
/* /*
* Fix hpux broken ctype macros * Fix hpux broken ctype macros
*/ */
...@@ -2166,7 +2107,6 @@ fix = { ...@@ -2166,7 +2107,6 @@ fix = {
"# define isalpha(__c) (__SB_masks ? __SB_masks[__c] & _IS\n"; "# define isalpha(__c) (__SB_masks ? __SB_masks[__c] & _IS\n";
}; };
/* /*
* Fix hpux broken #ifndef _XOPEN_SOURCE_EXTENDED conditional on htonl etc. * Fix hpux broken #ifndef _XOPEN_SOURCE_EXTENDED conditional on htonl etc.
*/ */
...@@ -2194,7 +2134,6 @@ fix = { ...@@ -2194,7 +2134,6 @@ fix = {
"#endif /* ! _XOPEN_SOURCE_EXTENDED */"; "#endif /* ! _XOPEN_SOURCE_EXTENDED */";
}; };
/* /*
* HP-UX long_double * HP-UX long_double
*/ */
...@@ -2225,11 +2164,15 @@ fix = { ...@@ -2225,11 +2164,15 @@ fix = {
hackname = hpux_long_double_2; hackname = hpux_long_double_2;
mach = "hppa*-*-hpux11.3*"; mach = "hppa*-*-hpux11.3*";
files = stdlib.h; files = stdlib.h;
select = "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| defined\\(_PROTOTYPES\\) \\|\\| defined\\(_LONG_DOUBLE_STRUCT\\)"; select = "#[ \t]*if[ \t]*!defined\\(__ia64\\) \\|\\| "
"defined\\(_PROTOTYPES\\) \\|\\| "
"defined\\(_LONG_DOUBLE_STRUCT\\)";
c_fix = format; c_fix = format;
c_fix_arg = "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)"; c_fix_arg = "# if !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)";
test_text = "# if !defined(__ia64) || !defined(_PROTOTYPES) || defined(_LONG_DOUBLE_STRUCT)\n"; test_text = "# if !defined(__ia64) || "
"!defined(_PROTOTYPES) || "
"defined(_LONG_DOUBLE_STRUCT)\n";
}; };
/* /*
...@@ -2246,7 +2189,6 @@ fix = { ...@@ -2246,7 +2189,6 @@ fix = {
test_text = 'extern struct sigevent;'; test_text = 'extern struct sigevent;';
}; };
/* /*
* Wrap spu_info in ifdef _KERNEL. GCC cannot handle an array of unknown * Wrap spu_info in ifdef _KERNEL. GCC cannot handle an array of unknown
* type and mpinfou is only defined when _KERNEL is set. * type and mpinfou is only defined when _KERNEL is set.
...@@ -2277,7 +2219,8 @@ fix = { ...@@ -2277,7 +2219,8 @@ fix = {
select = "^[ \t]*extern sbsize_t sendfile.*\n.*, int\\)\\);\n"; select = "^[ \t]*extern sbsize_t sendfile.*\n.*, int\\)\\);\n";
c_fix = format; c_fix = format;
c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; 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"; test_text = " extern sbsize_t sendfile __((int, int, off_t, bsize_t,\n"
" const struct iovec *, int));\n";
}; };
fix = { fix = {
...@@ -2287,7 +2230,8 @@ fix = { ...@@ -2287,7 +2230,8 @@ fix = {
select = "^[ \t]*extern sbsize_t sendpath.*\n.*, int\\)\\);\n"; select = "^[ \t]*extern sbsize_t sendpath.*\n.*, int\\)\\);\n";
c_fix = format; c_fix = format;
c_fix_arg = "#ifndef _APP32_64BIT_OFF_T\n%0#endif\n"; 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"; test_text = " extern sbsize_t sendpath __((int, int, off_t, bsize_t,\n"
" const struct iovec *, int));\n";
}; };
fix = { fix = {
...@@ -2297,11 +2241,16 @@ fix = { ...@@ -2297,11 +2241,16 @@ fix = {
files = errno.h; files = errno.h;
select = "^[ \t]*extern int errno;$"; select = "^[ \t]*extern int errno;$";
c_fix = format; c_fix = format;
c_fix_arg = "#ifdef __cplusplus\nextern \"C\" {\n#endif\n%0\n#ifdef __cplusplus\n}\n#endif"; c_fix_arg = "#ifdef __cplusplus\n"
"extern \"C\" {\n"
"#endif\n"
"%0\n"
"#ifdef __cplusplus\n"
"}\n"
"#endif";
test_text = " extern int errno;\n"; test_text = " extern int errno;\n";
}; };
/* /*
* Add missing braces to pthread initializer defines. * Add missing braces to pthread initializer defines.
*/ */
...@@ -2348,12 +2297,18 @@ fix = { ...@@ -2348,12 +2297,18 @@ fix = {
hackname = hpux_c99_intptr; hackname = hpux_c99_intptr;
mach = "*-hp-hpux11.3*"; mach = "*-hp-hpux11.3*";
files = stdint-hpux11.h, stdint.h; 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_MAX[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@"; "INT32_MAX[ \t]*$@#define PTRDIFF_MAX (2147483647l)@";
sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*INT32_MAX[ \t]*$@#define INTPTR_MAX (2147483647l)@"; sed = "s@^[ \t]*#[ \t]*define[ \t]*PTRDIFF_MIN[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MIN[ \t]*INT32_MIN[ \t]*$@#define INTPTR_MIN (-INTPTR_MAX - 1)@"; "INT32_MIN[ \t]*$@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@";
sed = "s@^[ \t]*#[ \t]*define[ \t]*UINTPTR_MAX[ \t]*UINT32_MAX[ \t]*$@#define UINTPTR_MAX (4294967295ul)@"; sed = "s@^[ \t]*#[ \t]*define[ \t]*INTPTR_MAX[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*SIZE_MAX[ \t]*UINT32_MAX[ \t]*$@#define SIZE_MAX (4294967295ul)@"; "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" test_text = "#define PTRDIFF_MAX INT32_MAX\n"
"#define PTRDIFF_MIN INT32_MIN\n" "#define PTRDIFF_MIN INT32_MIN\n"
"#define INTPTR_MAX INT32_MAX\n" "#define INTPTR_MAX INT32_MAX\n"
...@@ -2371,10 +2326,14 @@ fix = { ...@@ -2371,10 +2326,14 @@ fix = {
mach = "*-hp-hpux11.[23]*"; mach = "*-hp-hpux11.[23]*";
files = inttypes.h; files = inttypes.h;
files = stdint-hpux11.h, stdint.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]*UINT8_C(__c)[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*__CONCAT_U__(__c)[ \t]*$@#define UINT16_C(__c) (__c)@"; "__CONCAT_U__(__c)[ \t]*$@#define UINT8_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]*UINT16_C(__c)[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT32_C(__c)[ \t].*$@#define UINT32_C(__c) __CONCAT__(__c,u)@"; "__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" test_text = "#define UINT8_C(__c) __CONCAT_U__(__c)\n"
"#define UINT16_C(__c) __CONCAT_U__(__c)\n" "#define UINT16_C(__c) __CONCAT_U__(__c)\n"
"#define INT32_C(__c) __CONCAT__(__c,l)\n" "#define INT32_C(__c) __CONCAT__(__c,l)\n"
...@@ -2385,10 +2344,14 @@ fix = { ...@@ -2385,10 +2344,14 @@ fix = {
hackname = hpux_c99_inttypes2; hackname = hpux_c99_inttypes2;
mach = "*-hp-hpux11.2*"; mach = "*-hp-hpux11.2*";
files = stdint-hpux11.h, stdint.h; 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]*INT8_C(__c)[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT8_C(__c)[ \t]*((unsigned char)(__c))[ \t]*$@#define UINT8_C(__c) (__c)@"; "((signed char)(__c))[ \t]*$@#define INT8_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]*UINT8_C(__c)[ \t]*"
sed = "s@^[ \t]*#[ \t]*define[ \t]*UINT16_C(__c)[ \t]*((unsigned short)(__c))[ \t]*$@#define UINT16_C(__c) (__c)@"; "((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" test_text = "# define INT8_C(__c) ((signed char)(__c))\n"
"# define UINT8_C(__c) ((unsigned char)(__c))\n" "# define UINT8_C(__c) ((unsigned char)(__c))\n"
"# define INT16_C(__c) ((short)(__c))\n" "# define INT16_C(__c) ((short)(__c))\n"
...@@ -2444,7 +2407,6 @@ fix = { ...@@ -2444,7 +2407,6 @@ fix = {
test_text = "# define HUGE_VAL\t(__extension__ 0x1.0p2047)"; test_text = "# define HUGE_VAL\t(__extension__ 0x1.0p2047)";
}; };
/* /*
* Fix glibc definition of HUGE_VALF in terms of hex floating point constant * Fix glibc definition of HUGE_VALF in terms of hex floating point constant
*/ */
...@@ -2460,7 +2422,6 @@ fix = { ...@@ -2460,7 +2422,6 @@ fix = {
test_text = "# define HUGE_VALF (__extension__ 0x1.0p255f)"; test_text = "# define HUGE_VALF (__extension__ 0x1.0p255f)";
}; };
/* /*
* Fix glibc definition of HUGE_VALL in terms of hex floating point constant * Fix glibc definition of HUGE_VALL in terms of hex floating point constant
*/ */
...@@ -2476,7 +2437,6 @@ fix = { ...@@ -2476,7 +2437,6 @@ fix = {
test_text = "# define HUGE_VALL (__extension__ 0x1.0p32767L)"; test_text = "# define HUGE_VALL (__extension__ 0x1.0p32767L)";
}; };
/* /*
* Fix return type of abort and free * Fix return type of abort and free
*/ */
...@@ -2494,7 +2454,6 @@ fix = { ...@@ -2494,7 +2454,6 @@ fix = {
"extern int exit(void*);"; "extern int exit(void*);";
}; };
/* /*
* Fix various macros used to define ioctl numbers. * Fix various macros used to define ioctl numbers.
* The traditional syntax was: * The traditional syntax was:
...@@ -2539,7 +2498,6 @@ fix = { ...@@ -2539,7 +2498,6 @@ fix = {
"BSD43__IOWR(T, 1) /* Some are multi-line */"; "BSD43__IOWR(T, 1) /* Some are multi-line */";
}; };
/* /*
* Check for missing ';' in struct * Check for missing ';' in struct
*/ */
...@@ -2556,7 +2514,6 @@ fix = { ...@@ -2556,7 +2514,6 @@ fix = {
"}; /* mumbled struct */\n"; "}; /* mumbled struct */\n";
}; };
/* /*
* Non-traditional "const" declaration in Irix's limits.h. * Non-traditional "const" declaration in Irix's limits.h.
*/ */
...@@ -2569,7 +2526,6 @@ fix = { ...@@ -2569,7 +2526,6 @@ fix = {
test_text = "extern const char limit; /* test limits */"; test_text = "extern const char limit; /* test limits */";
}; };
/* /*
* IRIX 5.x's stdio.h declares some functions that take a va_list as * IRIX 5.x's stdio.h declares some functions that take a va_list as
* taking char *. However, GCC uses void * for va_list, so * taking char *. However, GCC uses void * for va_list, so
...@@ -2585,7 +2541,6 @@ fix = { ...@@ -2585,7 +2541,6 @@ fix = {
"extern int printf( const char *, /* va_list */ char * );"; "extern int printf( const char *, /* va_list */ char * );";
}; };
/* /*
* These files in Sun OS 4.x and ARM/RISCiX and BSD4.3 * These files in Sun OS 4.x and ARM/RISCiX and BSD4.3
* use / * * / to concatenate tokens. * use / * * / to concatenate tokens.
...@@ -2610,7 +2565,6 @@ fix = { ...@@ -2610,7 +2565,6 @@ fix = {
test_text = "#define __CONCAT__(a,b) a/**/b"; 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 * an _SC_GR0_OFFSET macro using an idiom that isn't a compile time
* constant on recent versions of g++. * constant on recent versions of g++.
...@@ -2627,7 +2581,6 @@ fix = { ...@@ -2627,7 +2581,6 @@ fix = {
"\t(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)\n"; "\t(((char *) &((struct sigcontext *) 0)->sc_gr[0]) - (char *) 0)\n";
}; };
/* /*
* Remove header file warning from sys/time.h. Autoconf's * Remove header file warning from sys/time.h. Autoconf's
* AC_HEADER_TIME recommends to include both sys/time.h and time.h * AC_HEADER_TIME recommends to include both sys/time.h and time.h
...@@ -2642,7 +2595,6 @@ fix = { ...@@ -2642,7 +2595,6 @@ fix = {
test_text = "#warning Using <time.h> instead of <sys/time.h>"; test_text = "#warning Using <time.h> instead of <sys/time.h>";
}; };
/* /*
* Add missing declaration for putenv. * Add missing declaration for putenv.
*/ */
...@@ -2659,7 +2611,6 @@ fix = { ...@@ -2659,7 +2611,6 @@ fix = {
test_text = "extern char *getenv _AP((const char *));"; test_text = "extern char *getenv _AP((const char *));";
}; };
/* /*
* Fix BSD machine/ansi.h to use __builtin_va_list to define _BSD_VA_LIST_. * Fix BSD machine/ansi.h to use __builtin_va_list to define _BSD_VA_LIST_.
* *
...@@ -2678,7 +2629,6 @@ fix = { ...@@ -2678,7 +2629,6 @@ fix = {
test_text = " # define _BSD_VA_LIST_\tchar**"; test_text = " # define _BSD_VA_LIST_\tchar**";
}; };
/* /*
* Fix non-ansi machine name defines * Fix non-ansi machine name defines
*/ */
...@@ -2692,7 +2642,6 @@ fix = { ...@@ -2692,7 +2642,6 @@ fix = {
"\n/* no uniform test, so be careful :-) */"; "\n/* no uniform test, so be careful :-) */";
}; };
/* /*
* Some math.h files define struct exception (it's in the System V * Some math.h files define struct exception (it's in the System V
* Interface Definition), which conflicts with the class exception defined * Interface Definition), which conflicts with the class exception defined
...@@ -2725,7 +2674,6 @@ fix = { ...@@ -2725,7 +2674,6 @@ fix = {
test_text = "typedef struct exception t_math_exception;"; test_text = "typedef struct exception t_math_exception;";
}; };
/* /*
* This looks pretty broken to me. ``dbl_max_def'' will contain * This looks pretty broken to me. ``dbl_max_def'' will contain
* "define DBL_MAX " at the start, when what we really want is just * "define DBL_MAX " at the start, when what we really want is just
...@@ -2763,7 +2711,6 @@ fix = { ...@@ -2763,7 +2711,6 @@ fix = {
"#define HUGE_VAL DBL_MAX"; "#define HUGE_VAL DBL_MAX";
}; };
/* /*
* nested comment * nested comment
*/ */
...@@ -2776,7 +2723,6 @@ fix = { ...@@ -2776,7 +2723,6 @@ fix = {
test_text = "/*#include <rpc/auth_des.h> /* skip this */"; test_text = "/*#include <rpc/auth_des.h> /* skip this */";
}; };
/* /*
* Some versions of NetBSD don't expect the C99 inline semantics. * Some versions of NetBSD don't expect the C99 inline semantics.
*/ */
...@@ -2796,7 +2742,9 @@ fix = { ...@@ -2796,7 +2742,9 @@ fix = {
test_text = "extern __inline int\nsigaddset(sigset_t *set, int signo)\n{}"; test_text = "extern __inline int\nsigaddset(sigset_t *set, int signo)\n{}";
}; };
/*
* netbsd_c99_inline_2
*/
fix = { fix = {
hackname = netbsd_c99_inline_2; hackname = netbsd_c99_inline_2;
mach = "*-*-netbsd*"; mach = "*-*-netbsd*";
...@@ -2815,7 +2763,6 @@ fix = { ...@@ -2815,7 +2763,6 @@ fix = {
test_text = "#define _SIGINLINE extern __inline"; test_text = "#define _SIGINLINE extern __inline";
}; };
/* /*
* NetBSD has a semicolon after the ending '}' for some extern "C". * NetBSD has a semicolon after the ending '}' for some extern "C".
*/ */
...@@ -2831,7 +2778,6 @@ fix = { ...@@ -2831,7 +2778,6 @@ fix = {
test_text = "#define __END_DECLS };"; test_text = "#define __END_DECLS };";
}; };
/* newlib's stdint.h has several failures to conform to C99. The fix /* 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 for these removed a comment that can be matched to identify unfixed
versions. */ versions. */
...@@ -2842,12 +2788,18 @@ fix = { ...@@ -2842,12 +2788,18 @@ fix = {
sed = "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@"; sed = "s@#define INT32_MIN.*@#define INT32_MIN (-INT32_MAX - 1)@";
sed = "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@"; sed = "s@#define INT32_MAX.*@#define INT32_MAX __INT32_MAX__@";
sed = "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@"; sed = "s@#define UINT32_MAX.*@#define UINT32_MAX __UINT32_MAX__@";
sed = "s@#define INT_LEAST32_MIN.*@#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@"; sed = "s@#define INT_LEAST32_MIN.*@"
sed = "s@#define INT_LEAST32_MAX.*@#define INT_LEAST32_MAX __INT_LEAST32_MAX__@"; "#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)@";
sed = "s@#define UINT_LEAST32_MAX.*@#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@"; sed = "s@#define INT_LEAST32_MAX.*@"
sed = 's@#define INT_FAST\([0-9]*\)_MIN.*@#define INT_FAST\1_MIN (-INT_FAST\1_MAX - 1)@'; "#define INT_LEAST32_MAX __INT_LEAST32_MAX__@";
sed = 's@#define INT_FAST\([0-9]*\)_MAX.*@#define INT_FAST\1_MAX __INT_FAST\1_MAX__@'; sed = "s@#define UINT_LEAST32_MAX.*@"
sed = 's@#define UINT_FAST\([0-9]*\)_MAX.*@#define UINT_FAST\1_MAX __UINT_FAST\1_MAX__@'; "#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__@";
sed = 's@#define INT_FAST\([0-9]*\)_MIN.*@'
'#define INT_FAST\1_MIN (-INT_FAST\1_MAX - 1)@';
sed = 's@#define INT_FAST\([0-9]*\)_MAX.*@'
'#define INT_FAST\1_MAX __INT_FAST\1_MAX__@';
sed = 's@#define UINT_FAST\([0-9]*\)_MAX.*@'
'#define UINT_FAST\1_MAX __UINT_FAST\1_MAX__@';
sed = "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@"; sed = "s@#define SIZE_MAX.*@#define SIZE_MAX __SIZE_MAX__@";
sed = "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@"; sed = "s@#define PTRDIFF_MIN.*@#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)@";
sed = "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@"; sed = "s@#define PTRDIFF_MAX.*@#define PTRDIFF_MAX __PTRDIFF_MAX__@";
...@@ -2870,7 +2822,9 @@ fix = { ...@@ -2870,7 +2822,9 @@ fix = {
"#define UINT16_C(x) x##U"; "#define UINT16_C(x) x##U";
}; };
/*
* newlib_stdint_2
*/
fix = { fix = {
hackname = newlib_stdint_2; hackname = newlib_stdint_2;
files = stdint-newlib.h, stdint.h; files = stdint-newlib.h, stdint.h;
...@@ -2889,7 +2843,6 @@ fix = { ...@@ -2889,7 +2843,6 @@ fix = {
"/** Macros for minimum-width integer constant expressions */"; "/** Macros for minimum-width integer constant expressions */";
}; };
/* /*
* NeXT 3.2 adds const prefix to some math functions. * NeXT 3.2 adds const prefix to some math functions.
* These conflict with the built-in functions. * These conflict with the built-in functions.
...@@ -2906,7 +2859,6 @@ fix = { ...@@ -2906,7 +2859,6 @@ fix = {
test_text = "extern\tdouble\t__const__\tmumble();"; test_text = "extern\tdouble\t__const__\tmumble();";
}; };
/* /*
* NeXT 3.2 uses the word "template" as a parameter for some * NeXT 3.2 uses the word "template" as a parameter for some
* functions. GCC reports an invalid use of a reserved key word * functions. GCC reports an invalid use of a reserved key word
...@@ -2923,7 +2875,6 @@ fix = { ...@@ -2923,7 +2875,6 @@ fix = {
test_text = "extern mumble( char * template); /* fix */"; test_text = "extern mumble( char * template); /* fix */";
}; };
/* /*
* NeXT 3.2 includes the keyword volatile in the abort() and exit() * NeXT 3.2 includes the keyword volatile in the abort() and exit()
* function prototypes. That conflicts with the built-in functions. * function prototypes. That conflicts with the built-in functions.
...@@ -2940,7 +2891,6 @@ fix = { ...@@ -2940,7 +2891,6 @@ fix = {
test_text = "extern\tvolatile\tvoid\tabort();"; test_text = "extern\tvolatile\tvoid\tabort();";
}; };
/* /*
* NeXT 2.0 defines 'int wait(union wait*)', which conflicts with Posix.1. * NeXT 2.0 defines 'int wait(union wait*)', which conflicts with Posix.1.
* Note that version 3 of the NeXT system has wait.h in a different directory, * Note that version 3 of the NeXT system has wait.h in a different directory,
...@@ -2957,7 +2907,6 @@ fix = { ...@@ -2957,7 +2907,6 @@ fix = {
test_text = "extern pid_d wait(union wait*);"; test_text = "extern pid_d wait(union wait*);";
}; };
/* /*
* a missing semi-colon at the end of the nodeent structure definition. * a missing semi-colon at the end of the nodeent structure definition.
*/ */
...@@ -3090,7 +3039,6 @@ fix = { ...@@ -3090,7 +3039,6 @@ fix = {
test_text = "#include <reg_types.h>"; test_text = "#include <reg_types.h>";
}; };
/* /*
* On broken glibc-2.3.3 systems an array of incomplete structures is * On broken glibc-2.3.3 systems an array of incomplete structures is
* passed to __sigsetjmp. Fix that to take a pointer instead. * passed to __sigsetjmp. Fix that to take a pointer instead.
...@@ -3101,8 +3049,10 @@ fix = { ...@@ -3101,8 +3049,10 @@ fix = {
select = "struct __jmp_buf_tag"; select = "struct __jmp_buf_tag";
c_fix = format; c_fix = format;
c_fix_arg = "%1 *%2%3"; c_fix_arg = "%1 *%2%3";
c_fix_arg = "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) (__env)\\[1\\](.*)$"; c_fix_arg = "^(extern int __sigsetjmp \\(struct __jmp_buf_tag) "
test_text = "extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask);"; "(__env)\\[1\\](.*)$";
test_text = "extern int __sigsetjmp (struct __jmp_buf_tag __env[1], "
"int __savemask);";
}; };
/* /*
...@@ -3119,7 +3069,6 @@ fix = { ...@@ -3119,7 +3069,6 @@ fix = {
test_text = "extern int\tfclose(), fflush(), fread(), fwrite(), foo();"; test_text = "extern int\tfclose(), fflush(), fread(), fwrite(), foo();";
}; };
/* /*
* Fix casts as lvalues in glibc's <rpc/xdr.h>. * Fix casts as lvalues in glibc's <rpc/xdr.h>.
*/ */
...@@ -3133,7 +3082,9 @@ fix = { ...@@ -3133,7 +3082,9 @@ fix = {
"\t((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++))"; "\t((long)ntohl((u_long)*__extension__((u_int32_t*)(buf))++))";
}; };
/*
* rpc_xdr_lvalue_cast_b
*/
fix = { fix = {
hackname = rpc_xdr_lvalue_cast_b; hackname = rpc_xdr_lvalue_cast_b;
files = rpc/xdr.h; files = rpc/xdr.h;
...@@ -3144,7 +3095,6 @@ fix = { ...@@ -3144,7 +3095,6 @@ fix = {
"\t(*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))"; "\t(*__extension__((u_int32_t*)(buf))++ = (long)htonl((u_long)(v)))";
}; };
/* /*
* function class(double x) conflicts with C++ keyword on rs/6000 * function class(double x) conflicts with C++ keyword on rs/6000
*/ */
...@@ -3160,7 +3110,6 @@ fix = { ...@@ -3160,7 +3110,6 @@ fix = {
test_text = "extern int class();"; test_text = "extern int class();";
}; };
/* /*
* Wrong fchmod prototype on RS/6000. * Wrong fchmod prototype on RS/6000.
*/ */
...@@ -3173,7 +3122,6 @@ fix = { ...@@ -3173,7 +3122,6 @@ fix = {
test_text = "extern int fchmod(char *, mode_t);"; test_text = "extern int fchmod(char *, mode_t);";
}; };
/* /*
* parameters conflict with C++ new on rs/6000 * parameters conflict with C++ new on rs/6000
*/ */
...@@ -3189,7 +3137,6 @@ fix = { ...@@ -3189,7 +3137,6 @@ fix = {
test_text = 'extern int rename(const char *old, const char *new);'; test_text = 'extern int rename(const char *old, const char *new);';
}; };
/* /*
* Solaris 10+ <sys/feature_tests.h> defines _RESTRICT_KYWD as restrict * Solaris 10+ <sys/feature_tests.h> defines _RESTRICT_KYWD as restrict
* for C99. This is wrong for C++, which needs many C99 features, but * for C99. This is wrong for C++, which needs many C99 features, but
...@@ -3206,7 +3153,6 @@ fix = { ...@@ -3206,7 +3153,6 @@ fix = {
test_text = "#define _RESTRICT_KYWD restrict"; test_text = "#define _RESTRICT_KYWD restrict";
}; };
/* /*
* Solaris 10+ complex.h defines _Complex_I and _Imaginary_I in terms of * Solaris 10+ complex.h defines _Complex_I and _Imaginary_I in terms of
* themselves, which are Sun Studio compiler intrinsics. Remove _Imaginary_I * themselves, which are Sun Studio compiler intrinsics. Remove _Imaginary_I
...@@ -3230,7 +3176,6 @@ fix = { ...@@ -3230,7 +3176,6 @@ fix = {
"#define I _Imaginary_I"; "#define I _Imaginary_I";
}; };
/* /*
* Solaris 10+ <complex.h> is wrapped in #ifndef __cplusplus. Wrap in * Solaris 10+ <complex.h> is wrapped in #ifndef __cplusplus. Wrap in
* extern "C" instead so libstdc++ can use it. * extern "C" instead so libstdc++ can use it.
...@@ -3247,7 +3192,6 @@ fix = { ...@@ -3247,7 +3192,6 @@ fix = {
"#endif /* !defined(__cplusplus) */"; "#endif /* !defined(__cplusplus) */";
}; };
/* /*
* g++ rejects functions declared with both C and C++ linkage. * g++ rejects functions declared with both C and C++ linkage.
*/ */
...@@ -3267,7 +3211,6 @@ fix = { ...@@ -3267,7 +3211,6 @@ fix = {
" void *bsearch(const void *, const void *, size_t, size_t,"; " void *bsearch(const void *, const void *, size_t, size_t,";
}; };
/* /*
* Solaris <iso/stdio_iso.h> doesn't declare getc for C++ with * Solaris <iso/stdio_iso.h> doesn't declare getc for C++ with
* _STRICT_STDC, but uses it. * _STRICT_STDC, but uses it.
...@@ -3284,7 +3227,6 @@ fix = { ...@@ -3284,7 +3227,6 @@ fix = {
"#if !defined(_REENTRANT) && !defined(_LP64) && !defined(_STRICT_STDC)"; "#if !defined(_REENTRANT) && !defined(_LP64) && !defined(_STRICT_STDC)";
}; };
/* /*
* Before Solaris 10, <iso/setjmp_iso.h> doesn't mark longjump noreturn. * Before Solaris 10, <iso/setjmp_iso.h> doesn't mark longjump noreturn.
*/ */
...@@ -3300,7 +3242,6 @@ fix = { ...@@ -3300,7 +3242,6 @@ fix = {
test_text = "extern void longjmp(jmp_buf, int);"; test_text = "extern void longjmp(jmp_buf, int);";
}; };
/* /*
* Sun Solaris 10 defines several C99 math macros in terms of * Sun Solaris 10 defines several C99 math macros in terms of
* builtins specific to the Studio compiler, in particular not * builtins specific to the Studio compiler, in particular not
...@@ -3359,7 +3300,8 @@ fix = { ...@@ -3359,7 +3300,8 @@ fix = {
files = iso/math_c99.h; files = iso/math_c99.h;
c_fix = format; c_fix = format;
c_fix_arg = "#define\tfpclassify(x) \\\n" c_fix_arg = "#define\tfpclassify(x) \\\n"
" __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, FP_SUBNORMAL, FP_ZERO, (x))"; " __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, "
"FP_SUBNORMAL, FP_ZERO, (x))";
c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)"; c_fix_arg = "^#define[ \t]+fpclassify\\(x\\)[ \t]+__builtin_fpclassify\\(x\\)";
test_text = test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
...@@ -3393,7 +3335,8 @@ fix = { ...@@ -3393,7 +3335,8 @@ fix = {
files = iso/math_c99.h; files = iso/math_c99.h;
c_fix = format; c_fix = format;
c_fix_arg = "#define\t%1(x, y)%2__builtin_%1(x, y)"; 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\\)\\)"; c_fix_arg = "^#define[ \t]+([a-z]+)\\(x, y\\)([ \t]+)\\(\\(x\\) "
"__builtin_[a-z]+\\(y\\)\\)";
test_text = test_text =
'#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n" '#ident "@(#)math_c99.h 1.9 04/11/01 SMI"'"\n"
"#undef isgreater\n" "#undef isgreater\n"
...@@ -3422,9 +3365,12 @@ fix = { ...@@ -3422,9 +3365,12 @@ fix = {
c_fix = format; c_fix = format;
c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)"; c_fix_arg = "#define\tisinf(x) __builtin_isinf(x)";
c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n" c_fix_arg = "^#define[ \t]+isinf\\(x\\)[ \t]+__extension__\\([ \t]*\\\\\n"
"[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);[ \t]*\\\\\n" "[ \t]*\\{[ \t]*__typeof\\(x\\)[ \t]*__x_i[ \t]*=[ \t]*\\(x\\);"
"[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*INFINITY[ \t]*\\|\\|[ \t]*\\\\\n" "[ \t]*\\\\\n"
"[ \t]*__x_i[ \t]*==[ \t]*\\(__typeof\\(__x_i\\)\\)[ \t]*\\(-INFINITY\\);[ \t]*\\}\\)"; "[ \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 = test_text =
'#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n" '#pragma ident "@(#)math_c99.h 1.12 07/01/21 SMI"'"\n"
"#undef isinf\n" "#undef isinf\n"
...@@ -3472,7 +3418,6 @@ fix = { ...@@ -3472,7 +3418,6 @@ fix = {
" {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}"; " {{{0, 0, 0, 0}, DEFAULT_TYPE, _COND_MAGIC}, 0}";
}; };
/* /*
* The pow overloads with int were removed in C++ 2011 DR 550. * The pow overloads with int were removed in C++ 2011 DR 550.
*/ */
...@@ -3490,7 +3435,6 @@ fix = { ...@@ -3490,7 +3435,6 @@ fix = {
" __powl(__X, (long double) (__Y)); }"; " __powl(__X, (long double) (__Y)); }";
}; };
/* /*
* Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some * Sun Solaris defines PTHREAD_RWLOCK_INITIALIZER with a "0" for some
* fields of the pthread_rwlock_t structure, which are of type * fields of the pthread_rwlock_t structure, which are of type
...@@ -3517,7 +3461,6 @@ fix = { ...@@ -3517,7 +3461,6 @@ fix = {
"#define PTHREAD_RWLOCK_INITIALIZER\t{0, 0, 0, {0, 0, 0}, {0, 0}, {0, 0}}"; "#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 * Sun Solaris defines PTHREAD_ONCE_INIT as an array containing a
* structure. As such, it need two levels of brackets, but only * structure. As such, it need two levels of brackets, but only
...@@ -3536,7 +3479,6 @@ fix = { ...@@ -3536,7 +3479,6 @@ fix = {
"#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}"; "#define PTHREAD_ONCE_INIT\t{0, 0, 0, PTHREAD_ONCE_NOTDONE}";
}; };
/* /*
* Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some * Sun Solaris defines PTHREAD_ONCE_INIT with a "0" for some
* fields of the pthread_once_t structure, which are of type * fields of the pthread_once_t structure, which are of type
...@@ -3569,7 +3511,6 @@ fix = { ...@@ -3569,7 +3511,6 @@ fix = {
"#define PTHREAD_ONCE_INIT\t{{0, 0, 0, PTHREAD_ONCE_NOTDONE}}\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 * Sun Solaris 2 has a version of sys/int_const.h that defines
* UINT8_C and UINT16_C to unsigned constants. * UINT8_C and UINT16_C to unsigned constants.
...@@ -3591,7 +3532,6 @@ fix = { ...@@ -3591,7 +3532,6 @@ fix = {
"#define UINT16_C(c) __CONCAT__(c,u)"; "#define UINT16_C(c) __CONCAT__(c,u)";
}; };
/* /*
* Sun Solaris 2 has a version of sys/int_limits.h that defines * Sun Solaris 2 has a version of sys/int_limits.h that defines
* UINT8_MAX and UINT16_MAX to unsigned constants. * UINT8_MAX and UINT16_MAX to unsigned constants.
...@@ -3610,7 +3550,6 @@ fix = { ...@@ -3610,7 +3550,6 @@ fix = {
"#define UINT16_MAX (65535U)"; "#define UINT16_MAX (65535U)";
}; };
/* /*
* Sun Solaris 2 has a version of sys/int_limits.h that defines * Sun Solaris 2 has a version of sys/int_limits.h that defines
* INT_FAST16 limits to wrong values for sys/int_types.h. * INT_FAST16 limits to wrong values for sys/int_types.h.
...@@ -3628,7 +3567,6 @@ fix = { ...@@ -3628,7 +3567,6 @@ fix = {
"#define INT_FAST16_MIN INT16_MIN"; "#define INT_FAST16_MIN INT16_MIN";
}; };
/* /*
* Sun Solaris 2 has a version of sys/int_limits.h that defines * Sun Solaris 2 has a version of sys/int_limits.h that defines
* SIZE_MAX as unsigned long. * SIZE_MAX as unsigned long.
...@@ -3644,7 +3582,6 @@ fix = { ...@@ -3644,7 +3582,6 @@ fix = {
"#define SIZE_MAX 4294967295UL"; "#define SIZE_MAX 4294967295UL";
}; };
/* /*
* Sun Solaris up to 9 has a version of sys/int_types.h that forbids use * Sun Solaris up to 9 has a version of sys/int_types.h that forbids use
* of Standard C99 64-bit types in 32-bit mode. * of Standard C99 64-bit types in 32-bit mode.
...@@ -3666,7 +3603,6 @@ fix = { ...@@ -3666,7 +3603,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the * Solaris 10+ <spawn.h> uses char *const argv[_RESTRICT_KYWD] in the
* posix_spawn declarations, which doesn't work with C++. * posix_spawn declarations, which doesn't work with C++.
...@@ -3683,7 +3619,6 @@ fix = { ...@@ -3683,7 +3619,6 @@ fix = {
"char *const envp[_RESTRICT_KYWD]);"; "char *const envp[_RESTRICT_KYWD]);";
}; };
/* /*
* Before Solaris 10, <stdio.h> lacks declarations of std::__filbuf and * Before Solaris 10, <stdio.h> lacks declarations of std::__filbuf and
* std::__flsbuf, but <iso/stdio_iso.h> uses them. * std::__flsbuf, but <iso/stdio_iso.h> uses them.
...@@ -3704,7 +3639,6 @@ fix = { ...@@ -3704,7 +3639,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* Sun Solaris 8 has what appears to be some gross workaround for * Sun Solaris 8 has what appears to be some gross workaround for
* some old version of their c++ compiler. G++ doesn't want it * some old version of their c++ compiler. G++ doesn't want it
...@@ -3723,7 +3657,6 @@ fix = { ...@@ -3723,7 +3657,6 @@ fix = {
test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)"; test_text = "#if\tdefined(__cplusplus) && (__cplusplus < 54321L)";
}; };
/* /*
* On Solaris 9, __va_list needs to become a typedef for * On Solaris 9, __va_list needs to become a typedef for
* __builtin_va_list to make -Wmissing-format-attribute work. * __builtin_va_list to make -Wmissing-format-attribute work.
...@@ -3751,7 +3684,6 @@ fix = { ...@@ -3751,7 +3684,6 @@ fix = {
"#endif"; "#endif";
}; };
/* /*
* a missing semi-colon at the end of the statsswtch structure definition. * a missing semi-colon at the end of the statsswtch structure definition.
*/ */
...@@ -3764,7 +3696,6 @@ fix = { ...@@ -3764,7 +3696,6 @@ fix = {
test_text = "struct statswtch {\n int boottime\n};"; test_text = "struct statswtch {\n int boottime\n};";
}; };
/* /*
* Arrange for stdio.h to use stdarg.h to define __gnuc_va_list. * Arrange for stdio.h to use stdarg.h to define __gnuc_va_list.
* On 4BSD-derived systems, stdio.h defers to machine/ansi.h; that's * On 4BSD-derived systems, stdio.h defers to machine/ansi.h; that's
...@@ -3788,7 +3719,6 @@ fix = { ...@@ -3788,7 +3719,6 @@ fix = {
test_text = ""; test_text = "";
}; };
/* /*
* Don't use or define the name va_list in stdio.h. This is for * Don't use or define the name va_list in stdio.h. This is for
* ANSI. Note _BSD_VA_LIST_ is dealt with elsewhere. The presence * ANSI. Note _BSD_VA_LIST_ is dealt with elsewhere. The presence
...@@ -3836,7 +3766,6 @@ fix = { ...@@ -3836,7 +3766,6 @@ fix = {
test_text = "extern void mumble( va_list);"; test_text = "extern void mumble( va_list);";
}; };
/* /*
* Fix headers that use va_list from stdio.h to use the updated * Fix headers that use va_list from stdio.h to use the updated
* va_list from the stdio_va_list change. Note _BSD_VA_LIST_ is * va_list from the stdio_va_list change. Note _BSD_VA_LIST_ is
...@@ -3886,7 +3815,6 @@ fix = { ...@@ -3886,7 +3815,6 @@ fix = {
test_text = "extern void mumble( va_list);"; test_text = "extern void mumble( va_list);";
}; };
/* /*
* "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0" * "!__STDC__" or "__STDC__==0" or "__STDC__!=1" or "__STDC__-0==0"
* is "!defined( __STRICT_ANSI__ )" * is "!defined( __STRICT_ANSI__ )"
...@@ -3949,7 +3877,6 @@ fix = { ...@@ -3949,7 +3877,6 @@ fix = {
"int foo;\n#endif"; "int foo;\n#endif";
}; };
/* /*
* "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1" * "__STDC__!=0" or "__STDC__==1" or "__STDC__-0==1"
* is "defined( __STRICT_ANSI__ )" * is "defined( __STRICT_ANSI__ )"
...@@ -3969,7 +3896,6 @@ fix = { ...@@ -3969,7 +3896,6 @@ fix = {
test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif"; test_text = "#if __STDC__ == 1 /* is std C\n */\nint foo;\n#endif";
}; };
/* /*
* IRIX 4.0.5 <rpc/xdr.h> uses struct __file_s * IRIX 4.0.5 <rpc/xdr.h> uses struct __file_s
* in prototype without previous definition. * in prototype without previous definition.
...@@ -3983,7 +3909,6 @@ fix = { ...@@ -3983,7 +3909,6 @@ fix = {
test_text = "extern void xdrstdio_create( struct __file_s* );"; test_text = "extern void xdrstdio_create( struct __file_s* );";
}; };
/* /*
* IRIX 4.0.5 <rpc/auth.h> uses struct sockaddr * IRIX 4.0.5 <rpc/auth.h> uses struct sockaddr
* in prototype without previous definition. * in prototype without previous definition.
...@@ -4002,7 +3927,6 @@ fix = { ...@@ -4002,7 +3927,6 @@ fix = {
test_text = "extern AUTH* authdes_create( struct sockaddr* );"; test_text = "extern AUTH* authdes_create( struct sockaddr* );";
}; };
/* /*
* Apply fix this to all OSs since this problem seems to effect * Apply fix this to all OSs since this problem seems to effect
* more than just SunOS. * more than just SunOS.
...@@ -4030,7 +3954,6 @@ fix = { ...@@ -4030,7 +3954,6 @@ fix = {
"};"; "};";
}; };
/* /*
* Fix bogus #ifdef on SunOS 4.1. * Fix bogus #ifdef on SunOS 4.1.
*/ */
...@@ -4045,7 +3968,6 @@ fix = { ...@@ -4045,7 +3968,6 @@ fix = {
test_text = "#ifdef __i386__ || __vax__ || __sun4c__"; test_text = "#ifdef __i386__ || __vax__ || __sun4c__";
}; };
/* /*
* Fix the CAT macro in SunOS memvar.h. * Fix the CAT macro in SunOS memvar.h.
*/ */
...@@ -4064,7 +3986,6 @@ fix = { ...@@ -4064,7 +3986,6 @@ fix = {
"#define CAT(a,b)\ta/**/b"; "#define CAT(a,b)\ta/**/b";
}; };
/* /*
* Fix return type of free and {c,m,re}alloc in <malloc.h> on SunOS 4.1. * Fix return type of free and {c,m,re}alloc in <malloc.h> on SunOS 4.1.
* Also fix return type of {m,re}alloc in <malloc.h> on sysV68 * Also fix return type of {m,re}alloc in <malloc.h> on sysV68
...@@ -4088,7 +4009,6 @@ fix = { ...@@ -4088,7 +4009,6 @@ fix = {
"char*\trealloc();"; "char*\trealloc();";
}; };
/* /*
* Check for yet more missing ';' in struct (in SunOS 4.0.x) * Check for yet more missing ';' in struct (in SunOS 4.0.x)
*/ */
...@@ -4100,7 +4020,6 @@ fix = { ...@@ -4100,7 +4020,6 @@ fix = {
test_text = "struct mumble\n int _cnt\n};"; test_text = "struct mumble\n int _cnt\n};";
}; };
/* /*
* signal.h on SunOS defines signal using (), * signal.h on SunOS defines signal using (),
* which causes trouble when compiling with g++ -pedantic. * which causes trouble when compiling with g++ -pedantic.
...@@ -4120,7 +4039,6 @@ fix = { ...@@ -4120,7 +4039,6 @@ fix = {
test_text = "void\t(*signal())();"; test_text = "void\t(*signal())();";
}; };
/* /*
* Correct the return type for strlen in strings.h in SunOS 4. * Correct the return type for strlen in strings.h in SunOS 4.
*/ */
...@@ -4133,7 +4051,6 @@ fix = { ...@@ -4133,7 +4051,6 @@ fix = {
test_text = " int\tstrlen(); /* string length */"; test_text = " int\tstrlen(); /* string length */";
}; };
/* /*
* Disable apparent native compiler optimization cruft in SVR4.2 <string.h> * Disable apparent native compiler optimization cruft in SVR4.2 <string.h>
* that is visible to any ANSI compiler using this include. Simply * that is visible to any ANSI compiler using this include. Simply
...@@ -4147,7 +4064,6 @@ fix = { ...@@ -4147,7 +4064,6 @@ fix = {
test_text = "#define strlen __std_hdr_strlen\n"; test_text = "#define strlen __std_hdr_strlen\n";
}; };
/* /*
* Fix broken decl of getcwd present on some svr4 systems. * Fix broken decl of getcwd present on some svr4 systems.
*/ */
...@@ -4164,7 +4080,6 @@ fix = { ...@@ -4164,7 +4080,6 @@ fix = {
test_text = "extern char* getcwd(char *, int);"; test_text = "extern char* getcwd(char *, int);";
}; };
/* /*
* Fix broken decl of profil present on some svr4 systems. * Fix broken decl of profil present on some svr4 systems.
*/ */
...@@ -4182,7 +4097,6 @@ fix = { ...@@ -4182,7 +4097,6 @@ fix = {
'profil(unsigned short *, unsigned int, unsigned int, unsigned int);'; 'profil(unsigned short *, unsigned int, unsigned int, unsigned int);';
}; };
/* /*
* Correct types for signal handler constants like SIG_DFL; they might be * Correct types for signal handler constants like SIG_DFL; they might be
* void (*) (), and should be void (*) (int). C++ doesn't like the * void (*) (), and should be void (*) (int). C++ doesn't like the
...@@ -4198,7 +4112,6 @@ fix = { ...@@ -4198,7 +4112,6 @@ fix = {
"#define SIG_IGN (void (*)())0\n"; "#define SIG_IGN (void (*)())0\n";
}; };
/* /*
* Some SysV r4 systems, including Sequent's DYNIX/ptx, use the local * Some SysV r4 systems, including Sequent's DYNIX/ptx, use the local
* function 'getrnge' in <regexp.h> before they declare it. For these * function 'getrnge' in <regexp.h> before they declare it. For these
...@@ -4227,7 +4140,6 @@ fix = { ...@@ -4227,7 +4140,6 @@ fix = {
"{}"; "{}";
}; };
/* /*
* Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn} * Fix return value of mem{ccpy,chr,cpy,set} and str{len,spn,cspn}
* in string.h on sysV68 * in string.h on sysV68
...@@ -4275,7 +4187,6 @@ fix = { ...@@ -4275,7 +4187,6 @@ fix = {
"\tstrlen(), strspn();"; "\tstrlen(), strspn();";
}; };
/* /*
* Fix return type of calloc, malloc, realloc, bsearch and exit * Fix return type of calloc, malloc, realloc, bsearch and exit
*/ */
...@@ -4295,7 +4206,6 @@ fix = { ...@@ -4295,7 +4206,6 @@ fix = {
"extern char*\tbsearch(void*,size_t,size_t);\n"; "extern char*\tbsearch(void*,size_t,size_t);\n";
}; };
/* /*
* __thread is now a keyword. * __thread is now a keyword.
*/ */
...@@ -4327,7 +4237,6 @@ fix = { ...@@ -4327,7 +4237,6 @@ fix = {
test_text = "#ifdef _cplusplus\nint bogus;\n#endif"; test_text = "#ifdef _cplusplus\nint bogus;\n#endif";
}; };
/* /*
* parameters not const on DECstation Ultrix V4.0 and OSF/1. * parameters not const on DECstation Ultrix V4.0 and OSF/1.
*/ */
...@@ -4349,7 +4258,6 @@ fix = { ...@@ -4349,7 +4258,6 @@ fix = {
"extern int scanf( char *__format, ...);\n"; "extern int scanf( char *__format, ...);\n";
}; };
/* /*
* parameters not const on DECstation Ultrix V4.0 and OSF/1. * parameters not const on DECstation Ultrix V4.0 and OSF/1.
*/ */
...@@ -4371,7 +4279,6 @@ fix = { ...@@ -4371,7 +4279,6 @@ fix = {
"extern char *tempnam(char*,char*);\n"; "extern char *tempnam(char*,char*);\n";
}; };
/* /*
* Fix definitions of macros used by va-i960.h in VxWorks header file. * Fix definitions of macros used by va-i960.h in VxWorks header file.
*/ */
...@@ -4390,7 +4297,6 @@ fix = { ...@@ -4390,7 +4297,6 @@ fix = {
"#define __alignof__(x) ..."; "#define __alignof__(x) ...";
}; };
/* /*
* Define __CAN_USE_EXTERN_PREFIX on vms. * Define __CAN_USE_EXTERN_PREFIX on vms.
*/ */
...@@ -4524,15 +4430,17 @@ fix = { ...@@ -4524,15 +4430,17 @@ fix = {
*/ */
fix = { fix = {
hackname = vms_no_64bit_getopt; hackname = vms_no_64bit_getopt;
select = "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)|(char \\*optarg))([ \t]*\\(.*\\))?;\n"; select = "^[ \t]*(extern[ \t]*)?(int[ \t]*(getopt|optind|opterr|optopt)"
/* select = "^[ \t](extern[ \t))?(int[ \t](getopt|optind|opterr|optopt))|(char *optarg).*;\n"; */ "|(char \\*optarg))([ \t]*\\(.*\\))?;\n";
mach = "*-*-*vms*"; mach = "*-*-*vms*";
files = rtldef/stdio.h, rtldef/unistd.h; files = rtldef/stdio.h, rtldef/unistd.h;
c_fix = format; c_fix = format;
c_fix_arg = "#if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */\n" c_fix_arg = <<- _EOArg_
"%0" #if __INITIAL_POINTER_SIZE != 64 /* getopt is short ptr only. */
"#endif\n"; %0#endif
_EOArg_;
test_text = "int getopt (int, char * const [], const char *);"; test_text = "int getopt (int, char * const [], const char *);";
}; };
...@@ -4602,7 +4510,6 @@ fix = { ...@@ -4602,7 +4510,6 @@ fix = {
test_text = "# define\tNULL \t((void *)0) /* typed NULL */"; test_text = "# define\tNULL \t((void *)0) /* typed NULL */";
}; };
/* /*
* Make VxWorks header which is almost gcc ready fully gcc ready. * Make VxWorks header which is almost gcc ready fully gcc ready.
*/ */
...@@ -4678,7 +4585,6 @@ fix = { ...@@ -4678,7 +4585,6 @@ fix = {
test_text = "extern STATUS mkdir (const char * _qwerty) ;"; test_text = "extern STATUS mkdir (const char * _qwerty) ;";
}; };
/* /*
* Fix VxWorks <time.h> to not require including <vxTypes.h>. * Fix VxWorks <time.h> to not require including <vxTypes.h>.
*/ */
...@@ -4691,7 +4597,6 @@ fix = { ...@@ -4691,7 +4597,6 @@ fix = {
test_text = "uint_t\t_clocks_per_sec;"; test_text = "uint_t\t_clocks_per_sec;";
}; };
/* /*
* Fix VxWorks <sys/stat.h> to not require including <vxWorks.h>. * Fix VxWorks <sys/stat.h> to not require including <vxWorks.h>.
*/ */
...@@ -4725,7 +4630,6 @@ fix = { ...@@ -4725,7 +4630,6 @@ fix = {
test_text = "#include <regs.h>\n"; test_text = "#include <regs.h>\n";
}; };
/* /*
* Another bad dependency in VxWorks 5.2 <time.h>. * Another bad dependency in VxWorks 5.2 <time.h>.
*/ */
...@@ -4789,7 +4693,6 @@ fix = { ...@@ -4789,7 +4693,6 @@ fix = {
"} mumble;\n"; "} mumble;\n";
}; };
/* /*
* class in Xm/BaseClassI.h * class in Xm/BaseClassI.h
*/ */
...@@ -4805,7 +4708,6 @@ fix = { ...@@ -4805,7 +4708,6 @@ fix = {
test_text = "extern mumble (int class);\n"; test_text = "extern mumble (int class);\n";
}; };
/* /*
* new in Xm/Traversal.h * new in Xm/Traversal.h
*/ */
...@@ -4829,7 +4731,6 @@ fix = { ...@@ -4829,7 +4731,6 @@ fix = {
"};\nextern Wedged( Widget new, Widget old );"; "};\nextern Wedged( Widget new, Widget old );";
}; };
/* /*
* Incorrect sprintf declaration in X11/Xmu.h * Incorrect sprintf declaration in X11/Xmu.h
*/ */
...@@ -4871,6 +4772,11 @@ fix = { ...@@ -4871,6 +4772,11 @@ fix = {
__asm__ __volatile__ ("divss %0, %0" : : "x" (__f)); __asm__ __volatile__ ("divss %0, %0" : : "x" (__f));
_EOText_; _EOText_;
}; };
/*
* Incorrect feraiseexcept extern inline in bits/fenv.h on x86_64
* that fails when compiling for SSE-less 32-bit x86.
*/
fix = { fix = {
hackname = feraiseexcept_nosse_divbyzero; hackname = feraiseexcept_nosse_divbyzero;
mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*'; mach = 'i[34567]86-*-linux*', 'x86*-linux*', 'amd64-*-linux*';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment