<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>> Simon Marlow <marlowsd@gmail.com> writes:</p><p class=MsoNormal>> </p><p class=MsoNormal>> >> One concern that I have is that the RTS's header file structure (where</p><p class=MsoNormal>> >> everything is #include'd via Rts.h) doesn't work very well for this</p><p class=MsoNormal>> >> particular use, where we have a group of headers specific to a</p><p class=MsoNormal>> >> particular subsystem (e.g. linker/*.h). Consequently, these header files</p><p class=MsoNormal>> >> currently lack enclosing `extern "C"` blocks (as well as</p><p class=MsoNormal>> >> Begin/EndPrivate blocks). It would be easy to add these, but I was</p><p class=MsoNormal>> >> curious to hear if others had any better ideas.</p><p class=MsoNormal>> >></p><p class=MsoNormal>> >></p><p class=MsoNormal>> > Not sure I understand the problem.  Rts.h is for *public* APIs, those that</p><p class=MsoNormal>> > are accessible outside the RTS, but these APIs are mostly *internal*.  The</p><p class=MsoNormal>> > public-facing linker API is in includes/rts/Linker.h.</p><p class=MsoNormal>> ></p><p class=MsoNormal>> > We don't need extern "C" in the internal header files because we're never</p><p class=MsoNormal>> > going to include these from C++ (we do in the external ones though). But we</p><p class=MsoNormal>> > should have BeginPrivate.h/EndPrivate.h in the internal headers.</p><p class=MsoNormal>> ></p><p class=MsoNormal>> </p><p class=MsoNormal>> Ahh, right; silly me. I'll just add the necessary BeginPrivates and</p><p class=MsoNormal>> hopefully we get this merged after Karel reports back with the results</p><p class=MsoNormal>> of his testing. Thanks Simon!</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Great work! I'm itching to take an Axe to the PE stuff. lots of constants can just go.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>> </p><p class=MsoNormal>> Cheers,</p><p class=MsoNormal>> </p><p class=MsoNormal>> - Ben</p></div></body></html>