From patchwork Fri Oct 27 17:36: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: 78623 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 DCF9E38618CE for ; Fri, 27 Oct 2023 17:37:22 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from mail-il1-x12f.google.com (mail-il1-x12f.google.com [IPv6:2607:f8b0:4864:20::12f]) by sourceware.org (Postfix) with ESMTPS id 13A40385C6C4 for ; Fri, 27 Oct 2023 17:36:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 13A40385C6C4 Authentication-Results: sourceware.org; dmarc=pass (p=none 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 13A40385C6C4 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::12f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698428212; cv=none; b=J1Vn6NyWpWrnUs6oNheROjk9PyPKQkf51ZDd8CWHw01MFkfPsX5tRmFe//44yA2y93GkwyNlJOJem1TWLHUKJddivYhCBmoEyxMs3Xxu3KStPh5D/vjk8Ep672k76ugQw3ZF+C+c32Yupih5kb1PfJRAK0vgSLA87ZJf3C7IgkU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698428212; c=relaxed/simple; bh=R8G0ZbImvk+AfKmDUYzW45YavMqgPvC48s+YGTQwjwU=; h=DKIM-Signature:From:Date:Subject:MIME-Version:Message-Id:To; b=Q1fI7uoOcZA/j3TGw9wz8GygCtb+xJTUtsiG8I1xwBgoixu9xEn8CJP1SJAu/oXYqG8ZBFGN4fTRZVkXOxnUsKf/OAbGVwbfyILrn7lp/yQ0z8twalq+yrduDLWFegN98D1NHJxbDMRhE+2854+XTsOD5BZ6nYlf8HoykB0kFBg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-il1-x12f.google.com with SMTP id e9e14a558f8ab-3575c10421aso6957115ab.3 for ; Fri, 27 Oct 2023 10:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1698428210; x=1699033010; 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=pWHtG5xUW9rgsMRY4ihc82BP4Pmp6vFa/JsG3VVmHeo=; b=LlYEPL4SeaCL6ELTirpZxIza8tqQmEhW744bj1fvmQfqBAcjZWt6dQWI+AsxzU0m2R RhDOvGJ6vFrnashAB1jWSQM4h2Kbzii528cWFh7lpG+wMnrpUqI99u3NxPzfv+ob2jkV V4ZdUjZ2IukqODvSDm1ZV1pykCaYStbRfL3dFdsKT748GaYaNed3U4gstA0rAdMJPnvX r3Fnp4JbJux8CZ5Ae9qF6LqSkCtRNBeqR5xMHw7uih+8WFFTHPAKgGC/rnmVDfq1OllI S7BEkFz8fVN339A/F+yAx7Dwl++ETols6kmA94T39oK4Ns5FZlzpQ6E6KZ1k+Ij0PcV4 SwHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698428210; x=1699033010; 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=pWHtG5xUW9rgsMRY4ihc82BP4Pmp6vFa/JsG3VVmHeo=; b=BQe1i3kxDN5DicGCXgEG7s+Ed2mtLUvwaViYhqBPwPZJd3WNwVx0B3CWPk0uC9belR pJksE1gfQo2av5a476oshyD6UvDra+5IXfKo4dazW2HIHKJyKmNRk4Zci1jpAxUQYWWR TpuAYtJmNW6PLQNOa/XtpWk4hMYL0UxaQ0HnPK22QwLbrYzXPtsYErL4gEnz6mU3wkkR 5c5hxbeBtyaTY1oQKrJQOOXIiDFnHg/IsPF0WlBItJ4aSqDVu78bGdGkNp2NsL/MaRne Ic8OGGO02RiTiHjhjjXfs8llo+wvaWCG+WtrZwRjM2tns1ubApS/zRph97wh0r77TXKe PP4w== X-Gm-Message-State: AOJu0YzUZMkjeat9H+/fNcQQSjyrFyVuZJLx55SfNhJwdZKXy/1WAFtD TVpyN65FTa3OiQ+yicxYofLn1syKWQ4BAFxKlcbxLg== X-Google-Smtp-Source: AGHT+IEB+lz/PHw5scl4ynp252R7suSG9xrgS9y/nr/YyN/ofJyIp7v3kluRFuyCdz+jNzMf6zM2EQ== X-Received: by 2002:a05:6e02:1c2c:b0:357:4268:b5a with SMTP id m12-20020a056e021c2c00b0035742680b5amr4138356ilh.26.1698428210280; Fri, 27 Oct 2023 10:36:50 -0700 (PDT) Received: from localhost.localdomain (97-122-77-73.hlrn.qwest.net. [97.122.77.73]) by smtp.gmail.com with ESMTPSA id r4-20020a92ce84000000b00357ce043118sm591754ilo.79.2023.10.27.10.36.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Oct 2023 10:36:49 -0700 (PDT) From: Tom Tromey Date: Fri, 27 Oct 2023 11:36:41 -0600 Subject: [PATCH v2 1/9] Use .def file to stringify type codes MIME-Version: 1.0 Message-Id: <20231027-field-bits-v2-1-cbec64f2136a@adacore.com> References: <20231027-field-bits-v2-0-cbec64f2136a@adacore.com> In-Reply-To: <20231027-field-bits-v2-0-cbec64f2136a@adacore.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.3 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 changes recursive_dump_type to reuse the type-codes.def file when stringifying type codes. --- gdb/gdbtypes.c | 98 ++++++++++------------------------------------------------ 1 file changed, 17 insertions(+), 81 deletions(-) diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 7011fddd695..1de90eff7ee 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -5099,6 +5099,22 @@ dump_dynamic_prop (dynamic_prop const& prop) } } +/* Return a string that represents a type code. */ +static const char * +type_code_name (type_code code) +{ + switch (code) + { +#define OP(X) case X: return # X; +#include "type-codes.def" +#undef OP + + case TYPE_CODE_UNDEF: + return "TYPE_CODE_UNDEF"; + } + return "UNKNOWN TYPE CODE"; +} + void recursive_dump_type (struct type *type, int spaces) { @@ -5136,87 +5152,7 @@ recursive_dump_type (struct type *type, int spaces) type->name () ? type->name () : "", host_address_to_string (type->name ())); gdb_printf ("%*scode 0x%x ", spaces, "", type->code ()); - switch (type->code ()) - { - case TYPE_CODE_UNDEF: - gdb_printf ("(TYPE_CODE_UNDEF)"); - break; - case TYPE_CODE_PTR: - gdb_printf ("(TYPE_CODE_PTR)"); - break; - case TYPE_CODE_ARRAY: - gdb_printf ("(TYPE_CODE_ARRAY)"); - break; - case TYPE_CODE_STRUCT: - gdb_printf ("(TYPE_CODE_STRUCT)"); - break; - case TYPE_CODE_UNION: - gdb_printf ("(TYPE_CODE_UNION)"); - break; - case TYPE_CODE_ENUM: - gdb_printf ("(TYPE_CODE_ENUM)"); - break; - case TYPE_CODE_FLAGS: - gdb_printf ("(TYPE_CODE_FLAGS)"); - break; - case TYPE_CODE_FUNC: - gdb_printf ("(TYPE_CODE_FUNC)"); - break; - case TYPE_CODE_INT: - gdb_printf ("(TYPE_CODE_INT)"); - break; - case TYPE_CODE_FLT: - gdb_printf ("(TYPE_CODE_FLT)"); - break; - case TYPE_CODE_VOID: - gdb_printf ("(TYPE_CODE_VOID)"); - break; - case TYPE_CODE_SET: - gdb_printf ("(TYPE_CODE_SET)"); - break; - case TYPE_CODE_RANGE: - gdb_printf ("(TYPE_CODE_RANGE)"); - break; - case TYPE_CODE_STRING: - gdb_printf ("(TYPE_CODE_STRING)"); - break; - case TYPE_CODE_ERROR: - gdb_printf ("(TYPE_CODE_ERROR)"); - break; - case TYPE_CODE_MEMBERPTR: - gdb_printf ("(TYPE_CODE_MEMBERPTR)"); - break; - case TYPE_CODE_METHODPTR: - gdb_printf ("(TYPE_CODE_METHODPTR)"); - break; - case TYPE_CODE_METHOD: - gdb_printf ("(TYPE_CODE_METHOD)"); - break; - case TYPE_CODE_REF: - gdb_printf ("(TYPE_CODE_REF)"); - break; - case TYPE_CODE_CHAR: - gdb_printf ("(TYPE_CODE_CHAR)"); - break; - case TYPE_CODE_BOOL: - gdb_printf ("(TYPE_CODE_BOOL)"); - break; - case TYPE_CODE_COMPLEX: - gdb_printf ("(TYPE_CODE_COMPLEX)"); - break; - case TYPE_CODE_TYPEDEF: - gdb_printf ("(TYPE_CODE_TYPEDEF)"); - break; - case TYPE_CODE_NAMESPACE: - gdb_printf ("(TYPE_CODE_NAMESPACE)"); - break; - case TYPE_CODE_FIXED_POINT: - gdb_printf ("(TYPE_CODE_FIXED_POINT)"); - break; - default: - gdb_printf ("(UNKNOWN TYPE CODE)"); - break; - } + gdb_printf ("(%s)", type_code_name (type->code ())); gdb_puts ("\n"); gdb_printf ("%*slength %s\n", spaces, "", pulongest (type->length ()));