| //===- DIAUtils.h - Utility functions for working with DIA ------*- C++ -*-===// |
| // The LLVM Compiler Infrastructure |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| //===----------------------------------------------------------------------===// |
| #ifndef LLVM_DEBUGINFO_PDB_DIA_DIAUTILS_H |
| #define LLVM_DEBUGINFO_PDB_DIA_DIAUTILS_H |
| #include "llvm/ADT/ArrayRef.h" |
| #include "llvm/Support/ConvertUTF.h" |
| std::string invokeBstrMethod(Obj &Object, |
| HRESULT (__stdcall Obj::*Func)(BSTR *)) { |
| HRESULT Result = (Object.*Func)(&Str16); |
| llvm::ArrayRef<char> StrBytes(reinterpret_cast<char *>(Str16.m_str), |
| llvm::convertUTF16ToUTF8String(StrBytes, Str8); |
| #endif // LLVM_DEBUGINFO_PDB_DIA_DIAUTILS_H |