<div dir="ltr">On Sun, Aug 31, 2008 at 1:08 AM, Matthew Fluet <span dir="ltr">&lt;<a href="mailto:fluet@tti-c.org">fluet@tti-c.org</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I&#39;ve committed your patch plus a few more that gets external functions and symbols working on x86-darwin.</blockquote><div><br>Thanks!<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The above code works with the native codegen, but not with the C codegen --- due to the fact that &#39;sin&#39; is declared as a function in &lt;math.h&gt; and then declared as an untyped extern (defaulting to int; would it be better to declare _address symbols as &#39;extern void&#39;?) in the generated C code.</blockquote>
<div><br> Making them void makes more sense to me. I just assumed there was a reason it had no type information. It will still conflict for the &#39;sin&#39; case, though. I&#39;m not really sure what the trade-offs are. Probably the only difference would be if the target had different pointer sizes for different types (where void must be the largest). So far every MLton target has only one pointer type, I believe.<br>
<br></div></div></div>