summaryrefslogtreecommitdiffhomepage
path: root/src/CompilerKit
diff options
context:
space:
mode:
Diffstat (limited to 'src/CompilerKit')
-rw-r--r--src/CompilerKit/ck-win64.json27
-rw-r--r--src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp10
-rw-r--r--src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp12
3 files changed, 38 insertions, 11 deletions
diff --git a/src/CompilerKit/ck-win64.json b/src/CompilerKit/ck-win64.json
new file mode 100644
index 0000000..dca9350
--- /dev/null
+++ b/src/CompilerKit/ck-win64.json
@@ -0,0 +1,27 @@
+{
+ "compiler_path": "g++",
+ "compiler_std": "c++20",
+ "headers_path": [
+ "../../include/CompilerKit",
+ "../../include/",
+ "../../include/CompilerKit/src/",
+ "../../include/CompilerKit/src/impl"
+ ],
+ "sources_path": [
+ "src/*.cpp",
+ "src/*/*.cpp"
+ ],
+ "output_name": "Ne-app.CompilerKit.dll",
+ "compiler_flags": [
+ "-fPIC",
+ "-shared"
+ ],
+ "cpp_macros": [
+ "__NECTAR__=202602",
+ "CK_USE_STRUCTS=1",
+ "CK_WINDOWS=1",
+ "kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)"
+ ],
+ "description": "CompilerKit for Windows NT. The Compiler Kit is the framework behind Nectar."
+}
+
diff --git a/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp b/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp
index 939823e..822a2d0 100644
--- a/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp
+++ b/src/CompilerKit/src/Frontends/NectarCompiler+AMD64.cpp
@@ -1303,7 +1303,7 @@ static CompilerKit::STLString nectar_get_variable_ref(const CompilerKit::STLStri
}
if (!varInfo) {
- return "";
+ return {};
}
if (varInfo->fIsConstant) {
@@ -1327,7 +1327,7 @@ static CompilerKit::STLString nectar_get_variable_ref(const CompilerKit::STLStri
return reg;
}
- return "";
+ return {};
}
/// \brief Allocate a register for a variable
@@ -1383,7 +1383,7 @@ static CompilerKit::STLString nectar_allocate_register(const CompilerKit::STLStr
}
// No free register
- return "";
+ return {};
}
/// \brief Spill the least recently used variable to stack
@@ -1403,7 +1403,7 @@ static CompilerKit::STLString nectar_spill_lru_variable() {
}
if (!lruVar) {
- return ""; // No variable to spill
+ return {}; // No variable to spill
}
// Allocate stack space
@@ -1492,7 +1492,7 @@ static CompilerKit::STLString nectar_generate_destructor_call(
auto* varInfo = nectar_find_variable(obj_name);
if (!varInfo) {
- return "";
+ return {};
}
nectar_push_scope(ScopeKind::kScopeClass, class_name);
diff --git a/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp b/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp
index 7edc493..ed13b09 100644
--- a/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp
+++ b/src/CompilerKit/src/Frontends/NectarCompiler+PTX.cpp
@@ -1197,7 +1197,7 @@ static CompilerKit::STLString nectar_generate_prologue() {
/// \brief Generate function epilogue
static CompilerKit::STLString nectar_generate_epilogue() {
- return "";
+ return {};
}
/// \brief Generate PTX function header
@@ -1286,7 +1286,7 @@ static CompilerKit::STLString nectar_get_variable_ref(const CompilerKit::STLStri
}
if (!varInfo) {
- return "";
+ return {};
}
if (varInfo->fIsConstant) {
@@ -1310,7 +1310,7 @@ static CompilerKit::STLString nectar_get_variable_ref(const CompilerKit::STLStri
delete varInfo;
return reg;
- return "";
+ return {};
}
/// \brief Allocate a register for a variable
@@ -1366,12 +1366,12 @@ static CompilerKit::STLString nectar_allocate_register(const CompilerKit::STLStr
}
// No free register
- return "";
+ return {};
}
/// \brief Spill the least recently used variable to stack
static CompilerKit::STLString nectar_spill_lru_variable() {
- return "";
+ return {};
}
/// \brief Add a class member to the struct map
@@ -1441,7 +1441,7 @@ static CompilerKit::STLString nectar_generate_destructor_call(
auto* varInfo = nectar_find_variable(obj_name);
if (!varInfo) {
- return "";
+ return {};
}
nectar_push_scope(ScopeKind::kScopeClass, class_name);