From ad8a14f24eb3daee61c8076ff6e5a8135f4dd124 Mon Sep 17 00:00:00 2001 From: "Michael J. Spencer" Date: Tue, 7 Dec 2010 01:23:08 +0000 Subject: [PATCH] Support/PathV2: Clarify and correct documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121091 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/PathV2.h | 7 ++++--- lib/Support/Unix/PathV2.inc | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/llvm/Support/PathV2.h b/include/llvm/Support/PathV2.h index e2b87510452..79760d1db50 100644 --- a/include/llvm/Support/PathV2.h +++ b/include/llvm/Support/PathV2.h @@ -123,17 +123,18 @@ inline reverse_iterator rend(const StringRef &path) { /// empty \a path will result in the current directory. /// /// /absolute/path => /absolute/path -/// relative/../path => /path +/// relative/../path => /relative/../path /// /// @param path A path that is modified to be an absolute path. /// @returns errc::success if \a path has been made absolute, otherwise a /// platform specific error_code. error_code make_absolute(SmallVectorImpl &path); -/// @brief Remove the last component from \a path if it exists. +/// @brief Remove the last component from \a path unless it is the root dir. /// /// directory/filename.cpp => directory/ /// directory/ => directory +/// / => / /// /// @param path A path that is modified to not have a file component. /// @returns errc::success if \a path's file name has been removed (or there was @@ -144,7 +145,7 @@ error_code remove_filename(SmallVectorImpl &path); /// /// ./filename.cpp => ./filename.extension /// ./filename => ./filename.extension -/// ./ => ? TODO: decide what semantics this has. +/// ./ => ./.extension /// /// @param path A path that has its extension replaced with \a extension. /// @param extension The extension to be added. It may be empty. It may also diff --git a/lib/Support/Unix/PathV2.inc b/lib/Support/Unix/PathV2.inc index f7ca64daf7e..4ca482dfce1 100644 --- a/lib/Support/Unix/PathV2.inc +++ b/lib/Support/Unix/PathV2.inc @@ -30,6 +30,11 @@ using namespace llvm; namespace { + /// This class automatically closes the given file descriptor when it goes out + /// of scope. You can take back explicit ownership of the file descriptor by + /// calling take(). The destructor does not verify that close was successful. + /// Therefore, never allow this class to call close on a file descriptor that + /// has been read from or written to. struct AutoFD { int FileDescriptor; -- 2.34.1