summaryrefslogtreecommitdiffhomepage
path: root/src/CommandLine/asm.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-01-08 10:00:55 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-01-08 10:00:55 +0100
commited4ad3ecdd446d2f60a9b671a43b0e7ec32f2a04 (patch)
treee7fc4efbec13b9d10dd029e1caf55a6c140a8d91 /src/CommandLine/asm.cc
parent404d6901985ce7b87ae9fcfcbab16abc9c4bf180 (diff)
fix: Fix Issue #53 on AMD64 assembler.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/CommandLine/asm.cc')
-rw-r--r--src/CommandLine/asm.cc94
1 files changed, 0 insertions, 94 deletions
diff --git a/src/CommandLine/asm.cc b/src/CommandLine/asm.cc
deleted file mode 100644
index 12d179a..0000000
--- a/src/CommandLine/asm.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org)
-// Licensed under the Apache License, Version 2.0 (See accompanying
-// file LICENSE or copy at http://www.apache.org/licenses/LICENSE-2.0)
-// Official repository: https://github.com/nekernel-org/nectar
-
-/// @file asm.cc
-/// @brief Assembler frontend.
-
-#include <CompilerKit/Detail/Config.h>
-#include <cstring>
-#include <vector>
-
-CK_IMPORT_C Int32 AssemblerMainPower64(Int32 argc, Char const* argv[]);
-CK_IMPORT_C Int32 AssemblerMainARM64(Int32 argc, Char const* argv[]);
-CK_IMPORT_C Int32 AssemblerMain64x0(Int32 argc, Char const* argv[]);
-CK_IMPORT_C Int32 AssemblerMainAMD64(Int32 argc, Char const* argv[]);
-
-enum AsmKind : Int32 {
- kInvalidAssembler = 0,
- kX64Assembler = 100,
- k64X0Assembler,
- kPOWER64Assembler,
- kARM64Assembler,
- kAssemblerCount = kARM64Assembler - kX64Assembler + 1,
-};
-
-Int32 main(Int32 argc, Char const* argv[]) {
- std::vector<const Char*> arg_vec_cstr;
- arg_vec_cstr.push_back(argv[0]);
-
- const Int32 kInvalidAssembler = -1;
- Int32 asm_type = kInvalidAssembler;
-
- for (size_t index_arg = 1; index_arg < argc; ++index_arg) {
- if (strcmp(argv[index_arg], "-asm-h") == 0) {
- std::printf("asm: Frontend Assembler (64x0, power64, arm64, x64).\n");
- std::printf("asm: Version: %s, Release: %s.\n", kDistVersion, kDistRelease);
- std::printf(
- "asm: Designed by Amlal El Mahrouss, Copyright (C) 2024-2025 Amlal El Mahrouss, all "
- "rights reserved.\n");
- std::printf(
- "CompilerKit: Designed by Amlal El Mahrouss, Copyright (C) 2024-2025 Amlal El Mahrouss, "
- "Licensed under the Apache 2.0 license.\n");
-
- return 0;
- } else if (strcmp(argv[index_arg], "-asm-x64") == 0) {
- asm_type = kX64Assembler;
- } else if (strcmp(argv[index_arg], "-asm-aarch64") == 0) {
- asm_type = kARM64Assembler;
- } else if (strcmp(argv[index_arg], "-asm-64x0") == 0) {
- asm_type = k64X0Assembler;
- } else if (strcmp(argv[index_arg], "-asm-power64") == 0) {
- asm_type = kPOWER64Assembler;
- } else {
- arg_vec_cstr.push_back(argv[index_arg]);
- }
- }
-
- switch (asm_type) {
- case kPOWER64Assembler: {
- if (int32_t code = AssemblerMainPower64(arg_vec_cstr.size(), arg_vec_cstr.data()); code) {
- std::printf("asm: frontend exited with code %i.\n", code);
- return code;
- }
- break;
- }
- case k64X0Assembler: {
- if (int32_t code = AssemblerMain64x0(arg_vec_cstr.size(), arg_vec_cstr.data()); code) {
- std::printf("asm: frontend exited with code %i.\n", code);
- return code;
- }
- break;
- }
- case kARM64Assembler: {
- if (int32_t code = AssemblerMainARM64(arg_vec_cstr.size(), arg_vec_cstr.data()); code) {
- std::printf("asm: frontend exited with code %i.\n", code);
- return code;
- }
- break;
- }
- case kX64Assembler: {
- if (int32_t code = AssemblerMainAMD64(arg_vec_cstr.size(), arg_vec_cstr.data()); code) {
- std::printf("asm: frontend exited with code %i.\n", code);
- return code;
- }
- break;
- }
- default: {
- return EXIT_FAILURE;
- }
- }
-
- return EXIT_SUCCESS;
-}