Subversion Repositories tendra.SVN

Rev

Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2 Rev 7
Line -... Line 1...
-
 
1
/*
-
 
2
 * Copyright (c) 2002-2005 The TenDRA Project <http://www.tendra.org/>.
-
 
3
 * All rights reserved.
-
 
4
 *
-
 
5
 * Redistribution and use in source and binary forms, with or without
-
 
6
 * modification, are permitted provided that the following conditions are met:
-
 
7
 *
-
 
8
 * 1. Redistributions of source code must retain the above copyright notice,
-
 
9
 *    this list of conditions and the following disclaimer.
-
 
10
 * 2. Redistributions in binary form must reproduce the above copyright notice,
-
 
11
 *    this list of conditions and the following disclaimer in the documentation
-
 
12
 *    and/or other materials provided with the distribution.
-
 
13
 * 3. Neither the name of The TenDRA Project nor the names of its contributors
-
 
14
 *    may be used to endorse or promote products derived from this software
-
 
15
 *    without specific, prior written permission.
-
 
16
 *
-
 
17
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-
 
18
 * IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-
 
19
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-
 
20
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
-
 
21
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-
 
22
 * EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-
 
23
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-
 
24
 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-
 
25
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-
 
26
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-
 
27
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
 
28
 *
-
 
29
 * $Id$
-
 
30
 */
1
/*
31
/*
2
    		 Crown Copyright (c) 1997
32
    		 Crown Copyright (c) 1997
3
    
33
 
4
    This TenDRA(r) Computer Program is subject to Copyright
34
    This TenDRA(r) Computer Program is subject to Copyright
5
    owned by the United Kingdom Secretary of State for Defence
35
    owned by the United Kingdom Secretary of State for Defence
6
    acting through the Defence Evaluation and Research Agency
36
    acting through the Defence Evaluation and Research Agency
7
    (DERA).  It is made available to Recipients with a
37
    (DERA).  It is made available to Recipients with a
8
    royalty-free licence for its use, reproduction, transfer
38
    royalty-free licence for its use, reproduction, transfer
9
    to other parties and amendment for any purpose not excluding
39
    to other parties and amendment for any purpose not excluding
10
    product development provided that any such use et cetera
40
    product development provided that any such use et cetera
11
    shall be deemed to be acceptance of the following conditions:-
41
    shall be deemed to be acceptance of the following conditions:-
12
    
42
 
13
        (1) Its Recipients shall ensure that this Notice is
43
        (1) Its Recipients shall ensure that this Notice is
14
        reproduced upon any copies or amended versions of it;
44
        reproduced upon any copies or amended versions of it;
15
    
45
 
16
        (2) Any amended version of it shall be clearly marked to
46
        (2) Any amended version of it shall be clearly marked to
17
        show both the nature of and the organisation responsible
47
        show both the nature of and the organisation responsible
18
        for the relevant amendment or amendments;
48
        for the relevant amendment or amendments;
19
    
49
 
20
        (3) Its onward transfer from a recipient to another
50
        (3) Its onward transfer from a recipient to another
21
        party shall be deemed to be that party's acceptance of
51
        party shall be deemed to be that party's acceptance of
22
        these conditions;
52
        these conditions;
23
    
53
 
24
        (4) DERA gives no warranty or assurance as to its
54
        (4) DERA gives no warranty or assurance as to its
25
        quality or suitability for any purpose and DERA accepts
55
        quality or suitability for any purpose and DERA accepts
26
        no liability whatsoever in relation to any use to which
56
        no liability whatsoever in relation to any use to which
27
        it may be put.
57
        it may be put.
28
*/
58
*/
Line 38... Line 68...
38
 * Revision 1.1.1.1  1998/01/17  15:55:52  release
68
 * Revision 1.1.1.1  1998/01/17  15:55:52  release
39
 * First version to be checked into rolling release.
69
 * First version to be checked into rolling release.
40
 *
70
 *
41
 * Revision 1.9  1998/01/09  14:47:46  pwe
71
 * Revision 1.9  1998/01/09  14:47:46  pwe
42
 * prep restructure
72
 * prep restructure
43
 *
73
 *
44
 * Revision 1.8  1997/10/23  09:37:26  pwe
74
 * Revision 1.8  1997/10/23  09:37:26  pwe
45
 * extra_diags
75
 * extra_diags
46
 *
76
 *
47
 * Revision 1.7  1997/08/23  13:46:01  pwe
77
 * Revision 1.7  1997/08/23  13:46:01  pwe
48
 * initial ANDF-DE
78
 * initial ANDF-DE
Line 65... Line 95...
65
**********************************************************************/
95
**********************************************************************/
66
 
96
 
67
#ifndef diag_config_key
97
#ifndef diag_config_key
68
#define diag_config_key
98
#define diag_config_key
69
 
99
 
70
 
100
 
71
typedef long OUTPUT_REC ;
101
typedef long OUTPUT_REC;
72
 
102
 
73
#ifdef NEWDIAGS
103
#ifdef NEWDIAGS
74
 
104
 
75
extern int dwarf2;
105
extern int dwarf2;
76
extern void dw2_proc_start PROTO_S ((exp p, dg_name d));
106
extern void dw2_proc_start(exp p, dg_name d);
77
extern void dw2_proc_end PROTO_S ((exp p));
107
extern void dw2_proc_end(exp p);
78
extern void dw2_code_info PROTO_S ((dg_info d, void (*mcode)(void *), void * args));
108
extern void dw2_code_info(dg_info d, void(*mcode)(void *), void * args);
79
extern void dw2_start_basic_block PROTO_S ((void));
109
extern void dw2_start_basic_block(void);
80
 
-
 
81
extern void code_diag_info PROTO_S ((diag_info * d, void (*mcode)(void *), void * args));
-
 
82
extern void out_diag_global PROTO_S ((dg_name di, int global, int cname, char* pname));
-
 
83
extern void diag_proc_begin PROTO_S ((dg_name di, int global, int cname, char* pname));
-
 
84
extern void diag_proc_end PROTO_S ((void));
-
 
85
 
110
 
-
 
111
extern void code_diag_info(diag_info *d, void(*mcode)(void *), void * args);
-
 
112
extern void out_diag_global(dg_name di, int global, int cname, char* pname);
-
 
113
extern void diag_proc_begin(dg_name di, int global, int cname, char* pname);
-
 
114
extern void diag_proc_end(void);
-
 
115
 
-
 
116
 
-
 
117
 
-
 
118
#define DIAG_VAL_BEGIN(d,g,c,s)	if (!dwarf2)\
-
 
119
				  out_diag_global(d, g, c, s);
-
 
120
 
-
 
121
#define DIAG_VAL_END(d)
86
 
122
 
-
 
123
#define DIAG_PROC_BEGIN(d,g,c,s,p) if (dwarf2)\
-
 
124
				     dw2_proc_start(p, d);\
-
 
125
				   else \
-
 
126
				     diag_proc_begin(d, g, c, s);
87
 
127
 
88
#define DIAG_VAL_BEGIN(d,g,c,s)	if (!dwarf2) \
-
 
89
				  out_diag_global (d, g, c, s);
-
 
90
 
-
 
91
#define DIAG_VAL_END(d)	
-
 
92
	
-
 
93
#define DIAG_PROC_BEGIN(d,g,c,s,p) if (dwarf2) \
-
 
94
				  dw2_proc_start (p, d);\
-
 
95
				else \
-
 
96
				  diag_proc_begin (d, g, c, s);
-
 
97
 
-
 
98
#define DIAG_PROC_END(d,p)	if (dwarf2) \
128
#define DIAG_PROC_END(d,p)	if (dwarf2)\
99
				  dw2_proc_end (p);\
129
				  dw2_proc_end(p);\
100
				else \
130
				else \
101
				  diag_proc_end ();
131
				  diag_proc_end();
102
 
132
 
103
#define CODE_DIAG_INFO(d,n,x,a)	if (dwarf2) \
133
#define CODE_DIAG_INFO(d,n,x,a)	if (dwarf2)\
104
				  dw2_code_info (d, x, a);\
134
				  dw2_code_info(d, x, a);\
105
				else \
135
				else \
106
				  code_diag_info (d, x, a);
136
				  code_diag_info(d, x, a);
107
 
137
 
108
 
138
 
109
#define START_BB()		if (dwarf2) \
139
#define START_BB()		if (dwarf2)\
110
				  dw2_start_basic_block ();
140
				  dw2_start_basic_block();
111
 
141
 
112
 
142
 
113
#else
143
#else
114
 
144
 
115
#define INSPECT_FILENAME( x )	stab_collect_files ( x )
145
#define INSPECT_FILENAME(x)	stab_collect_files(x)
116
#define NEW_DIAG_GLOBAL( x )	( x )
146
#define NEW_DIAG_GLOBAL(x)	(x)
117
#define OUTPUT_DIAG_TAGS()	stab_tagdefs ()
147
#define OUTPUT_DIAG_TAGS()	stab_tagdefs()
118
#define OUTPUT_GLOBALS_TAB()	stab_typedefs ()
148
#define OUTPUT_GLOBALS_TAB()	stab_typedefs()
119
 
149
 
120
extern void stab_collect_files PROTO_S ((dg_filename f));
150
extern void stab_collect_files(dg_filename f);
121
extern void stab_tagdefs PROTO_S((void));
151
extern void stab_tagdefs(void);
122
extern void stab_typedefs PROTO_S((void));
152
extern void stab_typedefs(void);
123
 
153
 
124
#endif
154
#endif
125
 
155
 
126
#define STABS
156
#define STABS
127
 
157
 
128
extern void init_stab_aux PROTO_S((void));
158
extern void init_stab_aux(void);
129
 
159
 
130
#endif
160
#endif