summaryrefslogtreecommitdiff
path: root/lib/System/Unix/Unix.h
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-08-25 06:20:07 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-08-25 06:20:07 +0000
commitb89a2237ea79e0576fdb426b124f1940f53da159 (patch)
treebd6277d71a8627ffce532b7e1fefd49d3f310f78 /lib/System/Unix/Unix.h
parent17f130c61e268b39044870b66b58d7575d7ba784 (diff)
downloadllvm-b89a2237ea79e0576fdb426b124f1940f53da159.tar.gz
llvm-b89a2237ea79e0576fdb426b124f1940f53da159.tar.bz2
llvm-b89a2237ea79e0576fdb426b124f1940f53da159.tar.xz
Initial implementation of the Path operating system concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16048 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/System/Unix/Unix.h')
-rw-r--r--lib/System/Unix/Unix.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/System/Unix/Unix.h b/lib/System/Unix/Unix.h
new file mode 100644
index 0000000000..83d2865a11
--- /dev/null
+++ b/lib/System/Unix/Unix.h
@@ -0,0 +1,34 @@
+//===- llvm/System/Unix/Unix.h - Common Unix Include File -----*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file was developed by Reid Spencer and is distributed under the
+// University of Illinois Open Source License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines things specific to Unix implementations.
+//
+//===----------------------------------------------------------------------===//
+
+//===----------------------------------------------------------------------===//
+//=== WARNING: Implementation here must contain only generic UNIX code that
+//=== is guaranteed to work on all UNIX variants.
+//===----------------------------------------------------------------------===//
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/param.h>
+
+inline void ThrowErrno(const std::string& prefix) {
+#if defined __USE_XOPEN2K || defined __USE_MISC
+ char buffer[MAXPATHLEN];
+ strerror_r(errno,buffer, MAXPATHLEN);
+ throw prefix + ": " + buffer;
+#else
+ throw prefix + ": " + strerror(errno);
+#endif
+}