<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Aug 18, 2015 at 10:28 AM, Robinson, Paul <span dir="ltr"><<a href="mailto:Paul_Robinson@playstation.sony.com" target="_blank">Paul_Robinson@playstation.sony.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple">
<div><span class="">
<p class="MsoNormal">Sorry I wasn't clear - I was referring to the ABI lowering of C++ by value parameters. <br>
<br>
struct foo { foo(const foo&); int i; };<br>
struct bar { int i; };<br>
void func(foo, bar) { }<br>
<br>
foo and bar are passed quite differently in the ABI<br>
<br>
<span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
</span><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">And the formal parameters are described quite differently in the DWARF, </span></p></div></div></blockquote><div><br>What differences are you referring to? They're described quite the same. The only difference in the two parameters is their DW_AT_location, and you can't rely on that for the calling convention - it just describes where to find the variable once you're past the prologue. In LLVM, that's often /just/ the alloca we copy the value into, not the register the parameter was passed in.<br><br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">meaning the debugger doesn't need special knowledge of the ABI to interpret the DWARF
correctly. I still don't see how this is relevant to the discussion at hand.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">--paulr<u></u><u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div>
</div>
</div>
</blockquote></div><br></div></div>