[Lldb-commits] [PATCH] [2/2] Fix Path support on Windows

Zachary Turner zturner at google.com
Wed Jul 30 16:49:19 PDT 2014


>>! In D4675#11, @deepak2427 wrote:
> Thanks for fixing this. I haven't had a chance to test this patch with our cross-platform issues yet, have to look at some other issues first. 
> Just a couple of doubts I had.
> 
> - Are the paths always going to default as ePathSyntaxHostNative and then converted based on the Host?
> - In 733       llvm::SmallString<64> denormalized; , is the length of 64 enough?
> - I'm not that familiar with LLVM data structures, however would it be better to keep llvm::SmallString itself for the Normalize/Denormalize functions to keep it consistent?

Paths default to SyntaxHostNative because that makes the semantics post-patch equivalent to pre-patch.  Normalized form is basically unix form, so if the syntax ends up as ePathSyntaxPosix (either because it was explicitly specified or because host was specified and your host is posix), then normalization and de-normalization are both no-ops.  

SmallString<64> just means that it keeps 64 bytes on the stack, and if it grows longer than that, it will fallback to help allocation.  It still supports arbitrarily long strings, but paths tend to be small, so that's why a small number was chosen.

http://reviews.llvm.org/D4675






More information about the lldb-commits mailing list