#define LEX_QM 0
#endif
+#ifndef LEX_HASH
+#define LEX_HASH 0
+#endif
+
#ifndef LEX_DOLLAR
/* The a29k assembler does not permits labels to start with $. */
#define LEX_DOLLAR 3
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* @ABCDEFGHIJKLMNO */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ[\]^_ */
- 0, 0, 0, 0, LEX_DOLLAR, LEX_PCT, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, /* _!"#$%&'()*+,-./ */
+ 0, 0, 0, LEX_HASH, LEX_DOLLAR, LEX_PCT, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, /* _!"#$%&'()*+,-./ */
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, LEX_QM, /* 0123456789:;<=>? */
LEX_AT, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* @ABCDEFGHIJKLMNO */
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, LEX_BR, 0, LEX_BR, 0, 3, /* PQRSTUVWXYZ[\]^_ */
{"xstabs", s_xstab, 's'},
{"word", cons, 2},
{"zero", s_space, 0},
- {NULL} /* end sentinel */
+ {NULL, NULL, 0} /* end sentinel */
};
static int pop_override_ok = 0;
else
{
int inquote = 0;
+#ifdef QUOTES_IN_INSN
+ int inescape = 0;
+#endif
/* WARNING: c has char, which may be end-of-line. */
/* Also: input_line_pointer->`\0` where c was. */
{
if (flag_m68k_mri && *input_line_pointer == '\'')
inquote = ! inquote;
+#ifdef QUOTES_IN_INSN
+ if (inescape)
+ inescape = 0;
+ else if (*input_line_pointer == '"')
+ inquote = ! inquote;
+ else if (*input_line_pointer == '\\')
+ inescape = 1;
+#endif
input_line_pointer++;
}
void
s_abort (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
as_fatal (_(".abort detected. Abandoning ship."));
}
if (fill == NULL)
{
- int maybe_text;
-
-#ifdef BFD_ASSEMBLER
- if ((bfd_get_section_flags (stdoutput, now_seg) & SEC_CODE) != 0)
- maybe_text = 1;
- else
- maybe_text = 0;
-#else
- if (now_seg != data_section && now_seg != bss_section)
- maybe_text = 1;
- else
- maybe_text = 0;
-#endif
-
- if (maybe_text)
+ if (subseg_text_p (now_seg))
default_fill = NOP_OPCODE;
else
default_fill = 0;
void
s_comm (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
register char *name;
register char c;
void
s_mri_common (small)
- int small;
+ int small ATTRIBUTE_UNUSED;
{
char *name;
char c;
void
s_data (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
segT section;
register int temp;
void
s_app_line (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
int l;
void
s_end (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
if (flag_mri)
{
void
s_err (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
as_bad (_(".err encountered"));
demand_empty_rest_of_line ();
void
s_fail (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
offsetT temp;
char *stop = NULL;
void
s_fill (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
expressionS rep_exp;
long size = 1;
void
s_globl (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
char *name;
int c;
name = input_line_pointer;
c = get_symbol_end ();
symbolP = symbol_find_or_make (name);
+ S_SET_EXTERNAL (symbolP);
+
*input_line_pointer = c;
SKIP_WHITESPACE ();
- S_SET_EXTERNAL (symbolP);
+ c = *input_line_pointer;
if (c == ',')
{
input_line_pointer++;
void
s_linkonce (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
enum linkonce_type type;
void
s_lsym (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
register char *name;
register char c;
void
s_macro (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
char *file;
unsigned int line;
void
s_mexit (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
cond_exit_macro (macro_nest);
buffer_limit = input_scrub_next_buffer (&input_line_pointer);
void
s_mri (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
int on, old_flag;
void
s_org (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
register segT segment;
expressionS exp;
void
s_mri_sect (type)
- char *type;
+ char *type ATTRIBUTE_UNUSED;
{
#ifdef TC_M68K
void
s_print (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
char *s;
int len;
void
s_purgem (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
if (is_it_end_of_statement ())
{
void
s_rept (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
int count;
sb one;
void
s_struct (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
char *stop = NULL;
char stopc;
void
s_text (ignore)
- int ignore;
+ int ignore ATTRIBUTE_UNUSED;
{
register int temp;
/*
* stringer()
*
- * We read 0 or more ',' seperated, double-quoted strings.
+ * We read 0 or more ',' separated, double-quoted strings.
*
* Caller should have checked need_pass_2 is FALSE because we don't check it.
*/
/* ARGSUSED */
void
s_include (arg)
- int arg;
+ int arg ATTRIBUTE_UNUSED;
{
char *newbuf;
char *filename;
\f
void
s_ignore (arg)
- int arg;
+ int arg ATTRIBUTE_UNUSED;
{
while (!is_end_of_line[(unsigned char) *input_line_pointer])
{