Inform - Support - Patches

About Patches  

Compiler  
Library  

DM4 Errata  

Issue C62109

Second operand of @store
Submitted by: Daniel Schepler     Appeared in: Compiler 6.21 or before     Fixed in: Compiler 6.30
Problem

The @store operation (as well as @inc_chk and @dec_chk, I think) is misassembled if the second operand is a variable. The following code should illustrate the problem:

  [ Main a b;
      @store a 23;
      @store b a; ! Misassembled to @store b 1
      @print_num b;
      @new_line;
  ];
Solution

Apply this patch:

  --- asm.c~      Wed Apr 28 13:14:08 1999
  +++ asm.c       Wed Oct 10 21:06:04 2001
  @@ -1541,7 +1541,7 @@
           else
           {   put_token_back();
               AI.operand[AI.operand_count++] = parse_operand();
  -            if ((indirect_addressed)
  +            if ((indirect_addressed) && (AI.operand_count == 1)
                   && (AI.operand[AI.operand_count-1].type == VARIABLE_OT))
               {   AI.operand[AI.operand_count-1].type = SHORT_CONSTANT_OT;
                   AI.operand[AI.operand_count-1].marker = VARIABLE_MV;


Last updated 17 April 2013. This web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Roger Firth.