mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-23 20:15:05 +02:00
174 lines
10 KiB
HTML
174 lines
10 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Cyclone Scheme: load_varargs</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Cyclone Scheme
|
|
 <span id="projectnumber">0.28.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="group__prim.html">Primitives</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="contents">
|
|
<table cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td valign="top">
|
|
<div class="navtab">
|
|
<table>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gab154b8cf89ddd05acae1578d05597ec3.html#gab154b8cf89ddd05acae1578d05597ec3">__glo_call_95cc_scheme_base</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga96fe9b0b1e64dad3a56dca83bee3813c.html#ga96fe9b0b1e64dad3a56dca83bee3813c">__glo_eval_91from_91c_scheme_eval</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga2fdfd72d226550857adca7795b464c8b.html#ga2fdfd72d226550857adca7795b464c8b">cell_get</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gadb1be8a5abdf0fe836e84266417d1400.html#gadb1be8a5abdf0fe836e84266417d1400">Cyc_glo_call_cc</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gae07885205bf58cbc3795cababd5ae547.html#gae07885205bf58cbc3795cababd5ae547">Cyc_glo_eval_from_c</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga3a2aef21f17a5d5f7f82591b6b92241f.html#ga3a2aef21f17a5d5f7f82591b6b92241f">Cyc_global_set</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga4f2c5a5fc256f3af3bc45f40b145495e.html#ga4f2c5a5fc256f3af3bc45f40b145495e">Cyc_global_set_cps</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga9a240612595f5c22331d6f14f2251168.html#ga9a240612595f5c22331d6f14f2251168">get_env_variables</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga26075e97c30bab241fad5cd7bbab5879.html#ga26075e97c30bab241fad5cd7bbab5879">global_heap_size</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga63b79aa081f1235bc39c394805f8bcb9.html#ga63b79aa081f1235bc39c394805f8bcb9">global_set</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gaf968b113670a6d3a201d6c34c601b88f.html#gaf968b113670a6d3a201d6c34c601b88f">global_set_cps</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gacc4d23600377e7fe771cac388c68a16e.html#gacc4d23600377e7fe771cac388c68a16e">global_set_cps_id</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga3ebfde5f356602f31b898e7f04a31df5.html#ga3ebfde5f356602f31b898e7f04a31df5">global_set_id</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_ga40967337a1c3f523ee9623aec0f69388.html#ga40967337a1c3f523ee9623aec0f69388">global_stack_size</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindexHL" href="group__prim_ga01f75cb3cc09ef87a145e4f1ec5ac5fa.html#ga01f75cb3cc09ef87a145e4f1ec5ac5fa">load_varargs</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gabd10ce68a5e67c762c8711cbf2bd57bb.html#gabd10ce68a5e67c762c8711cbf2bd57bb">pack_env_variables</a></td></tr>
|
|
<tr><td class="navtab"><a class="qindex" href="group__prim_gad4a90351f4237dd82fdda26dcb8066bd.html#gad4a90351f4237dd82fdda26dcb8066bd">set_env_variables</a></td></tr>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
<td valign="top" class="mempage">
|
|
<a id="ga01f75cb3cc09ef87a145e4f1ec5ac5fa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ga01f75cb3cc09ef87a145e4f1ec5ac5fa">◆ </a></span>load_varargs</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define load_varargs</td>
|
|
<td>(</td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">var, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">args_var, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">start, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"> </td>
|
|
<td class="paramname">count </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <a class="code" href="structpair__type.html">list</a> var = ((count) > 0) ? alloca(<span class="keyword">sizeof</span>(<a class="code" href="structpair__type.html">pair_type</a>)*(count)) : NULL; \</div>
|
|
<div class="line"> { \</div>
|
|
<div class="line"> int i; \</div>
|
|
<div class="line"> object tmp; \</div>
|
|
<div class="line"> if ((count) > 0) { \</div>
|
|
<div class="line"> for (i = 0; i < (count); i++) { \</div>
|
|
<div class="line"> tmp = args_var[start + i]; \</div>
|
|
<div class="line"> var[i].hdr.mark = <a class="code" href="group__gc__major_ga4074eefce64a43efc40de89bc9595c9b.html#ga4074eefce64a43efc40de89bc9595c9b">gc_color_red</a>; \</div>
|
|
<div class="line"> var[i].hdr.grayed = 0; \</div>
|
|
<div class="line"> var[i].hdr.immutable = 0; \</div>
|
|
<div class="line"> var[i].tag = <a class="code" href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fcafdd0058e320cee16b553162973dc38cc">pair_tag</a>; \</div>
|
|
<div class="line"> var[i].pair_car = tmp; \</div>
|
|
<div class="line"> var[i].pair_cdr = (i == ((count)-1)) ? NULL : &var[i + 1]; \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> }</div>
|
|
</div><!-- fragment --><p>Variable argument count support</p>
|
|
<p>This macro is intended to be executed at the top of a function that is passed 'var' as a variable-length argument. 'count' is the number of varargs that were passed. EG:</p><ul>
|
|
<li>C definition: f(object a, ...)</li>
|
|
<li>C call: f(1, 2, 3)</li>
|
|
<li>var: a</li>
|
|
<li>count: 3</li>
|
|
</ul>
|
|
<p>Argument count would need to be passed by the caller of f. Presumably our compiler will compute the difference between the number of required args and the number of provided ones, and pass the difference as 'count' </p>
|
|
|
|
</div>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div><!-- contents -->
|
|
<div class="ttc" id="agroup__gc__major_ga4074eefce64a43efc40de89bc9595c9b_html_ga4074eefce64a43efc40de89bc9595c9b"><div class="ttname"><a href="group__gc__major_ga4074eefce64a43efc40de89bc9595c9b.html#ga4074eefce64a43efc40de89bc9595c9b">gc_color_red</a></div><div class="ttdeci">#define gc_color_red</div><div class="ttdef"><b>Definition:</b> types.h:297</div></div>
|
|
<div class="ttc" id="astructpair__type_html"><div class="ttname"><a href="structpair__type.html">pair_type</a></div><div class="ttdoc">The pair (cons) type.</div><div class="ttdef"><b>Definition:</b> types.h:1247</div></div>
|
|
<div class="ttc" id="agroup__objects_ga3eff9ebd9f241e211e00b991e2ac60fc_html_gga3eff9ebd9f241e211e00b991e2ac60fcafdd0058e320cee16b553162973dc38cc"><div class="ttname"><a href="group__objects_ga3eff9ebd9f241e211e00b991e2ac60fc.html#gga3eff9ebd9f241e211e00b991e2ac60fcafdd0058e320cee16b553162973dc38cc">pair_tag</a></div><div class="ttdeci">@ pair_tag</div><div class="ttdef"><b>Definition:</b> types.h:64</div></div>
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|