From dbcc9dddc3eac4d60f571a263a0cfc37948919c7 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 28 Oct 2018 12:35:01 -0600 Subject: [PATCH] xform: updates for recent MinGW --- racket/collects/compiler/private/xform.rkt | 12 ++++++++---- racket/src/mzcom/mzobj.cxx | 5 +++++ racket/src/racket/gc2/Makefile.in | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt index bb637213c8..00b76148be 100644 --- a/racket/collects/compiler/private/xform.rkt +++ b/racket/collects/compiler/private/xform.rkt @@ -892,7 +892,7 @@ = >>= <<= ^= += *= /= -= %= \|= &= ++ -- return if for while else switch case XFORM_OK_ASSIGN asm __asm __asm__ __volatile __volatile__ volatile __extension__ - __typeof sizeof __builtin_object_size + __typeof __typeof__ sizeof __builtin_object_size ;; These don't act like functions: setjmp longjmp _longjmp scheme_longjmp_setjmp scheme_mz_longjmp scheme_jit_longjmp @@ -913,7 +913,7 @@ __isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128 __inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl __builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit - __builtin_signbitf __builtin_signbitd __builtin_signbitl __builtin_isinf_sign + __builtin_signbitf __builtin_signbitd __builtin_signbitl __builtin_isinf_sign __builtin_trap _Generic __inline_isinff __inline_isinfl __inline_isinfd __inline_isnanf __inline_isnand __inline_isinf floor floorl ceil ceill round roundl fmod fmodl modf modfl fabs fabsl __maskrune _errno __errno @@ -938,7 +938,7 @@ non-functions) ht)) - (define args-unevaled '(sizeof __typeof __builtin_object_size)) + (define args-unevaled '(sizeof __typeof __typeof__ __builtin_object_size)) (define args-unevaled-table (let ([ht (make-hasheq)]) (for-each (lambda (s) @@ -1562,7 +1562,11 @@ (seq-close body-v) (list->seq (process-top-level (seq->list (seq-in body-v)) where can-drop-vars?)))) (cdddr e))] - + [(and (eq? (tok-n (car e)) 'inline) + (pair? (cdr e)) + (eq? (tok-n (cadr e)) 'namespace)) + ;; inline namespace is something we can ignore? + e] [(typedef? e) (when show-info? (printf "/* TYPEDEF */\n")) diff --git a/racket/src/mzcom/mzobj.cxx b/racket/src/mzcom/mzobj.cxx index e928f293d5..8d4891bcc8 100644 --- a/racket/src/mzcom/mzobj.cxx +++ b/racket/src/mzcom/mzobj.cxx @@ -574,6 +574,11 @@ void operator delete(void * p) free(p); } +void operator delete(void * p, unsigned long long) +{ + free(p); +} + #endif #ifdef MZ_PRECISE_GC diff --git a/racket/src/racket/gc2/Makefile.in b/racket/src/racket/gc2/Makefile.in index 3583aa1eb0..2ec9f8fcc7 100644 --- a/racket/src/racket/gc2/Makefile.in +++ b/racket/src/racket/gc2/Makefile.in @@ -380,7 +380,7 @@ $(XSRCDIR)/main.c: $(XFORMDEP) @INCLUDEDEP@ foreign.d @INCLUDEDEP@ main.d -$(XSRCDIR)/mzobj.cxx: $(XFORMDEP) +$(XSRCDIR)/mzobj.cxx: $(XFORMDEP) $(srcdir)/../../mzcom/mzobj.cxx $(XFORM_NOPRECOMP) $(XSRCDIR)/mzobj.cxx $(DEF_C_DIRS) $(srcdir)/../../mzcom/mzobj.cxx salloc.@LTO@: $(XSRCDIR)/salloc.c