cvsuser     05/03/31 01:43:54

  Modified:    imcc     pbc.c
  Log:
  fix #34617
  
  Revision  Changes    Path
  1.117     +15 -12    parrot/imcc/pbc.c
  
  Index: pbc.c
  ===================================================================
  RCS file: /cvs/public/parrot/imcc/pbc.c,v
  retrieving revision 1.116
  retrieving revision 1.117
  diff -u -r1.116 -r1.117
  --- pbc.c     30 Mar 2005 16:05:31 -0000      1.116
  +++ pbc.c     31 Mar 2005 09:43:53 -0000      1.117
  @@ -476,19 +476,22 @@
                       lab = find_global_label(bsr->name, s, &pc, &s1);
                       /*
                        * if failed change opcode:
  -                     * set_p_pc  => find_name p_sc
  -                     * the the sub is a multi too
  +                     *   set_p_pc  => find_name p_sc
  +                     * if a sub label is found
  +                     *   convert to find_name, if the sub is a multi
                        */
  -                    assert(s1->unit);
  -                    if (lab && (s1->unit->type & IMC_PCCSUB)) {
  -                        ins = s1->unit->instructions;
  -                        assert(ins);
  -                        r1 = ins->r[1];
  -                        assert(r1);
  -                        pcc_sub = r1->pcc_sub;
  -                        assert(pcc_sub);
  -                        if (pcc_sub->nmulti)
  -                            lab = NULL;
  +                    if (lab) {
  +                        assert(s1->unit);
  +                        if (s1->unit->type & IMC_PCCSUB) {
  +                            ins = s1->unit->instructions;
  +                            assert(ins);
  +                            r1 = ins->r[1];
  +                            assert(r1);
  +                            pcc_sub = r1->pcc_sub;
  +                            assert(pcc_sub);
  +                            if (pcc_sub->nmulti)
  +                                lab = NULL;
  +                        }
                       }
                       if (!lab) {
                           int op, col;
  
  
  

Reply via email to