From patchwork Thu Mar 21 19:03:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 87474 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B57C73858283 for ; Thu, 21 Mar 2024 19:05:12 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-io1-xd29.google.com (mail-io1-xd29.google.com [IPv6:2607:f8b0:4864:20::d29]) by sourceware.org (Postfix) with ESMTPS id 1105C3858403 for ; Thu, 21 Mar 2024 19:03:34 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1105C3858403 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 1105C3858403 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::d29 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711047821; cv=none; b=dNvXBlNvd+ucvQU+9tklGZNgNJaC0dfq+hS5KwkNOmXDo0GJvzzm658mjp94k9930hhuHs38h4su3WcwKjfj0lkgVEVAdygz5+yNKtr6lCGpKsx1wgqgTcCvHTzBvf1YU9BduAGnmd88eT+Czpr4e92+MUXCsZiEvuGJ815B1YU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711047821; c=relaxed/simple; bh=/dNOqWWEHMfdnA40+h8eDe/Uzlxj0EjFe5gD+kk8WFg=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=MiBmLYJcwvxDhl0u1gtgffWUzDalmDGh7R1HJayWeSu0SpKEfxNeeFxqtMG8+7rKKAf7fu+Zw822vt2BDmuOuzTTyBhVdRblrtC0uQWPmevZzJah3Gl7D4Qr6wPo/MUvonezJNqrDJ16xEln6ejVSk4gtx9FGIU+qxs2j3m/M7w= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-io1-xd29.google.com with SMTP id ca18e2360f4ac-7cc01644f51so58749639f.2 for ; Thu, 21 Mar 2024 12:03:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1711047813; x=1711652613; darn=sourceware.org; h=to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=IWz4Nbe8giB4SVPTDGY3CGEyja3OG4YrsR/IEcb66yk=; b=HQyKBUBP8JPwzsDf9rXZZmI167RSU8lroyeGIUvmCw1ZjbRP897U0IeyDOYk+KvxQt dT4mZ1IY1DvaEHo2yq+TAnGd7ZjLDm4W71Se6W+R6Wo3GiHbq74TkF9HKgUkJkQao/OE fjtYyAFem8Vq9ehfwzAew/q2vh282hfjK+i+XWjm6m8+vFj2+D3b5pDO4wsLmg+mufdt wFSByi1SC1KLtCRE0hrl5moLBKmnMXPjO6UR9Wc1CWMTB9OqU8P2wX8UG5evRS9z1Z6g fYNyP8Z2rxz+hyyi2Y0BJwOZHJ+sBJX4GFCu9hs73r/RzHkE9vfF7fnr4QvsnmDJGGhM pj1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711047813; x=1711652613; h=to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IWz4Nbe8giB4SVPTDGY3CGEyja3OG4YrsR/IEcb66yk=; b=jML+7tFEJD7GBZgrvBiQQgChjDJ2POTyJHwoJkBBK0exI8Ay9mj3qYRUxZQcv3fpxh HxPmX+uPOjrXcBodeiXG3zBPz700N4oQUm0OQmSIb6OvOfK4jDjqmW3ExeL4Un944ivx /6MdCvfqq1FR5oj4qIfW6joIvOMGNDtiHrGzJUyxv/xUS5QRECUoixntwHzDvWFAH3xG NIG6ppcjtFTH5QNrfOZmihRZFXpT8TGBv0gByshU34ei+qtmmL9ZElezcFWIuswJMDPg Y6Og2soEYsNLBPIfG8j9rUQAXukD488IK07+BnFYE5AA1hZPAcMw2E7DspPsd3kVdkw5 7Gwg== X-Gm-Message-State: AOJu0YwolcArXF7CPCWgTRRO/fdk8UvsTjQTpGH8d8LPTAbL5rHquaGC ztJQZAYqrqyfn1kAT/TTLeUOSMkpx8hBeMXaTZbiXVaqP0AjZYZLhDymhVZ0BBlSrZaLEuxr/6c = X-Google-Smtp-Source: AGHT+IG2SWk5rKPY57/XcYURnpqMCP6rjjygZYZZpDcS7LEJBYrumY1lVzyaDeu0qhJlzS0OBvtzFg== X-Received: by 2002:a5d:8d8f:0:b0:7cf:261e:3941 with SMTP id b15-20020a5d8d8f000000b007cf261e3941mr416939ioj.10.1711047813258; Thu, 21 Mar 2024 12:03:33 -0700 (PDT) Received: from localhost.localdomain (97-122-82-115.hlrn.qwest.net. [97.122.82.115]) by smtp.gmail.com with ESMTPSA id dp10-20020a0566381c8a00b00476f2bfc3f8sm53358jab.87.2024.03.21.12.03.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Mar 2024 12:03:33 -0700 (PDT) From: Tom Tromey Date: Thu, 21 Mar 2024 13:03:37 -0600 Subject: [PATCH 09/12] Move "paren_depth" into ada_parse_state MIME-Version: 1.0 Message-Id: <20240321-ada-iterated-assign-v1-9-925cdd4f1f4a@adacore.com> References: <20240321-ada-iterated-assign-v1-0-925cdd4f1f4a@adacore.com> In-Reply-To: <20240321-ada-iterated-assign-v1-0-925cdd4f1f4a@adacore.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.4 X-Spam-Status: No, score=-11.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org This moves the "paren_depth" global into ada_parse_state. --- gdb/ada-exp.y | 3 +++ gdb/ada-lex.l | 12 ++++-------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index 73178a58a0c..2b058571492 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -103,6 +103,9 @@ struct ada_parse_state auto_obstack temp_space; + /* Depth of parentheses, used by the lexer. */ + int paren_depth = 0; + private: /* We don't have a good way to manage non-POD data in Yacc, so store diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index 90cb5ba1b8a..9161c4377c0 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -108,9 +108,6 @@ static bool returned_complete = false; pstate->lexptr += 1; \ } -/* Depth of parentheses. */ -static int paren_depth; - %} %option case-insensitive interactive nodefault noyywrap @@ -268,7 +265,7 @@ false { return FALSEKEYWORD; } [-&*+{}@/:<>=|;\[\]] { return yytext[0]; } -"," { if (paren_depth == 0 && pstate->comma_terminates) +"," { if (ada_parser->paren_depth == 0 && pstate->comma_terminates) { rewind_to_char (','); return 0; @@ -277,15 +274,15 @@ false { return FALSEKEYWORD; } return ','; } -"(" { paren_depth += 1; return '('; } -")" { if (paren_depth == 0) +"(" { ada_parser->paren_depth += 1; return '('; } +")" { if (ada_parser->paren_depth == 0) { rewind_to_char (')'); return 0; } else { - paren_depth -= 1; + ada_parser->paren_depth -= 1; return ')'; } } @@ -349,7 +346,6 @@ static void lexer_init (FILE *inp) { BEGIN INITIAL; - paren_depth = 0; returned_complete = false; yyrestart (inp); }