aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorLancelot Six <lancelot.six@amd.com>2023-10-13 09:27:48 +0000
committerLancelot Six <lancelot.six@amd.com>2023-11-21 11:52:35 +0000
commit6b09f1342cf2d8e2b13a0d634acc3bcf2852a73b (patch)
tree07259601270022a6cbeb89826560262f015e1589 /gdb
parent6b62451ad08056f0ba02e192ec34ef67c4294ef4 (diff)
downloadgdb-6b09f1342cf2d8e2b13a0d634acc3bcf2852a73b.zip
gdb-6b09f1342cf2d8e2b13a0d634acc3bcf2852a73b.tar.gz
gdb-6b09f1342cf2d8e2b13a0d634acc3bcf2852a73b.tar.bz2
gdb: Replace gdb::optional with std::optional
Since GDB now requires C++17, we don't need the internally maintained gdb::optional implementation. This patch does the following replacing: - gdb::optional -> std::optional - gdb::in_place -> std::in_place - #include "gdbsupport/gdb_optional.h" -> #include <optional> This change has mostly been done automatically. One exception is gdbsupport/thread-pool.* which did not use the gdb:: prefix as it already lives in the gdb namespace. Change-Id: I19a92fa03e89637bab136c72e34fd351524f65e9 Approved-By: Tom Tromey <tom@tromey.com> Approved-By: Pedro Alves <pedro@palves.net>
Diffstat (limited to 'gdb')
-rw-r--r--gdb/aarch64-linux-tdep.c10
-rw-r--r--gdb/ada-lang.c6
-rw-r--r--gdb/ada-lex.l2
-rw-r--r--gdb/ada-valprint.c4
-rw-r--r--gdb/amd-dbgapi-target.c4
-rw-r--r--gdb/annotate.c2
-rw-r--r--gdb/arm-fbsd-tdep.c6
-rw-r--r--gdb/arm-fbsd-tdep.h2
-rw-r--r--gdb/arm-linux-tdep.c2
-rw-r--r--gdb/arm-tdep.c4
-rw-r--r--gdb/auto-load.c2
-rw-r--r--gdb/auxv.c10
-rw-r--r--gdb/auxv.h4
-rw-r--r--gdb/avr-tdep.c2
-rw-r--r--gdb/breakpoint.c19
-rw-r--r--gdb/buildsym.c2
-rw-r--r--gdb/cli/cli-cmds.c6
-rw-r--r--gdb/cli/cli-cmds.h4
-rw-r--r--gdb/cli/cli-decode.c4
-rw-r--r--gdb/cli/cli-decode.h2
-rw-r--r--gdb/cli/cli-option.c14
-rw-r--r--gdb/cli/cli-option.h2
-rw-r--r--gdb/command.h2
-rw-r--r--gdb/compile/compile.c4
-rw-r--r--gdb/darwin-nat.c2
-rw-r--r--gdb/debuginfod-support.c10
-rw-r--r--gdb/disasm.c14
-rw-r--r--gdb/disasm.h2
-rw-r--r--gdb/dwarf2/attribute.h2
-rw-r--r--gdb/dwarf2/cu.h8
-rw-r--r--gdb/dwarf2/die.h4
-rw-r--r--gdb/dwarf2/index-cache.h2
-rw-r--r--gdb/dwarf2/index-write.c4
-rw-r--r--gdb/dwarf2/line-header.c4
-rw-r--r--gdb/dwarf2/macro.c4
-rw-r--r--gdb/dwarf2/macro.h2
-rw-r--r--gdb/dwarf2/read-gdb-index.c4
-rw-r--r--gdb/dwarf2/read.c24
-rw-r--r--gdb/dwarf2/read.h4
-rw-r--r--gdb/eval.c2
-rw-r--r--gdb/event-top.c2
-rw-r--r--gdb/exceptions.c4
-rw-r--r--gdb/extension-priv.h6
-rw-r--r--gdb/extension.c12
-rw-r--r--gdb/extension.h8
-rw-r--r--gdb/f-lang.c2
-rw-r--r--gdb/fbsd-nat.c6
-rw-r--r--gdb/fbsd-nat.h4
-rw-r--r--gdb/fbsd-tdep.c8
-rw-r--r--gdb/gdbthread.h8
-rw-r--r--gdb/gdbtypes.c18
-rw-r--r--gdb/gdbtypes.h8
-rw-r--r--gdb/guile/scm-ports.c4
-rw-r--r--gdb/ia64-tdep.c4
-rw-r--r--gdb/inf-child.c2
-rw-r--r--gdb/inf-child.h2
-rw-r--r--gdb/infcmd.c4
-rw-r--r--gdb/inferior.c4
-rw-r--r--gdb/inferior.h2
-rw-r--r--gdb/inflow.c4
-rw-r--r--gdb/infrun.c12
-rw-r--r--gdb/interps.c2
-rw-r--r--gdb/interps.h4
-rw-r--r--gdb/jit.c2
-rw-r--r--gdb/linux-nat.c10
-rw-r--r--gdb/linux-nat.h2
-rw-r--r--gdb/linux-tdep.c18
-rw-r--r--gdb/linux-tdep.h4
-rw-r--r--gdb/linux-thread-db.c2
-rw-r--r--gdb/main.c4
-rw-r--r--gdb/mi/mi-cmd-stack.c4
-rw-r--r--gdb/mi/mi-cmd-var.c2
-rw-r--r--gdb/mi/mi-cmds.c2
-rw-r--r--gdb/mi/mi-cmds.h8
-rw-r--r--gdb/mi/mi-interp.c2
-rw-r--r--gdb/mi/mi-interp.h2
-rw-r--r--gdb/mi/mi-main.c12
-rw-r--r--gdb/nat/linux-osdata.c8
-rw-r--r--gdb/nat/windows-nat.c6
-rw-r--r--gdb/nat/windows-nat.h4
-rw-r--r--gdb/observable.h2
-rw-r--r--gdb/osdata.c2
-rw-r--r--gdb/parse.c4
-rw-r--r--gdb/ppc-linux-nat.c4
-rw-r--r--gdb/ppc-linux-tdep.c2
-rw-r--r--gdb/ppc-tdep.h2
-rw-r--r--gdb/printcmd.c6
-rw-r--r--gdb/probe.c22
-rw-r--r--gdb/procfs.c2
-rw-r--r--gdb/psymtab.c2
-rw-r--r--gdb/psymtab.h2
-rw-r--r--gdb/python/py-disasm.c22
-rw-r--r--gdb/python/py-framefilter.c10
-rw-r--r--gdb/python/py-inferior.c2
-rw-r--r--gdb/python/py-mi.c2
-rw-r--r--gdb/python/py-utils.c4
-rw-r--r--gdb/python/python-internal.h4
-rw-r--r--gdb/python/python.c8
-rw-r--r--gdb/ravenscar-thread.c4
-rw-r--r--gdb/record-btrace.c8
-rw-r--r--gdb/regcache.c4
-rw-r--r--gdb/remote.c16
-rw-r--r--gdb/riscv-tdep.c2
-rw-r--r--gdb/s390-linux-tdep.c2
-rw-r--r--gdb/skip.c4
-rw-r--r--gdb/solib-aix.c14
-rw-r--r--gdb/solib-dsbt.c2
-rw-r--r--gdb/solib-svr4.c16
-rw-r--r--gdb/solib-target.c2
-rw-r--r--gdb/source-cache.c2
-rw-r--r--gdb/stack.c16
-rw-r--r--gdb/stack.h2
-rw-r--r--gdb/symfile.c2
-rw-r--r--gdb/symtab.c24
-rw-r--r--gdb/symtab.h24
-rw-r--r--gdb/target.c16
-rw-r--r--gdb/target.h10
-rw-r--r--gdb/thread.c14
-rw-r--r--gdb/tracefile-tfile.c2
-rw-r--r--gdb/tracepoint.c2
-rw-r--r--gdb/tui/tui-disasm.c2
-rw-r--r--gdb/tui/tui-layout.c2
-rw-r--r--gdb/unittests/optional-selftests.c4
-rw-r--r--gdb/utils.c6
-rw-r--r--gdb/valarith.c4
-rw-r--r--gdb/valops.c6
-rw-r--r--gdb/value.c2
-rw-r--r--gdb/value.h4
-rw-r--r--gdb/windows-nat.c10
-rw-r--r--gdb/xml-support.c4
-rw-r--r--gdb/xml-support.h6
-rw-r--r--gdb/xml-syscall.c2
-rw-r--r--gdb/xml-tdesc.c12
-rw-r--r--gdb/xml-tdesc.h4
134 files changed, 396 insertions, 395 deletions
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index f1fcce9..cd99b33 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -1609,7 +1609,7 @@ static const struct target_desc *
aarch64_linux_core_read_description (struct gdbarch *gdbarch,
struct target_ops *target, bfd *abfd)
{
- gdb::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
+ std::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
CORE_ADDR hwcap = linux_get_hwcap (auxv, target, gdbarch);
CORE_ADDR hwcap2 = linux_get_hwcap2 (auxv, target, gdbarch);
@@ -2427,7 +2427,7 @@ aarch64_linux_gcc_target_options (struct gdbarch *gdbarch)
Return the allocation tag if successful and nullopt otherwise. */
-static gdb::optional<CORE_ADDR>
+static std::optional<CORE_ADDR>
aarch64_mte_get_atag (CORE_ADDR address)
{
gdb::byte_vector tags;
@@ -2481,7 +2481,7 @@ aarch64_linux_memtag_matches_p (struct gdbarch *gdbarch,
CORE_ADDR addr = value_as_address (address);
/* Fetch the allocation tag for ADDRESS. */
- gdb::optional<CORE_ADDR> atag
+ std::optional<CORE_ADDR> atag
= aarch64_mte_get_atag (gdbarch_remove_non_address_bits (gdbarch, addr));
if (!atag.has_value ())
@@ -2579,7 +2579,7 @@ aarch64_linux_get_memtag (struct gdbarch *gdbarch, struct value *address,
/* Remove the top byte. */
addr = gdbarch_remove_non_address_bits (gdbarch, addr);
- gdb::optional<CORE_ADDR> atag = aarch64_mte_get_atag (addr);
+ std::optional<CORE_ADDR> atag = aarch64_mte_get_atag (addr);
if (!atag.has_value ())
return nullptr;
@@ -2651,7 +2651,7 @@ aarch64_linux_report_signal_info (struct gdbarch *gdbarch,
uiout->field_core_addr ("fault-addr", gdbarch, fault_addr);
uiout->text ("\n");
- gdb::optional<CORE_ADDR> atag
+ std::optional<CORE_ADDR> atag
= aarch64_mte_get_atag (gdbarch_remove_non_address_bits (gdbarch,
fault_addr));
gdb_byte ltag = aarch64_mte_get_ltag (fault_addr);
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 9bb649e..58c7016 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -3098,7 +3098,7 @@ ada_value_slice_from_ptr (struct value *array_ptr, struct type *type,
type0->dyn_prop (DYN_PROP_BYTE_STRIDE),
type0->field (0).bitsize ());
int base_low = ada_discrete_type_low_bound (type0->index_type ());
- gdb::optional<LONGEST> base_low_pos, low_pos;
+ std::optional<LONGEST> base_low_pos, low_pos;
CORE_ADDR base;
low_pos = discrete_position (base_index_type, low);
@@ -3132,7 +3132,7 @@ ada_value_slice (struct value *array, int low, int high)
(alloc, type->target_type (), index_type,
type->dyn_prop (DYN_PROP_BYTE_STRIDE),
type->field (0).bitsize ());
- gdb::optional<LONGEST> low_pos, high_pos;
+ std::optional<LONGEST> low_pos, high_pos;
low_pos = discrete_position (base_index_type, low);
@@ -8792,7 +8792,7 @@ pos_atr (struct value *arg)
if (!discrete_type_p (type))
error (_("'POS only defined on discrete types"));
- gdb::optional<LONGEST> result = discrete_position (type, value_as_long (val));
+ std::optional<LONGEST> result = discrete_position (type, value_as_long (val));
if (!result.has_value ())
error (_("enumeration value is invalid: can't find 'POS"));
diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l
index 0547b70..0576f36 100644
--- a/gdb/ada-lex.l
+++ b/gdb/ada-lex.l
@@ -713,7 +713,7 @@ processAttribute (const char *str)
if (strcasecmp (str, item.name) == 0)
return item.code;
- gdb::optional<int> found;
+ std::optional<int> found;
for (const auto &item : attributes)
if (subseqMatch (str, item.name))
{
diff --git a/gdb/ada-valprint.c b/gdb/ada-valprint.c
index b32f1e5..f1c4e8b 100644
--- a/gdb/ada-valprint.c
+++ b/gdb/ada-valprint.c
@@ -385,7 +385,7 @@ ada_print_scalar (struct type *type, LONGEST val, struct ui_file *stream)
case TYPE_CODE_ENUM:
{
- gdb::optional<LONGEST> posn = discrete_position (type, val);
+ std::optional<LONGEST> posn = discrete_position (type, val);
if (posn.has_value ())
fputs_styled (ada_enum_name (type->field (*posn).name ()),
variable_name_style.style (), stream);
@@ -827,7 +827,7 @@ ada_val_print_enum (struct value *value, struct ui_file *stream, int recurse,
int offset_aligned = ada_aligned_value_addr (type, valaddr) - valaddr;
val = unpack_long (type, valaddr + offset_aligned);
- gdb::optional<LONGEST> posn = discrete_position (type, val);
+ std::optional<LONGEST> posn = discrete_position (type, val);
if (posn.has_value ())
{
const char *name = ada_enum_name (type->field (*posn).name ());
diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c
index c03b64c..18c0543 100644
--- a/gdb/amd-dbgapi-target.c
+++ b/gdb/amd-dbgapi-target.c
@@ -528,7 +528,7 @@ amd_dbgapi_target::xfer_partial (enum target_object object, const char *annex,
ULONGEST offset, ULONGEST requested_len,
ULONGEST *xfered_len)
{
- gdb::optional<scoped_restore_current_thread> maybe_restore_thread;
+ std::optional<scoped_restore_current_thread> maybe_restore_thread;
if (!ptid_is_gpu (inferior_ptid))
return beneath ()->xfer_partial (object, annex, readbuf, writebuf, offset,
@@ -1901,7 +1901,7 @@ static void
amd_dbgapi_log_message_callback (amd_dbgapi_log_level_t level,
const char *message)
{
- gdb::optional<target_terminal::scoped_restore_terminal_state> tstate;
+ std::optional<target_terminal::scoped_restore_terminal_state> tstate;
if (target_supports_terminal_ours ())
{
diff --git a/gdb/annotate.c b/gdb/annotate.c
index 8385429..f3ead9e 100644
--- a/gdb/annotate.c
+++ b/gdb/annotate.c
@@ -233,7 +233,7 @@ annotate_thread_changed (void)
static void
annotate_thread_exited (thread_info *t,
- gdb::optional<ULONGEST> exit_code,
+ std::optional<ULONGEST> exit_code,
bool /* silent */)
{
if (annotation_level > 1)
diff --git a/gdb/arm-fbsd-tdep.c b/gdb/arm-fbsd-tdep.c
index 90273a3..391afec 100644
--- a/gdb/arm-fbsd-tdep.c
+++ b/gdb/arm-fbsd-tdep.c
@@ -215,7 +215,7 @@ arm_fbsd_iterate_over_regset_sections (struct gdbarch *gdbarch,
/* See arm-fbsd-tdep.h. */
const struct target_desc *
-arm_fbsd_read_description_auxv (const gdb::optional<gdb::byte_vector> &auxv,
+arm_fbsd_read_description_auxv (const std::optional<gdb::byte_vector> &auxv,
target_ops *target, gdbarch *gdbarch, bool tls)
{
CORE_ADDR arm_hwcap = 0;
@@ -244,7 +244,7 @@ arm_fbsd_read_description_auxv (const gdb::optional<gdb::byte_vector> &auxv,
const struct target_desc *
arm_fbsd_read_description_auxv (bool tls)
{
- const gdb::optional<gdb::byte_vector> &auxv = target_read_auxv ();
+ const std::optional<gdb::byte_vector> &auxv = target_read_auxv ();
return arm_fbsd_read_description_auxv (auxv,
current_inferior ()->top_target (),
current_inferior ()->arch (),
@@ -260,7 +260,7 @@ arm_fbsd_core_read_description (struct gdbarch *gdbarch,
{
asection *tls = bfd_get_section_by_name (abfd, ".reg-aarch-tls");
- gdb::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
+ std::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
return arm_fbsd_read_description_auxv (auxv, target, gdbarch, tls != nullptr);
}
diff --git a/gdb/arm-fbsd-tdep.h b/gdb/arm-fbsd-tdep.h
index 3478e4b..7eb1850 100644
--- a/gdb/arm-fbsd-tdep.h
+++ b/gdb/arm-fbsd-tdep.h
@@ -47,7 +47,7 @@ extern const struct regset arm_fbsd_tls_regset;
AUXV. */
extern const struct target_desc *
- arm_fbsd_read_description_auxv (const gdb::optional<gdb::byte_vector> &auxv,
+ arm_fbsd_read_description_auxv (const std::optional<gdb::byte_vector> &auxv,
target_ops *target, gdbarch *gdbarch,
bool tls);
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 86fa3de..8117d35 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -732,7 +732,7 @@ arm_linux_core_read_description (struct gdbarch *gdbarch,
struct target_ops *target,
bfd *abfd)
{
- gdb::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
+ std::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
CORE_ADDR arm_hwcap = linux_get_hwcap (auxv, target, gdbarch);
if (arm_hwcap & HWCAP_VFP)
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index d4047dd..7a93b09 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -302,7 +302,7 @@ struct arm_prologue_cache
int framereg;
/* True if the return address is signed, false otherwise. */
- gdb::optional<bool> ra_signed_state;
+ std::optional<bool> ra_signed_state;
/* Saved register offsets. */
trad_frame_saved_reg *saved_regs;
@@ -1035,7 +1035,7 @@ thumb_analyze_prologue (struct gdbarch *gdbarch,
while (start < limit)
{
unsigned short insn;
- gdb::optional<bool> ra_signed_state;
+ std::optional<bool> ra_signed_state;
insn = read_code_unsigned_integer (start, 2, byte_order_for_code);
diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index 8bbe669..daea75b 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -914,7 +914,7 @@ source_script_file (struct auto_load_pspace_info *pspace_info,
return;
}
- gdb::optional<open_script> opened = find_and_open_script (file,
+ std::optional<open_script> opened = find_and_open_script (file,
1 /*search_path*/);
if (opened)
diff --git a/gdb/auxv.c b/gdb/auxv.c
index 61acd48..994d97c 100644
--- a/gdb/auxv.c
+++ b/gdb/auxv.c
@@ -331,7 +331,7 @@ parse_auxv (target_ops *ops, gdbarch *gdbarch, const gdb_byte **readptr,
overhead of transfering data from a remote target to the local host. */
struct auxv_info
{
- gdb::optional<gdb::byte_vector> data;
+ std::optional<gdb::byte_vector> data;
};
/* Per-inferior data key for auxv. */
@@ -357,7 +357,7 @@ auxv_all_objfiles_removed (program_space *pspace)
/* See auxv.h. */
-const gdb::optional<gdb::byte_vector> &
+const std::optional<gdb::byte_vector> &
target_read_auxv ()
{
inferior *inf = current_inferior ();
@@ -374,7 +374,7 @@ target_read_auxv ()
/* See auxv.h. */
-gdb::optional<gdb::byte_vector>
+std::optional<gdb::byte_vector>
target_read_auxv_raw (target_ops *ops)
{
return target_read_alloc (ops, TARGET_OBJECT_AUXV, NULL);
@@ -413,7 +413,7 @@ target_auxv_search (const gdb::byte_vector &auxv, target_ops *ops,
int
target_auxv_search (CORE_ADDR match, CORE_ADDR *valp)
{
- const gdb::optional<gdb::byte_vector> &auxv = target_read_auxv ();
+ const std::optional<gdb::byte_vector> &auxv = target_read_auxv ();
if (!auxv.has_value ())
return -1;
@@ -572,7 +572,7 @@ fprint_target_auxv (struct ui_file *file)
gdbarch *gdbarch = current_inferior ()->arch ();
CORE_ADDR type, val;
int ents = 0;
- const gdb::optional<gdb::byte_vector> &auxv = target_read_auxv ();
+ const std::optional<gdb::byte_vector> &auxv = target_read_auxv ();
if (!auxv.has_value ())
return -1;
diff --git a/gdb/auxv.h b/gdb/auxv.h
index a920f7a..10f31dc 100644
--- a/gdb/auxv.h
+++ b/gdb/auxv.h
@@ -48,11 +48,11 @@ extern int svr4_auxv_parse (struct gdbarch *gdbarch, const gdb_byte **readptr,
/* Read auxv data from the current inferior's target stack. */
-extern const gdb::optional<gdb::byte_vector> &target_read_auxv ();
+extern const std::optional<gdb::byte_vector> &target_read_auxv ();
/* Read auxv data from OPS. */
-extern gdb::optional<gdb::byte_vector> target_read_auxv_raw (target_ops *ops);
+extern std::optional<gdb::byte_vector> target_read_auxv_raw (target_ops *ops);
/* Search AUXV for an entry with a_type matching MATCH.
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index 92aec3b..598d740 100644
--- a/gdb/avr-tdep.c
+++ b/gdb/avr-tdep.c
@@ -1566,7 +1566,7 @@ avr_io_reg_read_command (const char *args, int from_tty)
unsigned int val;
/* Find out how many io registers the target has. */
- gdb::optional<gdb::byte_vector> buf
+ std::optional<gdb::byte_vector> buf
= target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_AVR, "avr.io_reg");
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index cd8f36f..af395fd 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -82,7 +82,7 @@
#include <algorithm>
#include "progspace-and-thread.h"
#include "gdbsupport/array-view.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/common-utils.h"
/* Prototypes for local functions. */
@@ -2067,7 +2067,7 @@ update_watchpoint (struct watchpoint *b, bool reparse)
if (b->disposition == disp_del_at_next_stop)
return;
- gdb::optional<scoped_restore_selected_frame> restore_frame;
+ std::optional<scoped_restore_selected_frame> restore_frame;
/* Determine if the watchpoint is within scope. */
if (b->exp_valid_block == NULL)
@@ -3365,7 +3365,7 @@ remove_breakpoints (void)
static void
remove_threaded_breakpoints (thread_info *tp,
- gdb::optional<ULONGEST> /* exit_code */,
+ std::optional<ULONGEST> /* exit_code */,
int /* silent */)
{
for (breakpoint &b : all_breakpoints_safe ())
@@ -6776,8 +6776,8 @@ print_one_breakpoint_location (struct breakpoint *b,
(uiout->test_flags (fix_breakpoint_script_output)
|| fix_breakpoint_script_output_globally);
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
- gdb::optional<ui_out_emit_list> list_emitter;
+ std::optional<ui_out_emit_tuple> tuple_emitter;
+ std::optional<ui_out_emit_list> list_emitter;
if (use_fixed_output)
list_emitter.emplace (uiout, "script");
@@ -6850,7 +6850,8 @@ print_one_breakpoint (breakpoint *b, const bp_location **last_loc, int allflag)
= (uiout->test_flags (fix_multi_location_breakpoint_output)
|| fix_multi_location_breakpoint_output_globally);
- gdb::optional<ui_out_emit_tuple> bkpt_tuple_emitter (gdb::in_place, uiout, "bkpt");
+ std::optional<ui_out_emit_tuple> bkpt_tuple_emitter (std::in_place, uiout,
+ "bkpt");
bool printed = print_one_breakpoint_location (b, NULL, 0, last_loc,
allflag, false);
@@ -6885,7 +6886,7 @@ print_one_breakpoint (breakpoint *b, const bp_location **last_loc, int allflag)
|| !b->first_loc ().enabled
|| b->first_loc ().disabled_by_cond))))
{
- gdb::optional<ui_out_emit_list> locations_list;
+ std::optional<ui_out_emit_list> locations_list;
/* For MI version <= 2, keep the behavior where GDB outputs an invalid
MI record. For later versions, place breakpoint locations in a
@@ -9950,7 +9951,7 @@ watchpoint::print_it (const bpstat *bs) const
string_file stb;
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
+ std::optional<ui_out_emit_tuple> tuple_emitter;
switch (this->type)
{
case bp_watchpoint:
@@ -10928,7 +10929,7 @@ until_break_command (const char *arg, int from_tty, int anywhere)
std::vector<breakpoint_up> breakpoints;
- gdb::optional<delete_longjmp_breakpoint_cleanup> lj_deleter;
+ std::optional<delete_longjmp_breakpoint_cleanup> lj_deleter;
if (frame_id_p (caller_frame_id))
{
diff --git a/gdb/buildsym.c b/gdb/buildsym.c
index b982afe..32d60cc 100644
--- a/gdb/buildsym.c
+++ b/gdb/buildsym.c
@@ -643,7 +643,7 @@ buildsym_compunit::record_line (struct subfile *subfile, int line,
anyway. */
if (line == 0)
{
- gdb::optional<int> last_line;
+ std::optional<int> last_line;
while (!subfile->line_vector_entries.empty ())
{
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index fd93e5b..cb9ff55 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -655,12 +655,12 @@ show_script_ext_mode (struct ui_file *file, int from_tty,
If SEARCH_PATH is non-zero, and the file isn't found in cwd,
search for it in the source search path. */
-gdb::optional<open_script>
+std::optional<open_script>
find_and_open_script (const char *script_file, int search_path)
{
int fd;
openp_flags search_flags = OPF_TRY_CWD_FIRST | OPF_RETURN_REALPATH;
- gdb::optional<open_script> opened;
+ std::optional<open_script> opened;
gdb::unique_xmalloc_ptr<char> file (tilde_expand (script_file));
@@ -742,7 +742,7 @@ source_script_with_search (const char *file, int from_tty, int search_path)
if (file == NULL || *file == 0)
error (_("source command requires file name of file to source."));
- gdb::optional<open_script> opened = find_and_open_script (file, search_path);
+ std::optional<open_script> opened = find_and_open_script (file, search_path);
if (!opened)
{
/* The script wasn't found, or was otherwise inaccessible.
diff --git a/gdb/cli/cli-cmds.h b/gdb/cli/cli-cmds.h
index 4295744..a2579dc 100644
--- a/gdb/cli/cli-cmds.h
+++ b/gdb/cli/cli-cmds.h
@@ -18,7 +18,7 @@
#define CLI_CLI_CMDS_H
#include "gdbsupport/filestuff.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "completer.h"
/* Chain containing all defined commands. */
@@ -179,7 +179,7 @@ struct open_script
}
};
-extern gdb::optional<open_script>
+extern std::optional<open_script>
find_and_open_script (const char *file, int search_path);
/* Command tracing state. */
diff --git a/gdb/cli/cli-decode.c b/gdb/cli/cli-decode.c
index 0bbe96b..940cd6a 100644
--- a/gdb/cli/cli-decode.c
+++ b/gdb/cli/cli-decode.c
@@ -24,7 +24,7 @@
#include "cli/cli-cmds.h"
#include "cli/cli-decode.h"
#include "cli/cli-style.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
/* Prototypes for local functions. */
@@ -2727,7 +2727,7 @@ cmd_func (struct cmd_list_element *cmd, const char *args, int from_tty)
{
if (!cmd->is_command_class_help ())
{
- gdb::optional<scoped_restore_tmpl<bool>> restore_suppress;
+ std::optional<scoped_restore_tmpl<bool>> restore_suppress;
if (cmd->suppress_notification != NULL)
restore_suppress.emplace (cmd->suppress_notification, true);
diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h
index 8fe9325..14d9c29 100644
--- a/gdb/cli/cli-decode.h
+++ b/gdb/cli/cli-decode.h
@@ -233,7 +233,7 @@ struct cmd_list_element
void (*destroyer) (struct cmd_list_element *self, void *context) = nullptr;
/* Setting affected by "set" and "show". Not used if type is not_set_cmd. */
- gdb::optional<setting> var;
+ std::optional<setting> var;
/* Pointer to NULL terminated list of enumerated values (like
argv). */
diff --git a/gdb/cli/cli-option.c b/gdb/cli/cli-option.c
index 9b303b1..d2d489b 100644
--- a/gdb/cli/cli-option.c
+++ b/gdb/cli/cli-option.c
@@ -58,11 +58,11 @@ struct option_def_and_value
void *ctx;
/* The option's value, if any. */
- gdb::optional<option_value> value;
+ std::optional<option_value> value;
/* Constructor. */
option_def_and_value (const option_def &option_, void *ctx_,
- gdb::optional<option_value> &&value_ = {})
+ std::optional<option_value> &&value_ = {})
: option (option_),
ctx (ctx_),
value (std::move (value_))
@@ -99,7 +99,7 @@ private:
allocated on the heap, so we must clear the pointer in the
source, to avoid a double free. */
static void clear_value (const option_def &option,
- gdb::optional<option_value> &value)
+ std::optional<option_value> &value)
{
if (value.has_value ())
{
@@ -109,7 +109,7 @@ private:
}
};
-static void save_option_value_in_ctx (gdb::optional<option_def_and_value> &ov);
+static void save_option_value_in_ctx (std::optional<option_def_and_value> &ov);
/* Info passed around when handling completion. */
struct parse_option_completion_info
@@ -177,7 +177,7 @@ complete_on_all_options (completion_tracker &tracker,
/* Parse ARGS, guided by OPTIONS_GROUP. HAVE_DELIMITER is true if the
whole ARGS line included the "--" options-terminator delimiter. */
-static gdb::optional<option_def_and_value>
+static std::optional<option_def_and_value>
parse_option (gdb::array_view<const option_def_group> options_group,
process_options_mode mode,
bool have_delimiter,
@@ -496,7 +496,7 @@ complete_options (completion_tracker &tracker,
}
else if (**args == '-')
{
- gdb::optional<option_def_and_value> ov
+ std::optional<option_def_and_value> ov
= parse_option (options_group, mode, have_delimiter,
args, &completion_info);
if (!ov && !tracker.have_completions ())
@@ -589,7 +589,7 @@ complete_options (completion_tracker &tracker,
/* Save the parsed value in the option's context. */
static void
-save_option_value_in_ctx (gdb::optional<option_def_and_value> &ov)
+save_option_value_in_ctx (std::optional<option_def_and_value> &ov)
{
switch (ov->option.type)
{
diff --git a/gdb/cli/cli-option.h b/gdb/cli/cli-option.h
index 7b015b8..4c62227 100644
--- a/gdb/cli/cli-option.h
+++ b/gdb/cli/cli-option.h
@@ -20,7 +20,7 @@
#ifndef CLI_OPTION_H
#define CLI_OPTION_H 1
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/array-view.h"
#include "completer.h"
#include <string>
diff --git a/gdb/command.h b/gdb/command.h
index 467bb28..1ab953b 100644
--- a/gdb/command.h
+++ b/gdb/command.h
@@ -126,7 +126,7 @@ struct literal_def
LONGEST use;
/* An optional number accepted that stands for the literal. */
- gdb::optional<LONGEST> val;
+ std::optional<LONGEST> val;
};
/* Return true if a setting of type VAR_TYPE is backed with type T.
diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index a93c940..be1bcca 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -40,7 +40,7 @@
#include "osabi.h"
#include "gdbsupport/gdb_wait.h"
#include "valprint.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/gdb_unlinker.h"
#include "gdbsupport/pathstuff.h"
#include "gdbsupport/scoped_ignore_signal.h"
@@ -768,7 +768,7 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
compile_file_names fnames = get_new_file_names ();
- gdb::optional<gdb::unlinker> source_remover;
+ std::optional<gdb::unlinker> source_remover;
{
gdb_file_up src = gdb_fopen_cloexec (fnames.source_file (), "w");
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 0de476b..f562495 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1968,7 +1968,7 @@ darwin_nat_target::create_inferior (const char *exec_file,
const std::string &allargs,
char **env, int from_tty)
{
- gdb::optional<scoped_restore_tmpl<bool>> restore_startup_with_shell;
+ std::optional<scoped_restore_tmpl<bool>> restore_startup_with_shell;
darwin_nat_target *the_target = this;
if (startup_with_shell && may_have_sip ())
diff --git a/gdb/debuginfod-support.c b/gdb/debuginfod-support.c
index 902af40..1ebd98c 100644
--- a/gdb/debuginfod-support.c
+++ b/gdb/debuginfod-support.c
@@ -21,7 +21,7 @@
#include <errno.h>
#include "gdbsupport/scoped_fd.h"
#include "debuginfod-support.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "cli/cli-cmds.h"
#include "cli/cli-style.h"
#include "cli-out.h"
@@ -320,7 +320,7 @@ debuginfod_source_query (const unsigned char *build_id,
char *dname = nullptr;
scoped_fd fd;
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
{
user_data data ("source file", srcpath);
@@ -366,7 +366,7 @@ debuginfod_debuginfo_query (const unsigned char *build_id,
char *dname = nullptr;
scoped_fd fd;
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
{
user_data data ("separate debug info for", filename);
@@ -409,7 +409,7 @@ debuginfod_exec_query (const unsigned char *build_id,
char *dname = nullptr;
scoped_fd fd;
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
{
user_data data ("executable for", filename);
@@ -458,7 +458,7 @@ debuginfod_section_query (const unsigned char *build_id,
char *dname = nullptr;
std::string desc = std::string ("section ") + section_name + " for";
scoped_fd fd;
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
{
user_data data (desc.c_str (), filename);
diff --git a/gdb/disasm.c b/gdb/disasm.c
index 2e866f6..82b7e99 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -29,7 +29,7 @@
#include "source.h"
#include "gdbsupport/gdb-safe-ctype.h"
#include <algorithm>
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "valprint.h"
#include "cli/cli-style.h"
#include "objfiles.h"
@@ -653,8 +653,8 @@ do_mixed_source_and_assembly_deprecated
ui_out_emit_list asm_insns_list (uiout, "asm_insns");
- gdb::optional<ui_out_emit_tuple> outer_tuple_emitter;
- gdb::optional<ui_out_emit_list> inner_list_emitter;
+ std::optional<ui_out_emit_tuple> outer_tuple_emitter;
+ std::optional<ui_out_emit_list> inner_list_emitter;
for (i = 0; i < newlines; i++)
{
@@ -810,8 +810,8 @@ do_mixed_source_and_assembly (struct gdbarch *gdbarch,
ui_out_emit_list asm_insns_emitter (uiout, "asm_insns");
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
- gdb::optional<ui_out_emit_list> list_emitter;
+ std::optional<ui_out_emit_tuple> tuple_emitter;
+ std::optional<ui_out_emit_list> list_emitter;
last_symtab = NULL;
last_line = 0;
@@ -1093,7 +1093,7 @@ gdb_print_insn_1 (struct gdbarch *gdbarch, CORE_ADDR vma,
struct disassemble_info *info)
{
/* Call into the extension languages to do the disassembly. */
- gdb::optional<int> length = ext_lang_print_insn (gdbarch, vma, info);
+ std::optional<int> length = ext_lang_print_insn (gdbarch, vma, info);
if (length.has_value ())
return *length;
@@ -1125,7 +1125,7 @@ gdb_disassembler::print_insn (CORE_ADDR memaddr,
this output. */
if (length > 0 && use_ext_lang_for_styling ())
{
- gdb::optional<std::string> ext_contents;
+ std::optional<std::string> ext_contents;
ext_contents = ext_lang_colorize_disasm (m_buffer.string (), arch ());
if (ext_contents.has_value ())
m_buffer = std::move (*ext_contents);
diff --git a/gdb/disasm.h b/gdb/disasm.h
index dbc63e5..5596bd6 100644
--- a/gdb/disasm.h
+++ b/gdb/disasm.h
@@ -275,7 +275,7 @@ private:
negative value (which indicates an error), then, if this variable has
a value, we report a memory error to the user, otherwise, we report a
non-memory error. */
- gdb::optional<CORE_ADDR> m_err_memaddr;
+ std::optional<CORE_ADDR> m_err_memaddr;
/* The stream to which disassembler output will be written. */
ui_file *m_dest;
diff --git a/gdb/dwarf2/attribute.h b/gdb/dwarf2/attribute.h
index 4cfdaa1..fdb579a 100644
--- a/gdb/dwarf2/attribute.h
+++ b/gdb/dwarf2/attribute.h
@@ -29,7 +29,7 @@
#include "dwarf2.h"
#include "dwarf2/types.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
/* Blocks are a bunch of untyped bytes. */
struct dwarf_block
diff --git a/gdb/dwarf2/cu.h b/gdb/dwarf2/cu.h
index ef8db48..a8879de 100644
--- a/gdb/dwarf2/cu.h
+++ b/gdb/dwarf2/cu.h
@@ -22,7 +22,7 @@
#include "buildsym.h"
#include "dwarf2/comp-unit-head.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "language.h"
/* Type used for delaying computation of method physnames.
@@ -101,7 +101,7 @@ struct dwarf2_cu
struct comp_unit_head header;
/* Base address of this compilation unit. */
- gdb::optional<unrelocated_addr> base_address;
+ std::optional<unrelocated_addr> base_address;
/* The language we are debugging. */
const struct language_defn *language_defn = nullptr;
@@ -189,7 +189,7 @@ public:
/* The DW_AT_addr_base (DW_AT_GNU_addr_base) attribute if present.
Note this value comes from the Fission stub CU/TU's DIE. */
- gdb::optional<ULONGEST> addr_base;
+ std::optional<ULONGEST> addr_base;
/* The DW_AT_GNU_ranges_base attribute, if present.
@@ -242,7 +242,7 @@ public:
files, the value is implicitly zero. For DWARF 5 version DWO files, the
value is often implicit and is the size of the header of
.debug_str_offsets section (8 or 4, depending on the address size). */
- gdb::optional<ULONGEST> str_offsets_base;
+ std::optional<ULONGEST> str_offsets_base;
/* Mark used when releasing cached dies. */
bool m_mark : 1;
diff --git a/gdb/dwarf2/die.h b/gdb/dwarf2/die.h
index cdee469..c704077 100644
--- a/gdb/dwarf2/die.h
+++ b/gdb/dwarf2/die.h
@@ -59,7 +59,7 @@ struct die_info
/* Return the address base of the compile unit, which, if exists, is
stored either at the attribute DW_AT_GNU_addr_base, or
DW_AT_addr_base. */
- gdb::optional<ULONGEST> addr_base ()
+ std::optional<ULONGEST> addr_base ()
{
for (unsigned i = 0; i < num_attrs; ++i)
if (attrs[i].name == DW_AT_addr_base
@@ -73,7 +73,7 @@ struct die_info
complaint (_("address base attribute (offset %s) as wrong form"),
sect_offset_str (sect_off));
}
- return gdb::optional<ULONGEST> ();
+ return std::optional<ULONGEST> ();
}
/* Return the base address of the compile unit into the .debug_ranges section,
diff --git a/gdb/dwarf2/index-cache.h b/gdb/dwarf2/index-cache.h
index cfa4543..023fc86 100644
--- a/gdb/dwarf2/index-cache.h
+++ b/gdb/dwarf2/index-cache.h
@@ -52,7 +52,7 @@ private:
std::string build_id_str;
/* Captured value of dwz build id. */
- gdb::optional<std::string> dwz_build_id_str;
+ std::optional<std::string> dwz_build_id_str;
};
/* Class to manage the access to the DWARF index cache. */
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c
index c9d6e63..d1b10a2 100644
--- a/gdb/dwarf2/index-write.c
+++ b/gdb/dwarf2/index-write.c
@@ -1474,7 +1474,7 @@ struct index_wip_file
FILENAME_TEMP is unlinked, because on MS-Windows one cannot
delete a file that is still open. So, we wrap the unlinker in an
optional and emplace it once we know the file name. */
- gdb::optional<gdb::unlinker> unlink_file;
+ std::optional<gdb::unlinker> unlink_file;
gdb_file_up out_file;
};
@@ -1497,7 +1497,7 @@ write_dwarf_index (dwarf2_per_bfd *per_bfd, const char *dir,
? INDEX5_SUFFIX : INDEX4_SUFFIX);
index_wip_file objfile_index_wip (dir, basename, index_suffix);
- gdb::optional<index_wip_file> dwz_index_wip;
+ std::optional<index_wip_file> dwz_index_wip;
if (dwz_basename != NULL)
dwz_index_wip.emplace (dir, dwz_basename, index_suffix);
diff --git a/gdb/dwarf2/line-header.c b/gdb/dwarf2/line-header.c
index d072a91..ddaf7e4 100644
--- a/gdb/dwarf2/line-header.c
+++ b/gdb/dwarf2/line-header.c
@@ -160,8 +160,8 @@ read_formatted_entries (dwarf2_per_objfile *per_objfile, bfd *abfd,
ULONGEST form = read_unsigned_leb128 (abfd, format, &bytes_read);
format += bytes_read;
- gdb::optional<const char *> string;
- gdb::optional<unsigned int> uint;
+ std::optional<const char *> string;
+ std::optional<unsigned int> uint;
switch (form)
{
diff --git a/gdb/dwarf2/macro.c b/gdb/dwarf2/macro.c
index 78cce2d..2e88e67 100644
--- a/gdb/dwarf2/macro.c
+++ b/gdb/dwarf2/macro.c
@@ -444,7 +444,7 @@ dwarf_decode_macro_bytes (dwarf2_per_objfile *per_objfile,
unsigned int offset_size,
struct dwarf2_section_info *str_section,
struct dwarf2_section_info *str_offsets_section,
- gdb::optional<ULONGEST> str_offsets_base,
+ std::optional<ULONGEST> str_offsets_base,
htab_t include_hash, struct dwarf2_cu *cu)
{
struct objfile *objfile = per_objfile->objfile;
@@ -805,7 +805,7 @@ dwarf_decode_macros (dwarf2_per_objfile *per_objfile,
const struct line_header *lh, unsigned int offset_size,
unsigned int offset, struct dwarf2_section_info *str_section,
struct dwarf2_section_info *str_offsets_section,
- gdb::optional<ULONGEST> str_offsets_base,
+ std::optional<ULONGEST> str_offsets_base,
int section_is_gnu, struct dwarf2_cu *cu)
{
bfd *abfd;
diff --git a/gdb/dwarf2/macro.h b/gdb/dwarf2/macro.h
index d92994f..7daf147 100644
--- a/gdb/dwarf2/macro.h
+++ b/gdb/dwarf2/macro.h
@@ -30,7 +30,7 @@ extern void dwarf_decode_macros (dwarf2_per_objfile *per_objfile,
unsigned int offset,
dwarf2_section_info *str_section,
dwarf2_section_info *str_offsets_section,
- gdb::optional<ULONGEST> str_offsets_base,
+ std::optional<ULONGEST> str_offsets_base,
int section_is_gnu, struct dwarf2_cu *cu);
#endif /* GDB_DWARF2_MACRO_H */
diff --git a/gdb/dwarf2/read-gdb-index.c b/gdb/dwarf2/read-gdb-index.c
index 064a9f1..7788626 100644
--- a/gdb/dwarf2/read-gdb-index.c
+++ b/gdb/dwarf2/read-gdb-index.c
@@ -181,7 +181,7 @@ struct dw2_symtab_iterator
dwarf2_per_objfile *per_objfile;
/* If set, only look for symbols that match that block. Valid values are
GLOBAL_BLOCK and STATIC_BLOCK. */
- gdb::optional<block_enum> block_index;
+ std::optional<block_enum> block_index;
/* The kind of symbol we're looking for. */
domain_enum domain;
/* The list of CUs from the index entry of the symbol,
@@ -203,7 +203,7 @@ struct dw2_symtab_iterator
static void
dw2_symtab_iter_init (struct dw2_symtab_iterator *iter,
dwarf2_per_objfile *per_objfile,
- gdb::optional<block_enum> block_index,
+ std::optional<block_enum> block_index,
domain_enum domain, offset_type namei,
mapped_gdb_index &index)
{
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 2a7fd8f..6d86d28 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -78,7 +78,7 @@
#include "build-id.h"
#include "namespace.h"
#include "gdbsupport/function-view.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/underlying.h"
#include "gdbsupport/hash_enum.h"
#include "filename-seen-cache.h"
@@ -3916,7 +3916,7 @@ read_cutu_die_from_dwo (dwarf2_cu *cu,
/* Return the signature of the compile unit, if found. In DWARF 4 and before,
the signature is in the DW_AT_GNU_dwo_id attribute. In DWARF 5 and later, the
signature is part of the header. */
-static gdb::optional<ULONGEST>
+static std::optional<ULONGEST>
lookup_dwo_id (struct dwarf2_cu *cu, struct die_info* comp_unit_die)
{
if (cu->header.version >= 5)
@@ -3924,7 +3924,7 @@ lookup_dwo_id (struct dwarf2_cu *cu, struct die_info* comp_unit_die)
struct attribute *attr;
attr = dwarf2_attr (comp_unit_die, DW_AT_GNU_dwo_id, cu);
if (attr == nullptr || !attr->form_is_unsigned ())
- return gdb::optional<ULONGEST> ();
+ return std::optional<ULONGEST> ();
return attr->as_unsigned ();
}
@@ -3957,7 +3957,7 @@ lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die, const char *dwo_name)
dwo_unit = lookup_dwo_type_unit (cu, dwo_name, comp_dir);
else
{
- gdb::optional<ULONGEST> signature = lookup_dwo_id (cu, comp_unit_die);
+ std::optional<ULONGEST> signature = lookup_dwo_id (cu, comp_unit_die);
if (!signature.has_value ())
error (_("Dwarf Error: missing dwo_id for dwo_name %s"
@@ -7829,7 +7829,7 @@ create_dwo_cu_reader (const struct die_reader_specs *reader,
sect_offset sect_off = cu->per_cu->sect_off;
struct dwarf2_section_info *section = cu->per_cu->section;
- gdb::optional<ULONGEST> signature = lookup_dwo_id (cu, comp_unit_die);
+ std::optional<ULONGEST> signature = lookup_dwo_id (cu, comp_unit_die);
if (!signature.has_value ())
{
complaint (_("Dwarf Error: debug entry at offset %s is missing"
@@ -10633,7 +10633,7 @@ dwarf2_rnglists_process (unsigned offset, struct dwarf2_cu *cu,
struct objfile *objfile = per_objfile->objfile;
bfd *obfd = objfile->obfd.get ();
/* Base address selection entry. */
- gdb::optional<unrelocated_addr> base;
+ std::optional<unrelocated_addr> base;
const gdb_byte *buffer;
bool overflow = false;
ULONGEST addr_index;
@@ -10839,7 +10839,7 @@ dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu, dwarf_tag tag,
unsigned int addr_size = cu_header->addr_size;
CORE_ADDR mask = ~(~(CORE_ADDR)1 << (addr_size * 8 - 1));
/* Base address selection entry. */
- gdb::optional<unrelocated_addr> base;
+ std::optional<unrelocated_addr> base;
unsigned int dummy;
const gdb_byte *buffer;
@@ -16070,8 +16070,8 @@ cooked_indexer::scan_attributes (dwarf2_per_cu_data *scanning_per_cu,
bool is_declaration = false;
sect_offset origin_offset {};
- gdb::optional<unrelocated_addr> low_pc;
- gdb::optional<unrelocated_addr> high_pc;
+ std::optional<unrelocated_addr> low_pc;
+ std::optional<unrelocated_addr> high_pc;
bool high_pc_relative = false;
for (int i = 0; i < abbrev->num_attrs; ++i)
@@ -17448,7 +17448,7 @@ dwarf2_per_objfile::read_line_string (const gdb_byte *buf,
static unrelocated_addr
read_addr_index_1 (dwarf2_per_objfile *per_objfile, unsigned int addr_index,
- gdb::optional<ULONGEST> addr_base, int addr_size)
+ std::optional<ULONGEST> addr_base, int addr_size)
{
struct objfile *objfile = per_objfile->objfile;
bfd *abfd = objfile->obfd.get ();
@@ -17501,7 +17501,7 @@ dwarf2_read_addr_index (dwarf2_per_cu_data *per_cu,
unsigned int addr_index)
{
struct dwarf2_cu *cu = per_objfile->get_cu (per_cu);
- gdb::optional<ULONGEST> addr_base;
+ std::optional<ULONGEST> addr_base;
int addr_size;
/* We need addr_base and addr_size.
@@ -21270,7 +21270,7 @@ dwarf_decode_macros (struct dwarf2_cu *cu, unsigned int offset,
struct dwarf2_section_info *str_offsets_section;
struct dwarf2_section_info *str_section;
- gdb::optional<ULONGEST> str_offsets_base;
+ std::optional<ULONGEST> str_offsets_base;
if (cu->dwo_unit != nullptr)
{
diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h
index da90772..7bb6d4c 100644
--- a/gdb/dwarf2/read.h
+++ b/gdb/dwarf2/read.h
@@ -524,7 +524,7 @@ public:
/* The shared '.dwz' file, if one exists. This is used when the
original data was compressed using 'dwz -m'. */
- gdb::optional<std::unique_ptr<struct dwz_file>> dwz_file;
+ std::optional<std::unique_ptr<struct dwz_file>> dwz_file;
/* Whether copy relocations are supported by this object format. */
bool can_copy;
@@ -743,7 +743,7 @@ struct dwarf2_per_objfile
dwarf2_cu *sym_cu = nullptr;
/* CUs that are queued to be read. */
- gdb::optional<std::queue<dwarf2_queue_item>> queue;
+ std::optional<std::queue<dwarf2_queue_item>> queue;
private:
/* Hold the corresponding compunit_symtab for each CU or TU. This
diff --git a/gdb/eval.c b/gdb/eval.c
index b859e82..3358b0d 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -102,7 +102,7 @@ expression::uses_objfile (struct objfile *objfile) const
struct value *
expression::evaluate (struct type *expect_type, enum noside noside)
{
- gdb::optional<enable_thread_stack_temporaries> stack_temporaries;
+ std::optional<enable_thread_stack_temporaries> stack_temporaries;
if (target_has_execution () && inferior_ptid != null_ptid
&& language_defn->la_language == language_cplus
&& !thread_stack_temporaries_enabled_p (inferior_thread ()))
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 6ce5370..d47e703 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -706,7 +706,7 @@ void
gdb_rl_deprep_term_function (void)
{
#ifdef RL_STATE_EOF
- gdb::optional<scoped_restore_tmpl<int>> restore_eof_found;
+ std::optional<scoped_restore_tmpl<int>> restore_eof_found;
if (RL_ISSTATE (RL_STATE_EOF))
{
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 2ba5a9c..61fe74f 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -27,7 +27,7 @@
#include "serial.h"
#include "gdbthread.h"
#include "ui.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
static void
print_flush (void)
@@ -38,7 +38,7 @@ print_flush (void)
if (deprecated_error_begin_hook)
deprecated_error_begin_hook ();
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
if (target_supports_terminal_ours ())
{
term_state.emplace ();
diff --git a/gdb/extension-priv.h b/gdb/extension-priv.h
index e71eac20..ccb63e6 100644
--- a/gdb/extension-priv.h
+++ b/gdb/extension-priv.h
@@ -256,13 +256,13 @@ struct extension_language_ops
CONTENTS is the contents of the file. This should either return
colorized (using ANSI terminal escapes) version of the contents,
or an empty option. */
- gdb::optional<std::string> (*colorize) (const std::string &name,
+ std::optional<std::string> (*colorize) (const std::string &name,
const std::string &contents);
/* Colorize a single line of disassembler output, CONTENT. This should
either return colorized (using ANSI terminal escapes) version of the
contents, or an empty optional. */
- gdb::optional<std::string> (*colorize_disasm) (const std::string &content,
+ std::optional<std::string> (*colorize_disasm) (const std::string &content,
gdbarch *gdbarch);
/* Print a single instruction from ADDRESS in architecture GDBARCH. INFO
@@ -276,7 +276,7 @@ struct extension_language_ops
If no instruction can be disassembled then return an empty value and
other extension languages will get a chance to perform the
disassembly. */
- gdb::optional<int> (*print_insn) (struct gdbarch *gdbarch,
+ std::optional<int> (*print_insn) (struct gdbarch *gdbarch,
CORE_ADDR address,
struct disassemble_info *info);
diff --git a/gdb/extension.c b/gdb/extension.c
index 9cb393e..2d7a381 100644
--- a/gdb/extension.c
+++ b/gdb/extension.c
@@ -939,10 +939,10 @@ xmethod_worker::get_result_type (value *object, gdb::array_view<value *> args)
/* See extension.h. */
-gdb::optional<std::string>
+std::optional<std::string>
ext_lang_colorize (const std::string &filename, const std::string &contents)
{
- gdb::optional<std::string> result;
+ std::optional<std::string> result;
for (const struct extension_language_defn *extlang : extension_languages)
{
@@ -959,10 +959,10 @@ ext_lang_colorize (const std::string &filename, const std::string &contents)
/* See extension.h. */
-gdb::optional<std::string>
+std::optional<std::string>
ext_lang_colorize_disasm (const std::string &content, gdbarch *gdbarch)
{
- gdb::optional<std::string> result;
+ std::optional<std::string> result;
for (const struct extension_language_defn *extlang : extension_languages)
{
@@ -979,7 +979,7 @@ ext_lang_colorize_disasm (const std::string &content, gdbarch *gdbarch)
/* See extension.h. */
-gdb::optional<int>
+std::optional<int>
ext_lang_print_insn (struct gdbarch *gdbarch, CORE_ADDR address,
struct disassemble_info *info)
{
@@ -988,7 +988,7 @@ ext_lang_print_insn (struct gdbarch *gdbarch, CORE_ADDR address,
if (extlang->ops == nullptr
|| extlang->ops->print_insn == nullptr)
continue;
- gdb::optional<int> length
+ std::optional<int> length
= extlang->ops->print_insn (gdbarch, address, info);
if (length.has_value ())
return length;
diff --git a/gdb/extension.h b/gdb/extension.h
index 282d591..530f6ce 100644
--- a/gdb/extension.h
+++ b/gdb/extension.h
@@ -22,7 +22,7 @@
#include "mi/mi-cmds.h"
#include "gdbsupport/array-view.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
struct breakpoint;
struct command_line;
@@ -316,7 +316,7 @@ extern void get_matching_xmethod_workers
either a colorized (using ANSI terminal escapes) version of the
source code, or an empty value if colorizing could not be done. */
-extern gdb::optional<std::string> ext_lang_colorize
+extern std::optional<std::string> ext_lang_colorize
(const std::string &filename, const std::string &contents);
/* Try to colorize a single line of disassembler output, CONTENT for
@@ -324,7 +324,7 @@ extern gdb::optional<std::string> ext_lang_colorize
escapes) version of CONTENT, or an empty value if colorizing could not
be done. */
-extern gdb::optional<std::string> ext_lang_colorize_disasm
+extern std::optional<std::string> ext_lang_colorize_disasm
(const std::string &content, gdbarch *gdbarch);
/* Calls extension_language_ops::print_insn for each extension language,
@@ -334,7 +334,7 @@ extern gdb::optional<std::string> ext_lang_colorize_disasm
All arguments are forwarded to extension_language_ops::print_insn, see
that function for a full description. */
-extern gdb::optional<int> ext_lang_print_insn
+extern std::optional<int> ext_lang_print_insn
(struct gdbarch *gdbarch, CORE_ADDR address, struct disassemble_info *info);
/* When GDB calls into an extension language because an objfile was
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index fc0614e..ebcca7a 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -306,7 +306,7 @@ protected:
/* Set and reset to handle removing intermediate values from the
value chain. */
- gdb::optional<scoped_value_mark> m_mark;
+ std::optional<scoped_value_mark> m_mark;
};
/* A class used by FORTRAN_VALUE_SUBARRAY when repacking Fortran array
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c
index 0e0d0cd..211b83f 100644
--- a/gdb/fbsd-nat.c
+++ b/gdb/fbsd-nat.c
@@ -99,7 +99,7 @@ fbsd_nat_target::have_pending_event (ptid_t filter)
/* See fbsd-nat.h. */
-gdb::optional<fbsd_nat_target::pending_event>
+std::optional<fbsd_nat_target::pending_event>
fbsd_nat_target::take_pending_event (ptid_t filter)
{
for (auto it = m_pending_events.begin (); it != m_pending_events.end (); it++)
@@ -1663,7 +1663,7 @@ fbsd_nat_target::wait (ptid_t ptid, struct target_waitstatus *ourstatus,
target_options_to_string (target_options).c_str ());
/* If there is a valid pending event, return it. */
- gdb::optional<pending_event> event = take_pending_event (ptid);
+ std::optional<pending_event> event = take_pending_event (ptid);
if (event.has_value ())
{
/* Stop any other inferiors currently running. */
@@ -1899,7 +1899,7 @@ fbsd_nat_target::detach_fork_children (inferior *inf)
while (1)
{
- gdb::optional<pending_event> event = take_pending_event (ptid);
+ std::optional<pending_event> event = take_pending_event (ptid);
if (!event.has_value ())
break;
diff --git a/gdb/fbsd-nat.h b/gdb/fbsd-nat.h
index 7016cc0..8118408 100644
--- a/gdb/fbsd-nat.h
+++ b/gdb/fbsd-nat.h
@@ -20,7 +20,7 @@
#ifndef FBSD_NAT_H
#define FBSD_NAT_H
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "inf-ptrace.h"
#include "regcache.h"
#include "regset.h"
@@ -262,7 +262,7 @@ private:
FILTER. If there is a matching event, the event is removed from
the pending list and returned. */
- gdb::optional<pending_event> take_pending_event (ptid_t filter);
+ std::optional<pending_event> take_pending_event (ptid_t filter);
/* List of pending events. */
diff --git a/gdb/fbsd-tdep.c b/gdb/fbsd-tdep.c
index d166d78..4ac3369 100644
--- a/gdb/fbsd-tdep.c
+++ b/gdb/fbsd-tdep.c
@@ -650,10 +650,10 @@ find_signalled_thread (struct thread_info *info, void *data)
the data is prefixed with a 32-bit integer size to match the format
used in FreeBSD NT_PROCSTAT_* notes. */
-static gdb::optional<gdb::byte_vector>
+static std::optional<gdb::byte_vector>
fbsd_make_note_desc (enum target_object object, uint32_t structsize)
{
- gdb::optional<gdb::byte_vector> buf =
+ std::optional<gdb::byte_vector> buf =
target_read_alloc (current_inferior ()->top_target (), object, NULL);
if (!buf || buf->empty ())
return {};
@@ -735,7 +735,7 @@ fbsd_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
/* Auxiliary vector. */
uint32_t structsize = gdbarch_ptr_bit (gdbarch) / 4; /* Elf_Auxinfo */
- gdb::optional<gdb::byte_vector> note_desc =
+ std::optional<gdb::byte_vector> note_desc =
fbsd_make_note_desc (TARGET_OBJECT_AUXV, structsize);
if (note_desc && !note_desc->empty ())
{
@@ -2340,7 +2340,7 @@ fbsd_vdso_range (struct gdbarch *gdbarch, struct mem_range *range)
else
{
/* Fetch the list of address space entries from the running target. */
- gdb::optional<gdb::byte_vector> buf =
+ std::optional<gdb::byte_vector> buf =
target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_FREEBSD_VMMAP, nullptr);
if (!buf || buf->empty ())
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h
index 938a47f..b2c6baf 100644
--- a/gdb/gdbthread.h
+++ b/gdb/gdbthread.h
@@ -211,10 +211,10 @@ struct thread_suspend_state
- If the thread is running, then this field has its value removed by
calling stop_pc.reset() (see thread_info::set_executing()).
- Attempting to read a gdb::optional with no value is undefined
+ Attempting to read a std::optional with no value is undefined
behaviour and will trigger an assertion error when _GLIBCXX_DEBUG is
defined, which should make error easier to track down. */
- gdb::optional<CORE_ADDR> stop_pc;
+ std::optional<CORE_ADDR> stop_pc;
};
/* Base class for target-specific thread data. */
@@ -661,7 +661,7 @@ extern void delete_thread_silent (struct thread_info *thread);
available. If SILENT, then don't inform the CLI about the
exit. */
extern void set_thread_exited (thread_info *tp,
- gdb::optional<ULONGEST> exit_code = {},
+ std::optional<ULONGEST> exit_code = {},
bool silent = false);
/* Delete a step_resume_breakpoint from the thread database. */
@@ -1058,7 +1058,7 @@ extern bool switch_to_thread_if_alive (thread_info *thr);
exception if !FLAGS.SILENT and !FLAGS.CONT and CMD fails. */
extern void thread_try_catch_cmd (thread_info *thr,
- gdb::optional<int> ada_task,
+ std::optional<int> ada_task,
const char *cmd, int from_tty,
const qcs_flags &flags);
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index e424077..04598c6 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -1045,7 +1045,7 @@ has_static_range (const struct range_bounds *bounds)
/* See gdbtypes.h. */
-gdb::optional<LONGEST>
+std::optional<LONGEST>
get_discrete_low_bound (struct type *type)
{
type = check_typedef (type);
@@ -1061,7 +1061,7 @@ get_discrete_low_bound (struct type *type)
if (type->target_type ()->code () == TYPE_CODE_ENUM)
{
- gdb::optional<LONGEST> low_pos
+ std::optional<LONGEST> low_pos
= discrete_position (type->target_type (), low);
if (low_pos.has_value ())
@@ -1112,7 +1112,7 @@ get_discrete_low_bound (struct type *type)
/* See gdbtypes.h. */
-gdb::optional<LONGEST>
+std::optional<LONGEST>
get_discrete_high_bound (struct type *type)
{
type = check_typedef (type);
@@ -1128,7 +1128,7 @@ get_discrete_high_bound (struct type *type)
if (type->target_type ()->code () == TYPE_CODE_ENUM)
{
- gdb::optional<LONGEST> high_pos
+ std::optional<LONGEST> high_pos
= discrete_position (type->target_type (), high);
if (high_pos.has_value ())
@@ -1191,11 +1191,11 @@ get_discrete_high_bound (struct type *type)
bool
get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp)
{
- gdb::optional<LONGEST> low = get_discrete_low_bound (type);
+ std::optional<LONGEST> low = get_discrete_low_bound (type);
if (!low.has_value ())
return false;
- gdb::optional<LONGEST> high = get_discrete_high_bound (type);
+ std::optional<LONGEST> high = get_discrete_high_bound (type);
if (!high.has_value ())
return false;
@@ -1243,7 +1243,7 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound)
in which case the value of POS is unmodified.
*/
-gdb::optional<LONGEST>
+std::optional<LONGEST>
discrete_position (struct type *type, LONGEST val)
{
if (type->code () == TYPE_CODE_RANGE)
@@ -2534,7 +2534,7 @@ compute_variant_fields_inner (struct type *type,
std::vector<bool> &flags)
{
/* Evaluate the discriminant. */
- gdb::optional<ULONGEST> discr_value;
+ std::optional<ULONGEST> discr_value;
if (part.discriminant_index != -1)
{
int idx = part.discriminant_index;
@@ -2757,7 +2757,7 @@ resolve_dynamic_type_internal (struct type *type,
if (!is_dynamic_type_internal (real_type, top_level))
return type;
- gdb::optional<CORE_ADDR> type_length;
+ std::optional<CORE_ADDR> type_length;
prop = TYPE_DYNAMIC_LENGTH (type);
if (prop != NULL
&& dwarf2_evaluate_property (prop, frame, addr_stack, &value))
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 505c8ba..d5bd6d2 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -47,7 +47,7 @@
#include "hashtab.h"
#include "gdbsupport/array-view.h"
#include "gdbsupport/gdb-hashtab.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/offset-type.h"
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/underlying.h"
@@ -2663,11 +2663,11 @@ extern bool get_discrete_bounds (struct type *type, LONGEST *lowp,
/* If TYPE's low bound is a known constant, return it, else return nullopt. */
-extern gdb::optional<LONGEST> get_discrete_low_bound (struct type *type);
+extern std::optional<LONGEST> get_discrete_low_bound (struct type *type);
/* If TYPE's high bound is a known constant, return it, else return nullopt. */
-extern gdb::optional<LONGEST> get_discrete_high_bound (struct type *type);
+extern std::optional<LONGEST> get_discrete_high_bound (struct type *type);
/* Assuming TYPE is a simple, non-empty array type, compute its upper
and lower bound. Save the low bound into LOW_BOUND if not NULL.
@@ -2679,7 +2679,7 @@ extern gdb::optional<LONGEST> get_discrete_high_bound (struct type *type);
extern bool get_array_bounds (struct type *type, LONGEST *low_bound,
LONGEST *high_bound);
-extern gdb::optional<LONGEST> discrete_position (struct type *type,
+extern std::optional<LONGEST> discrete_position (struct type *type,
LONGEST val);
extern int class_types_same_p (const struct type *, const struct type *);
diff --git a/gdb/guile/scm-ports.c b/gdb/guile/scm-ports.c
index a27ea8b..ceca60b 100644
--- a/gdb/guile/scm-ports.c
+++ b/gdb/guile/scm-ports.c
@@ -26,7 +26,7 @@
#include "ui.h"
#include "target.h"
#include "guile-internal.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#ifdef HAVE_POLL
#if defined (HAVE_POLL_H)
@@ -602,7 +602,7 @@ ioscm_with_output_to_port_worker (SCM port, SCM thunk, enum oport oport,
? &gdb_stderr : &gdb_stdout);
{
- gdb::optional<ui_out_redirect_pop> redirect_popper;
+ std::optional<ui_out_redirect_pop> redirect_popper;
if (oport == GDB_STDERR)
gdb_stderr = port_file.get ();
else
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index cdd5553..6d537c4 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -69,7 +69,7 @@ struct ia64_table_entry
};
static struct ia64_table_entry *ktab = NULL;
-static gdb::optional<gdb::byte_vector> ktab_buf;
+static std::optional<gdb::byte_vector> ktab_buf;
#endif
@@ -2648,7 +2648,7 @@ ia64_access_mem (unw_addr_space_t as,
}
/* Call low-level function to access the kernel unwind table. */
-static gdb::optional<gdb::byte_vector>
+static std::optional<gdb::byte_vector>
getunwind_table ()
{
/* FIXME drow/2005-09-10: This code used to call
diff --git a/gdb/inf-child.c b/gdb/inf-child.c
index 25afdb2..4eeb68b 100644
--- a/gdb/inf-child.c
+++ b/gdb/inf-child.c
@@ -352,7 +352,7 @@ inf_child_target::fileio_unlink (struct inferior *inf, const char *filename,
/* Implementation of to_fileio_readlink. */
-gdb::optional<std::string>
+std::optional<std::string>
inf_child_target::fileio_readlink (struct inferior *inf, const char *filename,
fileio_error *target_errno)
{
diff --git a/gdb/inf-child.h b/gdb/inf-child.h
index 017e8e3..4aeb389 100644
--- a/gdb/inf-child.h
+++ b/gdb/inf-child.h
@@ -85,7 +85,7 @@ public:
int fileio_unlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno) override;
- gdb::optional<std::string> fileio_readlink (struct inferior *inf,
+ std::optional<std::string> fileio_readlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno) override;
bool use_agent (bool use) override;
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index 2fc0eb1..ec818bc 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -52,7 +52,7 @@
#include "ui.h"
#include "interps.h"
#include "skip.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "source.h"
#include "cli/cli-style.h"
#include "dwarf2/loc.h"
@@ -2790,7 +2790,7 @@ notice_new_inferior (thread_info *thr, bool leave_running, int from_tty)
enum attach_post_wait_mode mode
= leave_running ? ATTACH_POST_WAIT_RESUME : ATTACH_POST_WAIT_NOTHING;
- gdb::optional<scoped_restore_current_thread> restore_thread;
+ std::optional<scoped_restore_current_thread> restore_thread;
if (inferior_ptid != null_ptid)
restore_thread.emplace ();
diff --git a/gdb/inferior.c b/gdb/inferior.c
index 927c5f1..fbe27c8 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -728,10 +728,10 @@ switch_to_inferior_no_thread (inferior *inf)
/* See regcache.h. */
-gdb::optional<scoped_restore_current_thread>
+std::optional<scoped_restore_current_thread>
maybe_switch_inferior (inferior *inf)
{
- gdb::optional<scoped_restore_current_thread> maybe_restore_thread;
+ std::optional<scoped_restore_current_thread> maybe_restore_thread;
if (inf != current_inferior ())
{
maybe_restore_thread.emplace ();
diff --git a/gdb/inferior.h b/gdb/inferior.h
index 33eff7a..f8f9395 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -340,7 +340,7 @@ extern void switch_to_inferior_no_thread (inferior *inf);
If the current inferior was changed, return an RAII object that will
restore the original current context. */
-extern gdb::optional<scoped_restore_current_thread> maybe_switch_inferior
+extern std::optional<scoped_restore_current_thread> maybe_switch_inferior
(inferior *inf);
/* Info about an inferior's target description. There's one of these
diff --git a/gdb/inflow.c b/gdb/inflow.c
index 095c5f0..749f620 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -113,9 +113,9 @@ static struct terminal_info *get_inflow_inferior_data (struct inferior *);
we save our handlers in these two variables and set SIGINT and SIGQUIT
to SIG_IGN. */
-static gdb::optional<sighandler_t> sigint_ours;
+static std::optional<sighandler_t> sigint_ours;
#ifdef SIGQUIT
-static gdb::optional<sighandler_t> sigquit_ours;
+static std::optional<sighandler_t> sigquit_ours;
#endif
/* The name of the tty (from the `tty' command) that we're giving to
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 70c33a9..a1543ab 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -62,7 +62,7 @@
#include "thread-fsm.h"
#include "gdbsupport/enum-flags.h"
#include "progspace-and-thread.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "arch-utils.h"
#include "gdbsupport/scope-exit.h"
#include "gdbsupport/forward-scope-exit.h"
@@ -713,7 +713,7 @@ holding the child stopped. Try \"set detach-on-fork\" or \
{
/* If FOLLOW_CHILD, we leave CHILD_INF as the current inferior
(do not restore the parent as the current inferior). */
- gdb::optional<scoped_restore_current_thread> maybe_restore;
+ std::optional<scoped_restore_current_thread> maybe_restore;
if (!follow_child && !sched_multi)
maybe_restore.emplace ();
@@ -4587,7 +4587,7 @@ fetch_inferior_event ()
debugging. If we're looking at traceframes while the target is
running, we're going to need to get back to that mode after
handling the event. */
- gdb::optional<scoped_restore_current_traceframe> maybe_restore_traceframe;
+ std::optional<scoped_restore_current_traceframe> maybe_restore_traceframe;
if (non_stop)
{
maybe_restore_traceframe.emplace ();
@@ -4960,7 +4960,7 @@ adjust_pc_after_break (struct thread_info *thread,
|| (target_is_non_stop_p ()
&& moribund_breakpoint_here_p (aspace, breakpoint_pc)))
{
- gdb::optional<scoped_restore_tmpl<int>> restore_operation_disable;
+ std::optional<scoped_restore_tmpl<int>> restore_operation_disable;
if (record_full_is_used ())
restore_operation_disable.emplace
@@ -7109,7 +7109,7 @@ handle_signal_stop (struct execution_control_state *ecs)
decr_pc = gdbarch_decr_pc_after_break (gdbarch);
if (decr_pc != 0)
{
- gdb::optional<scoped_restore_tmpl<int>>
+ std::optional<scoped_restore_tmpl<int>>
restore_operation_disable;
if (record_full_is_used ())
@@ -9343,7 +9343,7 @@ normal_stop ()
&& last.kind () != TARGET_WAITKIND_THREAD_EXITED)
finish_ptid = inferior_ptid;
- gdb::optional<scoped_finish_thread_state> maybe_finish_thread_state;
+ std::optional<scoped_finish_thread_state> maybe_finish_thread_state;
if (finish_ptid != null_ptid)
{
maybe_finish_thread_state.emplace
diff --git a/gdb/interps.c b/gdb/interps.c
index 2fbf92f..bec2c85 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -430,7 +430,7 @@ interps_notify_new_thread (thread_info *t)
void
interps_notify_thread_exited (thread_info *t,
- gdb::optional<ULONGEST> exit_code,
+ std::optional<ULONGEST> exit_code,
int silent)
{
interps_notify (&interp::on_thread_exited, t, exit_code, silent);
diff --git a/gdb/interps.h b/gdb/interps.h
index 728155a..f662f54 100644
--- a/gdb/interps.h
+++ b/gdb/interps.h
@@ -123,7 +123,7 @@ public:
/* Notify the interpreter that thread T has exited. */
virtual void on_thread_exited (thread_info *,
- gdb::optional<ULONGEST> exit_code,
+ std::optional<ULONGEST> exit_code,
int silent) {}
/* Notify the interpreter that inferior INF was added. */
@@ -292,7 +292,7 @@ extern void interps_notify_new_thread (thread_info *t);
/* Notify all interpreters that thread T has exited. */
extern void interps_notify_thread_exited (thread_info *t,
- gdb::optional<ULONGEST> exit_code,
+ std::optional<ULONGEST> exit_code,
int silent);
/* Notify all interpreters that inferior INF was added. */
diff --git a/gdb/jit.c b/gdb/jit.c
index 9e8325a..0e3a428 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -76,7 +76,7 @@ maint_info_jit_cmd (const char *args, int from_tty)
inferior *inf = current_inferior ();
bool printed_header = false;
- gdb::optional<ui_out_emit_table> table_emitter;
+ std::optional<ui_out_emit_table> table_emitter;
/* Print a line for each JIT-ed objfile. */
for (objfile *obj : inf->pspace->objfiles ())
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index d3e9560..7b0562c 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -1295,7 +1295,7 @@ get_detach_signal (struct lwp_info *lp)
/* If LP has a pending fork/vfork/clone status, return it. */
-static gdb::optional<target_waitstatus>
+static std::optional<target_waitstatus>
get_pending_child_status (lwp_info *lp)
{
LINUX_NAT_SCOPED_DEBUG_ENTER_EXIT;
@@ -1369,7 +1369,7 @@ detach_one_lwp (struct lwp_info *lp, int *signo_p)
event, there is a process/thread GDB is attached to that the core
of GDB doesn't know about. Detach from it. */
- gdb::optional<target_waitstatus> ws = get_pending_child_status (lp);
+ std::optional<target_waitstatus> ws = get_pending_child_status (lp);
if (ws.has_value ())
detach_one_pid (ws->child_ptid ().lwp (), 0);
@@ -3616,7 +3616,7 @@ kill_wait_callback (struct lwp_info *lp)
static int
kill_unfollowed_child_callback (lwp_info *lp)
{
- gdb::optional<target_waitstatus> ws = get_pending_child_status (lp);
+ std::optional<target_waitstatus> ws = get_pending_child_status (lp);
if (ws.has_value ())
{
ptid_t child_ptid = ws->child_ptid ();
@@ -4074,7 +4074,7 @@ linux_proc_xfer_memory_partial (int pid, gdb_byte *readbuf,
static bool
proc_mem_file_is_writable ()
{
- static gdb::optional<bool> writable;
+ static std::optional<bool> writable;
if (writable.has_value ())
return *writable;
@@ -4463,7 +4463,7 @@ linux_nat_target::fileio_open (struct inferior *inf, const char *filename,
/* Implementation of to_fileio_readlink. */
-gdb::optional<std::string>
+std::optional<std::string>
linux_nat_target::fileio_readlink (struct inferior *inf, const char *filename,
fileio_error *target_errno)
{
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
index cce8bb3..428bb9f 100644
--- a/gdb/linux-nat.h
+++ b/gdb/linux-nat.h
@@ -103,7 +103,7 @@ public:
int flags, int mode, int warn_if_slow,
fileio_error *target_errno) override;
- gdb::optional<std::string>
+ std::optional<std::string>
fileio_readlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno) override;
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index eff7a0c..db29b03 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -38,7 +38,7 @@
#include "gdbcmd.h"
#include "gdbsupport/gdb_regex.h"
#include "gdbsupport/enum-flags.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gcore.h"
#include "gcore-elf.h"
#include "solib-svr4.h"
@@ -229,7 +229,7 @@ struct linux_info
int vsyscall_range_p = 0;
/* Inferior's displaced step buffers. */
- gdb::optional<displaced_step_buffers> disp_step_bufs;
+ std::optional<displaced_step_buffers> disp_step_bufs;
};
/* Per-inferior data key. */
@@ -589,7 +589,7 @@ struct mapping_regexes
static int
mapping_is_anonymous_p (const char *filename)
{
- static gdb::optional<mapping_regexes> regexes;
+ static std::optional<mapping_regexes> regexes;
static int init_regex_p = 0;
if (!init_regex_p)
@@ -873,7 +873,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (cwd_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/cwd", pid);
- gdb::optional<std::string> contents
+ std::optional<std::string> contents
= target_fileio_readlink (NULL, filename, &target_errno);
if (contents.has_value ())
gdb_printf ("cwd = '%s'\n", contents->c_str ());
@@ -883,7 +883,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (exe_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/exe", pid);
- gdb::optional<std::string> contents
+ std::optional<std::string> contents
= target_fileio_readlink (NULL, filename, &target_errno);
if (contents.has_value ())
gdb_printf ("exe = '%s'\n", contents->c_str ());
@@ -2108,7 +2108,7 @@ linux_make_corefile_notes (struct gdbarch *gdbarch, bfd *obfd, int *note_size)
return NULL;
/* Auxillary vector. */
- gdb::optional<gdb::byte_vector> auxv =
+ std::optional<gdb::byte_vector> auxv =
target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_AUXV, NULL);
if (auxv && !auxv->empty ())
@@ -2675,7 +2675,7 @@ linux_displaced_step_restore_all_in_ptid (inferior *parent_inf, ptid_t ptid)
/* Helper for linux_get_hwcap and linux_get_hwcap2. */
static CORE_ADDR
-linux_get_hwcap_helper (const gdb::optional<gdb::byte_vector> &auxv,
+linux_get_hwcap_helper (const std::optional<gdb::byte_vector> &auxv,
target_ops *target, gdbarch *gdbarch, CORE_ADDR match)
{
CORE_ADDR field;
@@ -2688,7 +2688,7 @@ linux_get_hwcap_helper (const gdb::optional<gdb::byte_vector> &auxv,
/* See linux-tdep.h. */
CORE_ADDR
-linux_get_hwcap (const gdb::optional<gdb::byte_vector> &auxv,
+linux_get_hwcap (const std::optional<gdb::byte_vector> &auxv,
target_ops *target, gdbarch *gdbarch)
{
return linux_get_hwcap_helper (auxv, target, gdbarch, AT_HWCAP);
@@ -2707,7 +2707,7 @@ linux_get_hwcap ()
/* See linux-tdep.h. */
CORE_ADDR
-linux_get_hwcap2 (const gdb::optional<gdb::byte_vector> &auxv,
+linux_get_hwcap2 (const std::optional<gdb::byte_vector> &auxv,
target_ops *target, gdbarch *gdbarch)
{
return linux_get_hwcap_helper (auxv, target, gdbarch, AT_HWCAP2);
diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
index e09a6ef..819b221 100644
--- a/gdb/linux-tdep.h
+++ b/gdb/linux-tdep.h
@@ -94,7 +94,7 @@ extern int linux_is_uclinux (void);
parse auxv entries.
On error, 0 is returned. */
-extern CORE_ADDR linux_get_hwcap (const gdb::optional<gdb::byte_vector> &auxv,
+extern CORE_ADDR linux_get_hwcap (const std::optional<gdb::byte_vector> &auxv,
struct target_ops *target, gdbarch *gdbarch);
/* Same as the above, but obtain all the inputs from the current inferior. */
@@ -105,7 +105,7 @@ extern CORE_ADDR linux_get_hwcap ();
parse auxv entries.
On error, 0 is returned. */
-extern CORE_ADDR linux_get_hwcap2 (const gdb::optional<gdb::byte_vector> &auxv,
+extern CORE_ADDR linux_get_hwcap2 (const std::optional<gdb::byte_vector> &auxv,
struct target_ops *target, gdbarch *gdbarch);
/* Same as the above, but obtain all the inputs from the current inferior. */
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index cef78f5..c2ec422 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -312,7 +312,7 @@ struct thread_db_thread_info : public private_thread_info
/* Cached thread state. */
td_thrhandle_t th {};
thread_t tid {};
- gdb::optional<gdb::byte_vector> thread_handle;
+ std::optional<gdb::byte_vector> thread_handle;
};
static thread_db_thread_info *
diff --git a/gdb/main.c b/gdb/main.c
index 2da39f8..486c1ff 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -361,7 +361,7 @@ get_init_files (std::vector<std::string> *system_gdbinit,
{
/* Cache the file lookup object so we only actually search for the files
once. */
- static gdb::optional<gdb_initfile_finder> init_files;
+ static std::optional<gdb_initfile_finder> init_files;
if (!init_files.has_value ())
init_files.emplace (GDBINIT, SYSTEM_GDBINIT, SYSTEM_GDBINIT_RELOCATABLE,
SYSTEM_GDBINIT_DIR, SYSTEM_GDBINIT_DIR_RELOCATABLE,
@@ -381,7 +381,7 @@ get_earlyinit_files (std::string *home_gdbearlyinit)
{
/* Cache the file lookup object so we only actually search for the files
once. */
- static gdb::optional<gdb_initfile_finder> init_files;
+ static std::optional<gdb_initfile_finder> init_files;
if (!init_files.has_value ())
init_files.emplace (GDBEARLYINIT, nullptr, false, nullptr, false, false);
diff --git a/gdb/mi/mi-cmd-stack.c b/gdb/mi/mi-cmd-stack.c
index e473be7..6982338 100644
--- a/gdb/mi/mi-cmd-stack.c
+++ b/gdb/mi/mi-cmd-stack.c
@@ -34,7 +34,7 @@
#include "extension.h"
#include <ctype.h>
#include "mi-parse.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/gdb-safe-ctype.h"
#include "inferior.h"
#include "observable.h"
@@ -515,7 +515,7 @@ list_arg_or_local (const struct frame_arg *arg, enum what_to_list what,
arg->val->type ()->length ()))))
return;
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
+ std::optional<ui_out_emit_tuple> tuple_emitter;
if (values != PRINT_NO_VALUES || what == all)
tuple_emitter.emplace (uiout, nullptr);
diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c
index 8b4dd6d..87c54c8 100644
--- a/gdb/mi/mi-cmd-var.c
+++ b/gdb/mi/mi-cmd-var.c
@@ -30,7 +30,7 @@
#include "mi-getopt.h"
#include "gdbthread.h"
#include "mi-parse.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "inferior.h"
static void varobj_update_one (struct varobj *var,
diff --git a/gdb/mi/mi-cmds.c b/gdb/mi/mi-cmds.c
index 5ea31fc..dbee2d0 100644
--- a/gdb/mi/mi-cmds.c
+++ b/gdb/mi/mi-cmds.c
@@ -183,7 +183,7 @@ mi_command::mi_command (const char *name, int *suppress_notification)
/* See mi-cmds.h. */
-gdb::optional<scoped_restore_tmpl<int>>
+std::optional<scoped_restore_tmpl<int>>
mi_command::do_suppress_notification () const
{
if (m_suppress_notification != nullptr)
diff --git a/gdb/mi/mi-cmds.h b/gdb/mi/mi-cmds.h
index e67c486..f99c243 100644
--- a/gdb/mi/mi-cmds.h
+++ b/gdb/mi/mi-cmds.h
@@ -23,7 +23,7 @@
#define MI_MI_CMDS_H
#include "gdbsupport/function-view.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "mi/mi-main.h"
enum print_values {
@@ -180,12 +180,12 @@ struct mi_command
/* If this command was created with a suppress notifications pointer,
then this function will set the suppress flag and return a
- gdb::optional with its value set to an object that will restore the
+ std::optional with its value set to an object that will restore the
previous value of the suppress notifications flag.
If this command was created without a suppress notifications points,
- then this function returns an empty gdb::optional. */
- gdb::optional<scoped_restore_tmpl<int>> do_suppress_notification () const;
+ then this function returns an empty std::optional. */
+ std::optional<scoped_restore_tmpl<int>> do_suppress_notification () const;
private:
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index ebd7f15..afd2737 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -278,7 +278,7 @@ mi_interp::on_new_thread (thread_info *t)
void
mi_interp::on_thread_exited (thread_info *t,
- gdb::optional<ULONGEST> /* exit_code */,
+ std::optional<ULONGEST> /* exit_code */,
int /* silent */)
{
target_terminal::scoped_restore_terminal_state term_state;
diff --git a/gdb/mi/mi-interp.h b/gdb/mi/mi-interp.h
index 3110c0a..25c2551 100644
--- a/gdb/mi/mi-interp.h
+++ b/gdb/mi/mi-interp.h
@@ -51,7 +51,7 @@ public:
void on_command_error () override;
void on_user_selected_context_changed (user_selected_what selection) override;
void on_new_thread (thread_info *t) override;
- void on_thread_exited (thread_info *t, gdb::optional<ULONGEST> exit_code,
+ void on_thread_exited (thread_info *t, std::optional<ULONGEST> exit_code,
int silent) override;
void on_inferior_added (inferior *inf) override;
void on_inferior_appeared (inferior *inf) override;
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 14ed2a1..487b0a9 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -52,7 +52,7 @@
#include "extension.h"
#include "gdbcmd.h"
#include "observable.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/byte-vector.h"
#include <ctype.h>
@@ -2095,7 +2095,7 @@ mi_cmd_execute (struct mi_parse *parse)
user_selected_context current_user_selected_context;
- gdb::optional<scoped_restore_current_thread> thread_saver;
+ std::optional<scoped_restore_current_thread> thread_saver;
if (parse->thread != -1)
{
thread_info *tp = find_thread_global_id (parse->thread);
@@ -2112,7 +2112,7 @@ mi_cmd_execute (struct mi_parse *parse)
switch_to_thread (tp);
}
- gdb::optional<scoped_restore_selected_frame> frame_saver;
+ std::optional<scoped_restore_selected_frame> frame_saver;
if (parse->frame != -1)
{
frame_info_ptr fid;
@@ -2130,7 +2130,7 @@ mi_cmd_execute (struct mi_parse *parse)
error (_("Invalid frame id: %d"), frame);
}
- gdb::optional<scoped_restore_current_language> lang_saver;
+ std::optional<scoped_restore_current_language> lang_saver;
if (parse->language != language_unknown)
{
lang_saver.emplace ();
@@ -2141,7 +2141,7 @@ mi_cmd_execute (struct mi_parse *parse)
gdb_assert (parse->cmd != nullptr);
- gdb::optional<scoped_restore_tmpl<int>> restore_suppress_notification
+ std::optional<scoped_restore_tmpl<int>> restore_suppress_notification
= parse->cmd->do_suppress_notification ();
parse->cmd->invoke (parse);
@@ -2512,7 +2512,7 @@ print_variable_or_computed (const char *expression, enum print_values values)
else
val = expr->evaluate ();
- gdb::optional<ui_out_emit_tuple> tuple_emitter;
+ std::optional<ui_out_emit_tuple> tuple_emitter;
if (values != PRINT_NO_VALUES)
tuple_emitter.emplace (uiout, nullptr);
uiout->field_string ("name", expression);
diff --git a/gdb/nat/linux-osdata.c b/gdb/nat/linux-osdata.c
index 103b7ab..e853846 100644
--- a/gdb/nat/linux-osdata.c
+++ b/gdb/nat/linux-osdata.c
@@ -66,7 +66,7 @@ linux_common_core_of_thread (ptid_t ptid)
sprintf (filename, "/proc/%lld/task/%lld/stat",
(PID_T) ptid.pid (), (PID_T) ptid.lwp ());
- gdb::optional<std::string> content = read_text_file_to_string (filename);
+ std::optional<std::string> content = read_text_file_to_string (filename);
if (!content.has_value ())
return -1;
@@ -257,10 +257,10 @@ get_cores_used_by_process (PID_T pid, int *cores, const int num_cores)
/* get_core_array_size helper that uses /sys/devices/system/cpu/possible. */
-static gdb::optional<size_t>
+static std::optional<size_t>
get_core_array_size_using_sys_possible ()
{
- gdb::optional<std::string> possible
+ std::optional<std::string> possible
= read_text_file_to_string ("/sys/devices/system/cpu/possible");
if (!possible.has_value ())
@@ -310,7 +310,7 @@ get_core_array_size ()
we are in a container that has access to a subset of the host's cores.
It will return a size that considers all the CPU cores available to the
host. If that fails for some reason, fall back to sysconf. */
- gdb::optional<size_t> count = get_core_array_size_using_sys_possible ();
+ std::optional<size_t> count = get_core_array_size_using_sys_possible ();
if (count.has_value ())
return *count;
diff --git a/gdb/nat/windows-nat.c b/gdb/nat/windows-nat.c
index 8028494..bf4c438 100644
--- a/gdb/nat/windows-nat.c
+++ b/gdb/nat/windows-nat.c
@@ -698,10 +698,10 @@ windows_process_info::matching_pending_stop (bool debug_events)
/* See nat/windows-nat.h. */
-gdb::optional<pending_stop>
+std::optional<pending_stop>
windows_process_info::fetch_pending_stop (bool debug_events)
{
- gdb::optional<pending_stop> result;
+ std::optional<pending_stop> result;
for (auto iter = pending_stops.begin ();
iter != pending_stops.end ();
++iter)
@@ -818,7 +818,7 @@ create_process_wrapper (FUNC *do_create_process, const CHAR *image,
InitializeProcThreadAttributeList (info_ex.lpAttributeList,
1, 0, &size);
- gdb::optional<BOOL> return_value;
+ std::optional<BOOL> return_value;
DWORD attr_flags = relocate_aslr_flags;
if (!UpdateProcThreadAttribute (info_ex.lpAttributeList, 0,
mitigation_policy,
diff --git a/gdb/nat/windows-nat.h b/gdb/nat/windows-nat.h
index e3ea7db..0dc37b2 100644
--- a/gdb/nat/windows-nat.h
+++ b/gdb/nat/windows-nat.h
@@ -23,7 +23,7 @@
#include <psapi.h>
#include <vector>
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "target/waitstatus.h"
#define STATUS_WX86_BREAKPOINT 0x4000001F
@@ -246,7 +246,7 @@ struct windows_process_info
remove it from the list of pending stops, set 'current_event', and
return it. Otherwise, return an empty optional. */
- gdb::optional<pending_stop> fetch_pending_stop (bool debug_events);
+ std::optional<pending_stop> fetch_pending_stop (bool debug_events);
const char *pid_to_exec_file (int);
diff --git a/gdb/observable.h b/gdb/observable.h
index 5869489..32ef654 100644
--- a/gdb/observable.h
+++ b/gdb/observable.h
@@ -123,7 +123,7 @@ extern observable<struct thread_info */* t */> new_thread;
removing the thread from its tables without wanting to notify the
CLI about it. */
extern observable<thread_info */* t */,
- gdb::optional<ULONGEST> /* exit_code */,
+ std::optional<ULONGEST> /* exit_code */,
bool /* silent */> thread_exit;
/* An explicit stop request was issued to PTID. If PTID equals
diff --git a/gdb/osdata.c b/gdb/osdata.c
index 21b8eb0..cb1e950 100644
--- a/gdb/osdata.c
+++ b/gdb/osdata.c
@@ -162,7 +162,7 @@ std::unique_ptr<osdata>
get_osdata (const char *type)
{
std::unique_ptr<osdata> osdata;
- gdb::optional<gdb::char_vector> xml = target_get_osdata (type);
+ std::optional<gdb::char_vector> xml = target_get_osdata (type);
if (xml)
{
diff --git a/gdb/parse.c b/gdb/parse.c
index c69b53a..b57d112 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -49,7 +49,7 @@
#include "objfiles.h"
#include "user-regs.h"
#include <algorithm>
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "c-exp.h"
static unsigned int expressiondebug = 0;
@@ -471,7 +471,7 @@ parse_expression (const char *string, innermost_block_tracker *tracker,
expression_up
parse_expression_with_language (const char *string, enum language lang)
{
- gdb::optional<scoped_restore_current_language> lang_saver;
+ std::optional<scoped_restore_current_language> lang_saver;
if (current_language->la_language != lang)
{
lang_saver.emplace ();
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index a020511..f34de9c 100644
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -464,7 +464,7 @@ private:
};
/* The interface option. Initialized if has_value () returns true. */
- gdb::optional<enum debug_reg_interface> m_interface;
+ std::optional<enum debug_reg_interface> m_interface;
/* The info returned by the kernel with PPC_PTRACE_GETHWDBGINFO. Only
valid if we determined that the interface is HWDEBUG. */
@@ -485,7 +485,7 @@ struct ppc_linux_process_info
/* The watchpoint value that GDB requested for this process.
Only used when the interface is DEBUGREG. */
- gdb::optional<long> requested_wp_val;
+ std::optional<long> requested_wp_val;
};
struct ppc_linux_nat_target final : public linux_nat_target
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 1cc26ed..24e1b45 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -1611,7 +1611,7 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
if (vsx)
features.vsx = true;
- gdb::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
+ std::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
CORE_ADDR hwcap = linux_get_hwcap (auxv, target, gdbarch);
features.isa205 = ppc_linux_has_isa205 (hwcap);
diff --git a/gdb/ppc-tdep.h b/gdb/ppc-tdep.h
index ddeb810..b241549 100644
--- a/gdb/ppc-tdep.h
+++ b/gdb/ppc-tdep.h
@@ -447,7 +447,7 @@ struct ppc_inferior_data
/* This is an optional in case we add more fields to ppc_inferior_data, we
don't want it instantiated as soon as we get the ppc_inferior_data for an
inferior. */
- gdb::optional<displaced_step_buffers> disp_step_buf;
+ std::optional<displaced_step_buffers> disp_step_buf;
};
extern ppc_inferior_data * get_ppc_per_inferior (inferior *inf);
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index c5e6a81..98f38b2 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -52,7 +52,7 @@
#include "gdbsupport/format.h"
#include "source.h"
#include "gdbsupport/byte-vector.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/gdb-safe-ctype.h"
#include "gdbsupport/rsp-low.h"
#include "inferior.h"
@@ -435,7 +435,7 @@ print_scalar_formatted (const gdb_byte *valaddr, struct type *type,
/* Some cases below will unpack the value again. In the biased
range case, we want to avoid this, so we store the unpacked value
here for possible use later. */
- gdb::optional<LONGEST> val_long;
+ std::optional<LONGEST> val_long;
if ((is_fixed_point_type (type)
&& (options->format == 'o'
|| options->format == 'x'
@@ -2452,7 +2452,7 @@ printf_wide_c_string (struct ui_file *stream, const char *format,
struct type *wctype = lookup_typename (current_language,
"wchar_t", NULL, 0);
int wcwidth = wctype->length ();
- gdb::optional<gdb::byte_vector> tem_str;
+ std::optional<gdb::byte_vector> tem_str;
if (value->lval () == lval_internalvar
&& c_is_string_type_p (value->type ()))
diff --git a/gdb/probe.c b/gdb/probe.c
index 13e95bc..d9079be 100644
--- a/gdb/probe.c
+++ b/gdb/probe.c
@@ -36,7 +36,7 @@
#include "location.h"
#include <ctype.h>
#include <algorithm>
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
/* Class that implements the static probe methods for "any" probe. */
@@ -280,7 +280,7 @@ collect_probes (const std::string &objname, const std::string &provider,
const std::string &probe_name, const static_probe_ops *spops)
{
std::vector<bound_probe> result;
- gdb::optional<compiled_regex> obj_pat, prov_pat, probe_pat;
+ std::optional<compiled_regex> obj_pat, prov_pat, probe_pat;
if (!provider.empty ())
prov_pat.emplace (provider.c_str (), REG_NOSUB,
@@ -683,9 +683,9 @@ disable_probes_command (const char *arg, int from_tty)
static bool ignore_probes_p = false;
static bool ignore_probes_idx = 0;
static bool ignore_probes_verbose_p;
-static gdb::optional<compiled_regex> ignore_probes_prov_pat[2];
-static gdb::optional<compiled_regex> ignore_probes_name_pat[2];
-static gdb::optional<compiled_regex> ignore_probes_obj_pat[2];
+static std::optional<compiled_regex> ignore_probes_prov_pat[2];
+static std::optional<compiled_regex> ignore_probes_name_pat[2];
+static std::optional<compiled_regex> ignore_probes_obj_pat[2];
/* See comments in probe.h. */
@@ -696,11 +696,11 @@ ignore_probe_p (const char *provider, const char *name,
if (!ignore_probes_p)
return false;
- gdb::optional<compiled_regex> &re_prov
+ std::optional<compiled_regex> &re_prov
= ignore_probes_prov_pat[ignore_probes_idx];
- gdb::optional<compiled_regex> &re_name
+ std::optional<compiled_regex> &re_name
= ignore_probes_name_pat[ignore_probes_idx];
- gdb::optional<compiled_regex> &re_obj
+ std::optional<compiled_regex> &re_obj
= ignore_probes_obj_pat[ignore_probes_idx];
bool res
@@ -755,11 +755,11 @@ ignore_probes_command (const char *arg, int from_tty)
/* Parse the regular expressions, making sure that the old regular
expressions are still valid if an exception is throw. */
int new_ignore_probes_idx = 1 - ignore_probes_idx;
- gdb::optional<compiled_regex> &re_prov
+ std::optional<compiled_regex> &re_prov
= ignore_probes_prov_pat[new_ignore_probes_idx];
- gdb::optional<compiled_regex> &re_name
+ std::optional<compiled_regex> &re_name
= ignore_probes_name_pat[new_ignore_probes_idx];
- gdb::optional<compiled_regex> &re_obj
+ std::optional<compiled_regex> &re_obj
= ignore_probes_obj_pat[new_ignore_probes_idx];
re_prov.reset ();
re_name.reset ();
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 3a5d173..1a543a6 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -3615,7 +3615,7 @@ procfs_target::make_corefile_notes (bfd *obfd, int *note_size)
proc_iterate_over_threads (pi, procfs_corefile_thread_callback,
&thread_args);
- gdb::optional<gdb::byte_vector> auxv =
+ std::optional<gdb::byte_vector> auxv =
target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_AUXV, NULL);
if (auxv && !auxv->empty ())
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 41ecf31..484d4ea 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1025,7 +1025,7 @@ psymbol_functions::expand_symtabs_matching
for (partial_symtab *ps : partial_symbols (objfile))
ps->searched_flag = PST_NOT_SEARCHED;
- gdb::optional<lookup_name_info> psym_lookup_name;
+ std::optional<lookup_name_info> psym_lookup_name;
if (lookup_name != nullptr)
psym_lookup_name = lookup_name->make_ignore_params ();
diff --git a/gdb/psymtab.h b/gdb/psymtab.h
index 41337d0..4bafc6e 100644
--- a/gdb/psymtab.h
+++ b/gdb/psymtab.h
@@ -131,7 +131,7 @@ private:
/* The obstack where allocations are made. This is lazily allocated
so that we don't waste memory when there are no psymtabs. */
- gdb::optional<auto_obstack> m_obstack;
+ std::optional<auto_obstack> m_obstack;
};
/* A partial_symbol records the name, domain, and address class of
diff --git a/gdb/python/py-disasm.c b/gdb/python/py-disasm.c
index 6f0fed1..7a13b81 100644
--- a/gdb/python/py-disasm.c
+++ b/gdb/python/py-disasm.c
@@ -176,7 +176,7 @@ struct gdbpy_disassembler : public gdb_disassemble_info
/* Return a reference to an optional that contains the address at which a
memory error occurred. The optional will only have a value if a
memory error actually occurred. */
- const gdb::optional<CORE_ADDR> &memory_error_address () const
+ const std::optional<CORE_ADDR> &memory_error_address () const
{ return m_memory_error_address; }
/* Return the content of the disassembler as a string. The contents are
@@ -221,7 +221,7 @@ private:
/* When the user indicates that a memory error has occurred then the
address of the memory error is stored in here. */
- gdb::optional<CORE_ADDR> m_memory_error_address;
+ std::optional<CORE_ADDR> m_memory_error_address;
/* When the user calls the builtin_disassemble function, if they pass a
memory source object then a pointer to the object is placed in here,
@@ -245,7 +245,7 @@ private:
/* Store a single exception. This is used to pass Python exceptions back
from ::memory_read to disasmpy_builtin_disassemble. */
- gdb::optional<gdbpy_err_fetch> m_stored_exception;
+ std::optional<gdbpy_err_fetch> m_stored_exception;
};
/* Return true if OBJ is still valid, otherwise, return false. A valid OBJ
@@ -1215,7 +1215,7 @@ private:
/* See python-internal.h. */
-gdb::optional<int>
+std::optional<int>
gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
disassemble_info *info)
{
@@ -1294,7 +1294,7 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
addr = disasm_info->address;
info->memory_error_func (-1, addr, info);
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
else if (PyErr_ExceptionMatches (gdbpy_gdberror_exc))
{
@@ -1302,12 +1302,12 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
gdb::unique_xmalloc_ptr<char> msg = err.to_string ();
info->fprintf_func (info->stream, "%s", msg.get ());
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
else
{
gdbpy_print_stack ();
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
}
@@ -1326,7 +1326,7 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
PyErr_SetString (PyExc_TypeError,
_("Result is not a DisassemblerResult."));
gdbpy_print_stack ();
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
/* The result from the Python disassembler has the correct type. Convert
@@ -1345,7 +1345,7 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
(PyExc_ValueError,
_("Invalid length attribute: length must be greater than 0."));
gdbpy_print_stack ();
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
if (length > max_insn_length)
{
@@ -1354,7 +1354,7 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
_("Invalid length attribute: length %d greater than architecture maximum of %d"),
length, max_insn_length);
gdbpy_print_stack ();
- return gdb::optional<int> (-1);
+ return std::optional<int> (-1);
}
/* It is impossible to create a DisassemblerResult object with an empty
@@ -1390,7 +1390,7 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
}
}
- return gdb::optional<int> (length);
+ return std::optional<int> (length);
}
/* The tp_dealloc callback for the DisassemblerResult type. Takes care of
diff --git a/gdb/python/py-framefilter.c b/gdb/python/py-framefilter.c
index e555dc3..dc7e47d 100644
--- a/gdb/python/py-framefilter.c
+++ b/gdb/python/py-framefilter.c
@@ -32,7 +32,7 @@
#include "demangle.h"
#include "mi/mi-cmds.h"
#include "python-internal.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "cli/cli-style.h"
enum mi_print_types
@@ -322,7 +322,7 @@ py_print_single_arg (struct ui_out *out,
else
val = fv;
- gdb::optional<ui_out_emit_tuple> maybe_tuple;
+ std::optional<ui_out_emit_tuple> maybe_tuple;
/* MI has varying rules for tuples, but generally if there is only
one element in each item in the list, do not start a tuple. The
@@ -562,7 +562,7 @@ enumerate_locals (PyObject *iter,
struct symbol *sym;
const struct block *sym_block;
int local_indent = 8 + (8 * indent);
- gdb::optional<ui_out_emit_tuple> tuple;
+ std::optional<ui_out_emit_tuple> tuple;
gdbpy_ref<> item (PyIter_Next (iter));
if (item == NULL)
@@ -773,7 +773,7 @@ py_print_frame (PyObject *filter, frame_filter_flags flags,
get_user_print_options (&opts);
if (print_frame_info)
{
- gdb::optional<enum print_what> user_frame_info_print_what;
+ std::optional<enum print_what> user_frame_info_print_what;
get_user_print_what_frame_info (&user_frame_info_print_what);
if (!out->is_mi_like_p () && user_frame_info_print_what.has_value ())
@@ -808,7 +808,7 @@ py_print_frame (PyObject *filter, frame_filter_flags flags,
return EXT_LANG_BT_OK;
}
- gdb::optional<ui_out_emit_tuple> tuple;
+ std::optional<ui_out_emit_tuple> tuple;
/* -stack-list-locals does not require a
wrapping frame attribute. */
diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c
index c0bd6a6..ed153d6 100644
--- a/gdb/python/py-inferior.c
+++ b/gdb/python/py-inferior.c
@@ -364,7 +364,7 @@ add_thread_object (struct thread_info *tp)
static void
delete_thread_object (thread_info *tp,
- gdb::optional<ULONGEST> /* exit_code */,
+ std::optional<ULONGEST> /* exit_code */,
bool /* silent */)
{
if (!gdb_python_initialized)
diff --git a/gdb/python/py-mi.c b/gdb/python/py-mi.c
index aaa225d..d38a0ff 100644
--- a/gdb/python/py-mi.c
+++ b/gdb/python/py-mi.c
@@ -145,7 +145,7 @@ private:
/* If an error occurred, this holds the exception information for
use by the 'release' method. */
- gdb::optional<gdbpy_err_fetch> m_error;
+ std::optional<gdbpy_err_fetch> m_error;
/* Return a reference to the object under construction. */
object_desc &current ()
diff --git a/gdb/python/py-utils.c b/gdb/python/py-utils.c
index 1552084..f1ca9ea 100644
--- a/gdb/python/py-utils.c
+++ b/gdb/python/py-utils.c
@@ -469,12 +469,12 @@ gdbpy_fix_doc_string_indentation (gdb::unique_xmalloc_ptr<char> doc)
(user left a single stray space at the start of an otherwise blank
line), we don't consider lines without content when updating the
MIN_WHITESPACE value. */
- gdb::optional<int> min_whitespace;
+ std::optional<int> min_whitespace;
/* The index into WS_INFO at which the processing of DOC can be
considered "all done", that is, after this point there are no further
lines with useful content and we should just stop. */
- gdb::optional<size_t> all_done_idx;
+ std::optional<size_t> all_done_idx;
/* White-space information for each line in DOC. */
std::vector<line_whitespace> ws_info;
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index 847bed8..86eb543 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -732,7 +732,7 @@ class gdbpy_enter
/* An optional is used here because we don't want to call
PyErr_Fetch too early. */
- gdb::optional<gdbpy_err_fetch> m_error;
+ std::optional<gdbpy_err_fetch> m_error;
};
/* Like gdbpy_enter, but takes a varobj. This is a subclass just to
@@ -953,7 +953,7 @@ extern gdb::unique_xmalloc_ptr<char> gdbpy_fix_doc_string_indentation
If no instruction can be disassembled then return an empty value. */
-extern gdb::optional<int> gdbpy_print_insn (struct gdbarch *gdbarch,
+extern std::optional<int> gdbpy_print_insn (struct gdbarch *gdbarch,
CORE_ADDR address,
disassemble_info *info);
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 7e48165..8a36673 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -124,9 +124,9 @@ static void gdbpy_set_quit_flag (const struct extension_language_defn *);
static int gdbpy_check_quit_flag (const struct extension_language_defn *);
static enum ext_lang_rc gdbpy_before_prompt_hook
(const struct extension_language_defn *, const char *current_gdb_prompt);
-static gdb::optional<std::string> gdbpy_colorize
+static std::optional<std::string> gdbpy_colorize
(const std::string &filename, const std::string &contents);
-static gdb::optional<std::string> gdbpy_colorize_disasm
+static std::optional<std::string> gdbpy_colorize_disasm
(const std::string &content, gdbarch *gdbarch);
static ext_lang_missing_debuginfo_result gdbpy_handle_missing_debuginfo
(const struct extension_language_defn *extlang, struct objfile *objfile);
@@ -1198,7 +1198,7 @@ gdbpy_before_prompt_hook (const struct extension_language_defn *extlang,
/* This is the extension_language_ops.colorize "method". */
-static gdb::optional<std::string>
+static std::optional<std::string>
gdbpy_colorize (const std::string &filename, const std::string &contents)
{
if (!gdb_python_initialized)
@@ -1275,7 +1275,7 @@ gdbpy_colorize (const std::string &filename, const std::string &contents)
/* This is the extension_language_ops.colorize_disasm "method". */
-static gdb::optional<std::string>
+static std::optional<std::string>
gdbpy_colorize_disasm (const std::string &content, gdbarch *gdbarch)
{
if (!gdb_python_initialized)
diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c
index 3558cfd..f147b66 100644
--- a/gdb/ravenscar-thread.c
+++ b/gdb/ravenscar-thread.c
@@ -685,7 +685,7 @@ ravenscar_thread_target::fetch_registers (struct regcache *regcache,
struct gdbarch *gdbarch = regcache->arch ();
bool is_active = task_is_currently_active (ptid);
struct ravenscar_arch_ops *arch_ops = gdbarch_ravenscar_ops (gdbarch);
- gdb::optional<fpu_state> fp_state;
+ std::optional<fpu_state> fp_state;
int low_reg = regnum == -1 ? 0 : regnum;
int high_reg = regnum == -1 ? gdbarch_num_regs (gdbarch) : regnum + 1;
@@ -731,7 +731,7 @@ ravenscar_thread_target::store_registers (struct regcache *regcache,
struct gdbarch *gdbarch = regcache->arch ();
bool is_active = task_is_currently_active (ptid);
struct ravenscar_arch_ops *arch_ops = gdbarch_ravenscar_ops (gdbarch);
- gdb::optional<fpu_state> fp_state;
+ std::optional<fpu_state> fp_state;
int low_reg = regnum == -1 ? 0 : regnum;
int high_reg = regnum == -1 ? gdbarch_num_regs (gdbarch) : regnum + 1;
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index f0e190f..e084196 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -758,8 +758,8 @@ btrace_find_line_range (CORE_ADDR pc)
static void
btrace_print_lines (struct btrace_line_range lines, struct ui_out *uiout,
- gdb::optional<ui_out_emit_tuple> *src_and_asm_tuple,
- gdb::optional<ui_out_emit_list> *asm_list,
+ std::optional<ui_out_emit_tuple> *src_and_asm_tuple,
+ std::optional<ui_out_emit_list> *asm_list,
gdb_disassembly_flags flags)
{
print_source_lines_flags psl_flags;
@@ -798,8 +798,8 @@ btrace_insn_history (struct ui_out *uiout,
ui_out_emit_list list_emitter (uiout, "asm_insns");
- gdb::optional<ui_out_emit_tuple> src_and_asm_tuple;
- gdb::optional<ui_out_emit_list> asm_list;
+ std::optional<ui_out_emit_tuple> src_and_asm_tuple;
+ std::optional<ui_out_emit_list> asm_list;
gdb_pretty_print_disassembler disasm (gdbarch, uiout);
diff --git a/gdb/regcache.c b/gdb/regcache.c
index 48d7db4..9dc354e 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -578,7 +578,7 @@ regcache::raw_update (int regnum)
if (get_register_status (regnum) == REG_UNKNOWN)
{
- gdb::optional<scoped_restore_current_thread> maybe_restore_thread
+ std::optional<scoped_restore_current_thread> maybe_restore_thread
= maybe_switch_inferior (m_inf_for_target_calls);
target_fetch_registers (this, regnum);
@@ -832,7 +832,7 @@ regcache::raw_write (int regnum, const gdb_byte *buf)
m_descr->sizeof_register[regnum]) == 0))
return;
- gdb::optional<scoped_restore_current_thread> maybe_restore_thread
+ std::optional<scoped_restore_current_thread> maybe_restore_thread
= maybe_switch_inferior (m_inf_for_target_calls);
target_prepare_to_store (this);
diff --git a/gdb/remote.c b/gdb/remote.c
index 5012700..1bc5992 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -930,7 +930,7 @@ public:
const char *filename,
fileio_error *target_errno) override;
- gdb::optional<std::string>
+ std::optional<std::string>
fileio_readlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno) override;
@@ -4091,7 +4091,7 @@ remote_target::remote_get_threads_with_qxfer (threads_listing_context *context)
#if defined(HAVE_LIBEXPAT)
if (m_features.packet_support (PACKET_qXfer_threads) == PACKET_ENABLE)
{
- gdb::optional<gdb::char_vector> xml
+ std::optional<gdb::char_vector> xml
= target_read_stralloc (this, TARGET_OBJECT_THREADS, NULL);
if (xml && (*xml)[0] != '\0')
@@ -11913,7 +11913,7 @@ std::vector<mem_region>
remote_target::memory_map ()
{
std::vector<mem_region> result;
- gdb::optional<gdb::char_vector> text
+ std::optional<gdb::char_vector> text
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_MEMORY_MAP, NULL);
@@ -12878,7 +12878,7 @@ remote_target::fileio_unlink (struct inferior *inf, const char *filename,
/* Implementation of to_fileio_readlink. */
-gdb::optional<std::string>
+std::optional<std::string>
remote_target::fileio_readlink (struct inferior *inf, const char *filename,
fileio_error *remote_errno)
{
@@ -14145,7 +14145,7 @@ remote_target::set_circular_trace_buffer (int val)
traceframe_info_up
remote_target::traceframe_info ()
{
- gdb::optional<gdb::char_vector> text
+ std::optional<gdb::char_vector> text
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_TRACEFRAME_INFO,
NULL);
@@ -14686,7 +14686,7 @@ btrace_read_config (thread_info *tp, btrace_config *conf)
scoped_restore_current_thread restore_thread;
switch_to_thread (tp);
- gdb::optional<gdb::char_vector> xml
+ std::optional<gdb::char_vector> xml
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_BTRACE_CONF, "");
if (xml)
@@ -14886,7 +14886,7 @@ remote_target::read_btrace (struct btrace_data *btrace,
(unsigned int) type);
}
- gdb::optional<gdb::char_vector> xml
+ std::optional<gdb::char_vector> xml
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_BTRACE, annex);
if (!xml)
@@ -14926,7 +14926,7 @@ remote_target::load (const char *name, int from_tty)
const char *
remote_target::pid_to_exec_file (int pid)
{
- static gdb::optional<gdb::char_vector> filename;
+ static std::optional<gdb::char_vector> filename;
char *annex = NULL;
if (m_features.packet_support (PACKET_qXfer_exec_file) != PACKET_ENABLE)
diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c
index 3a2891c..3725be4 100644
--- a/gdb/riscv-tdep.c
+++ b/gdb/riscv-tdep.c
@@ -1676,7 +1676,7 @@ private:
passed, is the value to place in rs1, otherwise rd is duplicated into
rs1. */
void decode_ci_type_insn (enum opcode opcode, ULONGEST ival,
- gdb::optional<int> rs1_regnum = {})
+ std::optional<int> rs1_regnum = {})
{
m_opcode = opcode;
m_rd = decode_register_index (ival, OP_SH_CRS1S);
diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c
index 414238a..ae45ec6 100644
--- a/gdb/s390-linux-tdep.c
+++ b/gdb/s390-linux-tdep.c
@@ -332,7 +332,7 @@ s390_core_read_description (struct gdbarch *gdbarch,
struct target_ops *target, bfd *abfd)
{
asection *section = bfd_get_section_by_name (abfd, ".reg");
- gdb::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
+ std::optional<gdb::byte_vector> auxv = target_read_auxv_raw (target);
CORE_ADDR hwcap = linux_get_hwcap (auxv, target, gdbarch);
bool high_gprs, v1, v2, te, vx, gs;
diff --git a/gdb/skip.c b/gdb/skip.c
index 28902a6..465978f 100644
--- a/gdb/skip.c
+++ b/gdb/skip.c
@@ -34,7 +34,7 @@
#include "filenames.h"
#include "fnmatch.h"
#include "gdbsupport/gdb_regex.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include <list>
#include "cli/cli-style.h"
#include "gdbsupport/buildargv.h"
@@ -113,7 +113,7 @@ private: /* data */
std::string m_function;
/* If this is a function regexp, the compiled form. */
- gdb::optional<compiled_regex> m_compiled_function_regexp;
+ std::optional<compiled_regex> m_compiled_function_regexp;
/* Enabled/disabled state. */
bool m_enabled = true;
diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c
index 0fc3a15..1a70f98 100644
--- a/gdb/solib-aix.c
+++ b/gdb/solib-aix.c
@@ -65,7 +65,7 @@ struct solib_aix_inferior_data
the same principles applied to shared libraries also apply
to the main executable. So it's simpler to keep it as part
of this list. */
- gdb::optional<std::vector<lm_info_aix>> library_list;
+ std::optional<std::vector<lm_info_aix>> library_list;
};
/* Key to our per-inferior data. */
@@ -91,7 +91,7 @@ get_solib_aix_inferior_data (struct inferior *inf)
/* Dummy implementation if XML support is not compiled in. */
-static gdb::optional<std::vector<lm_info_aix>>
+static std::optional<std::vector<lm_info_aix>>
solib_aix_parse_libraries (const char *library)
{
static int have_warned;
@@ -201,7 +201,7 @@ static const struct gdb_xml_element library_list_elements[] =
Return an empty option if the parsing failed. */
-static gdb::optional<std::vector<lm_info_aix>>
+static std::optional<std::vector<lm_info_aix>>
solib_aix_parse_libraries (const char *library)
{
std::vector<lm_info_aix> result;
@@ -225,7 +225,7 @@ solib_aix_parse_libraries (const char *library)
is not NULL, then print a warning including WARNING_MSG and
a description of the error. */
-static gdb::optional<std::vector<lm_info_aix>> &
+static std::optional<std::vector<lm_info_aix>> &
solib_aix_get_library_list (struct inferior *inf, const char *warning_msg)
{
struct solib_aix_inferior_data *data;
@@ -235,7 +235,7 @@ solib_aix_get_library_list (struct inferior *inf, const char *warning_msg)
if (data->library_list.has_value ())
return data->library_list;
- gdb::optional<gdb::char_vector> library_document
+ std::optional<gdb::char_vector> library_document
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_LIBRARIES_AIX,
NULL);
@@ -421,7 +421,7 @@ solib_aix_solib_create_inferior_hook (int from_tty)
/* We need to relocate the main executable... */
- gdb::optional<std::vector<lm_info_aix>> &library_list
+ std::optional<std::vector<lm_info_aix>> &library_list
= solib_aix_get_library_list (current_inferior (), warning_msg);
if (!library_list.has_value ())
return; /* Warning already printed. */
@@ -448,7 +448,7 @@ solib_aix_solib_create_inferior_hook (int from_tty)
static intrusive_list<shobj>
solib_aix_current_sos ()
{
- gdb::optional<std::vector<lm_info_aix>> &library_list
+ std::optional<std::vector<lm_info_aix>> &library_list
= solib_aix_get_library_list (current_inferior (), NULL);
if (!library_list.has_value ())
return {};
diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c
index ef56146..0d98ae8 100644
--- a/gdb/solib-dsbt.c
+++ b/gdb/solib-dsbt.c
@@ -276,7 +276,7 @@ static void
dsbt_get_initial_loadmaps (void)
{
dsbt_info *info = get_dsbt_info (current_program_space);
- gdb::optional<gdb::byte_vector> buf
+ std::optional<gdb::byte_vector> buf
= target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_FDPIC, "exec");
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 5882a4e..d7fd199 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -454,7 +454,7 @@ static int match_main (const char *);
architecture size (32-bit or 64-bit) is returned to *P_ARCH_SIZE. Likewise,
the base address of the section is returned in *BASE_ADDR. */
-static gdb::optional<gdb::byte_vector>
+static std::optional<gdb::byte_vector>
read_program_header (int type, int *p_arch_size, CORE_ADDR *base_addr)
{
bfd_endian byte_order = gdbarch_byte_order (current_inferior ()->arch ());
@@ -587,7 +587,7 @@ read_program_header (int type, int *p_arch_size, CORE_ADDR *base_addr)
/* Return program interpreter string. */
-static gdb::optional<gdb::byte_vector>
+static std::optional<gdb::byte_vector>
find_program_interpreter (void)
{
/* If we have a current exec_bfd, use its section table. */
@@ -632,7 +632,7 @@ scan_dyntag_auxv (const int desired_dyntag, CORE_ADDR *ptr,
CORE_ADDR base_addr;
/* Read in .dynamic section. */
- gdb::optional<gdb::byte_vector> ph_data
+ std::optional<gdb::byte_vector> ph_data
= read_program_header (PT_DYNAMIC, &arch_size, &base_addr);
if (!ph_data)
return 0;
@@ -1159,7 +1159,7 @@ svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list,
gdb_assert (annex == NULL || target_augmented_libraries_svr4_read ());
/* Fetch the list of shared libraries. */
- gdb::optional<gdb::char_vector> svr4_library_document
+ std::optional<gdb::char_vector> svr4_library_document
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_LIBRARIES_SVR4,
annex);
@@ -2309,7 +2309,7 @@ enable_break (struct svr4_info *info, int from_tty)
/* Find the program interpreter; if not found, warn the user and drop
into the old breakpoint at symbol code. */
- gdb::optional<gdb::byte_vector> interp_name_holder
+ std::optional<gdb::byte_vector> interp_name_holder
= find_program_interpreter ();
if (interp_name_holder)
{
@@ -2519,7 +2519,7 @@ enable_break (struct svr4_info *info, int from_tty)
/* Read the ELF program headers from ABFD. */
-static gdb::optional<gdb::byte_vector>
+static std::optional<gdb::byte_vector>
read_program_headers_from_bfd (bfd *abfd)
{
Elf_Internal_Ehdr *ehdr = elf_elfheader (abfd);
@@ -2632,9 +2632,9 @@ svr4_exec_displacement (CORE_ADDR *displacementp)
really do not match. */
int arch_size;
- gdb::optional<gdb::byte_vector> phdrs_target
+ std::optional<gdb::byte_vector> phdrs_target
= read_program_header (-1, &arch_size, NULL);
- gdb::optional<gdb::byte_vector> phdrs_binary
+ std::optional<gdb::byte_vector> phdrs_binary
= read_program_headers_from_bfd (current_program_space->exec_bfd ());
if (phdrs_target && phdrs_binary)
{
diff --git a/gdb/solib-target.c b/gdb/solib-target.c
index c612507..b311c76 100644
--- a/gdb/solib-target.c
+++ b/gdb/solib-target.c
@@ -233,7 +233,7 @@ solib_target_current_sos (void)
intrusive_list<shobj> sos;
/* Fetch the list of shared libraries. */
- gdb::optional<gdb::char_vector> library_document
+ std::optional<gdb::char_vector> library_document
= target_read_stralloc (current_inferior ()->top_target (),
TARGET_OBJECT_LIBRARIES, NULL);
if (!library_document)
diff --git a/gdb/source-cache.c b/gdb/source-cache.c
index c955929..eb467fd 100644
--- a/gdb/source-cache.c
+++ b/gdb/source-cache.c
@@ -343,7 +343,7 @@ source_cache::ensure (struct symtab *s)
if (!already_styled)
{
- gdb::optional<std::string> ext_contents;
+ std::optional<std::string> ext_contents;
ext_contents = ext_lang_colorize (fullname, contents);
if (ext_contents.has_value ())
{
diff --git a/gdb/stack.c b/gdb/stack.c
index ef56544..20bb85e 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -97,7 +97,7 @@ static const char *const print_frame_info_choices[] =
/* print_frame_info_print_what[i] maps a choice to the corresponding
print_what enum. */
-static const gdb::optional<enum print_what> print_frame_info_print_what[] =
+static const std::optional<enum print_what> print_frame_info_print_what[] =
{{}, /* Empty value for "auto". */
SRC_LINE, LOCATION, SRC_AND_LOC, LOC_AND_ADDRESS, SHORT_LOCATION};
@@ -973,7 +973,7 @@ do_gdb_disassembly (struct gdbarch *gdbarch,
Value not present indicates to the caller to use default values
specific to the command being executed. */
-static gdb::optional<enum print_what>
+static std::optional<enum print_what>
print_frame_info_to_print_what (const char *print_frame_info)
{
for (int i = 0; print_frame_info_choices[i] != NULL; i++)
@@ -1004,7 +1004,7 @@ print_pc (struct ui_out *uiout, struct gdbarch *gdbarch, frame_info_ptr frame,
/* See stack.h. */
void
-get_user_print_what_frame_info (gdb::optional<enum print_what> *what)
+get_user_print_what_frame_info (std::optional<enum print_what> *what)
{
*what
= print_frame_info_to_print_what
@@ -2261,8 +2261,8 @@ iterate_over_block_local_vars (const struct block *block,
struct print_variable_and_value_data
{
- gdb::optional<compiled_regex> preg;
- gdb::optional<compiled_regex> treg;
+ std::optional<compiled_regex> preg;
+ std::optional<compiled_regex> treg;
struct frame_id frame_id;
int num_tabs;
struct ui_file *stream;
@@ -2307,7 +2307,7 @@ print_variable_and_value_data::operator() (const char *print_name,
If REGEXP is NULL, it results in an empty regular expression. */
static void
-prepare_reg (const char *regexp, gdb::optional<compiled_regex> *reg)
+prepare_reg (const char *regexp, std::optional<compiled_regex> *reg)
{
if (regexp != NULL)
{
@@ -2499,8 +2499,8 @@ print_frame_arg_vars (frame_info_ptr frame,
struct print_variable_and_value_data cb_data;
struct symbol *func;
CORE_ADDR pc;
- gdb::optional<compiled_regex> preg;
- gdb::optional<compiled_regex> treg;
+ std::optional<compiled_regex> preg;
+ std::optional<compiled_regex> treg;
if (!get_frame_pc_if_available (frame, &pc))
{
diff --git a/gdb/stack.h b/gdb/stack.h
index 1b0c2b3..a64abaf 100644
--- a/gdb/stack.h
+++ b/gdb/stack.h
@@ -38,7 +38,7 @@ void iterate_over_block_local_vars (const struct block *block,
information to print, otherwise the printing function should print
the relevant information. */
-void get_user_print_what_frame_info (gdb::optional<enum print_what> *what);
+void get_user_print_what_frame_info (std::optional<enum print_what> *what);
/* Return true if we should display the address in addition to the location,
because we are in the middle of a statement. */
diff --git a/gdb/symfile.c b/gdb/symfile.c
index bbac6ad..c5af186 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -913,7 +913,7 @@ syms_from_objfile_1 (struct objfile *objfile,
/* Make sure that partially constructed symbol tables will be cleaned up
if an error occurs during symbol reading. */
- gdb::optional<clear_symtab_users_cleanup> defer_clear_users;
+ std::optional<clear_symtab_users_cleanup> defer_clear_users;
objfile_up objfile_holder (objfile);
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 5ec56f4..17d1987 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -66,7 +66,7 @@
#include "parser-defs.h"
#include "completer.h"
#include "progspace-and-thread.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "filename-seen-cache.h"
#include "arch-utils.h"
#include <algorithm>
@@ -943,7 +943,7 @@ void
general_symbol_info::compute_and_set_names (gdb::string_view linkage_name,
bool copy_name,
objfile_per_bfd_storage *per_bfd,
- gdb::optional<hashval_t> hash)
+ std::optional<hashval_t> hash)
{
struct demangled_name_entry **slot;
@@ -3714,7 +3714,7 @@ skip_prologue_using_lineinfo (CORE_ADDR func_addr, struct symtab *symtab)
the function starting at FUNC_ADDR which has prologue_end set to true if
such entry exist, otherwise return an empty optional. */
-static gdb::optional<CORE_ADDR>
+static std::optional<CORE_ADDR>
skip_prologue_using_linetable (CORE_ADDR func_addr)
{
CORE_ADDR start_pc, end_pc;
@@ -3838,7 +3838,7 @@ skip_prologue_sal (struct symtab_and_line *sal)
be placed to skip the prologue. */
if (!ignore_prologue_end_flag && skip)
{
- gdb::optional<CORE_ADDR> linetable_pc
+ std::optional<CORE_ADDR> linetable_pc
= skip_prologue_using_linetable (pc);
if (linetable_pc)
{
@@ -4450,8 +4450,8 @@ info_sources_worker (struct ui_out *uiout,
output_source_filename_data data (uiout, filter);
ui_out_emit_list results_emitter (uiout, "files");
- gdb::optional<ui_out_emit_tuple> output_tuple;
- gdb::optional<ui_out_emit_list> sources_list;
+ std::optional<ui_out_emit_tuple> output_tuple;
+ std::optional<ui_out_emit_list> sources_list;
gdb_assert (group_by_objfile || uiout->is_mi_like_p ());
@@ -4652,7 +4652,7 @@ global_symbol_searcher::is_suitable_msymbol
bool
global_symbol_searcher::expand_symtabs
- (objfile *objfile, const gdb::optional<compiled_regex> &preg) const
+ (objfile *objfile, const std::optional<compiled_regex> &preg) const
{
enum search_domain kind = m_kind;
bool found_msymbol = false;
@@ -4734,8 +4734,8 @@ global_symbol_searcher::expand_symtabs
bool
global_symbol_searcher::add_matching_symbols
(objfile *objfile,
- const gdb::optional<compiled_regex> &preg,
- const gdb::optional<compiled_regex> &treg,
+ const std::optional<compiled_regex> &preg,
+ const std::optional<compiled_regex> &treg,
std::set<symbol_search> *result_set) const
{
enum search_domain kind = m_kind;
@@ -4813,7 +4813,7 @@ global_symbol_searcher::add_matching_symbols
bool
global_symbol_searcher::add_matching_msymbols
- (objfile *objfile, const gdb::optional<compiled_regex> &preg,
+ (objfile *objfile, const std::optional<compiled_regex> &preg,
std::vector<symbol_search> *results) const
{
enum search_domain kind = m_kind;
@@ -4860,8 +4860,8 @@ global_symbol_searcher::add_matching_msymbols
std::vector<symbol_search>
global_symbol_searcher::search () const
{
- gdb::optional<compiled_regex> preg;
- gdb::optional<compiled_regex> treg;
+ std::optional<compiled_regex> preg;
+ std::optional<compiled_regex> treg;
gdb_assert (m_kind != ALL_DOMAIN);
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 8dfc873..0fb0c86 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -30,7 +30,7 @@
#include "gdbsupport/gdb_regex.h"
#include "gdbsupport/enum-flags.h"
#include "gdbsupport/function-view.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/gdb_string_view.h"
#include "gdbsupport/next-iterator.h"
#include "gdbsupport/iterator-range.h"
@@ -364,10 +364,10 @@ private:
around by const reference (see intro), and they're conceptually
"cache" that can always be reconstructed from the non-mutable
fields. */
- mutable gdb::optional<ada_lookup_name_info> m_ada;
- mutable gdb::optional<demangle_for_lookup_info> m_cplus;
- mutable gdb::optional<demangle_for_lookup_info> m_d;
- mutable gdb::optional<demangle_for_lookup_info> m_go;
+ mutable std::optional<ada_lookup_name_info> m_ada;
+ mutable std::optional<demangle_for_lookup_info> m_cplus;
+ mutable std::optional<demangle_for_lookup_info> m_d;
+ mutable std::optional<demangle_for_lookup_info> m_go;
/* The demangled hashes. Stored in an array with one entry for each
possible language. The second array records whether we've
@@ -511,8 +511,8 @@ struct general_symbol_info
copy_name must be set to true. */
void compute_and_set_names (gdb::string_view linkage_name, bool copy_name,
struct objfile_per_bfd_storage *per_bfd,
- gdb::optional<hashval_t> hash
- = gdb::optional<hashval_t> ());
+ std::optional<hashval_t> hash
+ = std::optional<hashval_t> ());
CORE_ADDR value_address () const
{
@@ -2598,7 +2598,7 @@ private:
true if any msymbols were seen that we should later consider adding to
the results list. */
bool expand_symtabs (objfile *objfile,
- const gdb::optional<compiled_regex> &preg) const;
+ const std::optional<compiled_regex> &preg) const;
/* Add symbols from symtabs in OBJFILE that match PREG, and TREG, and are
of type M_KIND, to the results set RESULTS_SET. Return false if we
@@ -2607,8 +2607,8 @@ private:
Returning true does not indicate that any results were added, just
that we didn't _not_ add a result due to reaching MAX_SEARCH_RESULTS. */
bool add_matching_symbols (objfile *objfile,
- const gdb::optional<compiled_regex> &preg,
- const gdb::optional<compiled_regex> &treg,
+ const std::optional<compiled_regex> &preg,
+ const std::optional<compiled_regex> &treg,
std::set<symbol_search> *result_set) const;
/* Add msymbols from OBJFILE that match PREG and M_KIND, to the results
@@ -2618,7 +2618,7 @@ private:
does not indicate that any results were added, just that we didn't
_not_ add a result due to reaching MAX_SEARCH_RESULTS. */
bool add_matching_msymbols (objfile *objfile,
- const gdb::optional<compiled_regex> &preg,
+ const std::optional<compiled_regex> &preg,
std::vector<symbol_search> *results) const;
/* Return true if MSYMBOL is of type KIND. */
@@ -2907,7 +2907,7 @@ private:
/* A compiled version of M_REGEXP. This object is only given a value if
M_REGEXP is not nullptr and is not the empty string. */
- gdb::optional<compiled_regex> m_c_regexp;
+ std::optional<compiled_regex> m_c_regexp;
};
/* Perform the core of the 'info sources' command.
diff --git a/gdb/target.c b/gdb/target.c
index 92aa1dd..c3dad38 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -2231,7 +2231,7 @@ target_write (struct target_ops *ops,
for details. */
template <typename T>
-gdb::optional<gdb::def_vector<T>>
+std::optional<gdb::def_vector<T>>
target_read_alloc_1 (struct target_ops *ops, enum target_object object,
const char *annex)
{
@@ -2280,7 +2280,7 @@ target_read_alloc_1 (struct target_ops *ops, enum target_object object,
/* See target.h */
-gdb::optional<gdb::byte_vector>
+std::optional<gdb::byte_vector>
target_read_alloc (struct target_ops *ops, enum target_object object,
const char *annex)
{
@@ -2289,11 +2289,11 @@ target_read_alloc (struct target_ops *ops, enum target_object object,
/* See target.h. */
-gdb::optional<gdb::char_vector>
+std::optional<gdb::char_vector>
target_read_stralloc (struct target_ops *ops, enum target_object object,
const char *annex)
{
- gdb::optional<gdb::char_vector> buf
+ std::optional<gdb::char_vector> buf
= target_read_alloc_1<char> (ops, object, annex);
if (!buf)
@@ -2977,7 +2977,7 @@ target_supports_multi_process (void)
/* See target.h. */
-gdb::optional<gdb::char_vector>
+std::optional<gdb::char_vector>
target_get_osdata (const char *type)
{
struct target_ops *t;
@@ -3206,7 +3206,7 @@ target_ops::fileio_unlink (struct inferior *inf, const char *filename,
return -1;
}
-gdb::optional<std::string>
+std::optional<std::string>
target_ops::fileio_readlink (struct inferior *inf, const char *filename,
fileio_error *target_errno)
{
@@ -3377,13 +3377,13 @@ target_fileio_unlink (struct inferior *inf, const char *filename,
/* See target.h. */
-gdb::optional<std::string>
+std::optional<std::string>
target_fileio_readlink (struct inferior *inf, const char *filename,
fileio_error *target_errno)
{
for (target_ops *t = default_fileio_target (); t != NULL; t = t->beneath ())
{
- gdb::optional<std::string> ret
+ std::optional<std::string> ret
= t->fileio_readlink (inf, filename, target_errno);
if (!ret.has_value () && *target_errno == FILEIO_ENOSYS)
diff --git a/gdb/target.h b/gdb/target.h
index fca0bbb..c54bd28 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -345,7 +345,7 @@ LONGEST target_write_with_progress (struct target_ops *ops,
size is known in advance. Don't try to read TARGET_OBJECT_MEMORY
through this function. */
-extern gdb::optional<gdb::byte_vector> target_read_alloc
+extern std::optional<gdb::byte_vector> target_read_alloc
(struct target_ops *ops, enum target_object object, const char *annex);
/* Read OBJECT/ANNEX using OPS. The result is a NUL-terminated character vector
@@ -355,7 +355,7 @@ extern gdb::optional<gdb::byte_vector> target_read_alloc
the returned vector is guaranteed to have at least one element. A warning is
issued if the result contains any embedded NUL bytes. */
-extern gdb::optional<gdb::char_vector> target_read_stralloc
+extern std::optional<gdb::char_vector> target_read_stralloc
(struct target_ops *ops, enum target_object object, const char *annex);
/* See target_ops->to_xfer_partial. */
@@ -1001,7 +1001,7 @@ struct target_ops
seen by the debugger (GDB or, for remote targets, the remote
stub). Return a string, or an empty optional if an error
occurs (and set *TARGET_ERRNO). */
- virtual gdb::optional<std::string> fileio_readlink (struct inferior *inf,
+ virtual std::optional<std::string> fileio_readlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno);
@@ -2206,7 +2206,7 @@ extern int target_fileio_unlink (struct inferior *inf,
by the debugger (GDB or, for remote targets, the remote stub).
Return a null-terminated string allocated via xmalloc, or NULL if
an error occurs (and set *TARGET_ERRNO). */
-extern gdb::optional<std::string> target_fileio_readlink
+extern std::optional<std::string> target_fileio_readlink
(struct inferior *inf, const char *filename, fileio_error *target_errno);
/* Read target file FILENAME, in the filesystem as seen by INF. If
@@ -2469,7 +2469,7 @@ struct target_ops *find_target_at (enum strata stratum);
/* Read OS data object of type TYPE from the target, and return it in XML
format. The return value follows the same rules as target_read_stralloc. */
-extern gdb::optional<gdb::char_vector> target_get_osdata (const char *type);
+extern std::optional<gdb::char_vector> target_get_osdata (const char *type);
/* Stuff that should be shared among the various remote targets. */
diff --git a/gdb/thread.c b/gdb/thread.c
index 810fdae..c0ed64e 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -46,7 +46,7 @@
#include "thread-fsm.h"
#include "tid-parse.h"
#include <algorithm>
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "inline-frame.h"
#include "stack.h"
#include "interps.h"
@@ -194,7 +194,7 @@ clear_thread_inferior_resources (struct thread_info *tp)
/* Notify interpreters and observers that thread T has exited. */
static void
-notify_thread_exited (thread_info *t, gdb::optional<ULONGEST> exit_code,
+notify_thread_exited (thread_info *t, std::optional<ULONGEST> exit_code,
int silent)
{
if (!silent && print_thread_events)
@@ -215,7 +215,7 @@ notify_thread_exited (thread_info *t, gdb::optional<ULONGEST> exit_code,
/* See gdbthread.h. */
void
-set_thread_exited (thread_info *tp, gdb::optional<ULONGEST> exit_code,
+set_thread_exited (thread_info *tp, std::optional<ULONGEST> exit_code,
bool silent)
{
/* Dead threads don't need to step-over. Remove from chain. */
@@ -504,7 +504,7 @@ global_thread_step_over_chain_remove (struct thread_info *tp)
/* Helper for the different delete_thread variants. */
static void
-delete_thread_1 (thread_info *thr, gdb::optional<ULONGEST> exit_code,
+delete_thread_1 (thread_info *thr, std::optional<ULONGEST> exit_code,
bool silent)
{
gdb_assert (thr != nullptr);
@@ -1112,8 +1112,8 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
/* For backward compatibility, we make a list for MI. A table is
preferable for the CLI, though, because it shows table
headers. */
- gdb::optional<ui_out_emit_list> list_emitter;
- gdb::optional<ui_out_emit_table> table_emitter;
+ std::optional<ui_out_emit_list> list_emitter;
+ std::optional<ui_out_emit_table> table_emitter;
/* We'll be switching threads temporarily below. */
scoped_restore_current_thread restore_thread;
@@ -1543,7 +1543,7 @@ tp_array_compar_descending (const thread_info_ref &a, const thread_info_ref &b)
/* See gdbthread.h. */
void
-thread_try_catch_cmd (thread_info *thr, gdb::optional<int> ada_task,
+thread_try_catch_cmd (thread_info *thr, std::optional<int> ada_task,
const char *cmd, int from_tty,
const qcs_flags &flags)
{
diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c
index b698b40..a710246 100644
--- a/gdb/tracefile-tfile.c
+++ b/gdb/tracefile-tfile.c
@@ -305,7 +305,7 @@ tfile_write_tdesc (struct trace_file_writer *self)
struct tfile_trace_file_writer *writer
= (struct tfile_trace_file_writer *) self;
- gdb::optional<std::string> tdesc
+ std::optional<std::string> tdesc
= target_fetch_description_xml (current_inferior ()->top_target ());
if (!tdesc)
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 7501853..05b5f68 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -3732,7 +3732,7 @@ sdata_make_value (struct gdbarch *gdbarch, struct internalvar *var,
void *ignore)
{
/* We need to read the whole object before we know its size. */
- gdb::optional<gdb::byte_vector> buf
+ std::optional<gdb::byte_vector> buf
= target_read_alloc (current_inferior ()->top_target (),
TARGET_OBJECT_STATIC_TRACE_DATA,
NULL);
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index ffcb95b..b5d5a4c 100644
--- a/gdb/tui/tui-disasm.c
+++ b/gdb/tui/tui-disasm.c
@@ -234,7 +234,7 @@ tui_find_disassembly_address (struct gdbarch *gdbarch, CORE_ADDR pc, int from)
promising starting point then we record it in this structure. If
the next address we try is not a suitable starting point then we
will fall back to the address held here. */
- gdb::optional<CORE_ADDR> possible_new_low;
+ std::optional<CORE_ADDR> possible_new_low;
/* The previous value of NEW_LOW so we know if the new value is
different or not. */
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 159445d..b932649 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -819,7 +819,7 @@ tui_layout_split::apply (int x_, int y_, int width_, int height_,
};
/* This is given a value only if we fix the size of the cmd window. */
- gdb::optional<old_size_info> old_cmd_info;
+ std::optional<old_size_info> old_cmd_info;
std::vector<size_info> info (m_splits.size ());
diff --git a/gdb/unittests/optional-selftests.c b/gdb/unittests/optional-selftests.c
index 8a727c0..51135b8 100644
--- a/gdb/unittests/optional-selftests.c
+++ b/gdb/unittests/optional-selftests.c
@@ -31,7 +31,7 @@
#define VERIFY SELF_CHECK
/* Used to disable testing features not supported by
- gdb::optional. */
+ std::optional. */
#define GDB_OPTIONAL
namespace selftests {
@@ -41,7 +41,7 @@ namespace optional {
copied over from libstdc++'s testsuite. To preserve the structure
and help with comparison with the original tests, the file names
have been preserved, and only minimal modification was done to have
- them compile against gdb::optional instead of std::optional:
+ them compile against std::optional instead of std::optional:
- std::optional->gdb:optional, etc.
- ATTRIBUTE_UNUSED in a few places
diff --git a/gdb/utils.c b/gdb/utils.c
index f959af3..7a1841b 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -68,7 +68,7 @@
#include "gdbsupport/gdb_regex.h"
#include "gdbsupport/job-control.h"
#include "gdbsupport/selftest.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "cp-support.h"
#include <algorithm>
#include "gdbsupport/pathstuff.h"
@@ -143,7 +143,7 @@ vwarning (const char *string, va_list args)
(*deprecated_warning_hook) (string, args);
else
{
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
if (target_supports_terminal_ours ())
{
term_state.emplace ();
@@ -375,7 +375,7 @@ internal_vproblem (struct internal_problem *problem,
}
/* Try to get the message out and at the start of a new line. */
- gdb::optional<target_terminal::scoped_restore_terminal_state> term_state;
+ std::optional<target_terminal::scoped_restore_terminal_state> term_state;
if (target_supports_terminal_ours ())
{
term_state.emplace ();
diff --git a/gdb/valarith.c b/gdb/valarith.c
index f3acf98..6cf5630 100644
--- a/gdb/valarith.c
+++ b/gdb/valarith.c
@@ -150,14 +150,14 @@ value_subscript (struct value *array, LONGEST index)
|| tarray->code () == TYPE_CODE_STRING)
{
struct type *range_type = tarray->index_type ();
- gdb::optional<LONGEST> lowerbound = get_discrete_low_bound (range_type);
+ std::optional<LONGEST> lowerbound = get_discrete_low_bound (range_type);
if (!lowerbound.has_value ())
lowerbound = 0;
if (array->lval () != lval_memory)
return value_subscripted_rvalue (array, index, *lowerbound);
- gdb::optional<LONGEST> upperbound
+ std::optional<LONGEST> upperbound
= get_discrete_high_bound (range_type);
if (!upperbound.has_value ())
diff --git a/gdb/valops.c b/gdb/valops.c
index 70851cd..a8760cc 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -52,7 +52,7 @@ static struct value *search_struct_field (const char *, struct value *,
struct type *, int);
static struct value *search_struct_method (const char *, struct value **,
- gdb::optional<gdb::array_view<value *>>,
+ std::optional<gdb::array_view<value *>>,
LONGEST, int *, struct type *);
static int find_oload_champ_namespace (gdb::array_view<value *> args,
@@ -2196,7 +2196,7 @@ search_struct_field (const char *name, struct value *arg1,
static struct value *
search_struct_method (const char *name, struct value **arg1p,
- gdb::optional<gdb::array_view<value *>> args,
+ std::optional<gdb::array_view<value *>> args,
LONGEST offset, int *static_memfuncp,
struct type *type)
{
@@ -2332,7 +2332,7 @@ search_struct_method (const char *name, struct value **arg1p,
struct value *
value_struct_elt (struct value **argp,
- gdb::optional<gdb::array_view<value *>> args,
+ std::optional<gdb::array_view<value *>> args,
const char *name, int *static_memfuncp, const char *err)
{
struct type *t;
diff --git a/gdb/value.c b/gdb/value.c
index 17b7c53..7067ae94 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -826,7 +826,7 @@ exceeds_max_value_size (ULONGEST length)
/* When this has a value, it is used to limit the number of array elements
of an array that are loaded into memory when an array value is made
non-lazy. */
-static gdb::optional<int> array_length_limiting_element_count;
+static std::optional<int> array_length_limiting_element_count;
/* See value.h. */
scoped_array_length_limiting::scoped_array_length_limiting (int elements)
diff --git a/gdb/value.h b/gdb/value.h
index e491271..6d91e8e 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -1269,7 +1269,7 @@ extern struct value *value_neg (struct value *arg1);
extern struct value *value_complement (struct value *arg1);
extern struct value *value_struct_elt (struct value **argp,
- gdb::optional<gdb::array_view <value *>> args,
+ std::optional<gdb::array_view <value *>> args,
const char *name, int *static_memfuncp,
const char *err);
@@ -1635,7 +1635,7 @@ struct scoped_array_length_limiting
private:
/* Used to hold the previous array value element limit. */
- gdb::optional<int> m_old_value;
+ std::optional<int> m_old_value;
};
#endif /* !defined (VALUE_H) */
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 205bf01..b344034 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -1335,7 +1335,7 @@ windows_nat_target::windows_continue (DWORD continue_status, int id,
th->suspend ();
}
- gdb::optional<unsigned> err;
+ std::optional<unsigned> err;
do_synchronously ([&] ()
{
if (!continue_last_debug_event (continue_status, debug_events))
@@ -1561,7 +1561,7 @@ windows_nat_target::get_windows_debug_event
/* If there is a relevant pending stop, report it now. See the
comment by the definition of "pending_stops" for details on why
this is needed. */
- gdb::optional<pending_stop> stop
+ std::optional<pending_stop> stop
= windows_process.fetch_pending_stop (debug_events);
if (stop.has_value ())
{
@@ -2024,7 +2024,7 @@ windows_nat_target::attach (const char *args, int from_tty)
windows_init_thread_list ();
windows_process.saw_create = 0;
- gdb::optional<unsigned> err;
+ std::optional<unsigned> err;
do_synchronously ([&] ()
{
BOOL ok = DebugActiveProcess (pid);
@@ -2074,7 +2074,7 @@ windows_nat_target::detach (inferior *inf, int from_tty)
{
windows_continue (DBG_CONTINUE, -1, 0, true);
- gdb::optional<unsigned> err;
+ std::optional<unsigned> err;
do_synchronously ([&] ()
{
if (!DebugActiveProcessStop (windows_process.current_event.dwProcessId))
@@ -2533,7 +2533,7 @@ windows_nat_target::create_inferior (const char *exec_file,
#endif /* !__CYGWIN__ */
const char *allargs = origallargs.c_str ();
PROCESS_INFORMATION pi;
- gdb::optional<unsigned> ret;
+ std::optional<unsigned> ret;
DWORD flags = 0;
const std::string &inferior_tty = current_inferior ()->tty ();
diff --git a/gdb/xml-support.c b/gdb/xml-support.c
index 0c98dc7..2d231b6 100644
--- a/gdb/xml-support.c
+++ b/gdb/xml-support.c
@@ -785,7 +785,7 @@ xinclude_start_include (struct gdb_xml_parser *parser,
gdb_xml_error (parser, _("Maximum XInclude depth (%d) exceeded"),
MAX_XINCLUDE_DEPTH);
- gdb::optional<gdb::char_vector> text = data->fetcher (href);
+ std::optional<gdb::char_vector> text = data->fetcher (href);
if (!text)
gdb_xml_error (parser, _("Could not load XML document \"%s\""), href);
@@ -960,7 +960,7 @@ show_debug_xml (struct ui_file *file, int from_tty,
gdb_printf (file, _("XML debugging is %s.\n"), value);
}
-gdb::optional<gdb::char_vector>
+std::optional<gdb::char_vector>
xml_fetch_content_from_file (const char *filename, const char *dirname)
{
gdb_file_up file;
diff --git a/gdb/xml-support.h b/gdb/xml-support.h
index 1f9ac68..8388276 100644
--- a/gdb/xml-support.h
+++ b/gdb/xml-support.h
@@ -24,7 +24,7 @@
#include "gdbsupport/gdb_obstack.h"
#include "gdbsupport/xml-utils.h"
#include "gdbsupport/byte-vector.h"
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include "gdbsupport/function-view.h"
struct gdb_xml_parser;
@@ -49,7 +49,7 @@ LONGEST xml_builtin_xfer_partial (const char *filename,
/* Callback to fetch a new XML file, based on the provided HREF. */
-using xml_fetch_another = gdb::function_view<gdb::optional<gdb::char_vector>
+using xml_fetch_another = gdb::function_view<std::optional<gdb::char_vector>
(const char * /* href */)>;
/* Append the expansion of TEXT after processing <xi:include> tags in
@@ -230,7 +230,7 @@ ULONGEST gdb_xml_parse_ulongest (struct gdb_xml_parser *parser,
the text. If something goes wrong, return an uninstantiated optional
and warn. */
-extern gdb::optional<gdb::char_vector> xml_fetch_content_from_file
+extern std::optional<gdb::char_vector> xml_fetch_content_from_file
(const char *filename, const char *dirname);
#endif
diff --git a/gdb/xml-syscall.c b/gdb/xml-syscall.c
index da1211e..cfb5434 100644
--- a/gdb/xml-syscall.c
+++ b/gdb/xml-syscall.c
@@ -314,7 +314,7 @@ syscall_parse_xml (const char *document, xml_fetch_another fetcher)
static struct syscalls_info *
xml_init_syscalls_info (const char *filename)
{
- gdb::optional<gdb::char_vector> full_file
+ std::optional<gdb::char_vector> full_file
= xml_fetch_content_from_file (filename,
const_cast<char *>(gdb_datadir.c_str ()));
if (!full_file)
diff --git a/gdb/xml-tdesc.c b/gdb/xml-tdesc.c
index a8b0b05..daf123a 100644
--- a/gdb/xml-tdesc.c
+++ b/gdb/xml-tdesc.c
@@ -663,7 +663,7 @@ tdesc_parse_xml (const char *document, xml_fetch_another fetcher)
const struct target_desc *
file_read_description_xml (const char *filename)
{
- gdb::optional<gdb::char_vector> tdesc_str
+ std::optional<gdb::char_vector> tdesc_str
= xml_fetch_content_from_file (filename, NULL);
if (!tdesc_str)
{
@@ -687,7 +687,7 @@ file_read_description_xml (const char *filename)
is "target.xml". Other calls may be performed for the DTD or
for <xi:include>. */
-static gdb::optional<gdb::char_vector>
+static std::optional<gdb::char_vector>
fetch_available_features_from_target (const char *name, target_ops *ops)
{
/* Read this object as a string. This ensures that a NUL
@@ -704,7 +704,7 @@ fetch_available_features_from_target (const char *name, target_ops *ops)
const struct target_desc *
target_read_description_xml (struct target_ops *ops)
{
- gdb::optional<gdb::char_vector> tdesc_str
+ std::optional<gdb::char_vector> tdesc_str
= fetch_available_features_from_target ("target.xml", ops);
if (!tdesc_str)
return NULL;
@@ -721,7 +721,7 @@ target_read_description_xml (struct target_ops *ops)
includes, but not parsing it. Used to dump whole tdesc
as a single XML file. */
-gdb::optional<std::string>
+std::optional<std::string>
target_fetch_description_xml (struct target_ops *ops)
{
#if !defined(HAVE_LIBEXPAT)
@@ -736,7 +736,7 @@ target_fetch_description_xml (struct target_ops *ops)
return {};
#else
- gdb::optional<gdb::char_vector>
+ std::optional<gdb::char_vector>
tdesc_str = fetch_available_features_from_target ("target.xml", ops);
if (!tdesc_str)
return {};
@@ -765,6 +765,6 @@ string_read_description_xml (const char *xml)
return tdesc_parse_xml (xml, [] (const char *href)
{
error (_("xincludes are unsupported with this method"));
- return gdb::optional<gdb::char_vector> ();
+ return std::optional<gdb::char_vector> ();
});
}
diff --git a/gdb/xml-tdesc.h b/gdb/xml-tdesc.h
index 0fbfc7e..0ffca92 100644
--- a/gdb/xml-tdesc.h
+++ b/gdb/xml-tdesc.h
@@ -22,7 +22,7 @@
#ifndef XML_TDESC_H
#define XML_TDESC_H
-#include "gdbsupport/gdb_optional.h"
+#include <optional>
#include <string>
struct target_ops;
@@ -42,7 +42,7 @@ const struct target_desc *target_read_description_xml (struct target_ops *);
but not parsing it. Used to dump whole tdesc as a single XML file.
Returns the description on success, and a disengaged optional
otherwise. */
-gdb::optional<std::string> target_fetch_description_xml (target_ops *ops);
+std::optional<std::string> target_fetch_description_xml (target_ops *ops);
/* Take an xml string, parse it, and return the parsed description. Does not
handle a string containing includes. */