build changes aimed at making Sun tools work

Merge to v5.0
This commit is contained in:
Matthew Flatt 2010-05-28 07:13:28 -06:00
parent b96fd0c468
commit 7f2d57e827
5 changed files with 8 additions and 6 deletions

View File

@ -476,8 +476,8 @@
(define recorded-cpp-in
(and precompiled-header
(open-input-file (change-suffix precompiled-header #".e"))))
(define re:boring #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma warning.*))$")
(define re:uninteresting #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma GCC diagnostic.*)|(?:#pragma warning.*))$")
(define re:boring #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma warning.*)|(?:#ident.*))$")
(define re:uninteresting #rx#"^(?:(?:[ \t]*)|(?:# .*)|(?:#line .*)|(?:#pragma implementation.*)|(?:#pragma interface.*)|(?:#pragma once)|(?:#pragma GCC diagnostic.*)|(?:#pragma warning.*)|(?:#ident.*))$")
(define (skip-to-interesting-line p)
(let ([l (read-bytes-line p 'any)])
(cond

View File

@ -38,6 +38,8 @@ Local changes:
* Observing ftruncate result in closures.c to remove warning. (commit
b5ee4ac21b1c4d759659 and c64704742c0963310b49)
* Check for __i368 in addition to __i386__ in ffitarget.h
Note: recreating "configure" with autoconf 2.61 does not work as is,
since the scripts require 2.59. To allow this, the two requirements
in "libffi/configure.ac" and "config/override.m4" were temporarily

View File

@ -1796,7 +1796,7 @@ static Scheme_Object *foreign_compiler_sizeof(int argc, Scheme_Object *argv[])
else scheme_signal_error(MYNAME": cannot qualify 'char");
break;
case 3: /* void */
if (intsize==0 && stars>0) RETSIZE(void);
if (intsize==0 && stars>0) RETSIZE(int); /* avoid sizeof(void) */
else if (stars==0)
scheme_signal_error(MYNAME": cannot use 'void without a '*");
else scheme_signal_error(MYNAME": cannot qualify 'void");

View File

@ -1240,7 +1240,7 @@ static void* SCHEME2C(Scheme_Object *type, void *dst, long delta,
else scheme_signal_error(MYNAME": cannot qualify 'char");
break;
case 3: /* void */
if (intsize==0 && stars>0) RETSIZE(void);
if (intsize==0 && stars>0) RETSIZE(int); /* avoid sizeof(void) */
else if (stars==0)
scheme_signal_error(MYNAME": cannot use 'void without a '*");
else scheme_signal_error(MYNAME": cannot qualify 'void");

View File

@ -53,10 +53,10 @@ typedef enum ffi_abi {
#endif
/* ---- Intel x86 and AMD x86-64 - */
#if !defined(X86_WIN32) && (defined(__i386__) || defined(__x86_64__))
#if !defined(X86_WIN32) && (defined(__i386__) || defined(__i386) || defined(__x86_64__))
FFI_SYSV,
FFI_UNIX64, /* Unix variants all use the same ABI for x86-64 */
#ifdef __i386__
#if defined(__i386__) || defined(__i386)
FFI_DEFAULT_ABI = FFI_SYSV,
#else
FFI_DEFAULT_ABI = FFI_UNIX64,