> Simon Marlow <marlowsd@gmail.com> writes:

>

> >> One concern that I have is that the RTS's header file structure (where

> >> everything is #include'd via Rts.h) doesn't work very well for this

> >> particular use, where we have a group of headers specific to a

> >> particular subsystem (e.g. linker/*.h). Consequently, these header files

> >> currently lack enclosing `extern "C"` blocks (as well as

> >> Begin/EndPrivate blocks). It would be easy to add these, but I was

> >> curious to hear if others had any better ideas.

> >>

> >>

> > Not sure I understand the problem.  Rts.h is for *public* APIs, those that

> > are accessible outside the RTS, but these APIs are mostly *internal*.  The

> > public-facing linker API is in includes/rts/Linker.h.

> >

> > We don't need extern "C" in the internal header files because we're never

> > going to include these from C++ (we do in the external ones though). But we

> > should have BeginPrivate.h/EndPrivate.h in the internal headers.

> >

>

> Ahh, right; silly me. I'll just add the necessary BeginPrivates and

> hopefully we get this merged after Karel reports back with the results

> of his testing. Thanks Simon!

 

Great work! I'm itching to take an Axe to the PE stuff. lots of constants can just go.

 

>

> Cheers,

>

> - Ben