diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2004-09-15 05:48:11 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2004-09-15 05:48:11 +0000 |
commit | 0f0c5cfb196fe7ce9fc55a9815d0f5a7e29a42c2 (patch) | |
tree | 8043d643c7be57a25da4e86e671c86c928e797cb | |
parent | 91886b791fd0d4cb6f1b9a3e7744fc15dabde152 (diff) | |
download | bcm5719-llvm-0f0c5cfb196fe7ce9fc55a9815d0f5a7e29a42c2.tar.gz bcm5719-llvm-0f0c5cfb196fe7ce9fc55a9815d0f5a7e29a42c2.zip |
First version of a common header file for Win32 implementations.
llvm-svn: 16360
-rw-r--r-- | llvm/lib/System/Win32/Win32.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/llvm/lib/System/Win32/Win32.h b/llvm/lib/System/Win32/Win32.h new file mode 100644 index 00000000000..fb2c7e96fdf --- /dev/null +++ b/llvm/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; +} + |