[dylan-lang/opendylan] a6e112: dfmc-c-back-end: Fix MV #rest type checks

GitHub <[email protected]> Wed, 06 Jan 2016 09:29:08 -0800
Newsgroups gmane.comp.lang.dylan.gwydion.cvs
Message-ID <568d4ee479ad1_5d8e3f8592e852b8190@hookshot-fe1-cp1-prd.iad.github.net.mail>
----==_mimepart_568d4ee4795c5_5d8e3f8592e852b8185b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit

  Branch: refs/heads/master
  Home:   https://github.com/dylan-lang/opendylan
  Commit: a6e112b7aea286d3c7c4ada6740cae55c21a718e
      https://github.com/dylan-lang/opendylan/commit/a6e112b7aea286d3c7c4ada6740cae55c21a718e
  Author: Bruce Mitchener <[email protected]>
  Date:   2016-01-06 (Wed, 06 Jan 2016)

  Changed paths:
    M sources/dfmc/c-back-end/c-emit-computation.dylan

  Log Message:
  -----------
  dfmc-c-back-end: Fix MV #rest type checks

This is a follow up to  d39243638c0eae479847a45fa6109caaa692a265.

When an mv-check-type-rest happens as a result of a function which
has no specified values in the signature, then the code prior to
this commit was not emitting any transfer of values. This led to
an uninitialized memory read when attempting to use the return
value from this function.

(This happened in the objective-c bridge library with the various
as-raw-* methods.)

Fixes #1016.

* sources/dfmc/c-back-end/c-emit-computation.dylan
  (emit-computation on <multiple-value-check-type-rest>): Add missing
   transfer of values when there is no value specification in the
   signature.



----==_mimepart_568d4ee4795c5_5d8e3f8592e852b8185b
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

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