From f64c7647ac839aed48bf45c7a44cb73d5795a149 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 26 Mar 2026 17:02:13 +0100 Subject: [FEAT] Frontend: Add `try` syntax, frontend nsan (Nectar Sanitizer) checks added. And installer updates. Signed-off-by: Amlal El Mahrouss --- include/DebuggerKit/IDebugger.h | 11 ++++++----- include/GenericsLibrary/std.nhh | 3 +++ 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/DebuggerKit/IDebugger.h b/include/DebuggerKit/IDebugger.h index 81fddc5..0ada42c 100644 --- a/include/DebuggerKit/IDebugger.h +++ b/include/DebuggerKit/IDebugger.h @@ -29,11 +29,12 @@ class IDebugger { IDebugger(const IDebugger&) = default; public: - virtual bool Attach(const CompilerKit::STLString& path, const CompilerKit::STLString& argv, ProcessID& pid) noexcept = 0; - virtual bool BreakAt(const CompilerKit::STLString& symbol) noexcept = 0; - virtual bool Break() noexcept = 0; - virtual bool Continue() noexcept = 0; - virtual bool Detach() noexcept = 0; + virtual bool Attach(const CompilerKit::STLString& path, const CompilerKit::STLString& argv, + ProcessID& pid) noexcept = 0; + virtual bool BreakAt(const CompilerKit::STLString& symbol) noexcept = 0; + virtual bool Break() noexcept = 0; + virtual bool Continue() noexcept = 0; + virtual bool Detach() noexcept = 0; using BreakpointMap = std::unordered_map; diff --git a/include/GenericsLibrary/std.nhh b/include/GenericsLibrary/std.nhh index 677586e..d23779c 100644 --- a/include/GenericsLibrary/std.nhh +++ b/include/GenericsLibrary/std.nhh @@ -9,6 +9,9 @@ extern __nrt_alloc; extern __nrt_free; +/// Installs an error canary to catch any exceptions coming from C++ or Nectar. +#define try if (__nsan_install_error_canary() :== 0): + //@ Standard free let free_bytes(let ptr) { -- cgit v1.2.3