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

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

[Octave-bug-tracker] [bug #64704] VM error with chained indexing express


From: Petter
Subject: [Octave-bug-tracker] [bug #64704] VM error with chained indexing expression
Date: Fri, 22 Sep 2023 20:17:37 -0400 (EDT)

Follow-up Comment #1, bug #64704 (project octave):


VM Fix '[]' as rhs in chained subassigns (bug #64704)

Using the constant '[]' as rhs in e.g. 'a(ii) = b(ii) = []' made
'[]' lose its deleting abilities on 'a' due to call to storable().

* libinterp/parse-tree/pt-bytecode-vm.cc: New opcode DUP_MOVE
* libinterp/parse-tree/pt-bytecode-walk.cc: Use DUP_MOVE instead of slots
                                            and FORCE_ASSIGN
* libinterp/parse-tree/pt-bytecode.h: Opcode enum
* test/compile/bytecode_subsasgn.m: Update tests


Please see attached patch.

It seems like a call to 'make_storable_value()' on the '[]' constant makes it
lose its magic capabilities.

(file #55160)

    _______________________________________________________

Additional Item Attachment:

File name: octave_32322.patch             Size:8 KB
    <https://file.savannah.gnu.org/file/octave_32322.patch?file_id=55160>



    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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