Support/Windows: Make MinGW happy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120991 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Michael J. Spencer 2010-12-06 06:02:07 +00:00
parent 753cbbbd3c
commit 476d2f769e
2 changed files with 7 additions and 7 deletions

View File

@ -118,7 +118,7 @@ namespace {
return ::CryptReleaseContext(Provider, 0);
}
typedef ScopedHandle<HCRYPTPROV, HCRYPTPROV(INVALID_HANDLE_VALUE),
typedef ScopedHandle<HCRYPTPROV, uintptr_t(-1),
BOOL (WINAPI*)(HCRYPTPROV), CryptReleaseContext>
ScopedCryptContext;
bool is_separator(const wchar_t value) {

View File

@ -59,7 +59,7 @@ public:
}
};
template <class HandleType, HandleType InvalidHandle,
template <class HandleType, uintptr_t InvalidHandle,
class DeleterType, DeleterType D>
class ScopedHandle {
HandleType Handle;
@ -69,13 +69,13 @@ public:
ScopedHandle(HandleType handle) : Handle(handle) {}
~ScopedHandle() {
if (Handle != InvalidHandle)
if (Handle != HandleType(InvalidHandle))
D(Handle);
}
HandleType take() {
HandleType temp = Handle;
Handle = InvalidHandle;
Handle = HandleType(InvalidHandle);
return temp;
}
@ -91,14 +91,14 @@ public:
// True if Handle is valid.
operator unspecified_bool_type() const {
return Handle == InvalidHandle ? 0 : unspecified_bool_true;
return Handle == HandleType(InvalidHandle) ? 0 : unspecified_bool_true;
}
bool operator!() const {
return Handle == InvalidHandle;
return Handle == HandleType(InvalidHandle);
}
};
typedef ScopedHandle<HANDLE, INVALID_HANDLE_VALUE,
typedef ScopedHandle<HANDLE, uintptr_t(-1),
BOOL (WINAPI*)(HANDLE), ::FindClose>
ScopedFindHandle;