! *** PREDECLARED TYPES %IF %DECLARED ( %BASIC$QUADWORD_DECLARED ) = 0 %THEN RECORD BASIC$QUADWORD LONG FILL ( 2 ) END RECORD %LET %BASIC$QUADWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$OCTAWORD_DECLARED ) = 0 %THEN RECORD BASIC$OCTAWORD LONG FILL ( 4 ) END RECORD %LET %BASIC$OCTAWORD_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$HFLOAT_AXP_DECLARED ) = 0 %THEN RECORD BASIC$HFLOAT_AXP LONG FILL ( 4 ) END RECORD %LET %BASIC$HFLOAT_AXP_DECLARED = 1 %END %IF %IF %DECLARED ( %BASIC$F_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$F_FLOATING_COMPLEX SINGLE REAL_PART SINGLE IMAGINARY_PART END RECORD %LET %BASIC$F_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$D_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$D_FLOATING_COMPLEX DOUBLE REAL_PART DOUBLE IMAGINARY_PART END RECORD %LET %BASIC$D_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$G_FLOATING_COMPLEX_DECL ) = 0 %THEN RECORD BASIC$G_FLOATING_COMPLEX GFLOAT REAL_PART GFLOAT IMAGINARY_PART END RECORD %LET %BASIC$G_FLOATING_COMPLEX_DECL = 1 %END %IF %IF %DECLARED ( %BASIC$H_FLOAT_AXP_CMPLX_DCL ) = 0 %THEN RECORD BASIC$H_FLOATING_COMPLEX_AXP BASIC$HFLOAT_AXP REAL_PART BASIC$HFLOAT_AXP IMAGINARY_PART END RECORD %LET %BASIC$H_FLOAT_AXP_CMPLX_DCL = 1 %END %IF ! + ! Define SRM Hardware symbols ! - DECLARE LONG CONSTANT SRM$K_INT_OVF_T = 1 ! Integer overflow trap code DECLARE LONG CONSTANT SRM$K_INT_DIV_T = 2 ! Integer divide by zero trap code DECLARE LONG CONSTANT SRM$K_FLT_OVF_T = 3 ! Floating overflow trap code DECLARE LONG CONSTANT SRM$K_FLT_DIV_T = 4 ! Floating/decimal Divide by zero trap code DECLARE LONG CONSTANT SRM$K_FLT_UND_T = 5 ! Floating Underflow trap code DECLARE LONG CONSTANT SRM$K_DEC_OVF_T = 6 ! Decimal string overflow trap code DECLARE LONG CONSTANT SRM$K_SUB_RNG_T = 7 ! Subscript range trap DECLARE LONG CONSTANT SRM$K_FLT_OVF_F = 8 ! Floating Overflow fault code DECLARE LONG CONSTANT SRM$K_FLT_DIV_F = 9 ! Floating Divide by zero fault code DECLARE LONG CONSTANT SRM$K_FLT_UND_F = 10 ! Floating Underflow fault code DECLARE LONG CONSTANT SRM$M_EXC_SUM_SWC = x'00000001' DECLARE LONG CONSTANT SRM$M_EXC_SUM_INV = x'00000002' DECLARE LONG CONSTANT SRM$M_EXC_SUM_DZE = x'00000004' DECLARE LONG CONSTANT SRM$M_EXC_SUM_OVF = x'00000008' DECLARE LONG CONSTANT SRM$M_EXC_SUM_UNF = x'00000010' DECLARE LONG CONSTANT SRM$M_EXC_SUM_INE = x'00000020' DECLARE LONG CONSTANT SRM$M_EXC_SUM_IOV = x'00000040' DECLARE LONG CONSTANT SRM$S_SRM = 4 record SRM group SRM$R_EXC_SUM_OVERLAY variant case LONG SRM$L_EXC_SUM case group SRM$R_EXC_SUM_BITS LONG EXC_SUM_SWC_bits ! COMMENT ADDED BY SDL - EXC_SUM_SWC_bits contains bits EXC_SUM_SWC through fill_1 end group SRM$R_EXC_SUM_BITS end variant end group SRM$R_EXC_SUM_OVERLAY end record SRM