diff options
| author | Jeffrey Yasskin <jyasskin@google.com> | 2009-07-01 18:11:20 +0000 |
|---|---|---|
| committer | Jeffrey Yasskin <jyasskin@google.com> | 2009-07-01 18:11:20 +0000 |
| commit | 6f4c705a2faecf3b495bb6ff4cbe4e5382841ad8 (patch) | |
| tree | aacc869a6945fbd60630f775bd2530fa3d2eaed9 /include/llvm/System | |
| parent | 618c75cfe36785b7cfbf186cf9b876f6221cf6dc (diff) | |
| download | external_llvm-6f4c705a2faecf3b495bb6ff4cbe4e5382841ad8.zip external_llvm-6f4c705a2faecf3b495bb6ff4cbe4e5382841ad8.tar.gz external_llvm-6f4c705a2faecf3b495bb6ff4cbe4e5382841ad8.tar.bz2 | |
Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes the
Windows variant, strerror_s, but I couldn't test that.
I'll update configure and config.h.in in a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74621 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/System')
| -rw-r--r-- | include/llvm/System/Errno.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/llvm/System/Errno.h b/include/llvm/System/Errno.h new file mode 100644 index 0000000..6e292ba --- /dev/null +++ b/include/llvm/System/Errno.h @@ -0,0 +1,34 @@ +//===- llvm/System/Errno.h - Portable+convenient errno handling -*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file declares some portable and convenient functions to deal with errno. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_SYSTEM_ERRNO_H +#define LLVM_SYSTEM_ERRNO_H + +#include <string> + +namespace llvm { +namespace sys { + +/// Returns a string representation of the errno value, using whatever +/// thread-safe variant of strerror() is available. Be sure to call this +/// immediately after the function that set errno, or errno may have been +/// overwritten by an intervening call. +std::string StrError(); + +/// Like the no-argument version above, but uses \p errnum instead of errno. +std::string StrError(int errnum); + +} // namespace sys +} // namespace llvm + +#endif // LLVM_SYSTEM_ERRNO_H |
