diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-11 04:34:41 +0000 | 
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-11 04:34:41 +0000 | 
| commit | 181adb5f57efdd3418b420e4c28379ab6da5f73f (patch) | |
| tree | 71498fbcd8105dcc1d340200633db2599ccdea5f | |
| parent | faa29bd5297298a7efb671e96609666c2e753d70 (diff) | |
| download | bcm5719-llvm-181adb5f57efdd3418b420e4c28379ab6da5f73f.tar.gz bcm5719-llvm-181adb5f57efdd3418b420e4c28379ab6da5f73f.zip  | |
Uses generic_category instead of system_category.
Some c++ libraries (libstdc++ at least) don't seem to map to the generic
category in in the system_category's default_error_condition.
llvm-svn: 210635
| -rw-r--r-- | llvm/lib/Support/Unix/Memory.inc | 8 | ||||
| -rw-r--r-- | llvm/lib/Support/Unix/Path.inc | 42 | 
2 files changed, 25 insertions, 25 deletions
diff --git a/llvm/lib/Support/Unix/Memory.inc b/llvm/lib/Support/Unix/Memory.inc index 7e02244c725..5d19f59bc76 100644 --- a/llvm/lib/Support/Unix/Memory.inc +++ b/llvm/lib/Support/Unix/Memory.inc @@ -95,7 +95,7 @@ Memory::allocateMappedMemory(size_t NumBytes,  #ifdef NEED_DEV_ZERO_FOR_MMAP    static int zero_fd = open("/dev/zero", O_RDWR);    if (zero_fd == -1) { -    EC = error_code(errno, system_category()); +    EC = error_code(errno, generic_category());      return MemoryBlock();    }    fd = zero_fd; @@ -123,7 +123,7 @@ Memory::allocateMappedMemory(size_t NumBytes,      if (NearBlock) //Try again without a near hint        return allocateMappedMemory(NumBytes, nullptr, PFlags, EC); -    EC = error_code(errno, system_category()); +    EC = error_code(errno, generic_category());      return MemoryBlock();    } @@ -143,7 +143,7 @@ Memory::releaseMappedMemory(MemoryBlock &M) {      return error_code();    if (0 != ::munmap(M.Address, M.Size)) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    M.Address = nullptr;    M.Size = 0; @@ -163,7 +163,7 @@ Memory::protectMappedMemory(const MemoryBlock &M, unsigned Flags) {    int Result = ::mprotect(M.Address, M.Size, Protect);    if (Result != 0) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    if (Flags & MF_EXEC)      Memory::InvalidateInstructionCache(M.Address, M.Size); diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc index fbd7ced209b..11ea10e120f 100644 --- a/llvm/lib/Support/Unix/Path.inc +++ b/llvm/lib/Support/Unix/Path.inc @@ -249,7 +249,7 @@ error_code current_path(SmallVectorImpl<char> &result) {      if (::getcwd(result.data(), result.capacity()) == nullptr) {        // See if there was a real error.        if (errno != ENOMEM) -        return error_code(errno, system_category()); +        return error_code(errno, generic_category());        // Otherwise there just wasn't enough space.        result.reserve(result.capacity() * 2);      } else @@ -266,7 +266,7 @@ error_code create_directory(const Twine &path, bool IgnoreExisting) {    if (::mkdir(p.begin(), S_IRWXU | S_IRWXG) == -1) {      if (errno != EEXIST || !IgnoreExisting) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());    }    return error_code(); @@ -295,7 +295,7 @@ error_code create_link(const Twine &to, const Twine &from) {    StringRef t = to.toNullTerminatedStringRef(to_storage);    if (::symlink(t.begin(), f.begin()) == -1) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  } @@ -307,7 +307,7 @@ error_code remove(const Twine &path, bool IgnoreNonExisting) {    struct stat buf;    if (lstat(p.begin(), &buf) != 0) {      if (errno != ENOENT || !IgnoreNonExisting) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());      return error_code();    } @@ -321,7 +321,7 @@ error_code remove(const Twine &path, bool IgnoreNonExisting) {    if (::remove(p.begin()) == -1) {      if (errno != ENOENT || !IgnoreNonExisting) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());    }    return error_code(); @@ -335,7 +335,7 @@ error_code rename(const Twine &from, const Twine &to) {    StringRef t = to.toNullTerminatedStringRef(to_storage);    if (::rename(f.begin(), t.begin()) == -1) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  } @@ -345,7 +345,7 @@ error_code resize_file(const Twine &path, uint64_t size) {    StringRef p = path.toNullTerminatedStringRef(path_storage);    if (::truncate(p.begin(), size) == -1) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  } @@ -356,7 +356,7 @@ error_code exists(const Twine &path, bool &result) {    if (::access(p.begin(), F_OK) == -1) {      if (errno != ENOENT) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());      result = false;    } else      result = true; @@ -401,7 +401,7 @@ error_code equivalent(const Twine &A, const Twine &B, bool &result) {  static error_code fillStatus(int StatRet, const struct stat &Status,                               file_status &Result) {    if (StatRet != 0) { -    error_code ec(errno, system_category()); +    error_code ec(errno, generic_category());      if (ec == errc::no_such_file_or_directory)        Result = file_status(file_type::file_not_found);      else @@ -454,7 +454,7 @@ error_code setLastModificationAndAccessTime(int FD, TimeValue Time) {    Times[0].tv_nsec = 0;    Times[1] = Times[0];    if (::futimens(FD, Times)) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  #elif defined(HAVE_FUTIMES)    timeval Times[2]; @@ -462,7 +462,7 @@ error_code setLastModificationAndAccessTime(int FD, TimeValue Time) {    Times[0].tv_usec = 0;    Times[1] = Times[0];    if (::futimes(FD, Times)) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  #else  #warning Missing futimes() and futimens() @@ -478,7 +478,7 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {    // Figure out how large the file is.    struct stat FileInfo;    if (fstat(FD, &FileInfo) == -1) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    uint64_t FileSize = FileInfo.st_size;    if (Size == 0) @@ -486,7 +486,7 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {    else if (FileSize < Size) {      // We need to grow the file.      if (ftruncate(FD, Size) == -1) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());    }    int flags = (Mode == readwrite) ? MAP_SHARED : MAP_PRIVATE; @@ -496,7 +496,7 @@ error_code mapped_file_region::init(int FD, bool CloseFD, uint64_t Offset) {  #endif    Mapping = ::mmap(nullptr, Size, prot, flags, FD, Offset);    if (Mapping == MAP_FAILED) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    return error_code();  } @@ -519,7 +519,7 @@ mapped_file_region::mapped_file_region(const Twine &path,    int oflags = (mode == readonly) ? O_RDONLY : O_RDWR;    int ofd = ::open(name.begin(), oflags);    if (ofd == -1) { -    ec = error_code(errno, system_category()); +    ec = error_code(errno, generic_category());      return;    } @@ -588,7 +588,7 @@ error_code detail::directory_iterator_construct(detail::DirIterState &it,    SmallString<128> path_null(path);    DIR *directory = ::opendir(path_null.c_str());    if (!directory) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    it.IterationHandle = reinterpret_cast<intptr_t>(directory);    // Add something for replace_filename to replace. @@ -609,7 +609,7 @@ error_code detail::directory_iterator_increment(detail::DirIterState &it) {    errno = 0;    dirent *cur_dir = ::readdir(reinterpret_cast<DIR *>(it.IterationHandle));    if (cur_dir == nullptr && errno != 0) { -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    } else if (cur_dir != nullptr) {      StringRef name(cur_dir->d_name, NAMLEN(cur_dir));      if ((name.size() == 1 && name[0] == '.') || @@ -631,7 +631,7 @@ error_code get_magic(const Twine &path, uint32_t len,    // Open path.    std::FILE *file = std::fopen(Path.data(), "rb");    if (!file) -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    // Reserve storage.    result.reserve(len); @@ -640,7 +640,7 @@ error_code get_magic(const Twine &path, uint32_t len,    size_t size = std::fread(result.data(), 1, len, file);    if (std::ferror(file) != 0) {      std::fclose(file); -    return error_code(errno, system_category()); +    return error_code(errno, generic_category());    } else if (size != len) {      if (std::feof(file) != 0) {        std::fclose(file); @@ -658,7 +658,7 @@ error_code openFileForRead(const Twine &Name, int &ResultFD) {    StringRef P = Name.toNullTerminatedStringRef(Storage);    while ((ResultFD = open(P.begin(), O_RDONLY)) < 0) {      if (errno != EINTR) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());    }    return error_code();  } @@ -688,7 +688,7 @@ error_code openFileForWrite(const Twine &Name, int &ResultFD,    StringRef P = Name.toNullTerminatedStringRef(Storage);    while ((ResultFD = open(P.begin(), OpenFlags, Mode)) < 0) {      if (errno != EINTR) -      return error_code(errno, system_category()); +      return error_code(errno, generic_category());    }    return error_code();  }  | 

