From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by sourceware.org (Postfix) with ESMTPS id DC8653858C5F for ; Fri, 10 Feb 2023 23:36:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DC8653858C5F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-wm1-f52.google.com with SMTP id z13so5016652wmp.2 for ; Fri, 10 Feb 2023 15:36:11 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f3fkRL6zsoQ5YMXyTZtbKUnVot67dhjZYN5IvjRBHsw=; b=2IDk/LtsNypXhyxFOK0gHqJRwp+FsOLd9oKK0p5DuRdhPgUrtyl4JKodY8y2dJkyyc RrrPfuELPPpIfW8RJMWFZuftg+V4Yh+bWez7+A6S8/4zlVhEN1ciyiN0Vu3BnutvoQ9g R07HJ1FvMmCJxgFHl8ysiFJSqla2MA4o7XaaJyXH+tMiQbMVk1gQGokmjrkE1od+3s0F CG4a+qQqyo9NRTKGBH9hvCrQtxXTjtKhzuxn3GcXiIH88UBJx+TEsDa86HhyiJd+rzqh vqVACMFzoE0d/iTVyX85LWjMicRkm7VJUATwPSW1sj3/Fxvqt+DlddbxcbA+Dw6oh0gA VXvg== X-Gm-Message-State: AO0yUKXb07c75VXGIU9JitH3pGpZLWEbI5caIbOHwo7594TLKHvQkf3+ 6jSfB9JqbXmimYxA3bESDQwuvPblGeOr7g== X-Google-Smtp-Source: AK7set8OP9PxuXNkol5/lvv6QYKHkk5SQWHDzBZ8iMJl/sOi2JYKrTgSijxdmKAGJjEnYKHh/GMacw== X-Received: by 2002:a05:600c:4a9a:b0:3dc:f24:f2de with SMTP id b26-20020a05600c4a9a00b003dc0f24f2demr13983907wmp.12.1676072170470; Fri, 10 Feb 2023 15:36:10 -0800 (PST) Received: from localhost ([2001:8a0:f92b:9e00::1fe]) by smtp.gmail.com with ESMTPSA id a1-20020a05600c348100b003db0ee277b2sm9716641wmq.5.2023.02.10.15.36.09 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Feb 2023 15:36:10 -0800 (PST) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 2/6] Make "ptype INTERNAL_FUNCTION" in Ada print like other languages Date: Fri, 10 Feb 2023 23:36:00 +0000 Message-Id: <20230210233604.2228450-3-pedro@palves.net> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20230210233604.2228450-1-pedro@palves.net> References: <20230210233604.2228450-1-pedro@palves.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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 List-Id: Currently, printing the type of an internal function in Ada shows double <>s, like: (gdb) with language ada -- ptype $_isvoid type = <> while all other languages print it with a single <>, like: (gdb) with language c -- ptype $_isvoid type = I don't think there's a reason that Ada needs to be different. We currently print the double <>s because we take this path in ada_print_type: switch (type->code ()) { default: gdb_printf (stream, "<"); c_print_type (type, "", stream, show, level, language_ada, flags); gdb_printf (stream, ">"); break; ... and the type's name already has the <>s. Fix this by simply adding an early check for TYPE_CODE_INTERNAL_FUNCTION. Change-Id: Ic2b6527b9240a367471431023f6e27e6daed5501 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=30105 --- gdb/ada-typeprint.c | 7 +++++++ gdb/testsuite/gdb.base/internal-functions-ptype.exp | 2 -- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c index e95034c9285..3866b2d35eb 100644 --- a/gdb/ada-typeprint.c +++ b/gdb/ada-typeprint.c @@ -941,6 +941,13 @@ ada_print_type (struct type *type0, const char *varstring, struct ui_file *stream, int show, int level, const struct type_print_options *flags) { + if (type0->code () == TYPE_CODE_INTERNAL_FUNCTION) + { + c_print_type (type0, "", stream, show, level, + language_ada, flags); + return; + } + struct type *type = ada_check_typedef (ada_get_base_type (type0)); /* If we can decode the original type name, use it. However, there are cases where the original type is an internally-generated type diff --git a/gdb/testsuite/gdb.base/internal-functions-ptype.exp b/gdb/testsuite/gdb.base/internal-functions-ptype.exp index 42caae05aad..748f33a87cd 100644 --- a/gdb/testsuite/gdb.base/internal-functions-ptype.exp +++ b/gdb/testsuite/gdb.base/internal-functions-ptype.exp @@ -29,8 +29,6 @@ proc test_ptype_internal_function {} { if {$lang == "unknown"} { gdb_test "ptype \$_isvoid" \ "expression parsing not implemented for language \"Unknown\"" - } elseif {$lang == "ada"} { - gdb_test "ptype \$_isvoid" "<>" } else { gdb_test "ptype \$_isvoid" "" } -- 2.36.0