From a5ecbdf3ac42d74f0b2fdb3f621acc0682cdc8f2 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Wed, 24 Jun 2026 15:50:18 +0200 Subject: [PATCH] Added an error message for syscalls on Windows --- src/core/errors.go | 1 + src/core/evaluateSyscall.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/core/errors.go b/src/core/errors.go index 8570281..923ae28 100644 --- a/src/core/errors.go +++ b/src/core/errors.go @@ -25,6 +25,7 @@ var ( MissingObject = errors.String("Missing object or identifier") MissingFieldName = errors.String("Missing field name") MissingOperand = errors.String("Missing operand") + SyscallNotAvailable = errors.String("Syscall is not available for this operating system") UnnecessaryCast = errors.String("Unnecessary type cast") ) diff --git a/src/core/evaluateSyscall.go b/src/core/evaluateSyscall.go index 055fdc5..1e69e1d 100644 --- a/src/core/evaluateSyscall.go +++ b/src/core/evaluateSyscall.go @@ -1,12 +1,18 @@ package core import ( + "git.urbach.dev/cli/q/src/config" + "git.urbach.dev/cli/q/src/errors" "git.urbach.dev/cli/q/src/expression" "git.urbach.dev/cli/q/src/ssa" ) // evaluateSyscall converts a syscall to an SSA value. func (f *Function) evaluateSyscall(expr *expression.Expression) (ssa.Value, error) { + if f.Env.Build.OS == config.Windows { + return nil, errors.New(SyscallNotAvailable, f.File, expr.Children[0].Source()) + } + args, err := f.decompose(expr.Children[1:], nil, false) if err != nil { -- 2.51.2