/* DWARF CU data structure
- Copyright (C) 2021-2022 Free Software Foundation, Inc.
+ Copyright (C) 2021-2024 Free Software Foundation, Inc.
This file is part of GDB.
#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.
void add_dependence (struct dwarf2_per_cu_data *ref_per_cu);
/* The header of the compilation unit. */
- struct comp_unit_head header {};
+ struct comp_unit_head header;
/* Base address of this compilation unit. */
- gdb::optional<CORE_ADDR> base_address;
+ std::optional<unrelocated_addr> base_address;
/* The language we are debugging. */
const struct language_defn *language_defn = nullptr;
/* 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.
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;
bool producer_is_icc_lt_14 : 1;
bool producer_is_codewarrior : 1;
bool producer_is_clang : 1;
+ bool producer_is_gas_lt_2_38 : 1;
+ bool producer_is_gas_2_39 : 1;
/* When true, the file that we're processing is known to have
debugging info for C++ namespaces. GCC 3.3.x did not produce