changeset 26922:072d0610cc56

avoid some overloaded virtual warnings (bug #55741) * ov.h (octave_value::xnumel (const octave_value_list&)): Rename from numel. Change all uses. * ov-base.h, ov-base.cc, ov-class.h, ov-class.cc, ov-classdef.h, ov-classdef.cc: Rename "numel (const octave_value_list&) method to xnumel. Change all uses.
author John W. Eaton <jwe@octave.org>
date Fri, 15 Mar 2019 07:16:27 +0000
parents 9c8ebafba517
children c81b471cdb28
files libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-base.h libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-class.h libinterp/octave-value/ov-classdef.cc libinterp/octave-value/ov-classdef.h libinterp/octave-value/ov.h libinterp/parse-tree/pt-idx.cc
diffstat 8 files changed, 17 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.cc	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-base.cc	Fri Mar 15 07:16:27 2019 +0000
@@ -191,7 +191,7 @@
 }
 
 octave_idx_type
-octave_base_value::numel (const octave_value_list& idx)
+octave_base_value::xnumel (const octave_value_list& idx)
 {
   return octave::dims_to_numel (dims (), idx);
 }
--- a/libinterp/octave-value/ov-base.h	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-base.h	Fri Mar 15 07:16:27 2019 +0000
@@ -278,7 +278,7 @@
 
   virtual Matrix size (void);
 
-  virtual octave_idx_type numel (const octave_value_list&);
+  virtual octave_idx_type xnumel (const octave_value_list&);
 
   // FIXME: Do we really need all three of these versions of subsref?
 
--- a/libinterp/octave-value/ov-class.cc	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-class.cc	Fri Mar 15 07:16:27 2019 +0000
@@ -332,10 +332,10 @@
 }
 
 octave_idx_type
-octave_class::numel (const octave_value_list& idx)
+octave_class::xnumel (const octave_value_list& idx)
 {
   if (in_class_method () || called_from_builtin ())
-    return octave_base_value::numel (idx);
+    return octave_base_value::xnumel (idx);
 
   octave_idx_type retval = -1;
   const std::string cn = class_name ();
@@ -362,7 +362,7 @@
       retval = lv(0).idx_type_value (true);
     }
   else
-    retval = octave_base_value::numel (idx);
+    retval = octave_base_value::xnumel (idx);
 
   return retval;
 }
@@ -466,7 +466,7 @@
               // Set up a proper nargout for the subsref call by calling numel.
               octave_value_list tmp;
               if (type[0] != '.') tmp = idx.front ();
-              true_nargout = numel (tmp);
+              true_nargout = xnumel (tmp);
             }
 
           retval = octave::feval (meth.function_value (), args, true_nargout);
--- a/libinterp/octave-value/ov-class.h	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-class.h	Fri Mar 15 07:16:27 2019 +0000
@@ -85,7 +85,7 @@
 
   Matrix size (void);
 
-  octave_idx_type numel (const octave_value_list&);
+  octave_idx_type xnumel (const octave_value_list&);
 
   // We don't need to override all three forms of subsref.  The using
   // declaration will avoid warnings about partially-overloaded virtual
--- a/libinterp/octave-value/ov-classdef.cc	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-classdef.cc	Fri Mar 15 07:16:27 2019 +0000
@@ -203,7 +203,7 @@
 }
 
 octave_idx_type
-octave_classdef::numel (const octave_value_list& idx)
+octave_classdef::xnumel (const octave_value_list& idx)
 {
   octave_idx_type retval = -1;
 
@@ -233,7 +233,7 @@
         }
     }
 
-  retval = octave_base_value::numel (idx);
+  retval = octave_base_value::xnumel (idx);
 
   return retval;
 }
--- a/libinterp/octave-value/ov-classdef.h	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov-classdef.h	Fri Mar 15 07:16:27 2019 +0000
@@ -110,7 +110,7 @@
                   const std::list<octave_value_list>& idx,
                   const octave_value& rhs);
 
-  octave_idx_type numel (const octave_value_list&);
+  octave_idx_type xnumel (const octave_value_list&);
 
   string_vector map_keys (void) const { return object.map_keys (); }
 
--- a/libinterp/octave-value/ov.h	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/octave-value/ov.h	Fri Mar 15 07:16:27 2019 +0000
@@ -406,8 +406,10 @@
   Matrix size (void)
   { return rep->size (); }
 
-  octave_idx_type numel (const octave_value_list& idx)
-  { return rep->numel (idx); }
+  // FIXME: should this function be deprecated and removed?  It supports
+  // an undocumented feature of Matlab.
+  octave_idx_type xnumel (const octave_value_list& idx)
+  { return rep->xnumel (idx); }
 
   // FIXME: Do we really need all these different versions of subsref
   // and related functions?
--- a/libinterp/parse-tree/pt-idx.cc	Fri Mar 15 06:56:26 2019 +0000
+++ b/libinterp/parse-tree/pt-idx.cc	Fri Mar 15 07:16:27 2019 +0000
@@ -270,7 +270,7 @@
                   tmp = Cell ();
                 }
 
-              retval.numel (tmp.numel (tidx));
+              retval.numel (tmp.xnumel (tidx));
 
               idx.push_back (tidx);
               tmpidx.push_back (tidx);
@@ -302,7 +302,7 @@
                   else if (autoconv)
                     tmp = octave_map ();
 
-                  retval.numel (tmp.numel (pidx));
+                  retval.numel (tmp.xnumel (pidx));
 
                   tmpi = i-1;
                   tmpidx.push_back (tidx);
@@ -316,7 +316,7 @@
                     }
                   else
                     {
-                      retval.numel (tmp.numel (octave_value_list ()));
+                      retval.numel (tmp.xnumel (octave_value_list ()));
 
                       tmpi = i;
                       tmpidx.push_back (tidx);