aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/ChangeLog
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-12-09 11:45:41 +0100
committerMark Wielaard <mjw@redhat.com>2015-01-23 17:29:19 +0100
commit743649fd80776de922475362bf3ac8b44511bb24 (patch)
treebb0e90750f05a5d2840cbfca16aab939b703b283 /gdb/testsuite/ChangeLog
parent198297aafb4f7a9717be8370581b048ae9107c14 (diff)
downloadgdb-743649fd80776de922475362bf3ac8b44511bb24.zip
gdb-743649fd80776de922475362bf3ac8b44511bb24.tar.gz
gdb-743649fd80776de922475362bf3ac8b44511bb24.tar.bz2
Use GCC5/DWARF5 DW_AT_noreturn to mark functions that don't return normally.
Add a flag field is_noreturn to struct func_type. Make calling_convention a small bit field to not increase the size of the struct. Set is_noreturn if the new GCC5/DWARF5 DW_AT_noreturn is set on a DW_TAG_subprogram. Use this information to warn the user before doing a finish or return from a function that does not return normally to its caller. (gdb) finish warning: Function endless does not return normally. Try to finish anyway? (y or n) (gdb) return warning: Function does not return normally to caller. Make endless return now? (y or n) gdb/ChangeLog * dwarf2read.c (read_subroutine_type): Set TYPE_NO_RETURN from DW_AT_noreturn. * gdbtypes.h (struct func_type): Add is_noreturn field flag. Make calling_convention an 8 bit bit field. (TYPE_NO_RETURN): New macro. * infcmd.c (finish_command): Query if function does not return normally. * stack.c (return_command): Likewise. gdb/testsuite/ChangeLog * gdb.base/noreturn-return.c: New file. * gdb.base/noreturn-return.exp: New file. * gdb.base/noreturn-finish.c: New file. * gdb.base/noreturn-finish.exp: New file. include/ChangeLog * dwarf2.def (DW_AT_noreturn): New DWARF5 attribute. The dwarf2.h addition and the code to emit the new attribute is already in the gcc tree.
Diffstat (limited to 'gdb/testsuite/ChangeLog')
-rw-r--r--gdb/testsuite/ChangeLog7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 1a17ba4..5b53cdd 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2015-01-15 Mark Wielaard <mjw@redhat.com>
+
+ * gdb.base/noreturn-return.c: New file.
+ * gdb.base/noreturn-return.exp: New file.
+ * gdb.base/noreturn-finish.c: New file.
+ * gdb.base/noreturn-finish.exp: New file.
+
2015-01-23 Pedro Alves <palves@redhat.com>
* gdb.threads/continue-pending-after-query.c: New file.