From patchwork Tue Mar 28 15:49:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 67032 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 2ECAA3851143 for ; Tue, 28 Mar 2023 15:51:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2ECAA3851143 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1680018662; bh=t6BB1+wP8aQp5ql4hYTILQqEGZoDw0HHnQ6wM5w/o9M=; h=Date:Subject:References:In-Reply-To:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=w8TrsqGNGKra7r7P7Hi3TnmA5LQNzN9yPbXTQaJm6jUYnJL7QIzKfgUEh8hV0+6+8 mABg4nsRu/hNv2xzLCSlGPAHbfL141IVp0jiJyuY4CGDBZ0h7nZkgyPgb9UyoLrrm/ AWOxI++7qrWF6YVQqR+0ZZSOxLp4nfIXaE1vEcDg= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-io1-xd34.google.com (mail-io1-xd34.google.com [IPv6:2607:f8b0:4864:20::d34]) by sourceware.org (Postfix) with ESMTPS id 1EFFE385483E for ; Tue, 28 Mar 2023 15:49:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1EFFE385483E Received: by mail-io1-xd34.google.com with SMTP id h187so3821849iof.7 for ; Tue, 28 Mar 2023 08:49:43 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1680018582; 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=t6BB1+wP8aQp5ql4hYTILQqEGZoDw0HHnQ6wM5w/o9M=; b=o4D1K4sz/rOurCh04Eawd7fOguwA+nA47gQiepQOb/SWQqO5D71nDf6xwMSnKsto2R 7M0LNQ4xMq6l9nl5YIE/zRhyjZKxXSIYgNgfoWResjMQcdQJ5HI9UXo3A7fuJPqRbtpL JWAXkWcu/t/NLdDX+dfymugkx6CFrbEwZbBvx/CXCv2vFupQVHwmMREVI12Ztw0OnC/2 5Or8Jz2dURgSPzsIuh6nOEba2czhD0ykMfTlSbuRLoP8pckWO0ZclmkPUYWMrpUrP2Ug UYyemuVLg8igcTYofOr8BQKexo1oeSATvClv2GTF/gA78L5/zpZyCjo5AIm21489L5lE TF0w== X-Gm-Message-State: AO0yUKVckiStSWgNCNmOuY6fxfjpC2UiHHCpZNKNl5ZEpkhESZA7W7gj P+eju+4PkKo3++brwAs4qIoOiicpCcMdMrdy2EU49Q== X-Google-Smtp-Source: AK7set+fGIQg4sLZ6FBIjS8z8/O1JLf+vrSFazjclQT00mv0OT/mV25f/fmjkj9g6FSjyOgKdNMYDA== X-Received: by 2002:a05:6602:192:b0:758:b06f:6ab2 with SMTP id m18-20020a056602019200b00758b06f6ab2mr10388937ioo.2.1680018582396; Tue, 28 Mar 2023 08:49:42 -0700 (PDT) Received: from localhost.localdomain (71-211-185-113.hlrn.qwest.net. [71.211.185.113]) by smtp.gmail.com with ESMTPSA id u5-20020a5ec005000000b0075c37601b5csm1684522iol.4.2023.03.28.08.49.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 28 Mar 2023 08:49:42 -0700 (PDT) Date: Tue, 28 Mar 2023 09:49:41 -0600 Subject: [PATCH 5/6] Remove some Ada parser helper functions MIME-Version: 1.0 Message-Id: <20230328-expr-128-bit-v1-5-f9eeb0143318@adacore.com> References: <20230328-expr-128-bit-v1-0-f9eeb0143318@adacore.com> In-Reply-To: <20230328-expr-128-bit-v1-0-f9eeb0143318@adacore.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.1 X-Spam-Status: No, score=-11.6 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.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Tom Tromey via Gdb-patches From: Tom Tromey Reply-To: Tom Tromey Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" These helper functions in the Ada parser don't seem all that worthwhile to me, so this patch removes them. --- gdb/ada-exp.y | 52 ++++++--------------------------- gdb/ada-lex.l | 8 ++--- gdb/testsuite/gdb.base/parse_number.exp | 2 ++ 3 files changed, 15 insertions(+), 47 deletions(-) diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y index a9c37bedff0..4095106bb09 100644 --- a/gdb/ada-exp.y +++ b/gdb/ada-exp.y @@ -93,18 +93,8 @@ static const struct block *block_lookup (const struct block *, const char *); static void write_ambiguous_var (struct parser_state *, const struct block *, const char *, int); -static struct type *type_int (struct parser_state *); - -static struct type *type_long (struct parser_state *); - -static struct type *type_long_long (struct parser_state *); - -static struct type *type_long_double (struct parser_state *); - static struct type *type_for_char (struct parser_state *, ULONGEST); -static struct type *type_boolean (struct parser_state *); - static struct type *type_system_address (struct parser_state *); static std::string find_completion_bounds (struct parser_state *); @@ -934,9 +924,15 @@ primary : STRING ; primary : TRUEKEYWORD - { write_int (pstate, 1, type_boolean (pstate)); } + { + write_int (pstate, 1, + parse_type (pstate)->builtin_bool); + } | FALSEKEYWORD - { write_int (pstate, 0, type_boolean (pstate)); } + { + write_int (pstate, 0, + parse_type (pstate)->builtin_bool); + } ; primary : NEW NAME @@ -1268,7 +1264,7 @@ write_object_renaming (struct parser_state *par_state, if (next == renaming_expr) goto BadEncoding; renaming_expr = next; - write_int (par_state, val, type_int (par_state)); + write_int (par_state, val, parse_type (par_state)->builtin_int); } else { @@ -1841,30 +1837,6 @@ write_name_assoc (struct parser_state *par_state, struct stoken name) push_association (ada_pop ()); } -static struct type * -type_int (struct parser_state *par_state) -{ - return parse_type (par_state)->builtin_int; -} - -static struct type * -type_long (struct parser_state *par_state) -{ - return parse_type (par_state)->builtin_long; -} - -static struct type * -type_long_long (struct parser_state *par_state) -{ - return parse_type (par_state)->builtin_long_long; -} - -static struct type * -type_long_double (struct parser_state *par_state) -{ - return parse_type (par_state)->builtin_long_double; -} - static struct type * type_for_char (struct parser_state *par_state, ULONGEST value) { @@ -1880,12 +1852,6 @@ type_for_char (struct parser_state *par_state, ULONGEST value) "wide_wide_character"); } -static struct type * -type_boolean (struct parser_state *par_state) -{ - return parse_type (par_state)->builtin_bool; -} - static struct type * type_system_address (struct parser_state *par_state) { diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index 69fc14f7107..0634f337cb2 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -471,9 +471,9 @@ processInt (struct parser_state *par_state, const char *base0, ULONGEST value = result.as_integer (); if (fits_in_type (1, value, int_bits, true)) - yylval.typed_val.type = type_int (par_state); + yylval.typed_val.type = parse_type (par_state)->builtin_int; else if (fits_in_type (1, value, long_bits, true)) - yylval.typed_val.type = type_long (par_state); + yylval.typed_val.type = parse_type (par_state)->builtin_long; else if (fits_in_type (1, value, long_bits, false)) { /* We have a number representable as an unsigned integer quantity. @@ -494,7 +494,7 @@ processInt (struct parser_state *par_state, const char *base0, return INT; } else if (fits_in_type (1, value, long_long_bits, true)) - yylval.typed_val.type = type_long_long (par_state); + yylval.typed_val.type = parse_type (par_state)->builtin_long_long; else if (fits_in_type (1, value, long_long_bits, false)) { yylval.typed_val.type @@ -518,7 +518,7 @@ processInt (struct parser_state *par_state, const char *base0, static int processReal (struct parser_state *par_state, const char *num0) { - yylval.typed_val_float.type = type_long_double (par_state); + yylval.typed_val_float.type = parse_type (par_state)->builtin_long_double; bool parsed = parse_float (num0, strlen (num0), yylval.typed_val_float.type, diff --git a/gdb/testsuite/gdb.base/parse_number.exp b/gdb/testsuite/gdb.base/parse_number.exp index 5dd4fa705e9..8800dead53b 100644 --- a/gdb/testsuite/gdb.base/parse_number.exp +++ b/gdb/testsuite/gdb.base/parse_number.exp @@ -145,6 +145,8 @@ proc parse_number { lang n } { } elseif { [fits_in_type $n $long_long_bits u] } { # Note: Interprets ULLONG_MAX as -1. return [list "<$sizeof_long_long-byte integer>" $n] + } elseif { [fits_in_type $n 128 u] } { + return [list "<16-byte integer>" $n] } else { # Overflow. return [list $re_overflow $re_overflow]