mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-16 23:17:29 +00:00
Butcher narrow cast a little (don't print value).
Also remove some forward declarations from util/types.hpp If they don't work properly, it's easier to remove them.
This commit is contained in:
parent
b7bf316c1a
commit
43a58df8a0
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "util/types.hpp"
|
||||
#include "Utilities/StrFmt.h"
|
||||
|
||||
template<typename T, uint N>
|
||||
struct bf_base
|
||||
|
@ -294,29 +294,21 @@ void fmt_class_string<src_loc>::format(std::string& out, u64 arg)
|
||||
|
||||
namespace fmt
|
||||
{
|
||||
void raw_verify_error(const src_loc& loc)
|
||||
[[noreturn]] void raw_verify_error(const src_loc& loc)
|
||||
{
|
||||
std::string out{"Verification failed"};
|
||||
fmt::append(out, "%s", loc);
|
||||
thread_ctrl::emergency_exit(out);
|
||||
}
|
||||
|
||||
void raw_narrow_error(const src_loc& loc, const fmt_type_info* sup, u64 arg)
|
||||
[[noreturn]] void raw_narrow_error(const src_loc& loc)
|
||||
{
|
||||
std::string out{"Narrowing error"};
|
||||
|
||||
if (sup)
|
||||
{
|
||||
out += " (";
|
||||
sup->fmt_string(out, arg); // Print value
|
||||
out += ")";
|
||||
}
|
||||
|
||||
fmt::append(out, "%s", loc);
|
||||
thread_ctrl::emergency_exit(out);
|
||||
}
|
||||
|
||||
void raw_throw_exception(const src_loc& loc, const char* fmt, const fmt_type_info* sup, const u64* args)
|
||||
[[noreturn]] void raw_throw_exception(const src_loc& loc, const char* fmt, const fmt_type_info* sup, const u64* args)
|
||||
{
|
||||
std::string out;
|
||||
raw_append(out, fmt, sup, args);
|
||||
|
@ -10,7 +10,7 @@ namespace fmt
|
||||
static std::string format(const CharT(&)[N], const Args&...);
|
||||
}
|
||||
|
||||
template <typename T, typename>
|
||||
template <typename T, typename = void>
|
||||
struct fmt_unveil
|
||||
{
|
||||
static_assert(sizeof(T) > 0, "fmt_unveil<> error: incomplete type");
|
||||
@ -245,6 +245,9 @@ struct fmt_type_info
|
||||
template <typename... Args>
|
||||
using fmt_args_t = const u64(&&)[sizeof...(Args) + 1];
|
||||
|
||||
template <typename Arg>
|
||||
using fmt_unveil_t = typename fmt_unveil<Arg>::type;
|
||||
|
||||
namespace fmt
|
||||
{
|
||||
// Base-57 format helper
|
||||
|
@ -23,6 +23,7 @@ Intersection (&) and symmetric difference (^) is also available.
|
||||
|
||||
#include "util/types.hpp"
|
||||
#include "util/atomic.hpp"
|
||||
#include "Utilities/StrFmt.h"
|
||||
|
||||
template <typename T>
|
||||
class atomic_bs_t;
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "util/types.hpp"
|
||||
#include "Utilities/StrFmt.h"
|
||||
|
||||
// Error code type (return type), implements error reporting.
|
||||
class error_code
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
#include "util/types.hpp"
|
||||
#include "util/to_endian.hpp"
|
||||
#include "Utilities/StrFmt.h"
|
||||
#include "vm.h"
|
||||
|
||||
class ppu_thread;
|
||||
|
@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "util/types.hpp"
|
||||
#include "Emu/Io/PadHandler.h"
|
||||
#ifndef NOMINMAX
|
||||
@ -137,3 +138,4 @@ private:
|
||||
PadHandlerBase::connection update_connection(const std::shared_ptr<PadDevice>& device) override;
|
||||
std::unordered_map<u64, u16> get_button_values(const std::shared_ptr<PadDevice>& device) override;
|
||||
};
|
||||
#endif
|
||||
|
@ -188,21 +188,6 @@ std::remove_cvref_t<T> as_rvalue(T&& obj)
|
||||
return std::forward<T>(obj);
|
||||
}
|
||||
|
||||
// Formatting helper, type-specific preprocessing for improving safety and functionality
|
||||
template <typename T, typename = void>
|
||||
struct fmt_unveil;
|
||||
|
||||
template <typename Arg>
|
||||
using fmt_unveil_t = typename fmt_unveil<Arg>::type;
|
||||
|
||||
struct fmt_type_info;
|
||||
|
||||
namespace fmt
|
||||
{
|
||||
template <typename... Args>
|
||||
const fmt_type_info* get_type_info();
|
||||
}
|
||||
|
||||
template <typename T, usz Align>
|
||||
class atomic_t;
|
||||
|
||||
@ -744,7 +729,7 @@ struct src_loc
|
||||
namespace fmt
|
||||
{
|
||||
[[noreturn]] void raw_verify_error(const src_loc& loc);
|
||||
[[noreturn]] void raw_narrow_error(const src_loc& loc, const fmt_type_info* sup, u64 arg);
|
||||
[[noreturn]] void raw_narrow_error(const src_loc& loc);
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
@ -845,7 +830,7 @@ template <typename To = void, typename From, typename = decltype(static_cast<To>
|
||||
if (narrow_impl<From, To>::test(value)) [[unlikely]]
|
||||
{
|
||||
// Pack value as formatting argument
|
||||
fmt::raw_narrow_error({line, col, file, func}, fmt::get_type_info<fmt_unveil_t<From>>(), fmt_unveil<From>::get(value));
|
||||
fmt::raw_narrow_error({line, col, file, func});
|
||||
}
|
||||
|
||||
return static_cast<To>(value);
|
||||
|
Loading…
Reference in New Issue
Block a user