diff options
author | Tom de Vries <tdevries@suse.de> | 2023-08-14 18:32:29 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2023-08-14 18:32:29 +0200 |
commit | 6a93ab8af49be41a44af1b4651e9ab2ebc6d2f77 (patch) | |
tree | a51c1c9c8820d64d5c170530c7ce5375a184e216 | |
parent | 7f7ecb46c1a863e46c76214d2bc8793b85f796ac (diff) | |
download | gdb-6a93ab8af49be41a44af1b4651e9ab2ebc6d2f77.zip gdb-6a93ab8af49be41a44af1b4651e9ab2ebc6d2f77.tar.gz gdb-6a93ab8af49be41a44af1b4651e9ab2ebc6d2f77.tar.bz2 |
[gdb/build] Fix enum param_types odr violation
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.
Approved-By: Tom Tromey <tom@tromey.com>
PR build/22395
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=22395
-rw-r--r-- | gdb/guile/scm-param.c | 10 | ||||
-rw-r--r-- | 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 d49cc3c..3a9e1c3d 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<enum param_types> (param_type)); + = pascm_param_type_name (static_cast<enum scm_param_types> (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 4ef13f8..b9828de 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, |