2010-03-31 Tristan Gingold <gingold@adacore.com>

* dcx.h: New file.
	* dsc.h: New file.
	* esdfm.h: New file.
	* esdfv.h: New file.
	* internal.h: New file.
	* lbr.h: New file.
	* prt.h: New file.
	* shl.h (struct vms_shl): Add comments.
	* esrf.h (ESRF__B_NAMLNG): New macro.
	* esdf.h (ESDF__B_NAMLNG): New macro.
	* emh.h: Add macros for fields maximum value.
	* eisd.h (EISD__M_PROTECT): Fix typo in comment.
	Add macros for offsets, version, section type and match control.
	Merge vms_eisd_ext into vms_eisd.
	* eihvn.h (EIHVN__MULTI_PROCESSING_BIT, EIHVN__GALAXY_BIT): Added.
	* eihs.h: Remove blank line.
	* eihd.h (struct vms_eihd): Add comments, add image subtype names.
	* eiha.h (struct vms_eiha): Add inishr and inishr_h fields.
	* eiaf.h (struct vms_eiaf): Fix base_va size.
	* egsy.h: Add comments.
	* egsd.h: Remove blank line.
	* egps.h: Add flag names.
	* eeom.h (EEOM__M_WKTFR): Added.
	* dst.h (DST__K_CXX): Added, and reident languages.
	(DST__K_SRC_INCRLNUM_B): Added.
	Indent and order pcline commands.
	Add record begin/end, enumerations, type specification, value
	specification, label, discontinue range definitions.
This commit is contained in:
Tristan Gingold
2010-03-31 07:35:54 +00:00
parent aed3b6cda2
commit 2aec20905e
23 changed files with 877 additions and 36 deletions

View File

@ -38,10 +38,11 @@ struct vms_dst_header
#define DST__K_MODBEG 188
/* Some well known languages. */
#define DST__K_MACRO 0
#define DST__K_BLISS 2
#define DST__K_C 7
#define DST__K_ADA 9
#define DST__K_MACRO 0
#define DST__K_BLISS 2
#define DST__K_C 7
#define DST__K_ADA 9
#define DST__K_CXX 15
struct vms_dst_modbeg
{
@ -79,15 +80,27 @@ struct vms_dst_pcline
unsigned char field[4];
};
#define DST__K_DELTA_PC_W 1
#define DST__K_INCR_LINUM 2
#define DST__K_INCR_LINUM_W 3
#define DST__K_SET_LINUM 9
#define DST__K_SET_LINUM_B 19
#define DST__K_SET_LINUM_L 20
#define DST__K_TERM 14
#define DST__K_SET_ABS_PC 16
#define DST__K_DELTA_PC_L 17
#define DST__K_DELTA_PC_W 1
#define DST__K_INCR_LINUM 2
#define DST__K_INCR_LINUM_W 3
#define DST__K_SET_LINUM_INCR 4
#define DST__K_SET_LINUM_INCR_W 5
#define DST__K_RESET_LINUM_INCR 6
#define DST__K_BEG_STMT_MODE 7
#define DST__K_END_STMT_MODE 8
#define DST__K_SET_LINUM 9
#define DST__K_SET_PC 10
#define DST__K_SET_PC_W 11
#define DST__K_SET_PC_L 12
#define DST__K_SET_STMTNUM 13
#define DST__K_TERM 14
#define DST__K_TERM_W 15
#define DST__K_SET_ABS_PC 16
#define DST__K_DELTA_PC_L 17
#define DST__K_INCR_LINUM_L 18
#define DST__K_SET_LINUM_B 19
#define DST__K_SET_LINUM_L 20
#define DST__K_TERM_L 21
/* Routine end. */
#define DST__K_RTNEND 191
@ -146,6 +159,7 @@ struct vms_dst_blkend
#define DST__K_SRC_SETREC_W 4
#define DST__K_SRC_SETLNUM_L 5
#define DST__K_SRC_SETLNUM_W 6
#define DST__K_SRC_INCRLNUM_B 7
#define DST__K_SRC_DEFLINES_W 10
#define DST__K_SRC_DEFLINES_B 11
#define DST__K_SRC_FORMFEED 16
@ -162,4 +176,99 @@ struct vms_dst_src_decl_src
/* Filename ASCIC. */
};
/* Record begin. */
#define DST__K_RECBEG 171
struct vms_dst_recbeg
{
unsigned char vflags;
unsigned char value[4];
/* Filename ASCIC. */
};
/* Record end. */
#define DST__K_RECEND 172
/* Enumeration begin. */
#define DST__K_ENUMBEG 165
/* Enumeration element. */
#define DST__K_ENUMELT 164
/* Enumeration end. */
#define DST__K_ENUMEND 166
/* Separate type specification. */
#define DST__K_SEPTYP 163
/* Type specification. */
#define DST__K_TYPSPEC 175
#define DST__K_TS_ATOM 1 /* Atomic. */
#define DST__K_TS_DSC 2 /* VMS Standard descriptor. */
#define DST__K_TS_IND 3 /* Indirect. */
#define DST__K_TS_TPTR 4 /* Typed pointer. */
#define DST__K_TS_PTR 5 /* Pointer. */
#define DST__K_TS_PIC 6 /* Pictured. */
#define DST__K_TS_ARRAY 7
#define DST__K_TS_SET 8
#define DST__K_TS_SUBRANGE 9 /* Subrange. */
#define DST__K_TS_ADA_DSC 10 /* Ada descriptor. */
#define DST__K_TS_FILE 11
#define DST__K_TS_AREA 12 /* Area (PL/I). */
#define DST__K_TS_OFFSET 13 /* Offset (PL/I). */
#define DST__K_TS_NOV_LENG 14 /* Novel Length. */
#define DST__K_TS_IND_TSPEC 15 /* Internal to debugger. */
#define DST__K_TS_SELF_REL_LABEL 16 /* Self-relative label (PL/I). */
#define DST__K_TS_RFA 17 /* (Basic). */
#define DST__K_TS_TASK 18 /* (Ada). */
#define DST__K_TS_ADA_ARRAY 19
#define DST__K_TS_XMOD_IND 20 /* Cross-module indirect type spec. */
#define DST__K_TS_CONSTRAINED 21 /* (Ada). */
#define DST__K_TS_MAYBE_CONSTR 22 /* Might-be-constrained (Ada). */
#define DST__K_TS_DYN_LOV_LENG 23
#define DST__K_TS_TPTR_D 24 /* Typed pointer to descriptor. */
#define DST__K_TS_SCAN_TREE 25
#define DST__K_TS_SCAN_TREEPTR 26
#define DST__K_TS_INCOMPLETE 27
#define DST__K_TS_BLISS_BLOCK 28
#define DST__K_TS_TPTR_64 29
#define DST__K_TS_PTR_64 30
#define DST__K_TS_REF 31 /* C++ referenced type. */
#define DST__K_TS_REF_64 32
/* Value Specification. */
#define DST__K_VFLAGS_NOVAL 128 /* No value. */
#define DST__K_VFLAGS_NOTACTIVE 248 /* Not active at current PC. */
#define DST__K_VFLAGS_UNALLOC 249 /* Not allocated. */
#define DST__K_VFLAGS_DSC 250 /* Descriptor format. */
#define DST__K_VFLAGS_TVS 251 /* Trailing value spec. */
#define DST__K_VS_FOLLOWS 253 /* Value specification follow. */
#define DST__K_VFLAGS_BITOFFS 255 /* Value is a bit offset. */
/* Vflags fields. */
#define DST__K_VALKIND_MASK 0x03
#define DST__K_INDIR 0x04
#define DST__K_DISP 0x08
#define DST__K_REGNUM_MASK 0xf0
#define DST__K_REGNUM_SHIFT 4
#define DST__K_VALKIND_LITERAL 0
#define DST__K_VALKIND_ADDR 1
#define DST__K_VALKIND_DESC 2
#define DST__K_VALKIND_REG 3
/* Label. */
#define DST__K_LABEL 187
struct vms_dst_label
{
unsigned char unused;
unsigned char value[4];
unsigned char name[1];
};
/* Discontiguous range. */
#define DST__K_DIS_RANGE 118
#endif /* _VMS_DST_H */