<html><head><base href="x-msg://259/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">There question is where and how to communicate it back to gcc.  Does it mean putting all the module units on the same command line for compilation by a single instance of cm3cg?  Or do you communicate it some other way?<br>
<br><div><div>On 12 Jul 2010, at 19:53, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; ">I don't know. I hope not. The information is there: lowercase interface vs. uppercase Interface, lowercase module vs. uppercase Module, derived_interface(hidden or private).<br>I haven't looked at where all it is sent around.<br> <br> - Jay<br><br> <br>> Subject: Re: [M3devel] import from same .so or not<br>> From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>> Date: Mon, 12 Jul 2010 09:28:43 -0400<br>> CC:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>> To:<span class="Apple-converted-space"> </span><a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a><br>><span class="Apple-converted-space"> </span><br>> It seems to me this would require massive reworking of the build infrastructure!<br>><span class="Apple-converted-space"> </span><br>> On 11 Jul 2010, at 21:58, Jay K wrote:<br>><span class="Apple-converted-space"> </span><br>> ><span class="Apple-converted-space"> </span><br>> > It seems to me, an important bit of information is not provided to the backend.<br>> ><span class="Apple-converted-space"> </span><br>> > The backend is told "import" or "export".<br>> > But this is about "modules", .m3 files to .m3 files.<br>> ><span class="Apple-converted-space"> </span><br>> > It isn't about .so files to .so files, or .dlls to .dlls.<br>> ><span class="Apple-converted-space"> </span><br>> > It's really tristate, not boolean:<br>> > private to just this source file<span class="Apple-converted-space"> </span><br>> > private to this source file and those it statically links to<span class="Apple-converted-space"> </span><br>> > public for all<span class="Apple-converted-space"> </span><br>> ><span class="Apple-converted-space"> </span><br>> > Granted, you might statically link "everything".<br>> > There isn't enforcement of the middle state, and symbols still need to be as unique as the third state.<br>> > But it is definitely useful.<br>> ><span class="Apple-converted-space"> </span><br>> > In particular we don't use DECL_VISIBILITY (p) = VISIBILITY_HIDDEN enough.<br>> > For a long time we never used it. e.g. in the release branch.<br>> ><span class="Apple-converted-space"> </span><br>> > Agreed?<br>> > Anyone volunteer to fix?<br>> > Or mind if I try?<br>> ><span class="Apple-converted-space"> </span><br>> ><span class="Apple-converted-space"> </span><br>> > - Jay<br>> ><span class="Apple-converted-space"> </span><br>> ><span class="Apple-converted-space"> </span><br>><span class="Apple-converted-space"> </span><br></div></span></blockquote></div><br></body></html>