aboutsummaryrefslogtreecommitdiffstats
path: root/lib/System/Win32/Win32.h
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2004-09-15 05:48:11 +0000
committerReid Spencer <rspencer@reidspencer.com>2004-09-15 05:48:11 +0000
commit0b22ba4c30519a209bb1286e89e9e512372cbd1b (patch)
treea907a53a032b634b63d6fe489e13b414af35c9c9 /lib/System/Win32/Win32.h
parent437b079a295749567ce568a5049e76b4f801dd11 (diff)
downloadexternal_llvm-0b22ba4c30519a209bb1286e89e9e512372cbd1b.zip
external_llvm-0b22ba4c30519a209bb1286e89e9e512372cbd1b.tar.gz
external_llvm-0b22ba4c30519a209bb1286e89e9e512372cbd1b.tar.bz2
First version of a common header file for Win32 implementations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16360 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/System/Win32/Win32.h')
-rw-r--r--lib/System/Win32/Win32.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/System/Win32/Win32.h b/lib/System/Win32/Win32.h
new file mode 100644
index 0000000..fb2c7e9
--- /dev/null
+++ b/lib/System/Win32/Win32.h
@@ -0,0 +1,33 @@
+//===- Win32/Win32.h - Common Win32 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 "llvm/Config/config.h" // Get autoconf configuration settings
+#include "windows.h"
+#include <cassert>
+#include <string>
+
+inline void ThrowError(const std::string& msg) {
+ char *buffer = NULL;
+ FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
+ NULL, GetLastError(), 0, (LPSTR)&buffer, 1, NULL);
+ std::string s(msg);
+ s += buffer;
+ LocalFree(buffer);
+ throw s;
+}
+