DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦3605f95ac⟧ Ada Source

    Length: 9216 (0x2400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Raise, seg_04b9bc

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code




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

E3 Meta Data

    nblk1=8
    nid=0
    hdr6=10
        [0x00] rec0=1e rec1=00 rec2=01 rec3=01a
        [0x01] rec0=16 rec1=00 rec2=02 rec3=030
        [0x02] rec0=15 rec1=00 rec2=03 rec3=042
        [0x03] rec0=16 rec1=00 rec2=04 rec3=00c
        [0x04] rec0=14 rec1=00 rec2=05 rec3=04a
        [0x05] rec0=17 rec1=00 rec2=06 rec3=032
        [0x06] rec0=15 rec1=00 rec2=07 rec3=050
        [0x07] rec0=03 rec1=00 rec2=08 rec3=000
    tail 0x21548cdcc868438740899 0x42a00088462060003