diff options
| -rw-r--r-- | tests/ChangeLog | 5 | ||||
| -rw-r--r-- | tests/varlocs.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/tests/ChangeLog b/tests/ChangeLog index 3b69a87c..e5df2118 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,10 @@ 2018-06-08 Mark Wielaard <[email protected]> + * varlocs.c (print_expr): Error on bad DW_OP_GNU_parameter_ref + target, do not assert. + +2018-06-08 Mark Wielaard <[email protected]> + * get-units-invalid.c (main): Check invalid dwarf_getabbrev call. * show-abbrev.c (main): Check illegal dwarf_getabbrev offset call. diff --git a/tests/varlocs.c b/tests/varlocs.c index 99c38878..f4a711c8 100644 --- a/tests/varlocs.c +++ b/tests/varlocs.c @@ -546,7 +546,8 @@ print_expr (Dwarf_Attribute *attr, Dwarf_Op *expr, Dwarf_Addr addr) // XXX actually lookup DW_TAG_GNU_call_site_parameter printf ("%s[%" PRIx64 "]", opname, dwarf_dieoffset (¶m)); assert (expr->number == dwarf_cuoffset (¶m)); - assert (dwarf_tag (¶m) == DW_TAG_formal_parameter); + if (dwarf_tag (¶m) != DW_TAG_formal_parameter) + error (EXIT_FAILURE, 0, "Not a formal parameter"); } break; |
