|
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 - 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