1 //===- llvm/Support/Errno.h - Portable+convenient errno handling -*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This file declares some portable and convenient functions to deal with errno. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_SUPPORT_ERRNO_H 15 #define LLVM_SUPPORT_ERRNO_H 16 17 #include <string> 18 19 namespace llvm { 20 namespace sys { 21 22 /// Returns a string representation of the errno value, using whatever 23 /// thread-safe variant of strerror() is available. Be sure to call this 24 /// immediately after the function that set errno, or errno may have been 25 /// overwritten by an intervening call. 26 std::string StrError(); 27 28 /// Like the no-argument version above, but uses \p errnum instead of errno. 29 std::string StrError(int errnum); 30 31 } // namespace sys 32 } // namespace llvm 33 34 #endif // LLVM_SYSTEM_ERRNO_H 35