mirror of
https://github.com/open-goal/jak-project
synced 2026-05-27 16:14:18 -04:00
d56540f8c0
* add some more tests for let * support static strings * add function calling * add prints for windows debgu * one test only * try swapping r14 and r15 in windows * swap back * disable defun for now * fix massive bug * fix formatting
21 lines
673 B
C++
21 lines
673 B
C++
#include "CompilerSettings.h"
|
|
|
|
CompilerSettings::CompilerSettings() {
|
|
m_settings["print-ir"].kind = SettingKind::BOOL;
|
|
m_settings["print-ir"].boolp = &debug_print_ir;
|
|
|
|
m_settings["print-regalloc"].kind = SettingKind::BOOL;
|
|
m_settings["print-regalloc"].boolp = &debug_print_regalloc;
|
|
}
|
|
|
|
void CompilerSettings::set(const std::string& name, const goos::Object& value) {
|
|
auto kv = m_settings.find(name);
|
|
if (kv == m_settings.end()) {
|
|
throw std::runtime_error("Compiler setting \"" + name + "\" was not recognized");
|
|
}
|
|
|
|
kv->second.value = value;
|
|
if (kv->second.boolp) {
|
|
*kv->second.boolp = !(value.is_symbol() && value.as_symbol()->name == "#f");
|
|
}
|
|
} |