Changeset 1ebc1a62 in mainline for uspace/app/sbi/src/run_expr.c
- Timestamp:
- 2010-03-29T20:30:29Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a95310e
- Parents:
- 5da468e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/sbi/src/run_expr.c
r5da468e r1ebc1a62 210 210 sym = symbol_lookup_in_csi(run->program, csi, nameref->name); 211 211 212 /* Existence should have been verified in type checking phase. */ 213 assert(sym != NULL); 214 212 215 switch (sym->sc) { 213 216 case sc_csi: … … 857 860 run_dereference(run, arg, &darg); 858 861 862 if (run->thread_ar->bo_mode != bm_none) { 863 *res = run_recovery_item(run); 864 return; 865 } 866 859 867 /* Try again. */ 860 868 run_access_item(run, access, darg, res); … … 1021 1029 run_expr(run, call->fun, &rfun); 1022 1030 1031 if (run->thread_ar->bo_mode != bm_none) { 1032 *res = run_recovery_item(run); 1033 return; 1034 } 1035 1023 1036 if (rfun->ic != ic_value || rfun->u.value->var->vc != vc_deleg) { 1024 1037 printf("Unimplemented: Call expression of this type.\n"); 1025 *res = NULL; 1026 return; 1038 exit(1); 1027 1039 } 1028 1040 … … 1182 1194 printf("Error: Array index (value: %d) is out of range.\n", 1183 1195 arg_val); 1184 exit(1); 1196 run_raise_error(run); 1197 *res = run_recovery_item(run); 1198 return; 1185 1199 } 1186 1200
Note:
See TracChangeset
for help on using the changeset viewer.