From fbf988a0c0e31fcbc0cb1390828abf3f07b12824 Mon Sep 17 00:00:00 2001 From: Karutoh Date: Thu, 9 Oct 2025 07:43:23 -0700 Subject: [PATCH] Huge update, backup commit. --- Main.arc | 28 ++++++++++++++++++++++++++++ include/arctyx/compiler/StackParam.h | 23 ++++++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 Main.arc diff --git a/Main.arc b/Main.arc new file mode 100644 index 0000000..94ce85d --- /dev/null +++ b/Main.arc @@ -0,0 +1,28 @@ +class Bar +{ + public Bool enabled + + Bar(const Bool enabled) + : enabled(enabled) + { + } +} + +UInt_8 Main(const Char_8 *args) +{ + Char_8 hello[] = "Hello, fucking world!"; + + Bar bar(true); + bar.enabled = false; + + UInt_8 test = 5, a = 2 + test = test + 25 + test = test + a + ++test + a++ + + if (test < a) + ++test + + return test +} diff --git a/include/arctyx/compiler/StackParam.h b/include/arctyx/compiler/StackParam.h index ae44cad..23b560a 100644 --- a/include/arctyx/compiler/StackParam.h +++ b/include/arctyx/compiler/StackParam.h @@ -5,7 +5,28 @@ class StackParam { private: - bool pointer; const Register *reg; + ehs::UInt_64 stackOffset; + bool pointer; +public: + StackParam(); + + StackParam(const Register *reg, bool pointer); + + StackParam(ehs::UInt_64 stackOffset, bool pointer); + + StackParam(StackParam &&other) noexcept; + + StackParam(const StackParam &other); + + StackParam &operator=(StackParam &&other) noexcept; + + StackParam &operator=(const StackParam &other); + + bool IsRegister() const; + + bool IsStack() const; + + bool IsPointer() const; }; \ No newline at end of file