This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Hoist assertion in target_stack::unpush


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1688cb2916e7bc46c92dd6f5ac2ba0da6c832274

commit 1688cb2916e7bc46c92dd6f5ac2ba0da6c832274
Author: Tom Tromey <tom@tromey.com>
Date:   Tue Feb 5 04:59:11 2019 -0700

    Hoist assertion in target_stack::unpush
    
    I noticed that target_stack::unpush first uses the target "t", then
    later asserts that it is non-NULL:
    
      strata stratum = t->stratum ();
    [...]
      gdb_assert (t != NULL);
    
    This is backwards, though, as the assertion must come first.
    
    gdb/ChangeLog
    2019-02-05  Tom Tromey  <tom@tromey.com>
    
    	* target.c (target_stack::unpush): Move assertion earlier.

Diff:
---
 gdb/ChangeLog | 4 ++++
 gdb/target.c  | 4 ++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b06398a..0ce33f2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2019-02-05  Tom Tromey  <tom@tromey.com>
+
+	* target.c (target_stack::unpush): Move assertion earlier.
+
 2019-01-30  Tom Tromey  <tom@tromey.com>
 
 	PR python/23615:
diff --git a/gdb/target.c b/gdb/target.c
index c5502ce..c1ab07f 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -598,14 +598,14 @@ unpush_target (struct target_ops *t)
 bool
 target_stack::unpush (target_ops *t)
 {
+  gdb_assert (t != NULL);
+
   strata stratum = t->stratum ();
 
   if (stratum == dummy_stratum)
     internal_error (__FILE__, __LINE__,
 		    _("Attempt to unpush the dummy target"));
 
-  gdb_assert (t != NULL);
-
   /* Look for the specified target.  Note that a target can only occur
      once in the target stack.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]