source: trunk/src/binutils/gas/read.h@ 1036

Last change on this file since 1036 was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 6.8 KB
Line 
1/* read.h - of read.c
2 Copyright 1986, 1990, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3 2000, 2001, 2002, 2003
4 Free Software Foundation, Inc.
5
6 This file is part of GAS, the GNU Assembler.
7
8 GAS is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 GAS is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with GAS; see the file COPYING. If not, write to the Free
20 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
21 02111-1307, USA. */
22
23extern char *input_line_pointer; /* -> char we are parsing now. */
24
25/* Define to make whitespace be allowed in many syntactically
26 unnecessary places. Normally undefined. For compatibility with
27 ancient GNU cc. */
28/* #undef PERMIT_WHITESPACE */
29#define PERMIT_WHITESPACE
30
31#ifdef PERMIT_WHITESPACE
32#define SKIP_WHITESPACE() \
33 { \
34 if (* input_line_pointer == ' ') \
35 ++ input_line_pointer; \
36 }
37#else
38#define SKIP_WHITESPACE() know(*input_line_pointer != ' ' )
39#endif
40
41#define LEX_NAME (1) /* may continue a name */
42#define LEX_BEGIN_NAME (2) /* may begin a name */
43#define LEX_END_NAME (4) /* ends a name */
44
45#define is_name_beginner(c) \
46 ( lex_type[(unsigned char) (c)] & LEX_BEGIN_NAME )
47#define is_part_of_name(c) \
48 ( lex_type[(unsigned char) (c)] & LEX_NAME )
49#define is_name_ender(c) \
50 ( lex_type[(unsigned char) (c)] & LEX_END_NAME )
51
52#ifndef is_a_char
53#define CHAR_MASK (0xff)
54#define NOT_A_CHAR (CHAR_MASK+1)
55#define is_a_char(c) (((unsigned) (c)) <= CHAR_MASK)
56#endif /* is_a_char() */
57
58extern char lex_type[];
59extern char is_end_of_line[];
60
61extern int is_it_end_of_statement PARAMS ((void));
62
63extern int target_big_endian;
64
65/* These are initialized by the CPU specific target files (tc-*.c). */
66extern const char comment_chars[];
67extern const char line_comment_chars[];
68extern const char line_separator_chars[];
69
70/* Table of -I directories. */
71extern char **include_dirs;
72extern int include_dir_count;
73extern int include_dir_maxlen;
74
75/* The offset in the absolute section. */
76extern addressT abs_section_offset;
77
78/* The label on a line, used by some of the pseudo-ops. */
79extern symbolS *line_label;
80
81/* This is used to support MRI common sections. */
82extern symbolS *mri_common_symbol;
83
84/* True if a stabs line debug statement is currently being emitted. */
85extern int outputting_stabs_line_debug;
86
87/* Possible arguments to .linkonce. */
88enum linkonce_type {
89 LINKONCE_UNSET = 0,
90 LINKONCE_DISCARD,
91 LINKONCE_ONE_ONLY,
92 LINKONCE_SAME_SIZE,
93 LINKONCE_SAME_CONTENTS
94};
95
96#define IGNORE_OPCODE_CASE
97#ifdef IGNORE_OPCODE_CASE
98extern char original_case_string[];
99#endif
100
101extern void pop_insert PARAMS ((const pseudo_typeS *));
102extern unsigned int get_stab_string_offset
103 PARAMS ((const char *string, const char *stabstr_secname));
104extern void aout_process_stab PARAMS ((int, const char *, int, int, int));
105extern char *demand_copy_C_string PARAMS ((int *len_pointer));
106extern char get_absolute_expression_and_terminator
107 PARAMS ((long *val_pointer));
108extern offsetT get_absolute_expr PARAMS ((expressionS *));
109extern offsetT get_absolute_expression PARAMS ((void));
110extern unsigned int next_char_of_string PARAMS ((void));
111extern void s_mri_sect PARAMS ((char *));
112extern char *mri_comment_field PARAMS ((char *));
113extern void mri_comment_end PARAMS ((char *, int));
114extern void add_include_dir PARAMS ((char *path));
115extern void cons PARAMS ((int nbytes));
116extern void demand_empty_rest_of_line PARAMS ((void));
117extern void emit_expr PARAMS ((expressionS *exp, unsigned int nbytes));
118extern void emit_leb128_expr PARAMS ((expressionS *, int));
119extern void equals PARAMS ((char *sym_name, int reassign));
120extern void float_cons PARAMS ((int float_type));
121extern void ignore_rest_of_line PARAMS ((void));
122extern void discard_rest_of_line PARAMS ((void));
123extern int output_leb128 PARAMS ((char *, valueT, int sign));
124extern void pseudo_set PARAMS ((symbolS * symbolP));
125extern void read_a_source_file PARAMS ((char *name));
126extern void read_begin PARAMS ((void));
127extern void read_print_statistics PARAMS ((FILE *));
128extern int sizeof_leb128 PARAMS ((valueT, int sign));
129extern void stabs_generate_asm_file PARAMS ((void));
130extern void stabs_generate_asm_lineno PARAMS ((void));
131extern void stabs_generate_asm_func PARAMS ((const char *, const char *));
132extern void stabs_generate_asm_endfunc PARAMS ((const char *, const char *));
133extern void do_repeat PARAMS((int,const char *,const char *));
134extern void end_repeat PARAMS((int));
135
136extern void generate_lineno_debug PARAMS ((void));
137
138extern void s_abort PARAMS ((int)) ATTRIBUTE_NORETURN;
139extern void s_align_bytes PARAMS ((int arg));
140extern void s_align_ptwo PARAMS ((int));
141extern void s_app_file_string PARAMS ((char *));
142extern void s_app_file PARAMS ((int));
143extern void s_app_line PARAMS ((int));
144extern void s_bad_endr PARAMS ((int));
145extern void s_comm PARAMS ((int));
146extern void s_data PARAMS ((int));
147extern void s_desc PARAMS ((int));
148extern void s_else PARAMS ((int arg));
149extern void s_elseif PARAMS ((int arg));
150extern void s_end PARAMS ((int arg));
151extern void s_endif PARAMS ((int arg));
152extern void s_err PARAMS ((int));
153extern void s_fail PARAMS ((int));
154extern void s_fill PARAMS ((int));
155extern void s_float_space PARAMS ((int mult));
156extern void s_func PARAMS ((int));
157extern void do_s_func PARAMS ((int, const char *));
158extern void s_globl PARAMS ((int arg));
159extern void s_if PARAMS ((int arg));
160extern void s_ifc PARAMS ((int arg));
161extern void s_ifdef PARAMS ((int arg));
162extern void s_ifeqs PARAMS ((int arg));
163extern void s_ignore PARAMS ((int arg));
164extern void s_include PARAMS ((int arg));
165extern void s_irp PARAMS ((int arg));
166extern void s_lcomm PARAMS ((int needs_align));
167extern void s_lcomm_bytes PARAMS ((int needs_align));
168extern void s_leb128 PARAMS ((int sign));
169extern void s_linkonce PARAMS ((int));
170extern void s_lsym PARAMS ((int));
171extern void s_macro PARAMS ((int));
172extern void s_mexit PARAMS ((int));
173extern void s_mri PARAMS ((int));
174extern void s_mri_common PARAMS ((int));
175extern void s_org PARAMS ((int));
176extern void s_print PARAMS ((int));
177extern void s_purgem PARAMS ((int));
178extern void s_rept PARAMS ((int));
179extern void s_set PARAMS ((int));
180extern void s_space PARAMS ((int mult));
181extern void s_stab PARAMS ((int what));
182extern void s_struct PARAMS ((int));
183extern void s_text PARAMS ((int));
184extern void stringer PARAMS ((int append_zero));
185extern void s_xstab PARAMS ((int what));
186extern void s_rva PARAMS ((int));
187extern void s_incbin PARAMS ((int));
Note: See TracBrowser for help on using the repository browser.