octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #64975] Octave for Windows extremely slow


From: Arun Giridhar
Subject: [Octave-bug-tracker] [bug #64975] Octave for Windows extremely slow
Date: Sun, 10 Dec 2023 14:03:10 -0500 (EST)

Follow-up Comment #23, bug#64975 (group octave):

With Clang 16.0.6 on Linux, there are a large number of warnings like this,
apparently because m_glob is a unique_ptr.

In file included from ../libinterp/corefcn/defun.h:35:
In file included from ../libinterp/corefcn/defun-int.h:33:
In file included from ../libinterp/octave-value/ov-builtin.h:35:
In file included from ../libinterp/octave-value/ov-fcn.h:39:
In file included from ../libinterp/corefcn/symscope.h:38:
../liboctave/util/glob-match.h:116:3: warning: explicitly defaulted copy
constructor is implicitly deleted [-Wdefaulted-function-deleted]
  symbol_match (const symbol_match&) = default;
  ^
../liboctave/util/glob-match.h:128:31: note: copy constructor of
'symbol_match' is implicitly deleted because field 'm_glob' has a deleted copy
constructor
  std::unique_ptr<glob_match> m_glob;
                              ^
/usr/include/c++/13.2.1/bits/unique_ptr.h:522:7: note: 'unique_ptr' has been
explicitly marked deleted here
      unique_ptr(const unique_ptr&) = delete;
      ^
../liboctave/util/glob-match.h:116:40: note: replace 'default' with 'delete'
  symbol_match (const symbol_match&) = default;
                                       ^~~~~~~
                                       delete
../liboctave/util/glob-match.h:118:17: warning: explicitly defaulted copy
assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
  symbol_match& operator = (const symbol_match&) = default;
                ^
../liboctave/util/glob-match.h:128:31: note: copy assignment operator of
'symbol_match' is implicitly deleted because field 'm_glob' has a deleted copy
assignment operator
  std::unique_ptr<glob_match> m_glob;
                              ^
/usr/include/c++/13.2.1/bits/unique_ptr.h:523:19: note: 'operator=' has been
explicitly marked deleted here
      unique_ptr& operator=(const unique_ptr&) = delete;
                  ^
../liboctave/util/glob-match.h:118:52: note: replace 'default' with 'delete'
  symbol_match& operator = (const symbol_match&) = default;
                                                   ^~~~~~~
                                                   delete


Replacing `default` with `delete` in two places in liboctave/util/glob-match.h
as the compiler says eliminates the warnings.


diff -r 19f51c7fa341 liboctave/util/glob-match.h
--- a/liboctave/util/glob-match.h       Sun Dec 10 18:01:29 2023 +0100
+++ b/liboctave/util/glob-match.h       Sun Dec 10 13:54:58 2023 -0500
@@ -113,9 +113,9 @@ public:
 
   symbol_match (const std::string& pattern);
 
-  symbol_match (const symbol_match&) = default;
+  symbol_match (const symbol_match&) = delete;
 
-  symbol_match& operator = (const symbol_match&) = default;
+  symbol_match& operator = (const symbol_match&) = delete;
 
   ~symbol_match () = default;
 


Pls verify if this change is OK across platforms.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64975>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]