aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/dwarf2/read.c')
-rw-r--r--gdb/dwarf2/read.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index e5744eb..6d173a5 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -11131,16 +11131,11 @@ get_alignment (struct dwarf2_cu *cu, struct die_info *die)
return 0;
}
- LONGEST val = attr->constant_value (0);
- if (val < 0)
- {
- complaint (_("DW_AT_alignment value must not be negative"
- " - DIE at %s [in module %s]"),
- sect_offset_str (die->sect_off),
- objfile_name (cu->per_objfile->objfile));
- return 0;
- }
- ULONGEST align = val;
+ std::optional<ULONGEST> val = attr->unsigned_constant ();
+ if (!val.has_value ())
+ return 0;
+
+ ULONGEST align = *val;
if (align == 0)
{