From patchwork Mon Apr 22 20:10:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 88877 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 8D3E13849AD3 for ; Mon, 22 Apr 2024 20:12:55 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id F2361384AB66 for ; Mon, 22 Apr 2024 20:11:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F2361384AB66 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F2361384AB66 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713816723; cv=none; b=EdW5EIYH1OVilbTpg2msYfsvzYKu/WE9/8euiJeNI8w7cp+VRxNqXpx/xBq2ia4nJtliTTmB7xWQV4TZfD4tG00eaFy0jJuoA79nAQQRiKUTSLsq+C1GauVG+5ViNpgJ6qdMRXoIo+NBTTRj6Fa5hRV3lSXnlj0cUXq8HDnFQwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713816723; c=relaxed/simple; bh=awx2Dsxkvn5gupeaJ82beGIjuBS+SASqSY5/sEUjC1M=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=p1WbDprDOGKA7vTIzvW9w7+niTZYubkFUKQ60VqGgQe0UwK9ZNCR6L8SlLf39GS9/SVPdhF2DUkE8l7l5aSThHO8kzY5Pd02BmQgVSFRFpoJ8Mfsm9KUGe+rx0qGEVaxrakUasd/VBmtkSWpyyXtpxPMZMG4TdwhUr+iTBhmUm4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 4A8D71E0C0; Mon, 22 Apr 2024 16:11:59 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 2/7] gdb: move `enum compile_i_scope_types` to compile/compile.h Date: Mon, 22 Apr 2024 16:10:12 -0400 Message-ID: <20240422201157.46375-3-simon.marchi@efficios.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240422201157.46375-1-simon.marchi@efficios.com> References: <20240422201157.46375-1-simon.marchi@efficios.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3496.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, 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 Move it out of defs.h, adjust the includes here and there. Change-Id: I11901fdce55d54f5e51723e123cef154cfb1bbc5 --- gdb/cli/cli-script.h | 1 + gdb/compile/compile-object-load.h | 1 + gdb/compile/compile.h | 28 ++++++++++++++++++++++++++++ gdb/defs.h | 28 ---------------------------- 4 files changed, 30 insertions(+), 28 deletions(-) diff --git a/gdb/cli/cli-script.h b/gdb/cli/cli-script.h index d36743e5a316..512e37b8bf35 100644 --- a/gdb/cli/cli-script.h +++ b/gdb/cli/cli-script.h @@ -17,6 +17,7 @@ #ifndef CLI_CLI_SCRIPT_H #define CLI_CLI_SCRIPT_H +#include "compile/compile.h" #include "gdbsupport/function-view.h" struct ui_file; diff --git a/gdb/compile/compile-object-load.h b/gdb/compile/compile-object-load.h index eb6eb0dd8717..83665b5c4c42 100644 --- a/gdb/compile/compile-object-load.h +++ b/gdb/compile/compile-object-load.h @@ -18,6 +18,7 @@ #define COMPILE_COMPILE_OBJECT_LOAD_H #include "compile-internal.h" +#include "compile.h" #include struct munmap_list diff --git a/gdb/compile/compile.h b/gdb/compile/compile.h index d584df6661cc..4be6f50d4f38 100644 --- a/gdb/compile/compile.h +++ b/gdb/compile/compile.h @@ -19,6 +19,7 @@ #define COMPILE_COMPILE_H #include "gcc-c-interface.h" +#include "gdbsupport/gdb-hashtab.h" struct ui_file; struct gdbarch; @@ -27,6 +28,33 @@ struct dwarf2_per_objfile; struct symbol; struct dynamic_prop; +/* Scope types enumerator. List the types of scopes the compiler will + accept. */ + +enum compile_i_scope_types + { + COMPILE_I_INVALID_SCOPE, + + /* A simple scope. Wrap an expression into a simple scope that + takes no arguments, returns no value, and uses the generic + function name "_gdb_expr". */ + + COMPILE_I_SIMPLE_SCOPE, + + /* Do not wrap the expression, + it has to provide function "_gdb_expr" on its own. */ + COMPILE_I_RAW_SCOPE, + + /* A printable expression scope. Wrap an expression into a scope + suitable for the "compile print" command. It uses the generic + function name "_gdb_expr". COMPILE_I_PRINT_ADDRESS_SCOPE variant + is the usual one, taking address of the object. + COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array + name already specifies its address. See get_out_value_type. */ + COMPILE_I_PRINT_ADDRESS_SCOPE, + COMPILE_I_PRINT_VALUE_SCOPE, + }; + /* An object of this type holds state associated with a given compilation job. */ diff --git a/gdb/defs.h b/gdb/defs.h index ce8f29b2cf6a..057581d27641 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -63,34 +63,6 @@ #include "gdbsupport/enum-flags.h" #include "gdbsupport/array-view.h" -/* Scope types enumerator. List the types of scopes the compiler will - accept. */ - -enum compile_i_scope_types - { - COMPILE_I_INVALID_SCOPE, - - /* A simple scope. Wrap an expression into a simple scope that - takes no arguments, returns no value, and uses the generic - function name "_gdb_expr". */ - - COMPILE_I_SIMPLE_SCOPE, - - /* Do not wrap the expression, - it has to provide function "_gdb_expr" on its own. */ - COMPILE_I_RAW_SCOPE, - - /* A printable expression scope. Wrap an expression into a scope - suitable for the "compile print" command. It uses the generic - function name "_gdb_expr". COMPILE_I_PRINT_ADDRESS_SCOPE variant - is the usual one, taking address of the object. - COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array - name already specifies its address. See get_out_value_type. */ - COMPILE_I_PRINT_ADDRESS_SCOPE, - COMPILE_I_PRINT_VALUE_SCOPE, - }; - - template using RequireLongest = gdb::Requires, std::is_same>>;