diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt index 00b76148be..10be0b53dc 100644 --- a/racket/collects/compiler/private/xform.rkt +++ b/racket/collects/compiler/private/xform.rkt @@ -1808,7 +1808,8 @@ (define (struct-decl? e) (and (memq (tok-n (car e)) '(struct enum)) - (ormap braces? (cdr e)))) + (ormap braces? (cdr e)) + (not (function? e)))) (define (class-decl? e) (memq (tok-n (car e)) '(class))) diff --git a/racket/src/racket/src/setjmpup.c b/racket/src/racket/src/setjmpup.c index 421c309d6a..66b66728fb 100644 --- a/racket/src/racket/src/setjmpup.c +++ b/racket/src/racket/src/setjmpup.c @@ -590,7 +590,7 @@ struct Scheme_Overflow_Jmp *scheme_prune_jmpup(struct Scheme_Overflow_Jmp *jmp, base = (char *)stack_boundary; # else delta = 0; - new_size = (intptr_t)stack_boundary - (intptr_t)jmp->cont.stack_from; + new_size = (intptr_t)stack_boundary XFORM_OK_MINUS (intptr_t)jmp->cont.stack_from; base = jmp->cont.stack_from; # endif