tree c52a40f5e254ab44b13e08bf49809a35b556aa30
parent 88141209e25ce19473ec07d7aac09cc68f06a630
author Tom de Vries <tdevries@suse.de> 1721831555 +0200
committer Tom de Vries <tdevries@suse.de> 1721831555 +0200

[gdb/exp] Allow internal function to indicate return type

Currently an internal function handler has this prototype:
...
struct value *handler (struct gdbarch *gdbarch,
                       const struct language_defn *language,
                       void *cookie, int argc, struct value **argv);
...

Also allow an internal function with a handler with an additional
"enum noside noside" parameter:
...
struct value *handler (struct gdbarch *gdbarch,
                       const struct language_defn *language, void *cookie,
                       int argc, struct value **argv, enum noside noside);
...

In case such a handler is called with noside == EVAL_AVOID_SIDE_EFFECTS, it's
expected to return some value with the correct return type.

At least, provided it can do so without side effects, otherwise it should
throw an error.

No functional changes.

Tested on x86_64-linux and aarch64-linux.

Reviewed-By: Keith Seitz <keiths@redhat.com>
