Disable exception handling.

Use -fno-exceptions in cmake.
On MSVC, enable _HAS_EXCEPTION=0.
Cleanup throw/catch from the source.
Create yaml.cpp enclave because it needs exception to work.
Disable thread_local optimizations in logs.cpp (TODO).
Implement cpu_counter for cpu_threads (moved globals).
This commit is contained in:
Nekotekina 2020-03-09 19:18:39 +03:00
parent 47bbfdd2aa
commit 04dedb17eb
39 changed files with 421 additions and 437 deletions

View file

@ -5,7 +5,7 @@
#include "PPUModule.h"
#include <unordered_set>
#include "yaml-cpp/yaml.h"
#include "util/yaml.hpp"
#include "Utilities/asm.h"
LOG_CHANNEL(ppu_validator);
@ -54,7 +54,13 @@ void ppu_module::validate(u32 reloc)
// Load custom PRX configuration if available
if (fs::file yml{path + ".yml"})
{
const auto cfg = YAML::Load(yml.to_string());
const auto [cfg, error] = yaml_load(yml.to_string());
if (!error.empty())
{
ppu_validator.error("Failed to load %s.yml: %s", path, error);
return;
}
u32 index = 0;