This is a simple bug. target_disable_btrace and target_teardown_btrace,
authorSergio Durigan Junior <sergiodj@redhat.com>
Wed, 16 Oct 2013 02:41:42 +0000 (02:41 +0000)
committerSergio Durigan Junior <sergiodj@redhat.com>
Wed, 16 Oct 2013 02:41:42 +0000 (02:41 +0000)
both from gdb/target.c, do a "return" calling another function.  But both
are marked as void.  Despite the fact that the functions being called are
void as well, this is wrong.  This patch fixes this by calling the functions
and then returning in the next line.

2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>

PR gdb/16042
* target.c (target_disable_btrace): Fix invalid return value for
void function.
(target_teardown_btrace): Likewise.

gdb/ChangeLog
gdb/target.c

index da2c84d..b2f1fc8 100644 (file)
@@ -1,3 +1,10 @@
+2013-10-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       PR gdb/16042
+       * target.c (target_disable_btrace): Fix invalid return value for
+       void function.
+       (target_teardown_btrace): Likewise.
+
 2013-10-14  Yao Qi  <yao@codesourcery.com>
 
        * varobj.c (struct varobj): Move most of the fields to
index 7279359..22d7fb6 100644 (file)
@@ -4165,7 +4165,10 @@ target_disable_btrace (struct btrace_target_info *btinfo)
 
   for (t = current_target.beneath; t != NULL; t = t->beneath)
     if (t->to_disable_btrace != NULL)
-      return t->to_disable_btrace (btinfo);
+      {
+       t->to_disable_btrace (btinfo);
+       return;
+      }
 
   tcomplain ();
 }
@@ -4179,7 +4182,10 @@ target_teardown_btrace (struct btrace_target_info *btinfo)
 
   for (t = current_target.beneath; t != NULL; t = t->beneath)
     if (t->to_teardown_btrace != NULL)
-      return t->to_teardown_btrace (btinfo);
+      {
+       t->to_teardown_btrace (btinfo);
+       return;
+      }
 
   tcomplain ();
 }