<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>It'd be nice if temporary records had typeids.<br><br><br>Specifically, it'd be nice if closures, instead of being "3 word CGType.Struct" where more like<br>declare_record 3 fields typeidxxx<br> declare_field integer marker<br> declare_field address function_pointer<br> declare_field address static_link<br>declare_typename closure = typeidxxx<br><br><br>Then:<br> 1) they'd be viewable somewhat in a debugger<br> note that the static_link is up to the backend to define.<br> It is also a pointer to a struct, but the frontend doesn't know that<br><br> 2) I could soon dispense with my mechanism for declaring structs with size but not particular fields.<br>i.e.<br><br>#define M3STRUCT(n) m3struct_##n##_t<br>#define M3STRUCT1(n) typedef struct { volatile UINT8 a[n]; } M3STRUCT(n);<br>#define M3STRUCT2(n) typedef struct { volatile UINT16 a[(n)/2]; } M3STRUCT(n);<br>#define M3STRUCT4(n) typedef struct { volatile UINT32 a[(n)/4]; } M3STRUCT(n);<br>#define M3STRUCT8(n) typedef struct { volatile UINT64 a[(n)/8]; } M3STRUCT(n);<br>...<br>M3STRUCT8(8)<br>M3STRUCT8(24)<br>...<br><br>M3STRUCT(24) L_32_L_33 = { 0 };<br><br><br><br>all structs were using this, but now likely only closures are..er...what is that 8 byte struct?<br>That is also something I'll remove soon, unfinished work making uplevel structs strongly typed.<br>Maybe a long standing bug in the C backend also. I'll know soon..<br><br><br> - Jay<br> </div></body>
</html>