From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by sourceware.org (Postfix) with ESMTPS id 8DD0D3858418 for ; Mon, 14 Aug 2023 11:17:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8DD0D3858418 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id C1D131FD60 for ; Mon, 14 Aug 2023 11:17:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1692011847; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MgksgZKR5aS8HXqc262k/rnLQAr9OtuHLHLjjRQFQUI=; b=uF/08qAd8WeFIHWynUWZQDJFElPeqqLhf1QspevBqTCgSmMcKkqhIr/96NqsusoKuctzQG l5IpGBmN477AeLfrdVQOfbJog7DLgmm4S4M03ifTzZselRIGzDsCFla0IkCXNodaw+Q8Nd 8JVvB8Kkli99AipsD+FIb5+Z/uC5mBU= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1692011847; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MgksgZKR5aS8HXqc262k/rnLQAr9OtuHLHLjjRQFQUI=; b=511UcxvcP9/a2zm7tXA4TgQDWvMaFgo5iYdUu0J3wvaF9DfpDiR5WyYsHEpAJovobatczd Hjhz2iYRSA5mpLBw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id AD39F138E2 for ; Mon, 14 Aug 2023 11:17:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id MA0/KUcN2mQvHwAAMHmgww (envelope-from ) for ; Mon, 14 Aug 2023 11:17:27 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [PATCH 2/4] [gdb/build] Fix enum param_types odr violation Date: Mon, 14 Aug 2023 13:17:19 +0200 Message-Id: <20230814111721.31402-2-tdevries@suse.de> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230814111721.31402-1-tdevries@suse.de> References: <20230814111721.31402-1-tdevries@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00,DKIM_INVALID,DKIM_SIGNED,GIT_PATCH_0,KAM_DMARC_STATUS,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: When building gdb with -O2 -flto, I run into: ... gdb/guile/scm-param.c:121:6: warning: type 'param_types' violates the C++ \ One Definition Rule [-Wodr] enum param_types ^ gdb/python/py-param.c:33:6: note: an enum with different value name is \ defined in another translation unit enum param_types ^ ... Fix this by renaming to enum scm_param_types and py_param_types. Tested on x86_64-linux. --- gdb/guile/scm-param.c | 10 +++++----- gdb/python/py-param.c | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdb/guile/scm-param.c b/gdb/guile/scm-param.c index d49cc3cebcb..3a9e1c3dc18 100644 --- a/gdb/guile/scm-param.c +++ b/gdb/guile/scm-param.c @@ -118,7 +118,7 @@ struct param_smob /* Guile parameter types as in PARAMETER_TYPES later on. */ -enum param_types +enum scm_param_types { param_boolean, param_auto_boolean, @@ -134,7 +134,7 @@ enum param_types }; /* Translation from Guile parameters to GDB variable types. Keep in the - same order as PARAM_TYPES due to C++'s lack of designated initializers. */ + same order as SCM_PARAM_TYPES due to C++'s lack of designated initializers. */ static const struct { @@ -202,7 +202,7 @@ static SCM initial_value_keyword; static SCM auto_keyword; static int pascm_is_valid (param_smob *); -static const char *pascm_param_type_name (enum param_types type); +static const char *pascm_param_type_name (enum scm_param_types type); static SCM pascm_param_value (const setting &var, int arg_pos, const char *func_name); @@ -612,7 +612,7 @@ pascm_valid_parameter_type_p (int param_type) /* Return PARAM_TYPE as a string. */ static const char * -pascm_param_type_name (enum param_types param_type) +pascm_param_type_name (enum scm_param_types param_type) { int i; @@ -1038,7 +1038,7 @@ gdbscm_make_parameter (SCM name_scm, SCM rest) p_smob->name = name; p_smob->cmd_class = (enum command_class) cmd_class; p_smob->pname - = pascm_param_type_name (static_cast (param_type)); + = pascm_param_type_name (static_cast (param_type)); p_smob->type = param_to_var[param_type].type; p_smob->extra_literals = param_to_var[param_type].extra_literals; p_smob->doc = doc; diff --git a/gdb/python/py-param.c b/gdb/python/py-param.c index 4ef13f8b24c..b9828de1162 100644 --- a/gdb/python/py-param.c +++ b/gdb/python/py-param.c @@ -30,7 +30,7 @@ /* Python parameter types as in PARM_CONSTANTS below. */ -enum param_types +enum py_param_types { param_boolean, param_auto_boolean, -- 2.35.3