@@ -1581,8 +1581,8 @@ static if (NTEXCEPTIONS)
15811581 cg.refparam |= bl.bIasmrefparam;
15821582 getregs(cdbx, iasm_regs (bl)); // mark destroyed registers
15831583 code* c = cdbx.finish();
1584- if (bl.Bsucc )
1585- { nextb = bl.nthSucc( 0 ) ;
1584+ if (bl.Bsucca.length )
1585+ { nextb = bl.Bsucca[ 0 ] ;
15861586 if (! bl.Bnext)
15871587 {
15881588 cdb.append(bl.Bcode);
@@ -2067,8 +2067,7 @@ void doswitch(ref CGstate cg, ref CodeBuilder cdb, block* b)
20672067 reg = findreg(retregs); // reg that result is in
20682068 reg2 = NOREG ;
20692069 }
2070- list_t bl = b.Bsucc;
2071- block* bdefault = b.nthSucc(0 );
2070+ block* bdefault = b.Bsucca[0 ];
20722071 if (dword && mswsame)
20732072 {
20742073 cdb.genc2(0x81 ,modregrm(3 ,7 ,reg2),msw); // CMP reg2,MSW
@@ -2088,8 +2087,7 @@ void doswitch(ref CGstate cg, ref CodeBuilder cdb, block* b)
20882087 foreach (n, val; b.Bswitch)
20892088 {
20902089 casevals[n].val = val;
2091- bl = list_next(bl);
2092- casevals[n].target = list_block(bl);
2090+ casevals[n].target = b.Bsucca[1 + n];
20932091
20942092 // See if we need a scratch register
20952093 if (! cg.AArch64 && sreg == NOREG && I64 && sz == 8 && val != cast (int )val)
@@ -2564,11 +2562,9 @@ void outswitab(block* b)
25642562 assert (* poffset == offset);
25652563 }
25662564
2567- list_t bl = b.Bsucc;
25682565 foreach (n; 0 .. ncases) // send out address table
25692566 {
2570- bl = list_next(bl);
2571- objmod.reftocodeseg(seg,* poffset,list_block(bl).Boffset);
2567+ objmod.reftocodeseg(seg,* poffset,b.Bsucca[1 + n].Boffset);
25722568 * poffset += tysize(TYnptr);
25732569 }
25742570 assert (* poffset == offset + ncases * tysize(TYnptr));
0 commit comments