Skip to content

Commit

Permalink
Remove dead code.
Browse files Browse the repository at this point in the history
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186561 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
espindola committed Jul 18, 2013
1 parent 1ceefa6 commit 1c881d9
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 117 deletions.
28 changes: 0 additions & 28 deletions include/llvm/Support/FileSystem.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,22 +73,6 @@ struct file_type {
int v_;
};

/// copy_option - An "enum class" enumeration of copy semantics for copy
/// operations.
struct copy_option {
enum _ {
fail_if_exists,
overwrite_if_exists
};

copy_option(_ v) : v_(v) {}
explicit copy_option(int v) : v_(_(v)) {}
operator int() const {return v_;}

private:
int v_;
};

/// space_info - Self explanatory.
struct space_info {
uint64_t capacity;
Expand Down Expand Up @@ -269,18 +253,6 @@ struct file_magic {
/// platform specific error_code.
error_code make_absolute(SmallVectorImpl<char> &path);

/// @brief Copy the file at \a from to the path \a to.
///
/// @param from The path to copy the file from.
/// @param to The path to copy the file to.
/// @param copt Behavior if \a to already exists.
/// @returns errc::success if the file has been successfully copied.
/// errc::file_exists if \a to already exists and \a copt ==
/// copy_option::fail_if_exists. Otherwise a platform specific
/// error_code.
error_code copy_file(const Twine &from, const Twine &to,
copy_option copt = copy_option::fail_if_exists);

/// @brief Create all the non-existent directories in path.
///
/// @param path Directories to create.
Expand Down
59 changes: 0 additions & 59 deletions lib/Support/Unix/Path.inc
Original file line number Diff line number Diff line change
Expand Up @@ -320,65 +320,6 @@ error_code current_path(SmallVectorImpl<char> &result) {
return error_code::success();
}

error_code copy_file(const Twine &from, const Twine &to, copy_option copt) {
// Get arguments.
SmallString<128> from_storage;
SmallString<128> to_storage;
StringRef f = from.toNullTerminatedStringRef(from_storage);
StringRef t = to.toNullTerminatedStringRef(to_storage);

const size_t buf_sz = 32768;
char buffer[buf_sz];
int from_file = -1, to_file = -1;

// Open from.
if ((from_file = ::open(f.begin(), O_RDONLY)) < 0)
return error_code(errno, system_category());
AutoFD from_fd(from_file);

// Stat from.
struct stat from_stat;
if (::stat(f.begin(), &from_stat) != 0)
return error_code(errno, system_category());

// Setup to flags.
int to_flags = O_CREAT | O_WRONLY;
if (copt == copy_option::fail_if_exists)
to_flags |= O_EXCL;

// Open to.
if ((to_file = ::open(t.begin(), to_flags, from_stat.st_mode)) < 0)
return error_code(errno, system_category());
AutoFD to_fd(to_file);

// Copy!
ssize_t sz, sz_read = 1, sz_write;
while (sz_read > 0 &&
(sz_read = ::read(from_fd, buffer, buf_sz)) > 0) {
// Allow for partial writes - see Advanced Unix Programming (2nd Ed.),
// Marc Rochkind, Addison-Wesley, 2004, page 94
sz_write = 0;
do {
if ((sz = ::write(to_fd, buffer + sz_write, sz_read - sz_write)) < 0) {
sz_read = sz; // cause read loop termination.
break; // error.
}
sz_write += sz;
} while (sz_write < sz_read);
}

// After all the file operations above the return value of close actually
// matters.
if (::close(from_fd.take()) < 0) sz_read = -1;
if (::close(to_fd.take()) < 0) sz_read = -1;

// Check for errors.
if (sz_read < 0)
return error_code(errno, system_category());

return error_code::success();
}

error_code create_directory(const Twine &path, bool &existed) {
SmallString<128> path_storage;
StringRef p = path.toNullTerminatedStringRef(path_storage);
Expand Down
23 changes: 0 additions & 23 deletions lib/Support/Windows/Path.inc
Original file line number Diff line number Diff line change
Expand Up @@ -324,29 +324,6 @@ retry_cur_dir:
return error_code::success();
}

error_code copy_file(const Twine &from, const Twine &to, copy_option copt) {
// Get arguments.
SmallString<128> from_storage;
SmallString<128> to_storage;
StringRef f = from.toStringRef(from_storage);
StringRef t = to.toStringRef(to_storage);

// Convert to utf-16.
SmallVector<wchar_t, 128> wide_from;
SmallVector<wchar_t, 128> wide_to;
if (error_code ec = UTF8ToUTF16(f, wide_from)) return ec;
if (error_code ec = UTF8ToUTF16(t, wide_to)) return ec;

// Copy the file.
BOOL res = ::CopyFileW(wide_from.begin(), wide_to.begin(),
copt != copy_option::overwrite_if_exists);

if (res == 0)
return windows_error(::GetLastError());

return error_code::success();
}

error_code create_directory(const Twine &path, bool &existed) {
SmallString<128> path_storage;
SmallVector<wchar_t, 128> path_utf16;
Expand Down
8 changes: 1 addition & 7 deletions unittests/Support/Path.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -219,14 +219,8 @@ TEST_F(FileSystemTest, TempFiles) {
ASSERT_NO_ERROR(fs::status(Twine(TempPath2), B));
EXPECT_FALSE(fs::equivalent(A, B));

// Try to copy the first to the second.
EXPECT_EQ(
fs::copy_file(Twine(TempPath), Twine(TempPath2)), errc::file_exists);

::close(FD2);
// Try again with the proper options.
ASSERT_NO_ERROR(fs::copy_file(Twine(TempPath), Twine(TempPath2),
fs::copy_option::overwrite_if_exists));

// Remove Temp2.
ASSERT_NO_ERROR(fs::remove(Twine(TempPath2), TempFileExists));
EXPECT_TRUE(TempFileExists);
Expand Down

0 comments on commit 1c881d9

Please sign in to comment.