|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 7198 (0x1c1e)
Types: TextFile
Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦ebaaca886⟧
└─⟦this⟧
-- Copyright 1986, 1987, 1988 Verdix Corporation
------------------------------------------------------------------------------
-- User interface to the exception subcodes, predefined exception strings
-- and the routine for raising an exception.
------------------------------------------------------------------------------
with system;
package v_i_raise is
pragma suppress(ALL_CHECKS);
pragma suppress(EXCEPTION_TABLES);
pragma not_elaborated;
last_xcpt: constant := 98;
-- Exception subcodes user by debugger.
type xcpt_t is range 0 .. last_xcpt;
undefined_xcpt: constant xcpt_t := 0;
value_lbound_xcpt: constant xcpt_t := 1;
value_ubound_xcpt: constant xcpt_t := 2;
index_lbound_xcpt: constant xcpt_t := 3;
index_ubound_xcpt: constant xcpt_t := 4;
slice_lbound_xcpt: constant xcpt_t := 5;
slice_ubound_xcpt: constant xcpt_t := 6;
str_len_xcpt: constant xcpt_t := 7;
agg_lbound_xcpt: constant xcpt_t := 8;
agg_ubound_xcpt: constant xcpt_t := 9;
cat_len_xcpt: constant xcpt_t := 10;
array_size_xcpt: constant xcpt_t := 11;
index_match_xcpt: constant xcpt_t := 12;
no_pred_xcpt: constant xcpt_t := 13;
no_succ_xcpt: constant xcpt_t := 14;
val_attr_lbound_xcpt: constant xcpt_t := 15;
val_attr_ubound_xcpt: constant xcpt_t := 16;
delta_xcpt: constant xcpt_t := 17;
digits_xcpt: constant xcpt_t := 18;
neg_exp_xcpt: constant xcpt_t := 19;
accuracy_xcpt: constant xcpt_t := 20;
decl_elab_xcpt: constant xcpt_t := 21;
task_elab_xcpt: constant xcpt_t := 22;
div_by_0_xcpt: constant xcpt_t := 23;
dscrmt_xcpt: constant xcpt_t := 24;
variant_xcpt: constant xcpt_t := 25;
tag_xcpt: constant xcpt_t := 26;
match_lbound_xcpt: constant xcpt_t := 27;
match_ubound_xcpt: constant xcpt_t := 28;
null_deref_xcpt: constant xcpt_t := 29;
select_else_xcpt: constant xcpt_t := 30;
no_return_xcpt: constant xcpt_t := 31;
agg_other_xcpt: constant xcpt_t := 32;
propagation_xcpt: constant xcpt_t := 33;
raise_xcpt: constant xcpt_t := 34;
reraise_xcpt: constant xcpt_t := 35;
real_accuracy_xcpt: constant xcpt_t := 36;
subp_elab_xcpt: constant xcpt_t := 37;
accept_xcpt: constant xcpt_t := 38;
index_range_lbound_xcpt:constant xcpt_t := 39;
index_range_ubound_xcpt:constant xcpt_t := 40;
range_lbound_xcpt: constant xcpt_t := 41;
range_ubound_xcpt: constant xcpt_t := 42;
enum_value_xcpt: constant xcpt_t := 43;
enum_syntax_xcpt: constant xcpt_t := 44;
out_of_memory_xcpt: constant xcpt_t := 45;
out_of_lheap_xcpt: constant xcpt_t := 46;
int_syntax_xcpt: constant xcpt_t := 47;
int_base_xcpt: constant xcpt_t := 48;
neg_int_exponent_xcpt: constant xcpt_t := 49;
int_too_big_xcpt: constant xcpt_t := 50;
int_digit_base_xcpt: constant xcpt_t := 51;
int_magnitude_xcpt: constant xcpt_t := 52;
pos_val_xcpt: constant xcpt_t := 53;
call_complete_xcpt: constant xcpt_t := 54;
call_abnormal_xcpt: constant xcpt_t := 55;
propogated_xcpt: constant xcpt_t := 56;
aborted_xcpt: constant xcpt_t := 57;
completed_xcpt: constant xcpt_t := 58;
all_closed_xcpt: constant xcpt_t := 59;
not_value_xcpt: constant xcpt_t := 60;
terminated_xcpt: constant xcpt_t := 61;
convert_xcpt: constant xcpt_t := 62;
flt_div_by_0_xcpt: constant xcpt_t := 63;
flt_underflow_xcpt: constant xcpt_t := 64;
flt_overflow_xcpt: constant xcpt_t := 65;
flt_subrange_xcpt: constant xcpt_t := 66;
deallocated_pool_xcpt: constant xcpt_t := 67;
bad_claim_xcpt: constant xcpt_t := 68;
noextend_pool_xcpt: constant xcpt_t := 69;
index_xcpt: constant xcpt_t := 70;
value_xcpt: constant xcpt_t := 71;
stack_limit_xcpt: constant xcpt_t := 72;
generic_elab_xcpt: constant xcpt_t := 73;
match_accuracy_xcpt: constant xcpt_t := 74;
constraint_compat_xcpt: constant xcpt_t := 75;
no_image_xcpt: constant xcpt_t := 76;
passive_tasking_xcpt: constant xcpt_t := 77;
inline_only_xcpt: constant xcpt_t := 78;
cifo_make_access_xcpt: constant xcpt_t := 79;
addr_aln_xcpt: constant xcpt_t := 80;
passive_not_elab_xcpt: constant xcpt_t := 81;
passive_call_xcpt: constant xcpt_t := 82;
passive_isr_xcpt: constant xcpt_t := 83;
intr_vector_xcpt: constant xcpt_t := 84;
intr_entry_xcpt: constant xcpt_t := 85;
bound_intr_entry_xcpt: constant xcpt_t := 86;
rec_type_xcpt: constant xcpt_t := 87;
isr_wait_xcpt: constant xcpt_t := 88;
isr_service_xcpt: constant xcpt_t := 89;
isr_cond_wait_xcpt: constant xcpt_t := 90;
isr_mutex_lock_xcpt: constant xcpt_t := 91;
no_prio_ceiling_xcpt: constant xcpt_t := 92;
msg_err_xcpt: constant xcpt_t := 93;
down_station_xcpt: constant xcpt_t := 94;
ceiling_select_xcpt: constant xcpt_t := 95;
interrupt_entry_xcpt: constant xcpt_t := 96;
bad_cifo_isr_xcpt: constant xcpt_t := 97;
entry_criteria_xcpt: constant xcpt_t := 98;
-- remember to change the value of last_xcpt
-- also need to update ../fe/exceptions.i and ../fe/exceptions.h
--
-- Predefined ADA exception strings
--
constraint_error_image: string(1..1);
pragma interface_name(constraint_error_image,
"_A_constraint_error.EXCEPTION");
numeric_error_image: string(1..1);
pragma interface_name(numeric_error_image,
"_A_numeric_error.EXCEPTION");
program_error_image: string(1..1);
pragma interface_name(program_error_image,
"_A_program_error.EXCEPTION");
storage_error_image: string(1..1);
pragma interface_name(storage_error_image,
"_A_storage_error.EXCEPTION");
tasking_error_image: string(1..1);
pragma interface_name(tasking_error_image,
"_A_tasking_error.EXCEPTION");
communication_error_image: string(1..1);
pragma interface_name(communication_error_image,
"_A_communication_error.EXCEPTION");
rts_msg: xcpt_t;
pragma interface_name(rts_msg, "__RTS_MSG");
--------------------------------------------------------------------------
-- Raise routine called by the Ada run-time routines.
-- Msg is an index into a table of diagnostics that the debugger has.
--------------------------------------------------------------------------
procedure rts_raise(image:in system.address; msg: in xcpt_t);
-- Interface to the raise routine as called directly by the compiler
procedure raise_exception(identifier : system.address);
private
pragma interface(ADA, rts_raise);
pragma interface_name(rts_raise, "__RTS_RAISE");
pragma interface(Ada, raise_exception);
pragma interface_name(raise_exception, "RAISE");
end v_i_raise