From patchwork Mon Nov 6 16:34:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 79212 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 A26BA385828E for ; Mon, 6 Nov 2023 16:34:16 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from omta040.useast.a.cloudfilter.net (omta040.useast.a.cloudfilter.net [44.202.169.39]) by sourceware.org (Postfix) with ESMTPS id D5A663858C78 for ; Mon, 6 Nov 2023 16:33:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D5A663858C78 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D5A663858C78 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=44.202.169.39 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699288440; cv=none; b=JjV6B0i69j2VmeHJrhHgE0iQlMOmIqwAEJgMXxKGhk33jyc4yUWc1HCq9oq12dNlVcTNI0D5ey0XMiBvW1oZ5cQyMA8Oj6n6uJGHO9HFEb5qmHOGGjPFcksnke7jQlQRbgr3bBrgFQF1xjsRUtkYmXhhbI6jRrFGXKESG2zp9Ds= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699288440; c=relaxed/simple; bh=A6VRwV/GrBFIH9eYZN7s5NBkZ+U42dNuZDdgXftcobI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=XP52Cln5bWABJTNUSPBD1R8ZPXcCS9fH5ZgsRvlwrMyKCPaBVYfGRTcP91iqSnvSztUOJWkUwWkfRm8exgZkKOrPKV1YS58GTUnDe/emh7X21FL1DqAR1VqkO969S3ZwObJllkdgbMM8mb8+yX9ThpqPbdyQDkGAZ12kpWJVx7I= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-6003a.ext.cloudfilter.net ([10.0.30.151]) by cmsmtp with ESMTPS id zlA3qeywj6nOZ02Y0ryNTr; Mon, 06 Nov 2023 16:33:56 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id 02XzrYCSVRqxC02Xzrnqpz; Mon, 06 Nov 2023 16:33:55 +0000 X-Authority-Analysis: v=2.4 cv=IY2U5Ema c=1 sm=1 tr=0 ts=65491573 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=BNY50KLci1gA:10 a=Qbun_eYptAEA:10 a=R6STK088CimnU10jmH0A:9 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=xm89skiYcOObcoRtt12RECj2t0hOOdzzCjA5vhQvHUU=; b=mThIQdtcn5DtMFZsNw+NKZUWI3 l/AoANjkPDeF7C21KEyEOEeFJtEE17svWdfbC8LQ3q1Ntq3i/U0GQx5J28EHtQ9CmvpNGgtGd6jqC Zq/py7fJAFzUIOiIry5DQK+l6; Received: from 97-122-77-73.hlrn.qwest.net ([97.122.77.73]:56624 helo=localhost.localdomain) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1r02Xy-001H42-2N; Mon, 06 Nov 2023 09:33:54 -0700 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH] Remove EXTERN_C and related defines Date: Mon, 6 Nov 2023 09:34:07 -0700 Message-ID: <20231106163407.2610122-1-tom@tromey.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.77.73 X-Source-L: No X-Exim-ID: 1r02Xy-001H42-2N X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-77-73.hlrn.qwest.net (localhost.localdomain) [97.122.77.73]:56624 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfKPihvgw2ypAkc3DYZIyc+rYTtgUAmLh+d8wEw304IPG9gRNUjh/uVHxX8lLGond6pU5ezkTHmtlBaembKe+Gixa+ppZ1iZ6Wqyb1EilSW22jTamFCYM jcz0VkTL5eoDz3FwOcjqLel0Wu5YSiYw6tTEdB8l21o/ZzQlhcU5SGg8+oJjT/V0K6+0t8ivLubFZlNPCdwb/DZvecKz0Nvdux0= X-Spam-Status: No, score=-3024.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE 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 common-defs.h has a few defines that I suspect were used during the transition to C++. These aren't needed any more, so remove them. Tested by rebuilding. --- gdb/cli-out.c | 2 +- gdb/completer.c | 2 +- gdb/defs.h | 2 +- gdb/event-top.c | 2 +- gdb/gdb_curses.h | 2 +- gdb/maint.c | 4 ++-- gdb/nat/linux-ptrace.c | 2 +- gdb/utils.c | 2 +- gdbserver/tracepoint.cc | 32 ++++++++++++++++---------------- gdbserver/tracepoint.h | 6 +++--- gdbsupport/common-defs.h | 4 ---- gdbsupport/gdb_proc_service.h | 8 ++++---- 12 files changed, 32 insertions(+), 36 deletions(-) diff --git a/gdb/cli-out.c b/gdb/cli-out.c index 20d3d93f1ad..a1cde54feda 100644 --- a/gdb/cli-out.c +++ b/gdb/cli-out.c @@ -493,7 +493,7 @@ cli_mld_flush (const struct match_list_displayer *displayer) fflush (rl_outstream); } -EXTERN_C void _rl_erase_entire_line (void); +extern "C" void _rl_erase_entire_line (void); /* CLI version of displayer.erase_entire_line. */ diff --git a/gdb/completer.c b/gdb/completer.c index 2abf3998345..8942a3f7950 100644 --- a/gdb/completer.c +++ b/gdb/completer.c @@ -2812,7 +2812,7 @@ gdb_complete_get_screenwidth (const struct match_list_displayer *displayer) extern int _rl_completion_prefix_display_length; extern int _rl_print_completions_horizontally; -EXTERN_C int _rl_qsort_string_compare (const void *, const void *); +extern "C" int _rl_qsort_string_compare (const void *, const void *); typedef int QSFUNC (const void *, const void *); /* GDB version of readline/complete.c:rl_display_match_list. diff --git a/gdb/defs.h b/gdb/defs.h index f5af3e617c4..b8612e1ac6d 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -303,7 +303,7 @@ extern int annotation_level; /* in stack.c */ "const char *" in unistd.h, so we can't declare the argument as "char *". */ -EXTERN_C char *re_comp (const char *); +extern "C" char *re_comp (const char *); /* From symfile.c */ diff --git a/gdb/event-top.c b/gdb/event-top.c index 3d6fa896a9c..9886ca46e7b 100644 --- a/gdb/event-top.c +++ b/gdb/event-top.c @@ -138,7 +138,7 @@ static struct async_signal_handler *async_sigterm_token; void (*after_char_processing_hook) (void); #if RL_VERSION_MAJOR == 7 -EXTERN_C void _rl_signal_handler (int); +extern "C" void _rl_signal_handler (int); #endif /* Wrapper function for calling into the readline library. This takes diff --git a/gdb/gdb_curses.h b/gdb/gdb_curses.h index 7ac0ade2a30..39bf6f14296 100644 --- a/gdb/gdb_curses.h +++ b/gdb/gdb_curses.h @@ -60,7 +60,7 @@ of the termcap functions will be built from stub-termcap.c. Readline provides its own extern declarations when there's no termcap.h; do the same here for the termcap functions used in GDB. */ -EXTERN_C int tgetnum (const char *); +extern "C" int tgetnum (const char *); #endif /* SunOS's curses.h has a '#define reg register' in it. Thank you Sun. */ diff --git a/gdb/maint.c b/gdb/maint.c index 0635af3dfc4..c1154d0a54e 100644 --- a/gdb/maint.c +++ b/gdb/maint.c @@ -791,7 +791,7 @@ extern char etext; static int profiling_state; -EXTERN_C void _mcleanup (void); +extern "C" void _mcleanup (void); static void mcleanup_wrapper (void) @@ -800,7 +800,7 @@ mcleanup_wrapper (void) _mcleanup (); } -EXTERN_C void monstartup (unsigned long, unsigned long); +extern "C" void monstartup (unsigned long, unsigned long); extern int main (int, char **); static void diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c index b80c7b88893..e259f65058c 100644 --- a/gdb/nat/linux-ptrace.c +++ b/gdb/nat/linux-ptrace.c @@ -70,7 +70,7 @@ linux_ptrace_attach_fail_reason_string (ptid_t ptid, int err) #if defined __i386__ || defined __x86_64__ /* Address of the 'ret' instruction in asm code block below. */ -EXTERN_C void linux_ptrace_test_ret_to_nx_instr (void); +extern "C" void linux_ptrace_test_ret_to_nx_instr (void); #include #include diff --git a/gdb/utils.c b/gdb/utils.c index a191d26a007..f959af3219b 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -1112,7 +1112,7 @@ static bool filter_initialized = false; /* See readline's rlprivate.h. */ -EXTERN_C int _rl_term_autowrap; +extern "C" int _rl_term_autowrap; /* See utils.h. */ diff --git a/gdbserver/tracepoint.cc b/gdbserver/tracepoint.cc index 609d49a87ef..a5f58fd54eb 100644 --- a/gdbserver/tracepoint.cc +++ b/gdbserver/tracepoint.cc @@ -826,7 +826,7 @@ struct wstep_state #endif -EXTERN_C_PUSH +extern "C" { /* The linked list of all tracepoints. Marked explicitly as used as the in-process library doesn't use it for the fast tracepoints @@ -848,7 +848,7 @@ IP_AGENT_EXPORT_VAR int trace_buffer_is_full; enum eval_result_type values. */ IP_AGENT_EXPORT_VAR int expr_eval_result = expr_eval_no_error; -EXTERN_C_POP +} #ifndef IN_PROCESS_AGENT @@ -868,9 +868,9 @@ static const char * const eval_result_names[] = /* The tracepoint in which the error occurred. */ -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR struct tracepoint *error_tracepoint; -EXTERN_C_POP +} struct trace_state_variable { @@ -982,7 +982,7 @@ static int circular_trace_buffer; static LONGEST trace_buffer_size; -EXTERN_C_PUSH +extern "C" { /* Pointer to the block of memory that traceframes all go into. */ @@ -993,7 +993,7 @@ IP_AGENT_EXPORT_VAR unsigned char *trace_buffer_lo; IP_AGENT_EXPORT_VAR unsigned char *trace_buffer_hi; -EXTERN_C_POP +} /* Control structure holding the read/write/etc. pointers into the trace buffer. We need more than one of these to implement a @@ -4683,9 +4683,9 @@ collect_data_at_step (struct tracepoint_hit_ctx *ctx, #ifdef IN_PROCESS_AGENT /* The target description index for IPA. Passed from gdbserver, used to select ipa_tdesc. */ -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR int ipa_tdesc_idx; -EXTERN_C_POP +} #endif static struct regcache * @@ -5749,9 +5749,9 @@ fast_tracepoint_collecting, returning continue-until-break at %s", NULL if it isn't locked. Note that this lock *must* be set while executing any *function other than the jump pad. See fast_tracepoint_collecting. */ -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR collecting_t *collecting; -EXTERN_C_POP +} /* This is needed for -Wmissing-declarations. */ IP_AGENT_EXPORT_FUNC void gdb_collect (struct tracepoint *tpoint, @@ -5840,14 +5840,14 @@ typedef ULONGEST (*get_raw_reg_ptr_type) (const unsigned char *, int); typedef LONGEST (*get_trace_state_variable_value_ptr_type) (int); typedef void (*set_trace_state_variable_value_ptr_type) (int, LONGEST); -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR gdb_collect_ptr_type gdb_collect_ptr = gdb_collect; IP_AGENT_EXPORT_VAR get_raw_reg_ptr_type get_raw_reg_ptr = get_raw_reg; IP_AGENT_EXPORT_VAR get_trace_state_variable_value_ptr_type get_trace_state_variable_value_ptr = get_trace_state_variable_value; IP_AGENT_EXPORT_VAR set_trace_state_variable_value_ptr_type set_trace_state_variable_value_ptr = set_trace_state_variable_value; -EXTERN_C_POP +} #endif @@ -6834,9 +6834,9 @@ run_inferior_command (char *cmd, int len) /* Thread ID of the helper thread. GDBserver reads this to know which is the help thread. This is an LWP id on Linux. */ -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR int helper_thread_id; -EXTERN_C_POP +} static int init_named_socket (const char *name) @@ -7265,9 +7265,9 @@ gdb_agent_helper_thread (void *arg) #include #include -EXTERN_C_PUSH +extern "C" { IP_AGENT_EXPORT_VAR int gdb_agent_capability = AGENT_CAPA_STATIC_TRACE; -EXTERN_C_POP +} static void gdb_agent_init (void) diff --git a/gdbserver/tracepoint.h b/gdbserver/tracepoint.h index 1f40d7b5177..91f757fcff6 100644 --- a/gdbserver/tracepoint.h +++ b/gdbserver/tracepoint.h @@ -55,12 +55,12 @@ void initialize_tracepoint (void); must also be exported with C linkage. As we can't both use extern "C" and initialize a variable in the same statement, variables that don't have a separate declaration must use - EXTERN_C_PUSH/EXTERN_C_POP around their definition. */ + extern "C" {...} around their definition. */ #ifdef IN_PROCESS_AGENT -# define IP_AGENT_EXPORT_FUNC EXTERN_C EXPORTED_SYMBOL ATTR_NOINLINE ATTR_USED +# define IP_AGENT_EXPORT_FUNC extern "C" EXPORTED_SYMBOL ATTR_NOINLINE ATTR_USED # define IP_AGENT_EXPORT_VAR EXPORTED_SYMBOL ATTR_USED -# define IP_AGENT_EXPORT_VAR_DECL EXTERN_C EXPORTED_SYMBOL +# define IP_AGENT_EXPORT_VAR_DECL extern "C" EXPORTED_SYMBOL #else # define IP_AGENT_EXPORT_FUNC static # define IP_AGENT_EXPORT_VAR diff --git a/gdbsupport/common-defs.h b/gdbsupport/common-defs.h index 5e8ebab620c..6f0d99f949a 100644 --- a/gdbsupport/common-defs.h +++ b/gdbsupport/common-defs.h @@ -214,10 +214,6 @@ #include "common-exceptions.h" #include "gdbsupport/poison.h" -#define EXTERN_C extern "C" -#define EXTERN_C_PUSH extern "C" { -#define EXTERN_C_POP } - /* Pull in gdb::unique_xmalloc_ptr. */ #include "gdbsupport/gdb_unique_ptr.h" diff --git a/gdbsupport/gdb_proc_service.h b/gdbsupport/gdb_proc_service.h index 19d40e0ee10..c289e87dd76 100644 --- a/gdbsupport/gdb_proc_service.h +++ b/gdbsupport/gdb_proc_service.h @@ -25,11 +25,11 @@ /* glibc's proc_service.h doesn't wrap itself with extern "C". Need to do it ourselves. */ -EXTERN_C_PUSH +extern "C" { #include -EXTERN_C_POP +} #else /* HAVE_PROC_SERVICE_H */ @@ -69,7 +69,7 @@ EXTERN_C_POP # endif #endif -EXTERN_C_PUSH +extern "C" { /* Functions in this interface return one of these status codes. */ typedef enum @@ -166,7 +166,7 @@ extern ps_err_e ps_lsetxregs (struct ps_prochandle *ph, lwpid_t lwpid, /* Log a message (sends to gdb_stderr). */ extern void ps_plog (const char *fmt, ...); -EXTERN_C_POP +} #endif /* HAVE_PROC_SERVICE_H */