Last change
on this file since 11555 was
11555,
checked in by rme, 12 years ago
|
Small structs returned in registers by the Cygwin compiler, too. This
is apparently what the MS compilers do, as well.
|
File size:
1.1 KB
|
Line | |
---|
1 | (in-package "CCL") |
---|
2 | |
---|
3 | ;;; Cygwin compiler returns small structures in registers |
---|
4 | ;;; (just like on Darwin, apparently). |
---|
5 | (defun win32::record-type-returns-structure-as-first-arg (rtype) |
---|
6 | (when (and rtype |
---|
7 | (not (typep rtype 'unsigned-byte)) |
---|
8 | (not (member rtype *foreign-representation-type-keywords* |
---|
9 | :test #'eq))) |
---|
10 | (let* ((ftype (if (typep rtype 'foreign-type) |
---|
11 | rtype |
---|
12 | (parse-foreign-type rtype))) |
---|
13 | (nbits (ensure-foreign-type-bits ftype))) |
---|
14 | (not (member nbits '(8 16 32 64)))))) |
---|
15 | |
---|
16 | (defun win32::expand-ff-call (callform args &key (arg-coerce #'null-coerce-foreign-arg) (result-coerce #'null-coerce-foreign-result)) |
---|
17 | (x8632::expand-ff-call callform args :arg-coerce arg-coerce :result-coerce result-coerce)) |
---|
18 | |
---|
19 | (defun win32::generate-callback-bindings (stack-ptr fp-args-ptr argvars argspecs result-spec struct-result-name) |
---|
20 | (x8632::generate-callback-bindings stack-ptr fp-args-ptr argvars argspecs result-spec struct-result-name)) |
---|
21 | |
---|
22 | (defun win32::generate-callback-return-value (stack-ptr fp-args-ptr result return-type struct-return-arg) |
---|
23 | (x8632::generate-callback-return-value stack-ptr fp-args-ptr result return-type struct-return-arg)) |
---|
24 | |
---|
Note: See
TracBrowser
for help on using the repository browser.