summaryrefslogtreecommitdiffhomepage
path: root/tools/cppdrv.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-04-19 17:33:26 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-04-19 17:33:26 +0200
commitbefde76cfa46c766e81f74eb5ac65d3dae2dde87 (patch)
tree45b2f9fd6b3f9605c2747485bd24483192f99e73 /tools/cppdrv.cc
parent3afc481dc64a07fe7fcaff9ce7a12a492c3ec8e7 (diff)
dev, LibCompiler, tooling: refactor and separate components into modules
(cppdrv, cxxdrv) Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'tools/cppdrv.cc')
-rw-r--r--tools/cppdrv.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/cppdrv.cc b/tools/cppdrv.cc
new file mode 100644
index 0000000..209b86e
--- /dev/null
+++ b/tools/cppdrv.cc
@@ -0,0 +1,30 @@
+/* -------------------------------------------
+
+ Copyright (C) 2024-2025 Amlal EL Mahrous, all rights reserved
+
+------------------------------------------- */
+
+/// @file cxxdrv.cc
+/// @brief NE C++ frontend compiler.
+
+#include <LibCompiler/Defines.h>
+#include <LibCompiler/ErrorID.h>
+#include <LibCompiler/Version.h>
+#include <iostream>
+#include <cstring>
+#include <vector>
+
+LC_IMPORT_C int CPlusPlusPreprocessorMain(int argc, char const* argv[]);
+
+int main(int argc, char const* argv[])
+{
+ if (auto code = CPlusPlusPreprocessorMain(2, argv);
+ code > 0)
+ {
+ std::printf("cxxdrv: compiler exited with code %i.\n", code);
+
+ return LIBCOMPILER_EXEC_ERROR;
+ }
+
+ return LIBCOMPILER_SUCCESSS;
+} \ No newline at end of file