|
|
@@ -77,39 +77,23 @@
|
|
|
#include "ggml-zendnn.h"
|
|
|
#endif
|
|
|
|
|
|
-// disable C++17 deprecation warning for std::codecvt_utf8
|
|
|
-#if defined(__clang__)
|
|
|
-# pragma clang diagnostic push
|
|
|
-# pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
|
-#elif defined(__GNUC__)
|
|
|
-# pragma GCC diagnostic push
|
|
|
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
|
|
-#endif
|
|
|
-
|
|
|
namespace fs = std::filesystem;
|
|
|
|
|
|
static std::string path_str(const fs::path & path) {
|
|
|
- std::string u8path;
|
|
|
try {
|
|
|
#if defined(__cpp_lib_char8_t)
|
|
|
// C++20 and later: u8string() returns std::u8string
|
|
|
- std::u8string u8str = path.u8string();
|
|
|
- u8path = std::string(reinterpret_cast<const char*>(u8str.c_str()));
|
|
|
+ const std::u8string u8str = path.u8string();
|
|
|
+ return std::string(reinterpret_cast<const char *>(u8str.data()), u8str.size());
|
|
|
#else
|
|
|
// C++17: u8string() returns std::string
|
|
|
- u8path = path.u8string();
|
|
|
+ return path.u8string();
|
|
|
#endif
|
|
|
} catch (...) {
|
|
|
+ return std::string();
|
|
|
}
|
|
|
- return u8path;
|
|
|
}
|
|
|
|
|
|
-#if defined(__clang__)
|
|
|
-# pragma clang diagnostic pop
|
|
|
-#elif defined(__GNUC__)
|
|
|
-# pragma GCC diagnostic pop
|
|
|
-#endif
|
|
|
-
|
|
|
#ifdef _WIN32
|
|
|
|
|
|
using dl_handle = std::remove_pointer_t<HMODULE>;
|