From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id wPABG5od7mYyqAAAqHPOHw:P1 (envelope-from ) for ; Sat, 21 Sep 2024 03:12:58 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:58f0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0.migadu.com with LMTPS id wPABG5od7mYyqAAAqHPOHw (envelope-from ) for ; Sat, 21 Sep 2024 03:12:58 +0200 X-Envelope-To: patches@johnnyrichard.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=F9PsJHIY; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b=IROXPu1s; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=johnnyrichard.com; s=key1; t=1726881178; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:list-id: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=EC43yXVgcycBsNhlVnQbjq1fLfuHecyUz4tAIP+4lsA=; b=COWnHKcZfSkMQlayluHYLrUOswohMIFo5/vrRvcp5ErSa4Su0AqSUmRzSoOIOr1HwDwZhX 4Ai+nnu7rVvL3p3N7vMQFYspOLlPm+6YWLURZ5ph+6am+MNLKWgKj7wJnWTbcVZd/7KwYr 5mlOocMg2toW/fJFDTObhsxa5OuIdwYAv2oJz/HpEBYCw0DxobkZiDd/osgyheC08ezB8Q 7tafztfE0Ev6kwsucybifsfJfEYHWJ2UFZ8kcwbITjeSjCdFgy760cdvUNlJQsQlCSmvb1 zbcSSIgwKRFEhtxcrL8YLlv2q42xedvxaSdVCzGwSxLDFTfOb+SmV50SoxM8Xw== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=lists.sr.ht header.s=20240113 header.b=F9PsJHIY; dkim=pass header.d=maniero.me header.s=hostingermail1 header.b=IROXPu1s; spf=pass (aspmx1.migadu.com: domain of lists@sr.ht designates 46.23.81.152 as permitted sender) smtp.mailfrom=lists@sr.ht; dmarc=pass (policy=none) header.from=maniero.me; arc=pass ("mailchannels.net:s=arc-2022:i=1") ARC-Seal: i=2; s=key1; d=johnnyrichard.com; t=1726881178; a=rsa-sha256; cv=pass; b=nJ7ZA4wKqVRDAa/2ty5pgWS7Nh8UTQne3RwvrTPFKXBuB1vBwLAnScbQPtf4GRNcu27FQs PqxR/d/OlEHbrI0SJ83zBouo2Tjqu4GhiozF8TGVbuJE+zES9mzZXiu/lZhk5prAituR4b CpEKfhRNyQt+xiEA+che6bXLYWUo1mi4t2fmvOW0BoMkqx91bjw4xIdb13DTfuwAxRkxUW KhRrlSVcEwg79vtQ4MjEDl7uccwnGBqZspLGq2wS6uqG0Ac3H7owpseruSsipHiocFPfx5 2Pgy4Z5Uto3Eh13blpnE+5tw8f97OrrmDKHIlDYlEogCgRBPeDIMKGYBnHRtCw== Received: from mail-a.sr.ht (mail-a.sr.ht [46.23.81.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2954F85BF8 for ; Sat, 21 Sep 2024 03:12:58 +0200 (CEST) DKIM-Signature: a=rsa-sha256; bh=BB8CaD/udmchx3ozyYd5+Fi/55gVy80wlUg4Yy3TTtc=; c=simple/simple; d=lists.sr.ht; h=From:To:Cc:Subject:Date:List-Unsubscribe:List-Subscribe:List-Archive:List-Post:List-ID; q=dns/txt; s=20240113; t=1726881177; v=1; b=F9PsJHIYgXSib/TGezX4F/3z68PzpUim+qpk4vJi5dOkgGJnHjzMdx51E1qvnICfu4emspQ+ TXj/P1JYNxciqEf0rwtzsRgNoRHwHhVdFmbkjg0gbwJesM5vAkUwRiEZJJ3NZtMvfvrdfc4v0QE p4Zmb+22pU90VFzkhidZqdL6BaKjVGANjMHSCP0ZYbmR5szsvWescz3I9qsMyfaesDOk6n7L1QC 1yOF+kotsvnL8WBHgC+CL5gaqNq30RdnfbyYaorWsZDNDa2mnDunH6laLNsQgY7jNzFIR3ZQirD nGBID3Acf4t/l6UEBOv1uKljpajFvzUvo9b4+VDml0wRg== Received: from lists.sr.ht (unknown [46.23.81.154]) by mail-a.sr.ht (Postfix) with ESMTPSA id C62812028B for ; Sat, 21 Sep 2024 01:12:57 +0000 (UTC) Received: from rusty.tulip.relay.mailchannels.net (rusty.tulip.relay.mailchannels.net [23.83.218.252]) by mail-a.sr.ht (Postfix) with ESMTPS id 696D820278 for <~johnnyrichard/olang-devel@lists.sr.ht>; Sat, 21 Sep 2024 01:12:56 +0000 (UTC) X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id F13BF848AF1 for <~johnnyrichard/olang-devel@lists.sr.ht>; Sat, 21 Sep 2024 01:12:54 +0000 (UTC) Received: from nl-srv-smtpout1.hostinger.io (unknown [127.0.0.6]) (Authenticated sender: hostingeremail) by relay.mailchannels.net (Postfix) with ESMTPA id 3D0E8848A96 for <~johnnyrichard/olang-devel@lists.sr.ht>; Sat, 21 Sep 2024 01:12:54 +0000 (UTC) ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1726881174; a=rsa-sha256; cv=none; b=zvqz/icLcaKf14ZQ0FNsuBKkfyZxWf4WkndcNEVREuAOvO/P+OSUKBcEjuqRpTBJsHAuph 6jXlabZGdx0+WQJzhZDseReXlI2SIN7Imnq3ZKvEefkCcWJ/RRF6ryZPu6VrAvbnDnlR/x xFF676CPNQGVHGQ9ho4bmyAq4HqCxm3CGqGtsT8YqjVWrgKOhFgjZculQisBclSb7iCDfW k31yK67I6QoZdqu6+XY4uLDUo+bKX/cgZPSXlYL07QsFCOFv7KbpZGINOUPPJ7c1F+CroU rl+DU2J0F+zDDjLo78LfnwAn/lKPRegrHJDg7VhV3Jo/Ed/UYZHegbWcmxgFHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1726881174; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding:dkim-signature; bh=EC43yXVgcycBsNhlVnQbjq1fLfuHecyUz4tAIP+4lsA=; b=IN31qdUZxPrTVM2HKW9RdQR4EVCVbIUTFJN0LmVUcHqvIiV9DQAY5/ZN9XRkGThnitVAeD 0fG8vSvXqxPkCSwcdfVnaCLJx7j5s/d8lKG1ZjohEMtDnBo/OodOUtI/9WP7hJG1dJdUSc a6BcG5IUf3rBRQxsPrecqOCqjih8Ec4NpGsFNyUukoXAWHYaDIC8wQYM/tWwawXiKRIa/m 1r8zaPVacsQ2FDXVroo0q/9KFZJfxzpQLYLbcWSzhVB/I5+osb6aU2AZZlDit5rTRAmTFN ChOAIBaJFFxxCGbh/Q1bc5SoJbP3b+Ihky3mJ9Nbmm0HNBpaIEot9eA5OMlucQ== ARC-Authentication-Results: i=1; rspamd-b5ccff48b-jvl59; auth=pass smtp.auth=hostingeremail smtp.mailfrom=carlos@maniero.me X-Sender-Id: hostingeremail|x-authuser|carlos@maniero.me X-MC-Relay: Neutral X-MailChannels-SenderId: hostingeremail|x-authuser|carlos@maniero.me X-MailChannels-Auth-Id: hostingeremail X-Illustrious-Whispering: 25a1b4d564af0116_1726881174719_2111761988 X-MC-Loop-Signature: 1726881174719:3715077346 X-MC-Ingress-Time: 1726881174719 Received: from nl-srv-smtpout1.hostinger.io (nl-srv-smtpout1.hostinger.io [145.14.150.87]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.105.111.255 (trex/7.0.2); Sat, 21 Sep 2024 01:12:54 +0000 From: Carlos Maniero DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maniero.me; s=hostingermail1; t=1726881172; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=EC43yXVgcycBsNhlVnQbjq1fLfuHecyUz4tAIP+4lsA=; b=IROXPu1saIX0ch0joQ7QB8SV4eU8is2mzvUrAdRyODjfFALpvFjKF3CA8U3w8EpyRLO8gN ui3BeeeuQz/lHl5t83KZCx1CCt9SCZ0PY69uNYc4BuOyEBeAiodJNk54mVBHsIuQKIhkxd lZCw4gAAXtmk2mZHyEPhH9E/vIhiUQrJ5Ewy7LoC/Z77lBFRicUDua8CiExsqfiZc6Fl4z zWm7nOHXn9iPwZJTyS8MxS/I+az4XutIu788j7ua6ajTZYij4DFj3qbVn0W9Dhj3wWr0MY SoJ9qy8DzrXqS4wF8hNQ5sVIc3U3dLY2V+eNBeppG5GTgOj40bbC+EVNJyjZtA== To: ~johnnyrichard/olang-devel@lists.sr.ht Cc: Carlos Maniero Subject: [PATCH olang 0/5] fix multiple variables Message-Id: <20240921011234.191248-1-carlos@maniero.me> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Date: Sat, 21 Sep 2024 01:12:52 +0000 (UTC) X-CM-Envelope: MS4xfLlJryVAZDf5H6fWLlp5cdIoRHRz1thZX7jYOXY8zDRg5JVf+WiDfKRsxtEB40b05QJ91gNtJ3LO9kq1l9JJ4GkvJovgAOKkW6Yij3rl0WyX3lGJHtMR vXD+3KVnwA/LX4KER5RnF06g7CMWwgGnq2qn8w9jS/tdPDzCEtDvLTyRTi9eOtpzWYgV8YdDku7bBStMgbRiSZaE3Q0vVLacB3/uyF88JuYtH5qj3ZiBoUXv X-CM-Analysis: v=2.4 cv=c5X5Qg9l c=1 sm=1 tr=0 ts=66ee1d94 a=WwxFCuf3mf1fs3oSi6/dng==:117 a=WwxFCuf3mf1fs3oSi6/dng==:17 a=MKtGQD3n3ToA:10 a=1oJP67jkp3AA:10 a=O5vs80G0EqZgGp8_McYA:9 a=BXDaF_L80NY05PYiAFlV:22 X-AuthUser: carlos@maniero.me List-Unsubscribe: List-Subscribe: List-Archive: Archived-At: List-Post: List-ID: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel.lists.sr.ht> Sender: ~johnnyrichard/olang-devel <~johnnyrichard/olang-devel@lists.sr.ht> X-Migadu-Flow: FLOW_IN X-Migadu-Country: NL X-Migadu-Queue-Id: 2954F85BF8 X-Migadu-Scanner: mx11.migadu.com X-Spam-Score: -5.13 X-Migadu-Spam-Score: -5.13 X-TUID: oVLcioTcz3Cw The expressions in x86 performs stack instructions which was causing conflicts with the space that was reserved for variables. This patchset ensures that theses instructions no longer messes with the stack. Carlos Maniero (5): map: add function to retrieve all key-value pairs scope: make scope a bi-directional tree ast: checker: add function scope codegen: reset variable offset on block leave codegen: preserve function's variable stack location src/ast.h | 1 + src/checker.c | 1 + src/codegen_linux_x86_64.c | 47 ++++++++++++++++++- src/map.c | 17 +++++++ src/map.h | 10 ++++ src/scope.c | 14 ++++++ src/scope.h | 2 + .../tests/0025_var_definition_nested.ol | 35 ++++++++++++++ tests/unit/map_test.c | 30 ++++++++++++ 9 files changed, 156 insertions(+), 1 deletion(-) create mode 100644 tests/integration/tests/0025_var_definition_nested.ol base-commit: cb4b63f5879862d2f8282382128995d4e6eff76c -- 2.34.1