Hoist assertion in target_stack::unpush
authorTom Tromey <tom@tromey.com>
Tue, 5 Feb 2019 11:59:11 +0000 (04:59 -0700)
committerTom Tromey <tom@tromey.com>
Tue, 5 Feb 2019 13:36:48 +0000 (06:36 -0700)
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.

gdb/ChangeLog
gdb/target.c

index b06398a..0ce33f2 100644 (file)
@@ -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:
index c5502ce..c1ab07f 100644 (file)
@@ -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.  */