Make constructors target-specific. This fixes problems where the path would

include backslashes on Windows. This should fix llvm-ld problems on win32.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50960 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nick Lewycky
2008-05-11 17:37:40 +00:00
parent 64d69102a1
commit fff116fd58
3 changed files with 19 additions and 4 deletions

View File

@@ -46,6 +46,16 @@ namespace llvm {
namespace sys {
const char PathSeparator = ';';
Path::Path(const std::string& p)
: path(p) {
FlipBackSlashes(path);
}
Path::Path(const char *StrStart, unsigned StrLen)
: path(StrStart, StrLen) {
FlipBackSlashes(path);
}
bool
Path::isValid() const {
if (path.empty())
@@ -230,7 +240,7 @@ Path::isRootDirectory() const {
}
std::string Path::getDirname() const {
return getDirnameCharSep(path, '\\');
return getDirnameCharSep(path, '/');
}
std::string