public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Andrew Burgess <aburgess@redhat.com>
To: "Maciej W. Rozycki" <macro@embecosm.com>, gdb-patches@sourceware.org
Cc: Simon Sobisch <simonsobisch@web.de>, Tom Tromey <tom@tromey.com>
Subject: Re: [PATCH v5 2/8] GDB/Python: Use None for `var_zuinteger_unlimited' value set to `unlimited'
Date: Fri, 24 Jun 2022 15:40:45 +0100	[thread overview]
Message-ID: <877d56azv6.fsf@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.20.2203301058570.11552@tpp.orcam.me.uk>

"Maciej W. Rozycki" <macro@embecosm.com> writes:

> Consistently with the `var_integer' and `var_uinteger' parameters return 
> the special value of None for a `var_zuinteger_unlimited' parameter set 
> to `unlimited' by using the Py_RETURN_NONE macro in this case, fixing 
> commit 0489430a0e1a ("Handle var_zuinteger and var_zuinteger_unlimited 
> from Python"); cf. PR python/20084.  Adjust the testsuite
> accordingly.

Unfortunately, nice as it would be to make this change (for
consistency), I think we're stuck with what we have.

The -1 behaviour is documented for PARAM_ZUINTEGER_UNLIMITED in the
manual so it is not unreasonable to assume that there could be code in
the wild that relies on the existing behaviuor.

Thanks,
Andrew




> ---
> No change from v4.
>
> New change in v4.
> ---
>  gdb/python/python.c                       |   10 +++++++++-
>  gdb/testsuite/gdb.python/py-parameter.exp |    4 ++--
>  2 files changed, 11 insertions(+), 3 deletions(-)
>
> gdb-python-var-zuinteger-unlimited-none.diff
> Index: src/gdb/python/python.c
> ===================================================================
> --- src.orig/gdb/python/python.c
> +++ src/gdb/python/python.c
> @@ -507,9 +507,17 @@ gdbpy_parameter_value (const setting &va
>  	Py_RETURN_NONE;
>        /* Fall through.  */
>      case var_zinteger:
> -    case var_zuinteger_unlimited:
>        return gdb_py_object_from_longest (var.get<int> ()).release ();
>  
> +    case var_zuinteger_unlimited:
> +      {
> +	int val = var.get<int> ();
> +
> +	if (val == -1)
> +	  Py_RETURN_NONE;
> +	return gdb_py_object_from_longest (val).release ();
> +      }
> +
>      case var_uinteger:
>        {
>  	unsigned int val = var.get<unsigned int> ();
> Index: src/gdb/testsuite/gdb.python/py-parameter.exp
> ===================================================================
> --- src.orig/gdb/testsuite/gdb.python/py-parameter.exp
> +++ src/gdb/testsuite/gdb.python/py-parameter.exp
> @@ -343,8 +343,8 @@ proc_with_prefix test_integer_parameter
>  	} elseif {$kind == "PARAM_ZUINTEGER_UNLIMITED"} {
>  	    gdb_test_no_output "python test_param_$kind.value = -1" \
>  		"check that PARAM_ZUINTEGER value can be set to -1"
> -	    gdb_test "python print(gdb.parameter('test-$kind'))" "-1" \
> -		"check that PARAM_ZUINTEGER value is -1 after setting"
> +	    gdb_test "python print(gdb.parameter('test-$kind'))" "None" \
> +		"check that PARAM_ZUINTEGER value is None after setting"
>  	} else {
>  	    error "invalid kind: $kind"
>  	}


  parent reply	other threads:[~2022-06-24 14:40 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 10:23 [PATCH v5 0/8] gdb: split array and string limiting options Maciej W. Rozycki
2022-03-30 10:23 ` [PATCH v5 1/8] GDB: Remove extraneous full stops from `set' command error messages Maciej W. Rozycki
2022-06-24 14:32   ` Andrew Burgess
2022-06-29 14:29     ` Maciej W. Rozycki
2022-03-30 10:23 ` [PATCH v5 2/8] GDB/Python: Use None for `var_zuinteger_unlimited' value set to `unlimited' Maciej W. Rozycki
2022-03-30 10:35   ` Simon Sobisch
2022-03-30 10:40     ` Maciej W. Rozycki
2022-03-30 10:50       ` Simon Sobisch
2022-03-30 11:52         ` Maciej W. Rozycki
2022-06-24 14:40   ` Andrew Burgess [this message]
2022-06-29 16:48     ` Maciej W. Rozycki
2022-03-30 10:24 ` [PATCH v5 3/8] GDB: Add `NUMBER' completion to `set' integer commands Maciej W. Rozycki
2022-05-25 18:36   ` Bruno Larsen
2022-05-26 10:09     ` Maciej W. Rozycki
2022-05-26 11:46       ` Bruno Larsen
2022-05-26 14:24         ` Maciej W. Rozycki
2022-06-24 15:08   ` Andrew Burgess
2022-06-30 14:24     ` [PATCH v6 " Maciej W. Rozycki
2022-06-30 15:53       ` Eli Zaretskii
2022-06-30 18:59         ` Maciej W. Rozycki
2022-06-30 16:01       ` Andrew Burgess
2022-03-30 10:24 ` [PATCH v5 4/8] GDB/testsuite: Tighten `set print elements' error check Maciej W. Rozycki
2022-06-24 15:09   ` Andrew Burgess
2022-06-29 14:29     ` Maciej W. Rozycki
2022-03-30 10:24 ` [PATCH v5 5/8] GDB/testsuite: Add coverage for `print -elements' command Maciej W. Rozycki
2022-06-24 15:57   ` Andrew Burgess
2022-07-07 11:04     ` Maciej W. Rozycki
2022-03-30 10:24 ` [PATCH v5 6/8] GDB: Allow arbitrary keywords in integer set commands Maciej W. Rozycki
2022-03-30 10:42   ` Simon Sobisch
2022-03-30 10:58     ` Maciej W. Rozycki
2022-06-28 14:04   ` Andrew Burgess
2022-08-17 22:03     ` Maciej W. Rozycki
2022-03-30 10:24 ` [PATCH v5 7/8] GDB: Add a character string limiting option Maciej W. Rozycki
2022-03-30 12:29   ` Eli Zaretskii
2022-03-30 10:24 ` [PATCH v5 8/8] GDB/testsuite: Expand for character string limiting options Maciej W. Rozycki
2022-04-13 11:20 ` [PING][PATCH v5 0/8] gdb: split array and " Maciej W. Rozycki
2022-04-13 12:10   ` Simon Sobisch
2022-04-13 12:18     ` Maciej W. Rozycki
2022-04-20 19:17 ` [PING^2][PATCH " Maciej W. Rozycki
2022-04-26 19:57   ` Simon Sobisch
2022-04-27 12:00     ` Maciej W. Rozycki
2022-04-27 12:02 ` [PING^3][PATCH " Maciej W. Rozycki
2022-05-04 10:05 ` [PING^4][PATCH " Maciej W. Rozycki
2022-05-12 21:20 ` [PING^5][PATCH " Maciej W. Rozycki
2022-05-20 10:49 ` [PING^6][PATCH " Maciej W. Rozycki
2022-05-25 15:52 ` [PING^7][PATCH " Maciej W. Rozycki
2022-05-25 19:20 ` [PATCH " Bruno Larsen
2022-06-02 17:55 ` [PING^8][PATCH " Maciej W. Rozycki
2022-06-07 17:23   ` Simon Sobisch
2022-06-15 22:47 ` [PING^9][PATCH " Maciej W. Rozycki
2022-06-22 11:25 ` [PING^10][PATCH " Maciej W. Rozycki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877d56azv6.fsf@redhat.com \
    --to=aburgess@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=macro@embecosm.com \
    --cc=simonsobisch@web.de \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).