[dylan-lang/opendylan] f5e620: [dfmc-c-linker] Fix indirect C-functions.

GitHub <[email protected]> Sat, 10 Oct 2015 16:33:26 -0700
Newsgroups gmane.comp.lang.dylan.gwydion.cvs
Message-ID <5619a046c5ac3_2ed83fbed97712bc37340@hookshot-fe5-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/dylan-lang/opendylan
  Commit: f5e620e0228547b1cb02123e6a6ca98c20f8cac7
      https://github.com/dylan-lang/opendylan/commit/f5e620e0228547b1cb02123e6a6ca98c20f8cac7
  Author: Bruce Mitchener <[email protected]>
  Date:   2015-10-10 (Sat, 10 Oct 2015)

  Changed paths:
    M documentation/release-notes/source/2015.1.rst
    M sources/dfmc/c-linker/c-link-c-object.dylan

  Log Message:
  -----------
  [dfmc-c-linker] Fix indirect C-functions.

Prior to this commit, indirect C-functions only worked on the C back-end
when they had a single parameter. If they had no parameters, then dylan-compiler
would error, and if they had 2 or more, then the generated C would be incorrect
and result in a C compiler error.

Fixes #990. Fixes #991.

* sources/dfmc/c-linker/c-link-c-object.dylan
  (emit-parameter-types): Emit all of the required parameters, even
   if it is indirect as the function pointer won't be present in this
   required parameter list. Also, handle having no required parameters
   and correctly generating "(void)" as the parameter list rather than
   "()" which means the wrong thing in C.


  Commit: 7d352d0cf3e0d560a7ab08e42a0fac2d6eab0c70
      https://github.com/dylan-lang/opendylan/commit/7d352d0cf3e0d560a7ab08e42a0fac2d6eab0c70
  Author: Bruce Mitchener <[email protected]>
  Date:   2015-10-11 (Sun, 11 Oct 2015)

  Changed paths:
    M sources/lib/c-ffi/test/main.c
    M sources/lib/c-ffi/test/tests.dylan

  Log Message:
  -----------
  [c-ffi,tests] Improve indirect c-function coverage.

* sources/lib/c-ffi/test/main.c: Replace single indirect function
  with 3: 0 args, 1 arg, 2 args.

* sources/lib/c-ffi/test/tests.dylan: Likewise.


  Commit: 49f01bc56cd3d8f5aad435a8e2258fa7c696603a
      https://github.com/dylan-lang/opendylan/commit/49f01bc56cd3d8f5aad435a8e2258fa7c696603a
  Author: Peter S. Housel <[email protected]>
  Date:   2015-10-10 (Sat, 10 Oct 2015)

  Changed paths:
    M documentation/release-notes/source/2015.1.rst
    M sources/dfmc/c-linker/c-link-c-object.dylan
    M sources/lib/c-ffi/test/main.c
    M sources/lib/c-ffi/test/tests.dylan

  Log Message:
  -----------
  Merge pull request #993 from waywardmonkeys/indirect-c-function

[dfmc-c-linker] Fix indirect C-functions.


Compare: https://github.com/dylan-lang/opendylan/compare/e3ad2798ed58...49f01bc56cd3

_______________________________________________
chatter mailing list
[email protected]
https://lists.opendylan.org/mailman/listinfo/chatter