summaryrefslogtreecommitdiffhomepage
path: root/dev
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2024-10-26 08:16:12 +0200
committerAmlal <amlal.elmahrouss@icloud.com>2024-10-26 08:16:12 +0200
commit8d3929c224cc40e8571758ba67327241e173b16a (patch)
tree0e8c1be5ba8765b763ff415d0578ff43ce9cbf91 /dev
parentbaeffaff228cc31ff6f55d39bfbac9355c26f305 (diff)
IMP: Improvements and fixes.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev')
-rw-r--r--dev/ToolchainKit/Version.h9
-rw-r--r--dev/ToolchainKit/src/Assembler64x0.cc18
-rw-r--r--dev/ToolchainKit/src/AssemblerAMD64.cc16
-rw-r--r--dev/ToolchainKit/src/AssemblerPower.cc16
-rw-r--r--dev/ToolchainKit/src/CCompiler64x0.cc16
-rw-r--r--dev/ToolchainKit/src/CCompilerPower64.cc2
-rw-r--r--dev/ToolchainKit/src/CPlusPlusCompilerAMD64.cc16
-rw-r--r--dev/ToolchainKit/src/CPlusPlusCompilerPreProcessor.cc32
-rw-r--r--dev/ToolchainKit/src/Linker.cc50
9 files changed, 88 insertions, 87 deletions
diff --git a/dev/ToolchainKit/Version.h b/dev/ToolchainKit/Version.h
index dae1b45..9c8380e 100644
--- a/dev/ToolchainKit/Version.h
+++ b/dev/ToolchainKit/Version.h
@@ -6,9 +6,10 @@
#pragma once
-#define kDistVersion "v1.1.0"
+#define kDistVersion "v1.1.0"
+#define kDistVersionBCD 0x0110
-#define ToPPString(X) __Str(X)
-#define __Str(X) #X
+#define ToString(X) Stringify(X)
+#define Stringify(X) #X
-#define kDistRelease ToPPString(kDistReleaseBranch)
+#define kDistRelease ToString(kDistReleaseBranch)
diff --git a/dev/ToolchainKit/src/Assembler64x0.cc b/dev/ToolchainKit/src/Assembler64x0.cc
index 2c9178c..3873092 100644
--- a/dev/ToolchainKit/src/Assembler64x0.cc
+++ b/dev/ToolchainKit/src/Assembler64x0.cc
@@ -115,31 +115,31 @@ TOOLCHAINKIT_MODULE(ZKAAssemblerMain64000)
{
for (size_t i = 1; i < argc; ++i)
{
- if (argv[i][0] == '/')
+ if (argv[i][0] == '-')
{
- if (strcmp(argv[i], "/ver") == 0 || strcmp(argv[i], "/v") == 0)
+ if (strcmp(argv[i], "--ver") == 0 || strcmp(argv[i], "--v") == 0)
{
kStdOut << "Assembler64x0: 64x0 Assembler.\nAssembler64x0: v1.10\nAssembler64x0: Copyright (c) "
"ZKA Web Services Co.\n";
return 0;
}
- else if (strcmp(argv[i], "/h") == 0)
+ else if (strcmp(argv[i], "--h") == 0)
{
kStdOut << "Assembler64x0: 64x0 Assembler.\nAssembler64x0: Copyright (c) 2024 Mahrouss "
"Logic.\n";
- kStdOut << "/version: Print program version.\n";
- kStdOut << "/verbose: Print verbose output.\n";
- kStdOut << "/binary: Output as flat binary.\n";
- kStdOut << "/64xxx: Compile for a subset of the X64000.\n";
+ kStdOut << "--version: Print program version.\n";
+ kStdOut << "--verbose: Print verbose output.\n";
+ kStdOut << "--binary: Output as flat binary.\n";
+ kStdOut << "--64xxx: Compile for a subset of the X64000.\n";
return 0;
}
- else if (strcmp(argv[i], "/binary") == 0)
+ else if (strcmp(argv[i], "--binary") == 0)
{
kOutputAsBinary = true;
continue;
}
- else if (strcmp(argv[i], "/verbose") == 0)
+ else if (strcmp(argv[i], "--verbose") == 0)
{
kVerbose = true;
continue;
diff --git a/dev/ToolchainKit/src/AssemblerAMD64.cc b/dev/ToolchainKit/src/AssemblerAMD64.cc
index 0d69a7b..1dee916 100644
--- a/dev/ToolchainKit/src/AssemblerAMD64.cc
+++ b/dev/ToolchainKit/src/AssemblerAMD64.cc
@@ -135,30 +135,30 @@ TOOLCHAINKIT_MODULE(ZKAAssemblerMainAMD64)
for (size_t i = 1; i < argc; ++i)
{
- if (argv[i][0] == '/')
+ if (argv[i][0] == '-')
{
- if (strcmp(argv[i], "/amd64:ver") == 0 || strcmp(argv[i], "/amd64:v") == 0)
+ if (strcmp(argv[i], "--amd64:ver") == 0 || strcmp(argv[i], "--amd64:v") == 0)
{
kStdOut << "AssemblerAMD64: AMD64 Assembler Driver.\nAssemblerAMD64: v1.10\nAssemblerAMD64: Copyright "
"(c) ZKA Web Services Co.\n";
return 0;
}
- else if (strcmp(argv[i], "/amd64:h") == 0)
+ else if (strcmp(argv[i], "--amd64:h") == 0)
{
kStdOut << "AssemblerAMD64: AMD64 Assembler Driver.\nAssemblerAMD64: Copyright (c) 2024 "
"ZKA Web Services Co.\n";
- kStdOut << "/version: Print program version.\n";
- kStdOut << "/verbose: Print verbose output.\n";
- kStdOut << "/binary: Output as flat binary.\n";
+ kStdOut << "--version: Print program version.\n";
+ kStdOut << "--verbose: Print verbose output.\n";
+ kStdOut << "--binary: Output as flat binary.\n";
return 0;
}
- else if (strcmp(argv[i], "/amd64:binary") == 0)
+ else if (strcmp(argv[i], "--amd64:binary") == 0)
{
kOutputAsBinary = true;
continue;
}
- else if (strcmp(argv[i], "/amd64:verbose") == 0)
+ else if (strcmp(argv[i], "--amd64:verbose") == 0)
{
kVerbose = true;
continue;
diff --git a/dev/ToolchainKit/src/AssemblerPower.cc b/dev/ToolchainKit/src/AssemblerPower.cc
index f50c00b..f32f6b6 100644
--- a/dev/ToolchainKit/src/AssemblerPower.cc
+++ b/dev/ToolchainKit/src/AssemblerPower.cc
@@ -85,31 +85,31 @@ TOOLCHAINKIT_MODULE(ZKAAssemblerMainPowerPC)
{
for (size_t i = 1; i < argc; ++i)
{
- if (argv[i][0] == '/')
+ if (argv[i][0] == '-')
{
- if (strcmp(argv[i], "/ver") == 0 || strcmp(argv[i], "/v") == 0)
+ if (strcmp(argv[i], "--ver") == 0 || strcmp(argv[i], "--v") == 0)
{
kStdOut << "AssemblerPower: POWER64 Assembler Driver.\nAssemblerPower: " << kDistVersion << "\nAssemblerPower: "
"Copyright (c) "
"ZKA Web Services Co.\n";
return 0;
}
- else if (strcmp(argv[i], "/h") == 0)
+ else if (strcmp(argv[i], "--h") == 0)
{
kStdOut << "AssemblerPower: POWER64 Assembler Driver.\nAssemblerPower: Copyright (c) 2024 "
"ZKA Web Services Co.\n";
- kStdOut << "/version,/v: print program version.\n";
- kStdOut << "/verbose: print verbose output.\n";
- kStdOut << "/binary: output as flat binary.\n";
+ kStdOut << "--version,/v: print program version.\n";
+ kStdOut << "--verbose: print verbose output.\n";
+ kStdOut << "--binary: output as flat binary.\n";
return 0;
}
- else if (strcmp(argv[i], "/binary") == 0)
+ else if (strcmp(argv[i], "--binary") == 0)
{
kOutputAsBinary = true;
continue;
}
- else if (strcmp(argv[i], "/verbose") == 0)
+ else if (strcmp(argv[i], "--verbose") == 0)
{
kVerbose = true;
continue;
diff --git a/dev/ToolchainKit/src/CCompiler64x0.cc b/dev/ToolchainKit/src/CCompiler64x0.cc
index 30d6ae0..556272b 100644
--- a/dev/ToolchainKit/src/CCompiler64x0.cc
+++ b/dev/ToolchainKit/src/CCompiler64x0.cc
@@ -824,7 +824,7 @@ std::string CompilerFrontend64x0::Check(const char* text, const char* file)
forbidden_words.push_back("@");
forbidden_words.push_back("~");
forbidden_words.push_back("::");
- forbidden_words.push_back("/*");
+ forbidden_words.push_back("--*");
forbidden_words.push_back("*/");
// add them to avoid stupid mistakes.
@@ -1517,30 +1517,30 @@ TOOLCHAINKIT_MODULE(NewOSCompilerCLang64x0)
continue;
}
- if (argv[index][0] == '/')
+ if (argv[index][0] == '-')
{
- if (strcmp(argv[index], "/v") == 0 ||
- strcmp(argv[index], "/version") == 0)
+ if (strcmp(argv[index], "--v") == 0 ||
+ strcmp(argv[index], "--version") == 0)
{
kSplashCxx();
return kExitOK;
}
- if (strcmp(argv[index], "/verbose") == 0)
+ if (strcmp(argv[index], "--verbose") == 0)
{
kState.fVerbose = true;
continue;
}
- if (strcmp(argv[index], "/h") == 0 || strcmp(argv[index], "/help") == 0)
+ if (strcmp(argv[index], "--h") == 0 || strcmp(argv[index], "--help") == 0)
{
cc_print_help();
return kExitOK;
}
- if (strcmp(argv[index], "/dialect") == 0)
+ if (strcmp(argv[index], "--dialect") == 0)
{
if (kCompilerFrontend)
std::cout << kCompilerFrontend->Language() << "\n";
@@ -1548,7 +1548,7 @@ TOOLCHAINKIT_MODULE(NewOSCompilerCLang64x0)
return kExitOK;
}
- if (strcmp(argv[index], "/fmax-exceptions") == 0)
+ if (strcmp(argv[index], "--fmax-exceptions") == 0)
{
try
{
diff --git a/dev/ToolchainKit/src/CCompilerPower64.cc b/dev/ToolchainKit/src/CCompilerPower64.cc
index b680191..824f4ff 100644
--- a/dev/ToolchainKit/src/CCompilerPower64.cc
+++ b/dev/ToolchainKit/src/CCompilerPower64.cc
@@ -847,7 +847,7 @@ std::string CompilerFrontendPower64::Check(const char* text, const char* file)
forbidden_words.push_back("@");
forbidden_words.push_back("~");
forbidden_words.push_back("::");
- forbidden_words.push_back("/*");
+ forbidden_words.push_back("--*");
forbidden_words.push_back("*/");
// add them to avoid stupid mistakes.
diff --git a/dev/ToolchainKit/src/CPlusPlusCompilerAMD64.cc b/dev/ToolchainKit/src/CPlusPlusCompilerAMD64.cc
index f30f611..55f8d12 100644
--- a/dev/ToolchainKit/src/CPlusPlusCompilerAMD64.cc
+++ b/dev/ToolchainKit/src/CPlusPlusCompilerAMD64.cc
@@ -900,9 +900,9 @@ TOOLCHAINKIT_MODULE(CompilerCPlusPlusX8664)
kKeywords.push_back({.keyword_name = "protected:", .keyword_kind = ToolchainKit::eKeywordKindSpecifier});
kKeywords.push_back({.keyword_name = "final", .keyword_kind = ToolchainKit::eKeywordKindSpecifier});
kKeywords.push_back({.keyword_name = "return", .keyword_kind = ToolchainKit::eKeywordKindReturn});
- kKeywords.push_back({.keyword_name = "/*", .keyword_kind = ToolchainKit::eKeywordKindCommentMultiLineStart});
+ kKeywords.push_back({.keyword_name = "--*", .keyword_kind = ToolchainKit::eKeywordKindCommentMultiLineStart});
kKeywords.push_back({.keyword_name = "*/", .keyword_kind = ToolchainKit::eKeywordKindCommentMultiLineStart});
- kKeywords.push_back({.keyword_name = "//", .keyword_kind = ToolchainKit::eKeywordKindCommentInline});
+ kKeywords.push_back({.keyword_name = "--/", .keyword_kind = ToolchainKit::eKeywordKindCommentInline});
kKeywords.push_back({.keyword_name = "==", .keyword_kind = ToolchainKit::eKeywordKindEq});
kKeywords.push_back({.keyword_name = "!=", .keyword_kind = ToolchainKit::eKeywordKindNotEq});
kKeywords.push_back({.keyword_name = ">=", .keyword_kind = ToolchainKit::eKeywordKindGreaterEq});
@@ -913,7 +913,7 @@ TOOLCHAINKIT_MODULE(CompilerCPlusPlusX8664)
for (auto index = 1UL; index < argc; ++index)
{
- if (argv[index][0] == '/')
+ if (argv[index][0] == '-')
{
if (skip)
{
@@ -921,27 +921,27 @@ TOOLCHAINKIT_MODULE(CompilerCPlusPlusX8664)
continue;
}
- if (strcmp(argv[index], "/cl:ver") == 0)
+ if (strcmp(argv[index], "--cl:ver") == 0)
{
kSplashCxx();
return kExitOK;
}
- if (strcmp(argv[index], "/cl:verbose") == 0)
+ if (strcmp(argv[index], "--cl:verbose") == 0)
{
kState.fVerbose = true;
continue;
}
- if (strcmp(argv[index], "/cl:?") == 0)
+ if (strcmp(argv[index], "--cl:?") == 0)
{
cxx_print_help();
return kExitOK;
}
- if (strcmp(argv[index], "/cl:c++-dialect") == 0)
+ if (strcmp(argv[index], "--cl:c++-dialect") == 0)
{
if (kCompilerFrontend)
std::cout << kCompilerFrontend->Language() << "\n";
@@ -949,7 +949,7 @@ TOOLCHAINKIT_MODULE(CompilerCPlusPlusX8664)
return kExitOK;
}
- if (strcmp(argv[index], "/cl:max-err") == 0)
+ if (strcmp(argv[index], "--cl:max-err") == 0)
{
try
{
diff --git a/dev/ToolchainKit/src/CPlusPlusCompilerPreProcessor.cc b/dev/ToolchainKit/src/CPlusPlusCompilerPreProcessor.cc
index 2d1e4c4..9121679 100644
--- a/dev/ToolchainKit/src/CPlusPlusCompilerPreProcessor.cc
+++ b/dev/ToolchainKit/src/CPlusPlusCompilerPreProcessor.cc
@@ -324,16 +324,16 @@ void bpp_parse_file(std::ifstream& hdr_file, std::ofstream& pp_out)
}
}
- if (hdr_line.find("//") != std::string::npos)
+ if (hdr_line.find("--/") != std::string::npos)
{
- hdr_line.erase(hdr_line.find("//"));
+ hdr_line.erase(hdr_line.find("--/"));
}
- if (hdr_line.find("/*") != std::string::npos)
+ if (hdr_line.find("--*") != std::string::npos)
{
inactive_code = true;
// get rid of comment.
- hdr_line.erase(hdr_line.find("/*"));
+ hdr_line.erase(hdr_line.find("--*"));
}
/// BPP 'brief' documentation.
@@ -858,7 +858,7 @@ void bpp_parse_file(std::ifstream& hdr_file, std::ofstream& pp_out)
for (auto& include : kIncludes)
{
std::string header_path = include;
- header_path.push_back('/');
+ header_path.push_back('-');
header_path += path;
std::ifstream header(header_path);
@@ -967,27 +967,27 @@ TOOLCHAINKIT_MODULE(CPlusPlusPreprocessorMain)
continue;
}
- if (argv[index][0] == '/')
+ if (argv[index][0] == '-')
{
- if (strcmp(argv[index], "/bpp:ver") == 0)
+ if (strcmp(argv[index], "--bpp:ver") == 0)
{
printf("%s\n", "bpp v1.11, (c) ZKA Web Services Co");
return 0;
}
- if (strcmp(argv[index], "/bpp:?") == 0)
+ if (strcmp(argv[index], "--bpp:?") == 0)
{
printf("%s\n", "ZKA Preprocessor Driver v1.11, (c) ZKA Web Services Co");
- printf("%s\n", "/bpp:working-dir <path>: set directory to working path.");
- printf("%s\n", "/bpp:include-dir <path>: add directory to include path.");
- printf("%s\n", "/bpp:def <name> <value>: define a macro.");
- printf("%s\n", "/bpp:ver: print the version.");
- printf("%s\n", "/bpp:?: show help (this current command).");
+ printf("%s\n", "--bpp:working-dir <path>: set directory to working path.");
+ printf("%s\n", "--bpp:include-dir <path>: add directory to include path.");
+ printf("%s\n", "--bpp:def <name> <value>: define a macro.");
+ printf("%s\n", "--bpp:ver: print the version.");
+ printf("%s\n", "--bpp:?: show help (this current command).");
return 0;
}
- if (strcmp(argv[index], "/bpp:include-dir") == 0)
+ if (strcmp(argv[index], "--bpp:include-dir") == 0)
{
std::string inc = argv[index + 1];
@@ -996,14 +996,14 @@ TOOLCHAINKIT_MODULE(CPlusPlusPreprocessorMain)
kIncludes.push_back(inc);
}
- if (strcmp(argv[index], "/bpp:working-dir") == 0)
+ if (strcmp(argv[index], "--bpp:working-dir") == 0)
{
std::string inc = argv[index + 1];
skip = true;
kWorkingDir = inc;
}
- if (strcmp(argv[index], "/bpp:def") == 0 && argv[index + 1] != nullptr &&
+ if (strcmp(argv[index], "--bpp:def") == 0 && argv[index + 1] != nullptr &&
argv[index + 2] != nullptr)
{
std::string macro_key = argv[index + 1];
diff --git a/dev/ToolchainKit/src/Linker.cc b/dev/ToolchainKit/src/Linker.cc
index 312ffc9..5486b82 100644
--- a/dev/ToolchainKit/src/Linker.cc
+++ b/dev/ToolchainKit/src/Linker.cc
@@ -90,79 +90,79 @@ TOOLCHAINKIT_MODULE(ZKALinkerMain)
*/
for (size_t linker_arg = 1; linker_arg < argc; ++linker_arg)
{
- if (StringCompare(argv[linker_arg], "/link:?") == 0)
+ if (StringCompare(argv[linker_arg], "--link:?") == 0)
{
kLinkerSplash();
- kStdOut << "/link:ver: Show linker version.\n";
- kStdOut << "/link:?: Show linker help.\n";
- kStdOut << "/link:verbose: Enable linker trace.\n";
- kStdOut << "/link:dll: Output as a shared PEF.\n";
- kStdOut << "/link:fat: Output as a FAT PEF.\n";
- kStdOut << "/link:32k: Output as a 32x0 PEF.\n";
- kStdOut << "/link:64k: Output as a 64x0 PEF.\n";
- kStdOut << "/link:amd64: Output as a AMD64 PEF.\n";
- kStdOut << "/link:rv64: Output as a RISC-V PEF.\n";
- kStdOut << "/link:power64: Output as a POWER PEF.\n";
- kStdOut << "/link:arm64: Output as a ARM64 PEF.\n";
- kStdOut << "/link:output: Select the output file name.\n";
+ kStdOut << "--link:ver: Show linker version.\n";
+ kStdOut << "--link:?: Show linker help.\n";
+ kStdOut << "--link:verbose: Enable linker trace.\n";
+ kStdOut << "--link:dll: Output as a shared PEF.\n";
+ kStdOut << "--link:fat: Output as a FAT PEF.\n";
+ kStdOut << "--link:32k: Output as a 32x0 PEF.\n";
+ kStdOut << "--link:64k: Output as a 64x0 PEF.\n";
+ kStdOut << "--link:amd64: Output as a AMD64 PEF.\n";
+ kStdOut << "--link:rv64: Output as a RISC-V PEF.\n";
+ kStdOut << "--link:power64: Output as a POWER PEF.\n";
+ kStdOut << "--link:arm64: Output as a ARM64 PEF.\n";
+ kStdOut << "--link:output: Select the output file name.\n";
return 0;
}
- else if (StringCompare(argv[linker_arg], "/link:ver") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:ver") == 0)
{
kLinkerSplash();
return 0;
}
- else if (StringCompare(argv[linker_arg], "/link:fat-binary") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:fat-binary") == 0)
{
kFatBinaryEnable = true;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:64k") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:64k") == 0)
{
kArch = ToolchainKit::kPefArch64000;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:amd64") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:amd64") == 0)
{
kArch = ToolchainKit::kPefArchAMD64;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:32k") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:32k") == 0)
{
kArch = ToolchainKit::kPefArch32000;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:power64") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:power64") == 0)
{
kArch = ToolchainKit::kPefArchPowerPC;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:riscv64") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:riscv64") == 0)
{
kArch = ToolchainKit::kPefArchRISCV;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:arm64") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:arm64") == 0)
{
kArch = ToolchainKit::kPefArchARM64;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:verbose") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:verbose") == 0)
{
kVerbose = true;
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:dll") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:dll") == 0)
{
if (kOutput.empty())
{
@@ -178,7 +178,7 @@ TOOLCHAINKIT_MODULE(ZKALinkerMain)
continue;
}
- else if (StringCompare(argv[linker_arg], "/link:output") == 0)
+ else if (StringCompare(argv[linker_arg], "--link:output") == 0)
{
kOutput = argv[linker_arg + 1];
++linker_arg;
@@ -187,7 +187,7 @@ TOOLCHAINKIT_MODULE(ZKALinkerMain)
}
else
{
- if (argv[linker_arg][0] == '/')
+ if (argv[linker_arg][0] == '-')
{
kStdOut << "link: unknown flag: " << argv[linker_arg] << "\n";
continue;