<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 8 January 2013 23:15, Walter Bright <span dir="ltr"><<a href="mailto:newshound2@digitalmars.com" target="_blank">newshound2@digitalmars.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">On 1/8/2013 5:49 AM, Iain Buclaw wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Would a target.h header be fine for this?  Or do you have somewhere else in mind.<br>
</blockquote>
<br></div>
I think a target.h/target.c would be a good addition. In general, I'd like to see all #ifdef's removed from the main dmd source code. Host and target specific behaviors should be abstracted out, like what root/port.h attempts to do.<br>

<br>
</blockquote></div><br><br></div><div class="gmail_extra">OK, well I've started it off with Target::typesize, ::typealign, ::fieldalign.  Maybe also ::fieldoffset, though gdc currently uses the D frontend code to get that that with no known issues (only way to find out is when we start expanding D2 to more targets).<br>
<br></div><div class="gmail_extra">And left it with the comment:  This file contains a data structure that describes a back-end target. At present it is incomplete, but in future it should grow to contain most or all target machine and target O/S specific information.<br>
</div><div class="gmail_extra"><br><br></div><div class="gmail_extra">Regards<br></div><div class="gmail_extra"><br>-- <br>Iain Buclaw<br><br>*(p < e ? p++ : p) = (c & 0x0f) + '0';
</div></div>