Commit 1d39278b authored by Artur Wojcik's avatar Artur Wojcik
Browse files

fix missing #ifdef guard

parent 4ab625e1
...@@ -113,11 +113,10 @@ set(MIGRAPHX_ENABLE_CPU Off CACHE BOOL "") ...@@ -113,11 +113,10 @@ set(MIGRAPHX_ENABLE_CPU Off CACHE BOOL "")
set(MIGRAPHX_ENABLE_FPGA Off CACHE BOOL "") set(MIGRAPHX_ENABLE_FPGA Off CACHE BOOL "")
if(WIN32) if(WIN32)
add_compile_definitions( add_compile_definitions("$<$<COMPILE_LANGUAGE:C,CXX>:_CRT_SECURE_NO_WARNINGS;_USE_MATH_DEFINES>")
$<$<COMPILE_LANGUAGE:C,CXX>:_CRT_SECURE_NO_WARNINGS>
$<$<COMPILE_LANGUAGE:C,CXX>:_USE_MATH_DEFINES>)
endif() endif()
set(CMAKE_CXX_STANDARD_DEFAULT "")
if(MSVC) if(MSVC)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++17>) add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/std:c++17>)
else() else()
......
...@@ -130,6 +130,29 @@ struct dynamic_loader_impl ...@@ -130,6 +130,29 @@ struct dynamic_loader_impl
tmp_dir temp; tmp_dir temp;
}; };
fs::path dynamic_loader::path(void* address)
{
HMODULE module = nullptr;
if(GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
static_cast<LPCSTR>(address), &module) == 0)
{
auto err = GetLastError();
MIGRAPHX_THROW("Unable to obtain module handle, error = " + std::to_string(err));
}
TCHAR buffer[MAX_PATH];
if(GetModuleFileName(module, buffer, sizeof(buffer)) == 0)
{
auto err = GetLastError();
MIGRAPHX_THROW("Unable to read module file path, error = " + std::to_string(err));
}
if(GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
MIGRAPHX_THROW("Buffer too small (" + std::to_string(MAX_PATH) + ") to hold the path");
}
return {buffer};
}
#endif #endif
optional<dynamic_loader> dynamic_loader::try_load(const fs::path& p) optional<dynamic_loader> dynamic_loader::try_load(const fs::path& p)
...@@ -175,28 +198,5 @@ std::shared_ptr<void> dynamic_loader::get_symbol(const std::string& name) const ...@@ -175,28 +198,5 @@ std::shared_ptr<void> dynamic_loader::get_symbol(const std::string& name) const
#endif #endif
} }
fs::path dynamic_loader::path(void* address)
{
HMODULE module = nullptr;
if(GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS |
GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,
static_cast<LPCSTR>(address), &module) == 0)
{
auto err = GetLastError();
MIGRAPHX_THROW("Unable to obtain module handle, error = " + std::to_string(err));
}
TCHAR buffer[MAX_PATH];
if(GetModuleFileName(module, buffer, sizeof(buffer)) == 0)
{
auto err = GetLastError();
MIGRAPHX_THROW("Unable to read module file path, error = " + std::to_string(err));
}
if(GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
MIGRAPHX_THROW("Buffer too small (" + std::to_string(MAX_PATH) + ") to hold the path");
}
return {buffer};
}
} // namespace MIGRAPHX_INLINE_NS } // namespace MIGRAPHX_INLINE_NS
} // namespace migraphx } // namespace migraphx
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment