diff options
author | Jason Molenda <jmolenda@apple.com> | 1999-10-05 23:13:56 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 1999-10-05 23:13:56 +0000 |
commit | 2acceee2182a942e6a79a972009540990f4dfabf (patch) | |
tree | 2ed7ca473f0b49181f1d0214c3450a7eb17f7bcb /sim/fr30/sem-switch.c | |
parent | 3e9c42873ee1d0bbb03039baea78c617174f9269 (diff) | |
download | gdb-2acceee2182a942e6a79a972009540990f4dfabf.zip gdb-2acceee2182a942e6a79a972009540990f4dfabf.tar.gz gdb-2acceee2182a942e6a79a972009540990f4dfabf.tar.bz2 |
import gdb-1999-10-04 snapshot
Diffstat (limited to 'sim/fr30/sem-switch.c')
-rw-r--r-- | sim/fr30/sem-switch.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/sim/fr30/sem-switch.c b/sim/fr30/sem-switch.c index f73f11a..f3477e5 100644 --- a/sim/fr30/sem-switch.c +++ b/sim/fr30/sem-switch.c @@ -270,13 +270,15 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case) vpc = SEM_NEXT_VPC (sem_arg, pc, 0); { -#if WITH_SCACHE - /* Update the recorded pc in the cpu state struct. */ + /* Update the recorded pc in the cpu state struct. + Only necessary for WITH_SCACHE case, but to avoid the + conditional compilation .... */ SET_H_PC (pc); -#endif - sim_engine_invalid_insn (current_cpu, pc); - sim_io_error (CPU_STATE (current_cpu), "invalid insn not handled\n"); - /* NOTREACHED */ + /* Virtual insns have zero size. Overwrite vpc with address of next insn + using the default-insn-bitsize spec. When executing insns in parallel + we may want to queue the fault and continue execution. */ + vpc = SEM_NEXT_VPC (sem_arg, pc, 2); + vpc = sim_engine_invalid_insn (current_cpu, pc, vpc); } #undef FLD @@ -3390,7 +3392,7 @@ if (EQBI (GET_H_SBIT (), 0)) { vpc = SEM_NEXT_VPC (sem_arg, pc, 2); { -do { } while (0); /*nop*/ +((void) 0); /*nop*/ } #undef FLD @@ -3406,7 +3408,7 @@ do { } while (0); /*nop*/ IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } @@ -4509,7 +4511,7 @@ if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } @@ -4524,7 +4526,7 @@ do { } while (0); /*nop*/ IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } @@ -4539,7 +4541,7 @@ do { } while (0); /*nop*/ IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } @@ -4554,7 +4556,7 @@ do { } while (0); /*nop*/ IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } @@ -4569,7 +4571,7 @@ do { } while (0); /*nop*/ IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -do { } while (0); /*nop*/ +((void) 0); /*nop*/ #undef FLD } |