<div dir="ltr">Oops, sorry, "make -k" wasn't doing what I thought it would. There are in fact other places that use the first signature, for example "CommandObjectPlatformGetFile" (implementing 'lldb platform get-file"). This also seems like a bug somewhere, as it won't work with all platforms (since the base class just gives an error).</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 15, 2014 at 8:37 AM, Steve Pucci <span dir="ltr"><<a href="mailto:spucci@google.com" target="_blank">spucci@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi all,<div><br></div><div>Platform::GetFile is an overloaded method with two signatures:</div><div><br></div><div><div><font face="courier new, monospace"> virtual Error</font></div><div><font face="courier new, monospace"> GetFile (const FileSpec &platform_file, </font></div>
<div><font face="courier new, monospace"> const UUID *uuid_ptr,</font></div><div><font face="courier new, monospace"> FileSpec &local_file);</font></div><div><font face="courier new, monospace">...</font></div>
<div><font face="courier new, monospace"> virtual Error</font></div><div><font face="courier new, monospace"> GetFile (const FileSpec& source,</font></div><div><font face="courier new, monospace"> const FileSpec& destination);</font></div>
</div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><br></font></div><div>The first has a large comment block and a working base-class implementation. The second has an error implementation in the base class and no documentation. Only PlatformPosix redefines the second one, but API/SBPlatform.cpp uses it, which seems to imply that SBPlatform.cpp will only work with PosixPlatform. I'm not sure what SBPlatform's intended use is but it uses base-class PlatformSP pointers so it seems like this might be a bug.</div>
<div><br></div><div>As you may know this situation results in the second signature being hidden in all derived classes that implement the first signature but not the second, which is most of them. gcc gives a warning about this hiding, which is one reason I'm trying to track it down, but it seems like something's not quite right about this anyway... I could silence gcc's warnings by a "using Platform::GetFile" in the derived classes, but I want to verify if there's a real problem before I do that.</div>
<div><br></div><div>Thanks,</div><div> Steve</div></div>
</blockquote></div><br></div>