diff libinterp/parse-tree/pt-binop.cc @ 21170:1edaf1ee65eb

maint: Replace some uses of goto in libinterp. * ls-mat4.cc (read_mat_file_header): Replace "goto data_read_error" with "return -1". * ls-mat4.cc (read_mat_binary_data): Replace "goto data_read_error" with direct call to error. Move variable declarations to point of usage. * ls-mat5.cc (read_mat5_tag, write_mat5_tag): Replace "goto data_read_error" with "return 1". * ls-mat5.cc (save_mat5_binary_element): Replace "goto skip_to_next" with "return true". * ls-oct-binary.cc (read_binary_data): Replace "goto data_read_error" with direct call to error. * mex.cc (valid_key): Replace "goto done" with "return retval". * rand.cc (do_rand): Clarify comment. * pt-binop.cc (tree_binary_expression::rvalue1): Replace "goto done" with "return octave_value (xxx)" * pt-binop.cc (tree_boolean_expression::rvalue1): Replace "goto done" with "return octave_value (xxx)"
author Rik <rik@octave.org>
date Mon, 01 Feb 2016 21:16:19 -0800
parents 5e00ed38a58b
children fcac5dbbf9ed
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-binop.cc	Mon Feb 01 13:33:13 2016 -0800
+++ b/libinterp/parse-tree/pt-binop.cc	Mon Feb 01 21:16:19 2016 -0800
@@ -87,8 +87,7 @@
                   if (etype == octave_value::op_el_or)
                     {
                       matlab_style_short_circuit_warning ("|");
-                      result = true;
-                      goto done;
+                      return octave_value (true);
                     }
                 }
               else
@@ -96,7 +95,7 @@
                   if (etype == octave_value::op_el_and)
                     {
                       matlab_style_short_circuit_warning ("&");
-                      goto done;
+                      return octave_value (false);
                     }
                 }
 
@@ -107,8 +106,6 @@
                   result = b.is_true ();
                 }
 
-            done:
-
               return octave_value (result);
             }
         }
@@ -205,15 +202,12 @@
       if (a_true)
         {
           if (etype == bool_or)
-            {
-              result = true;
-              goto done;
-            }
+            return octave_value (true);
         }
       else
         {
           if (etype == bool_and)
-            goto done;
+            return octave_value (false);
         }
 
       if (op_rhs)
@@ -223,8 +217,6 @@
           result = b.is_true ();
         }
 
-    done:
-
       retval = octave_value (result);
     }