2001-07-25 Dave Brolley <brolley@redhat.com>
* app.c (LEX_IS_PARALLEL_SEPARATOR): New macro. (IS_PARALLEL_SEPARATOR): New macro. (do_scrub_begin): Set up characters in tc_parallel_separator_chars as LEX_IS_PARALLEL_SEPARATOR, if it is defined. (do_scrub_chars): Handle LEX_PARALLEL_SEPARATOR chars like LEX_LINE_SEPARATOR except that we go to state 1 (as if the label has been seen).
This commit is contained in:
parent
966beb0fe7
commit
62f65a7b06
2 changed files with 28 additions and 1 deletions
|
@ -1,3 +1,13 @@
|
|||
2001-07-25 Dave Brolley <brolley@redhat.com>
|
||||
|
||||
* app.c (LEX_IS_PARALLEL_SEPARATOR): New macro.
|
||||
(IS_PARALLEL_SEPARATOR): New macro.
|
||||
(do_scrub_begin): Set up characters in tc_parallel_separator_chars
|
||||
as LEX_IS_PARALLEL_SEPARATOR, if it is defined.
|
||||
(do_scrub_chars): Handle LEX_PARALLEL_SEPARATOR chars like
|
||||
LEX_LINE_SEPARATOR except that we go to state 1 (as if the label has
|
||||
been seen).
|
||||
|
||||
2001-07-24 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* Makefile.am (DEP_FLAGS): Define, add -DOBJ_MAYBE_ELF.
|
||||
|
|
19
gas/app.c
19
gas/app.c
|
@ -78,9 +78,11 @@ static const char symbol_chars[] =
|
|||
#ifdef DOUBLEBAR_PARALLEL
|
||||
#define LEX_IS_DOUBLEBAR_1ST 13
|
||||
#endif
|
||||
#define LEX_IS_PARALLEL_SEPARATOR 14
|
||||
#define IS_SYMBOL_COMPONENT(c) (lex[c] == LEX_IS_SYMBOL_COMPONENT)
|
||||
#define IS_WHITESPACE(c) (lex[c] == LEX_IS_WHITESPACE)
|
||||
#define IS_LINE_SEPARATOR(c) (lex[c] == LEX_IS_LINE_SEPARATOR)
|
||||
#define IS_PARALLEL_SEPARATOR(c) (lex[c] == LEX_IS_PARALLEL_SEPARATOR)
|
||||
#define IS_COMMENT(c) (lex[c] == LEX_IS_COMMENT_START)
|
||||
#define IS_LINE_COMMENT(c) (lex[c] == LEX_IS_LINE_COMMENT_START)
|
||||
#define IS_NEWLINE(c) (lex[c] == LEX_IS_NEWLINE)
|
||||
|
@ -164,6 +166,15 @@ do_scrub_begin (m68k_mri)
|
|||
lex[(unsigned char) *p] = LEX_IS_LINE_SEPARATOR;
|
||||
} /* declare line separators */
|
||||
|
||||
#ifdef tc_parallel_separator_chars
|
||||
/* This macro permits the processor to specify all characters which
|
||||
separate parallel insns on the same line. */
|
||||
for (p = tc_parallel_separator_chars; *p; p++)
|
||||
{
|
||||
lex[(unsigned char) *p] = LEX_IS_PARALLEL_SEPARATOR;
|
||||
} /* declare parallel separators */
|
||||
#endif
|
||||
|
||||
/* Only allow slash-star comments if slash is not in use.
|
||||
FIXME: This isn't right. We should always permit them. */
|
||||
if (lex['/'] == 0)
|
||||
|
@ -796,7 +807,8 @@ do_scrub_chars (get, tostart, tolen)
|
|||
#endif
|
||||
if (IS_COMMENT (ch)
|
||||
|| ch == '/'
|
||||
|| IS_LINE_SEPARATOR (ch))
|
||||
|| IS_LINE_SEPARATOR (ch)
|
||||
|| IS_PARALLEL_SEPARATOR (ch))
|
||||
{
|
||||
if (scrub_m68k_mri)
|
||||
{
|
||||
|
@ -1039,6 +1051,11 @@ do_scrub_chars (get, tostart, tolen)
|
|||
PUT (ch);
|
||||
break;
|
||||
|
||||
case LEX_IS_PARALLEL_SEPARATOR:
|
||||
state = 1;
|
||||
PUT (ch);
|
||||
break;
|
||||
|
||||
#ifdef TC_V850
|
||||
case LEX_IS_DOUBLEDASH_1ST:
|
||||
ch2 = GET ();
|
||||
|
|
Loading…
Reference in a new issue