Yes, using .str() will work, but it involves creating yet another
temporary, a StringRef returned from .str() and then converted to
std::string. An optimizer may help here.
The most efficient code would be
MainFileName.assign(MainFileDirSS.data(), MainFileDirSS.size());
What I was hoping for is to avoid using the SmallString conversions.
Are the path functions using SmallStrings for efficiency or is there
another reason?
Yaron
2013/10/17 David Blaikie <[email protected]>
> I think instead of writing:
>
> MainFileName = std::string(MainFileDirSS.data(), MainFileDirSS.size());
>
> you can just write:
>
> MainFileName = MainFileDirSS.str();
>
> Hopefully.
On Thu, Oct 17, 2013 at 8:09 AM, Yaron Keren <[email protected]> wrote:
> Hi,
>
> Filename appending in CGDebugInfo.cpp was implemented as simple string
> concatenation, resulting in duplicate file debug information on Windows due
> to wrong path separator.
>
> The patch uses llvm::sys::path::append to properly append the filename on
> all OS.
>
> Is there a way to use path::append without the SmallString temporary?
>
> Yaron
>
>
> _______________________________________________
> cfe-commits mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits