Slightly improve logic of some operations on stap-probe.c
authorSergio Durigan Junior <sergiodj@redhat.com>
Thu, 16 May 2019 20:17:30 +0000 (16:17 -0400)
committerSergio Durigan Junior <sergiodj@redhat.com>
Thu, 16 May 2019 20:26:29 +0000 (16:26 -0400)
This patch contains three very small improvement on the logic of some
operations we do on stap-probe.c.  They don't change what the code
does.

Pushed as obvious.

gdb/ChangeLog:
2019-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>

* stap-probe.c (stap_parse_register_operand): Make "if (*p->arg ==
'-')" and "else if".
(stap_parse_single_operand): Join checks for
"gdbarch_stap_parse_special_token_p" and
"gdbarch_stap_parse_special_token" in the same "if" statement.
Invert check when verifying for operation on register
displacement.

gdb/ChangeLog
gdb/stap-probe.c

index 3389167adba6ed50e682db0ef92d6086b55e28a6..c89b7039e86387fdd2c78044794f4ecd47cb32b7 100644 (file)
@@ -1,3 +1,13 @@
+2019-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * stap-probe.c (stap_parse_register_operand): Make "if (*p->arg ==
+       '-')" and "else if".
+       (stap_parse_single_operand): Join checks for
+       "gdbarch_stap_parse_special_token_p" and
+       "gdbarch_stap_parse_special_token" in the same "if" statement.
+       Invert check when verifying for operation on register
+       displacement.
+
 2019-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>
 
        * stap-probe.c (stap_get_opcode): Update comment.
index bc2f9fc85b3c4f3a799ed23445e8a2ebfc3498ba..db9231558f5772f77109e74cc322b0681cae3913 100644 (file)
@@ -705,8 +705,7 @@ stap_parse_register_operand (struct stap_parse_info *p)
         pointer.  */
       ++p->arg;
     }
-
-  if (*p->arg == '-')
+  else if (*p->arg == '-')
     {
       got_minus = true;
       ++p->arg;
@@ -842,15 +841,15 @@ stap_parse_single_operand (struct stap_parse_info *p)
   const char *int_prefix = NULL;
 
   /* We first try to parse this token as a "special token".  */
-  if (gdbarch_stap_parse_special_token_p (gdbarch))
-    if (gdbarch_stap_parse_special_token (gdbarch, p) != 0)
-      {
-       /* If the return value of the above function is not zero,
-          it means it successfully parsed the special token.
+  if (gdbarch_stap_parse_special_token_p (gdbarch)
+      && (gdbarch_stap_parse_special_token (gdbarch, p) != 0))
+    {
+      /* If the return value of the above function is not zero,
+        it means it successfully parsed the special token.
 
-          If it is NULL, we try to parse it using our method.  */
-       return;
-      }
+        If it is NULL, we try to parse it using our method.  */
+      return;
+    }
 
   if (*p->arg == '-' || *p->arg == '~' || *p->arg == '+')
     {
@@ -890,7 +889,7 @@ stap_parse_single_operand (struct stap_parse_info *p)
        {
          /* If we are here, it means it is a displacement.  The only
             operations allowed here are `-' and `+'.  */
-         if (c == '~')
+         if (c != '-' && c != '+')
            error (_("Invalid operator `%c' for register displacement "
                     "on expression `%s'."), c, p->saved_arg);