binutils-gdb/gdb/python
Tom de Vries b37f2bd246 [gdb/python] Introduce py_{none,true,false,notimplemented} functions
I came across this code:
...
   if (c)
     return v;
   else
     Py_RETURN_NONE;
...
and realized I couldn't easily rewrite it into "return c ? v : ...".

Probably something like this would work:
...
  return c ? v : ([] { Py_RETURN_NONE; } ());
...
but it made me wonder if we can get rid of Py_RETURN_NONE.

The only point of it seems to be to increase the reference count on the
Py_None object for older python versions.

Add a refcount-safe wrapper py_none (returning a gdbpy_ref), with the aim of
replacing all uses of Py_RETURN_NONE with "return py_none ().release ()".

Likewise for Py_RETURN_TRUE/Py_RETURN_FALSE/Py_RETURN_NOTIMPLEMENTED.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=34145
2026-05-15 21:38:12 +02:00
..
lib/gdb gdb/dap: add support for opening core files 2026-04-23 09:58:02 +01:00
py-all-events.def gdb/python: new events.corefile_changed event 2026-04-20 22:15:26 +01:00
py-arch.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-auto-load.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-block.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-bpevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-breakpoint.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-cmd.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-color.c gdb: introduce rgb_color type to simplify existing code 2026-03-10 11:22:28 +00:00
py-color.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-connection.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-continueevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-corefile.c gdb/python: new events.corefile_changed event 2026-04-20 22:15:26 +01:00
py-dap.c Rewrite output redirection and logging 2026-02-09 08:15:44 -07:00
py-disasm.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-event-types.def gdb/python: new events.corefile_changed event 2026-04-20 22:15:26 +01:00
py-event.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-event.h gdb: new setters and getters for __dict__, and attributes 2026-01-29 16:46:14 +00:00
py-events.h gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-evtregistry.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-evts.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-exitedevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-finishbreakpoint.c gdb/python: fix gdb.FinishBreakpoint returning to a tail call frame 2026-03-05 17:45:29 +00:00
py-frame.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-framefilter.c Return gdbpy_ref<> from frame_info_to_frame_object 2026-02-23 05:29:12 -07:00
py-function.c gdb: switch tuple object helpers to Python limited API equivalents 2026-03-04 15:38:11 +00:00
py-gdb-readline.c Python limited API: migrate Py_CompileStringExFlags and PyRun_SimpleString 2026-01-28 09:41:25 +00:00
py-inferior.c gdb: change new_objfile observer to take an objfile reference 2026-03-19 14:36:25 +00:00
py-infevents.c Return gdbpy_ref<> from frame_info_to_frame_object 2026-02-23 05:29:12 -07:00
py-infthread.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-instruction.c gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-instruction.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-lazy-string.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-linetable.c Return gdbpy_ref<> from symtab_to_linetable_object 2026-02-23 05:29:12 -07:00
py-membuf.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-mi.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-micmd.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-newobjfileevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-obj-type.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-obj-type.h gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-objfile.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-param.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-prettyprint.c gdb, gdbserver, gdbsupport: replace many uses of strcmp with streq 2026-03-16 13:24:00 -04:00
py-progspace.c gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-record-btrace.c Use the "O!" format more in the Python code 2026-02-27 12:01:56 -07:00
py-record-btrace.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record-full.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record-full.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-record.c gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-record.h gdb: make remaining Python extension objects inherit from PyObject 2026-01-29 16:46:14 +00:00
py-ref.h gdb/python: add accessor helpers for __dict__ in Python extension objects 2026-03-14 13:21:06 +00:00
py-registers.c Hold the GIL while clearing gdbpy_reggroup_object_map 2026-03-25 11:12:14 -06:00
py-signalevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-stopevent.c Return gdbpy_ref<> from value_to_value_object 2026-02-23 05:29:11 -07:00
py-stopevent.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-style.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-symbol.c gdb: introduce iteration_status enum, use it for search callbacks 2026-04-17 15:30:29 -04:00
py-symtab.c gdb/python: introduce gdb.Symtab.source_lines method 2026-03-05 10:17:08 +00:00
py-threadevent.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-tui.c gdb: cast all Python extension objects passed to gdbpy_ref_policy to PyObject* 2026-01-29 16:46:14 +00:00
py-type.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-uiout.h Remove m_applied_style from ui_file 2026-02-09 08:15:29 -07:00
py-unwind.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-utils.c gdb: add new helpers for retrieving a type's fully qualified name 2026-04-08 11:49:30 +01:00
py-value.c Return gdbpy_ref<> from type_to_type_object 2026-02-23 05:29:12 -07:00
py-varobj.c Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00
py-xmethods.c gdb: switch tuple object helpers to Python limited API equivalents 2026-03-04 15:38:11 +00:00
python-config.py Run isort 2024-04-02 11:21:39 -06:00
python-internal.h [gdb/python] Introduce py_{none,true,false,notimplemented} functions 2026-05-15 21:38:12 +02:00
python-limited-api-missing.h [gdb/python] Fix check-include-guards check in python-limited-api-missing.h 2026-05-15 14:15:22 +02:00
python.c gdb/python: migrate Python initialization to use the new config API (PEP 741) 2026-05-15 11:12:32 +01:00
python.h Update copyright dates to include 2026 2026-01-05 13:16:46 -07:00