Subversion Repositories tendra.SVN

Rev

Rev 2 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
/*
2
    		 Crown Copyright (c) 1997
3
 
4
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
12
 
13
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
15
 
16
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
19
 
20
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
22
        these conditions;
23
 
24
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
27
        it may be put.
28
*/
29
 
30
 
31
/**********************************************************************
32
$Author: release $
33
$Date: 1998/01/17 15:55:48 $
34
$Revision: 1.1.1.1 $
35
$Log: dwarf_out.h,v $
36
 * Revision 1.1.1.1  1998/01/17  15:55:48  release
37
 * First version to be checked into rolling release.
38
 *
39
 * Revision 1.2  1995/09/28  12:39:52  pwe
40
 * dwarf.h via import, and type changes for tcc checks
41
 *
42
 * Revision 1.1.1.1  1995/08/14  14:30:23  pwe
43
 * transferred from DJCH
44
 *
45
**********************************************************************/
46
 
47
extern void 	dwarf4 PROTO_S ((CONST char *t));
48
extern void 	dwarf4n PROTO_S ((int x));
49
extern void 	dwarf2 PROTO_S ((char *c));
50
extern void 	out_dwarf_thing PROTO_S ((int t,char *cmt));
51
extern void 	out_dwarfone PROTO_S ((int t,char *cmt));
52
 
53
extern void	enter_dwarf_blk PROTO_S ((int four,int excl, dwarf_label *lb));
54
extern void	new_dwarf_blk2 PROTO_S ((void));
55
extern void	new_dwarf_blk4 PROTO_S ((void));
56
extern void	leave_dwarf_blk1 PROTO_S ((int leave));
57
 
58
extern void out_diagnose_prelude PROTO_S ((void));
59
extern void out_diagnose_postlude PROTO_S ((void));
60
 
61
extern void enter_dwarf_comp_unit PROTO_S ((void));
62
extern void leave_dwarf_comp_unit PROTO_S ((void));
63
 
64
extern void 			next_dwarf_lab PROTO_S ((dwarf_label *p));
65
extern dwarf_type_label * 	next_dwarf_type_lab PROTO_S ((void));
66
extern char * 			current_label_name PROTO_S ((void));
67
 
68
#include "dwarf_gbl.h"
69
extern void 	out_dwarf_name_attr PROTO_S ((CONST char * CONST s));
70
#define 	TDFSTRING2CHAR(x) (&(((x).ints.chars)[0]))
71
extern void 	out_dwarf_string PROTO_S ((CONST char * CONST s));
72
extern void 	out_dwarf_sourcemark PROTO_S ((CONST sourcemark * CONST x));
73
 
74
extern void 	out_dwarf_bytesize_attr PROTO_S ((shape t));
75
 
76
#define OUT_DWARF_LOC_BLK(x) 	out_dwarf_thing((int)x, "loc blk")
77
 
78
#if FS_STDC_HASH
79
#define OUT_DWARF_TAG(x)	out_dwarf_thing(x,#x)
80
#define OUT_DWARF_TAG_NAMED(x,y)	out_dwarf_thing(x,y)
81
#define OUT_DWARF_ATTR(x)	out_dwarf_thing(x,#x)
82
#define dwarf2c(x)		out_dwarf_thing(x,#x)
83
#define dwarf1(x)		out_dwarfone(x,#x)
84
#else
85
#define OUT_DWARF_TAG(x)	out_dwarf_thing(x,"x")
86
#define OUT_DWARF_TAG_NAMED(x,y)	out_dwarf_thing(x,y)
87
#define OUT_DWARF_ATTR(x)	out_dwarf_thing(x,"x")
88
#define dwarf2c(x)		out_dwarf_thing(x,"x")
89
#define dwarf1(x)		out_dwarfone(x,"x")
90
#endif
91
 
92
#define enter_dwarf_entry(lb) enter_dwarf_blk(1,0,lb)
93
#define leave_dwarf_blk() leave_dwarf_blk1(1)
94
#define leave_dwarf_blk2() leave_dwarf_blk1(0)
95
#define leave_dwarf_blk4() leave_dwarf_blk1(1)
96
 
97
extern void start_sib_chain1 PROTO_S ((int d_tag, char *tag_name));
98
extern void cont_sib_chain1 PROTO_S ((int d_tag, char *tag_name));
99
extern void end_sib_chain PROTO_S ((void));
100
extern void make_next_new_chain PROTO_S ((void));
101
 
102
#if FS_STDC_HASH
103
#define start_sib_chain(x) start_sib_chain1(x,#x)
104
#define cont_sib_chain(x) cont_sib_chain1(x,#x)
105
#else
106
#define start_sib_chain(x) start_sib_chain1(x,"x")
107
#define cont_sib_chain(x) cont_sib_chain1(x,"x")
108
#endif
109
 
110
 
111
extern void out_dwarf_lab PROTO_S ((H_dwarf_lab *l));
112
#ifdef mips
113
#define OUT_DWARF_BEG(x) out_dwarf_lab((H_dwarf_lab *)&(((x)->beg)[0]))
114
#define OUT_DWARF_END(x) out_dwarf_lab((H_dwarf_lab *)&(((x)->end)[0]))
115
#else
116
#define OUT_DWARF_BEG(x) out_dwarf_lab(&((x)->beg))
117
#define OUT_DWARF_END(x) out_dwarf_lab(&((x)->end))
118
#endif