From nobody Tue Mar 3 03:25:04 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1771937186; cv=none; d=zohomail.com; s=zohoarc; b=VB74xiXnB9+vPqD9waQjLt4ID/XmUEuBiuzRbu0NLQh4EV1DG6oIXDTZrZ1NZFC8WQtVs7/P6Dn4uvbkpDxeyiNGyDnzAtdl9w/fHYI2Mjb5IanvWXmhTN/LxcQqaBxTqX83i3/4pWYD/Ys2oiM2t9qjpb0sm0mCx6Y5ZRe40EA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771937186; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E//KrHW5SVbFJ277xUaYoskVjOU3YAYhSUGMaxRLbXg=; b=W2gggMDgc0REArjqWVb0ECZclXvwJHBJZysAcJlox+QgM3uCn1ckRm2+tmm/H6Ow3p5F9JP6cjmEW0Nm/2vNy8SZu/Zkm1gStBh9bT2rKaDY/l+2clK1t6n9zf6KLLpR8kgW2mdpeEHBCZCZj6JpQi3SR3PlWyUyQZToXle2Tsc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1771937186512842.2412520240252; Tue, 24 Feb 2026 04:46:26 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1240003.1541475 (Exim 4.92) (envelope-from ) id 1vurnn-0003uN-Cr; Tue, 24 Feb 2026 12:46:11 +0000 Received: by outflank-mailman (output) from mailman id 1240003.1541475; Tue, 24 Feb 2026 12:46:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vurnn-0003uG-8n; Tue, 24 Feb 2026 12:46:11 +0000 Received: by outflank-mailman (input) for mailman id 1240003; Tue, 24 Feb 2026 12:46:10 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vurnm-0003tj-3g for xen-devel@lists.xenproject.org; Tue, 24 Feb 2026 12:46:10 +0000 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [2a00:1450:4864:20::42d]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c7f41cd5-117e-11f1-9ccf-f158ae23cfc8; Tue, 24 Feb 2026 13:46:04 +0100 (CET) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-436309f1ad7so4199164f8f.3 for ; Tue, 24 Feb 2026 04:46:04 -0800 (PST) Received: from localhost.localdomain (host-92-22-18-152.as13285.net. [92.22.18.152]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43987f3ed03sm4803236f8f.16.2026.02.24.04.46.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 04:46:03 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c7f41cd5-117e-11f1-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1771937164; x=1772541964; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=E//KrHW5SVbFJ277xUaYoskVjOU3YAYhSUGMaxRLbXg=; b=tK8ZFlncsWZIJN/TYAsgv7CxoYxvxfpeHpJZG9ji5ck73acfv04UkxMjYX5Im41/S+ iP9f+vI91KYlxxn49P4C8jthBhO3us0Go60QTGOCuqYUODEMzh/kzyhBGRndp/okzN26 TdfPT0uCyOS6JVV1GFvCGJyATcHSYYfgTiRuQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771937164; x=1772541964; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=E//KrHW5SVbFJ277xUaYoskVjOU3YAYhSUGMaxRLbXg=; b=nZ8Ir8vXfamcyCKopL13bzVtV3vC6i+RrRqjIitX0I1LhF9rIbxXkc8DKG2lD9kfSb NqRsS4m04V9+Ffke1zBH4q77xuYrGb5AmrWnkkaZZ4Xh0z9gaaD3YZB+7AZEs0DNo3BU J8KBHVOijYURlzQy7AkYCybCUVwjzVuZzq5gDC9MrNKN4hmoecdQ4Uh6cNJng/9BkPXQ kLm6XpKCwh+k8UPMEn5M7oEh9d3bYl2qPTpVVpa/QX/dREO949PkKQaWjEI4URr5dIto Bjx61wwVdf2b6nTvZEiyqrAOUOghU1kjQ6Qpzch+UZrpVq87GjehxvdOHCP6LpLHR0HP vcjg== X-Gm-Message-State: AOJu0YynS2GUJc/RcwpHExuT22WokJS6G7RJ3cAZmHUiEgSSk9QBtC2j 4WQkyv+iu9SV7783JiQrmsE2K/9fNuhPJceKkFyQ+mKCTCiqa2zvDn4kLbNf9JzMlP5MQLJsHRp kUfX3dOdO+Q== X-Gm-Gg: ATEYQzwDhMxTdkaQ+PSwPhOgxF9bwMDhJj2TrGdv7XT9Z2VP4yJy91yKH9B0HDH/xFZ zvXiM7CN2V6yOj4qtHsD9dvDr1Y/aRCD5OGhp7WzIT61vQVWGI492lkFNcUUJQDAhU+3clXbGKk dbjFvw+yIFhe83k6a+xQzSutTgrXznoZzc8dwNLLN+HSKDJRgFxEsXZlJsPbSPCxtoIAO+dhnAe JhzxF+Ts1DDtCwILaxX0bpwRn3szdjqndqmJPymdnMoaNTq5ijI3MxIA/RvzSpDpqQzgs6AE0in F3dqefT0JjxZYhBjlTCcyxtLdVNBYLQAnZzlfAKYk4dGdTeyCjvLlp7GI7JbPEtN+aLN6+MvZA5 5pO5UuP68bF4Y9LSNcXJWinxn8ppcTqpzGmKL8caHNPi14dTBepZ0sME0WVRHLcOy/GGCCYtYbb cjNTYHKGD0Kr0GwIiwCSOn0UqLCz3J/gGtut6EAJnFjdX/txuWpmxTODbgmN7DRllhDENalfmHL oT14Krdhw== X-Received: by 2002:a05:6000:188e:b0:436:f7e5:e047 with SMTP id ffacd0b85a97d-4396f18541dmr19951778f8f.47.1771937163532; Tue, 24 Feb 2026 04:46:03 -0800 (PST) From: Andrew Cooper To: Xen-devel Cc: Andrew Cooper , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Subject: [PATCH 1/2] xen/arm: Simplify SMCCC handling by reusing __declare_arg_$() Date: Tue, 24 Feb 2026 12:45:57 +0000 Message-Id: <20260224124558.3675278-2-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260224124558.3675278-1-andrew.cooper3@citrix.com> References: <20260224124558.3675278-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1771937187589158500 Content-Type: text/plain; charset="utf-8" Now that the type handling is entirely uniform, it's easier to see that __declare_arg_3() can use __declare_arg_2() and so on, just like the larger __declare_arg_$()'s already do. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Michal Orzel --- CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Michal Orzel --- xen/arch/arm/include/asm/smccc.h | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/sm= ccc.h index 5b30dd57b69d..347c4526d12a 100644 --- a/xen/arch/arm/include/asm/smccc.h +++ b/xen/arch/arm/include/asm/smccc.h @@ -114,26 +114,17 @@ struct arm_smccc_res { =20 #define __declare_arg_1(a0, a1, res) \ typeof(a1) __a1 =3D (a1); \ - struct arm_smccc_res *___res =3D (res); \ - register unsigned long arg0 ASM_REG(0) =3D (uint32_t)(a0);\ + __declare_arg_0(a0, res); \ register typeof(a1) arg1 ASM_REG(1) =3D __a1 =20 #define __declare_arg_2(a0, a1, a2, res) \ typeof(a1) __a1 =3D (a1); \ - typeof(a2) __a2 =3D (a2); \ - struct arm_smccc_res *___res =3D (res); \ - register unsigned long arg0 ASM_REG(0) =3D (uint32_t)(a0);\ - register typeof(a1) arg1 ASM_REG(1) =3D __a1; \ + __declare_arg_1(a0, a1, res); \ register typeof(a2) arg2 ASM_REG(2) =3D __a2 =20 #define __declare_arg_3(a0, a1, a2, a3, res) \ typeof(a1) __a1 =3D (a1); \ - typeof(a2) __a2 =3D (a2); \ - typeof(a3) __a3 =3D (a3); \ - struct arm_smccc_res *___res =3D (res); \ - register unsigned long arg0 ASM_REG(0) =3D (uint32_t)(a0);\ - register typeof(a1) arg1 ASM_REG(1) =3D __a1; \ - register typeof(a2) arg2 ASM_REG(2) =3D __a2; \ + __declare_arg_2(a0, a1, a2, res); \ register typeof(a3) arg3 ASM_REG(3) =3D __a3 =20 #define __declare_arg_4(a0, a1, a2, a3, a4, res) \ --=20 2.39.5 From nobody Tue Mar 3 03:25:04 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1771937193; cv=none; d=zohomail.com; s=zohoarc; b=SbNmgjKSEDXdcp3R9HQ90CkCjCc02zyJvHiIfT9zMP03K8ZV3kIa4iBet9RAcfvW50SSAuQyWqWsrVWqbEy1mlvrdMJOnuD1HNWoOBzftGO6hoaDfFh/K5hI0JnetVUvwtuBDCv3iRs7C/SxL63usrt4LigQDJ9PbGO22mrR8Fo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771937193; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=g4sp/g7nefG7eULFXp8l8pUWsqFfRFPg4pIwmWThBj4=; b=SSIXzvsu77x4y0lMdUbTHnn/Ci8e4t+WtwkOSca5XlxwL0+aWRmpJJ2ddXtqORynLT8OvhX2xeVbIk3auA/dRicT+vojP52zuBOWURC9baUigPWF6bfeKKGLFkHbJWlIWNHgBKHwyzJ0zR68M1kXIZXSR/c0sSy0guR4OT26khY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1771937193661104.51901113481904; Tue, 24 Feb 2026 04:46:33 -0800 (PST) Received: from list by lists.xenproject.org with outflank-mailman.1240004.1541484 (Exim 4.92) (envelope-from ) id 1vurns-0004BE-J3; Tue, 24 Feb 2026 12:46:16 +0000 Received: by outflank-mailman (output) from mailman id 1240004.1541484; Tue, 24 Feb 2026 12:46:16 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vurns-0004B7-FJ; Tue, 24 Feb 2026 12:46:16 +0000 Received: by outflank-mailman (input) for mailman id 1240004; Tue, 24 Feb 2026 12:46:15 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1vurnr-0003tj-Cy for xen-devel@lists.xenproject.org; Tue, 24 Feb 2026 12:46:15 +0000 Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com [2a00:1450:4864:20::42d]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id c8a8cdd5-117e-11f1-9ccf-f158ae23cfc8; Tue, 24 Feb 2026 13:46:05 +0100 (CET) Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-436e8758b91so3770570f8f.0 for ; Tue, 24 Feb 2026 04:46:05 -0800 (PST) Received: from localhost.localdomain (host-92-22-18-152.as13285.net. [92.22.18.152]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43987f3ed03sm4803236f8f.16.2026.02.24.04.46.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Feb 2026 04:46:04 -0800 (PST) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: c8a8cdd5-117e-11f1-9ccf-f158ae23cfc8 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=citrix.com; s=google; t=1771937165; x=1772541965; darn=lists.xenproject.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=g4sp/g7nefG7eULFXp8l8pUWsqFfRFPg4pIwmWThBj4=; b=NI1vGpZtD3OUSSmvgxKX5PC/NZKOvoWRA0R3mwY+2t7xDqCAUgZ64IYncg6LKRTG5+ KgtgyGXrB/KWRAWFW5ZFxB1qP4MY3CyzDSYHx56LbfhJleAsPOqnP5Kbc1zf8OSQ69iD vKBWbP2lPxuqeUMSquAxkgsyPg7vwlQSOOw4w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771937165; x=1772541965; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=g4sp/g7nefG7eULFXp8l8pUWsqFfRFPg4pIwmWThBj4=; b=Gu2wzLDq2yGUQJILzXZj7Mqn+IoHbEd2gOUaaxTY9ZqBgla2dvXvmwNKkgqCAXz55+ INsjAZACmRX8OiZAhQ5Rz+bWjWuBViaDUD4KwD1l0VIHQ+M8lWTYsdX3utx3uopg8N9s p3nIQmiQL/lJBV5EqawMcCtJFMSJ1zd9hW1dx+zwBdMWqi7IfjAXQJaBOQFM1U6xntsR SqcFxnHhznXN7CkLrqBbelRIZIHFpWlipEXt6cOtb1AiNR9hjFRTAdO6ZaHVNPOO0hVT Ks1vwgEye3296SRNxqriaWbBl7ph3+ruJnWBthndgoomMKjNm4M1rkBz9b7H1jlKsg5+ prfA== X-Gm-Message-State: AOJu0YzhIvfAiPLRwvGiAIJkDJe3WeGn1t2CqpIDEy58wX2XeK5hVHEa ul5JNcwmAJSZGUBBIaT+h8ivsg1O/8OJgeJM9BRk4/naQVFEEhSkLT0lk28JalYlBvsy2QX0P/O SItW6Pd2vVw== X-Gm-Gg: ATEYQzy+dJgrKBxueC4qoENCUR8d62uVptYpAQb40aFjPO5QR7M3mwlQfC7vONKbl1Y LGTGLT3Yqp1NB5GAErMPOpZnhV55PXlrhw7oc0SW2kJ+hxspgT77VJiFJtoMY2nq0FrOcVGrgS1 BgTyE89FSM/hQQYYFnyDbPFf0aygHn2+aK52C57oG049tIrPeZPg0fBphnDZvHZCUGL0rdYb19e oNJChMH6MG/wT3sbamHS0T5oYOgWHuDz51o5YTeWcgbMHievX2DXWxA+xlk8cuChbi45MTQNQt9 vrDOzdSKfgAjAYhpn1sfGYloIcC7+27UEVEt6YdGEuKYxEAPFrT8UuCsOmpUmRW1j+GKnCnSQLg eu9ILEyPJDvwuIb/yziTa9qUQDy/c0hCvB5DwThhWpkuUIc0XlguBKvDSo+Y9/F7Yq9pUQ+WKos 5uwEgzgaSS65ErgQ1UsahcQuf4kjLfw4Sai697P6hUp/A9QJu/q4iNJ2Hz5vM/9iYoIEh6m7s= X-Received: by 2002:a05:6000:2281:b0:436:19f6:31b0 with SMTP id ffacd0b85a97d-4396f153c41mr23095241f8f.4.1771937164753; Tue, 24 Feb 2026 04:46:04 -0800 (PST) From: Andrew Cooper To: Xen-devel Cc: Andrew Cooper , Stefano Stabellini , Julien Grall , Volodymyr Babchuk , Bertrand Marquis , Michal Orzel Subject: [PATCH 2/2] xen/arm: Simplify type handling for SMCCC declarations Date: Tue, 24 Feb 2026 12:45:58 +0000 Message-Id: <20260224124558.3675278-3-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20260224124558.3675278-1-andrew.cooper3@citrix.com> References: <20260224124558.3675278-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) X-ZM-MESSAGEID: 1771937195429158500 Content-Type: text/plain; charset="utf-8" There's no use creating a typed copy of a macro argument, simply to use it = to create a second typed copy. Remove the indirection, halving the number of local variables created in scope. No functional change. Signed-off-by: Andrew Cooper Reviewed-by: Michal Orzel --- CC: Stefano Stabellini CC: Julien Grall CC: Volodymyr Babchuk CC: Bertrand Marquis CC: Michal Orzel This also makes them clearly elliglbe for converstion to auto, where they weren't before (typeof expression not being that of the RHS). --- xen/arch/arm/include/asm/smccc.h | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/xen/arch/arm/include/asm/smccc.h b/xen/arch/arm/include/asm/sm= ccc.h index 347c4526d12a..7e90b0b56550 100644 --- a/xen/arch/arm/include/asm/smccc.h +++ b/xen/arch/arm/include/asm/smccc.h @@ -113,39 +113,32 @@ struct arm_smccc_res { register unsigned long arg0 ASM_REG(0) =3D (uint32_t)(a0) =20 #define __declare_arg_1(a0, a1, res) \ - typeof(a1) __a1 =3D (a1); \ __declare_arg_0(a0, res); \ - register typeof(a1) arg1 ASM_REG(1) =3D __a1 + register typeof(a1) arg1 ASM_REG(1) =3D a1 =20 #define __declare_arg_2(a0, a1, a2, res) \ - typeof(a1) __a1 =3D (a1); \ __declare_arg_1(a0, a1, res); \ - register typeof(a2) arg2 ASM_REG(2) =3D __a2 + register typeof(a2) arg2 ASM_REG(2) =3D a2 =20 #define __declare_arg_3(a0, a1, a2, a3, res) \ - typeof(a1) __a1 =3D (a1); \ __declare_arg_2(a0, a1, a2, res); \ - register typeof(a3) arg3 ASM_REG(3) =3D __a3 + register typeof(a3) arg3 ASM_REG(3) =3D a3 =20 #define __declare_arg_4(a0, a1, a2, a3, a4, res) \ - typeof(a4) __a4 =3D (a4); \ __declare_arg_3(a0, a1, a2, a3, res); \ - register typeof(a4) arg4 ASM_REG(4) =3D __a4 + register typeof(a4) arg4 ASM_REG(4) =3D a4 =20 #define __declare_arg_5(a0, a1, a2, a3, a4, a5, res) \ - typeof(a5) __a5 =3D (a5); \ __declare_arg_4(a0, a1, a2, a3, a4, res); \ - register typeof(a5) arg5 ASM_REG(5) =3D __a5 + register typeof(a5) arg5 ASM_REG(5) =3D a5 =20 #define __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res) \ - typeof(a6) __a6 =3D (a6); \ __declare_arg_5(a0, a1, a2, a3, a4, a5, res); \ - register typeof(a6) arg6 ASM_REG(6) =3D __a6 + register typeof(a6) arg6 ASM_REG(6) =3D a6 =20 #define __declare_arg_7(a0, a1, a2, a3, a4, a5, a6, a7, res) \ - typeof(a7) __a7 =3D (a7); \ __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res); \ - register typeof(a7) arg7 ASM_REG(7) =3D __a7 + register typeof(a7) arg7 ASM_REG(7) =3D a7 =20 #define ___declare_args(count, ...) __declare_arg_ ## count(__VA_ARGS__) #define __declare_args(count, ...) ___declare_args(count, __VA_ARGS__) --=20 2.39.5