]>
Commit | Line | Data |
---|---|---|
fecd2382 | 1 | /* symbols.h - |
1356d77d | 2 | Copyright (C) 1987, 1990, 1992, 1993, 1994 Free Software Foundation, Inc. |
6efd877d | 3 | |
a39116f1 | 4 | This file is part of GAS, the GNU Assembler. |
6efd877d | 5 | |
a39116f1 RP |
6 | GAS is free software; you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
6efd877d | 10 | |
a39116f1 RP |
11 | GAS is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
6efd877d | 15 | |
a39116f1 RP |
16 | You should have received a copy of the GNU General Public License |
17 | along with GAS; see the file COPYING. If not, write to | |
1356d77d | 18 | the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
fecd2382 | 19 | |
6efd877d | 20 | extern struct obstack notes; /* eg FixS live here. */ |
fecd2382 | 21 | |
6efd877d | 22 | extern struct obstack cond_obstack; /* this is where we track .ifdef/.endif |
a39116f1 | 23 | (if we do that at all). */ |
fecd2382 | 24 | |
6efd877d KR |
25 | extern symbolS *symbol_rootP; /* all the symbol nodes */ |
26 | extern symbolS *symbol_lastP; /* last struct symbol we made, or NULL */ | |
fecd2382 | 27 | |
6efd877d | 28 | extern symbolS abs_symbol; |
fecd2382 | 29 | |
1356d77d ILT |
30 | extern int symbol_table_frozen; |
31 | ||
32 | /* This is non-zero if symbols are case sensitive, which is the | |
33 | default. */ | |
34 | extern int symbols_case_sensitive; | |
fecd2382 | 35 | |
2b68b820 KR |
36 | char *decode_local_label_name PARAMS ((char *s)); |
37 | symbolS *symbol_find PARAMS ((CONST char *name)); | |
38 | symbolS *symbol_find_base PARAMS ((CONST char *name, int strip_underscore)); | |
73255941 | 39 | symbolS *symbol_find_or_make PARAMS ((const char *name)); |
2b68b820 KR |
40 | symbolS *symbol_make PARAMS ((CONST char *name)); |
41 | symbolS *symbol_new PARAMS ((CONST char *name, segT segment, valueT value, | |
42 | fragS * frag)); | |
1356d77d ILT |
43 | symbolS *symbol_create PARAMS ((CONST char *name, segT segment, valueT value, |
44 | fragS * frag)); | |
73255941 | 45 | symbolS *colon PARAMS ((const char *sym_name)); |
2b68b820 KR |
46 | void local_colon PARAMS ((int n)); |
47 | void symbol_begin PARAMS ((void)); | |
48 | void symbol_table_insert PARAMS ((symbolS * symbolP)); | |
1356d77d | 49 | void resolve_symbol_value PARAMS ((symbolS *)); |
6efd877d | 50 | |
2b68b820 KR |
51 | int dollar_label_defined PARAMS ((long l)); |
52 | void dollar_label_clear PARAMS ((void)); | |
53 | void define_dollar_label PARAMS ((long l)); | |
54 | char *dollar_label_name PARAMS ((long l, int augend)); | |
6efd877d | 55 | |
2b68b820 KR |
56 | void fb_label_instance_inc PARAMS ((long label)); |
57 | char *fb_label_name PARAMS ((long n, long augend)); | |
1356d77d ILT |
58 | |
59 | extern void copy_symbol_attributes PARAMS ((symbolS *, symbolS *)); | |
fecd2382 | 60 | |
85051959 ILT |
61 | /* Get and set the values of symbols. These used to be macros. */ |
62 | extern valueT S_GET_VALUE PARAMS ((symbolS *)); | |
63 | extern void S_SET_VALUE PARAMS ((symbolS *, valueT)); | |
64 | ||
2b68b820 KR |
65 | #ifdef BFD_ASSEMBLER |
66 | extern int S_IS_EXTERNAL PARAMS ((symbolS *)); | |
67 | extern int S_IS_COMMON PARAMS ((symbolS *)); | |
68 | extern int S_IS_DEFINED PARAMS ((symbolS *)); | |
69 | extern int S_IS_DEBUG PARAMS ((symbolS *)); | |
70 | extern int S_IS_LOCAL PARAMS ((symbolS *)); | |
71 | extern int S_IS_EXTERN PARAMS ((symbolS *)); | |
72 | extern int S_IS_STABD PARAMS ((symbolS *)); | |
2b68b820 KR |
73 | extern CONST char *S_GET_NAME PARAMS ((symbolS *)); |
74 | extern segT S_GET_SEGMENT PARAMS ((symbolS *)); | |
2b68b820 KR |
75 | extern void S_SET_SEGMENT PARAMS ((symbolS *, segT)); |
76 | extern void S_SET_EXTERNAL PARAMS ((symbolS *)); | |
77 | extern void S_SET_NAME PARAMS ((symbolS *, char *)); | |
78 | extern void S_CLEAR_EXTERNAL PARAMS ((symbolS *)); | |
1356d77d | 79 | extern void S_SET_WEAK PARAMS ((symbolS *)); |
2b68b820 | 80 | #endif |
fecd2382 | 81 | |
8b228fe9 | 82 | /* end of symbols.h */ |