bugGNU Octave - Bugs: bug #62080, Unexpected warnings with...

 
 

bug #62080: Unexpected warnings with octave_base_dld_value class -- are they harmless?

Submitter:  Arun Giridhar <arungiridhar>
Submitted:  Fri 18 Feb 2022 04:50:20 PM UTC
   
 
Category:  Interpreter Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unexpected Error or Warning
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 19 Feb 2022 05:55:20 PM UTC, comment #4: 

I no longer see these warnings on the CI-runners compiling with clang.

Closing as fixed.

Markus Mützel <mmuetzel>
Group administrator
Sat 19 Feb 2022 03:27:30 AM UTC, comment #3: 

The octave_base_dld_value class should be identical to the octave_base_value class except for the addition of a reference to the dynamic library in which it was created, so the assignment operator should be deleted, same as for the base class.  I checked in the following changeset on stable and merged with default.

http://hg.savannah.gnu.org/hgweb/octave/rev/1382d6a6e782

Marking as ready for test.

John W. Eaton <jwe>
Group administrator
Fri 18 Feb 2022 10:58:14 PM UTC, comment #2: 

What is the desired behavior in this case?

  • Should it be deleted silently without a warning, meaning is the compiler warning overzealous? If so, that warning in Clang can be suppressed with -Wnodefaulted-function-deleted.




Arun Giridhar <arungiridhar>
Group Member
Fri 18 Feb 2022 05:48:57 PM UTC, comment #1: 

I didn't see warnings like that with GCC, but either way, I'll fix.

John W. Eaton <jwe>
Group administrator
Fri 18 Feb 2022 04:50:20 PM UTC, original submission:  

The octave_base_dld_value class was added in this recent changeset: https://hg.savannah.gnu.org/hgweb/octave/rev/b92316e295a2

There is a sudden large increase in compiler warnings like the following, using Clang 13.0.1. Please verify if they are harmless warnings.


../libinterp/octave-value/ov-base.h:933:26: warning: explicitly defaulted copy assignment operator is implicitly deleted [-Wdefaulted-function-deleted]
  octave_base_dld_value& operator = (const octave_base_dld_value&) = default;
                         ^
../libinterp/octave-value/ov-base.h:920:25: note: copy assignment operator of 'octave_base_dld_value' is implicitly deleted because base class 'octave_base_value' has a deleted copy assignment operator
octave_base_dld_value : public octave_base_value
                        ^
../libinterp/octave-value/ov-base.h:899:37: note: copy assignment operator of 'octave_base_value' is implicitly deleted because field 'count' has a deleted copy assignment operator
  octave::refcount<octave_idx_type> count;
                                    ^
../liboctave/util/oct-refcount.h:50:15: note: 'operator=' has been explicitly marked deleted here
    refcount& operator = (const refcount&) = delete;
              ^


Arun Giridhar <arungiridhar>
Group Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mmuetzel (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by arungiridhar (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-02-19 mmuetzel CategoryNone Interpreter
        StatusReady For Test Fixed
        Open/ClosedOpen Closed
        Operating SystemGNU/Linux Any
    2022-02-19 jwe StatusNone Ready For Test

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code