<div dir="ltr">I'm actually kind of curious what kinds of test code this is breaking.  I'm imagining this program:<div><br></div><div>struct A {</div><div>  virtual void foo();</div><div>  int x;<br>};</div><div>uintptr_t buf[2] = { 0xdeadbeef, 0x1234 };</div>
<div>int main() {}</div><div><br></div><div>(lldb) print *(A*)buf</div><div><br></div><div>In this case, there will be no debug info for A, and the program still compiles and links, because nobody ever created an A.<br><div>
<br></div><div>It isn't really here or there, though, since it sounds like nobody has time to work on this at the moment.</div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jul 14, 2014 at 11:20 AM,  <span dir="ltr"><<a href="mailto:jingham@apple.com" target="_blank">jingham@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Again, I'd like to separate the concerns of "supporting code built with -fno-standalone-debug" in real life and supporting it in the testsuite.  If what's mostly going on in the testsuite is that this option makes the compiler's "you're not using it so you get no debug info for it" optimization too aggressive for the style of code you write in test suites (which is quite artificial, not much significant code is 30 or 40 lines long in toto, mostly defining things so we can poke at them) then it doesn't seem like getting ourselves into a fight with the compiler in this venue is really worth the effort.  My suspicion is that this is what is going on, just because we don't have a lot of complex classes in the testsuite, but I don't have time to chase this down right now.<br>

<br>
This is not to take a stance one way or the other about support for -fno-standalone-debug.  I'm just saying that in the past it has always been tricky to write test cases that the compiler's desire to reduce debug info doesn't fight against.  In "normal" code this generally sorts itself out because there isn't much of interest which gets introduced to your code that somebody doesn't use somewhere...  But having to write more complex than necessary test cases just so we can win this fight against the compiler seems a waste of time.<br>

<br>
And of course as we work to support -fno-standalone-debug we could add some test cases that exercise the kinds of elisions that cause trouble IRL.  Just maybe not impose that burden on the whole testsuite.<br>
<br>
Jim<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> On Jul 13, 2014, at 2:08 PM, Ed Maste <<a href="mailto:emaste@freebsd.org">emaste@freebsd.org</a>> wrote:<br>
><br>
> On 11 July 2014 00:18, Reid Kleckner <<a href="mailto:rnk@google.com">rnk@google.com</a>> wrote:<br>
>> Anyway, we should try to figure something out.  I understand if you're not<br>
>> interested in pursuing this work, I just hope that patches to make LLDB<br>
>> smarter about this are welcome, and that we can help out as necessary on the<br>
>> Clang side.<br>
><br>
> I'd really like to see this get sorted out.  Right now on FreeBSD we<br>
> also have -fstandalone-debug enabled by default due to this and other<br>
> reasons; I'd really like to be able to turn it back off.  I haven't<br>
> seen anything to suggest there would be an objection to improving this<br>
> in LLDB.<br>
</div></div><div class="HOEnZb"><div class="h5">> _______________________________________________<br>
> lldb-dev mailing list<br>
> <a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
<br>
_______________________________________________<br>
lldb-dev mailing list<br>
<a href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a><br>
</div></div></blockquote></div><br></div>