[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/