aboutsummaryrefslogtreecommitdiff
path: root/gas/app.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/app.c')
-rw-r--r--gas/app.c54
1 files changed, 6 insertions, 48 deletions
diff --git a/gas/app.c b/gas/app.c
index 6a3efb1..fa87785 100644
--- a/gas/app.c
+++ b/gas/app.c
@@ -217,7 +217,8 @@ do_scrub_begin (int m68k_mri ATTRIBUTE_UNUSED)
lex[(unsigned char) *p] = LEX_IS_PARALLEL_SEPARATOR;
#endif
- /* Only allow slash-star comments if slash is not in use.
+ /* Only allow slash-star comments if slash is not in use. Certain
+ other cases are dealt with in LEX_IS_LINE_COMMENT_START handling.
FIXME: This isn't right. We should always permit them. */
if (lex['/'] == 0)
lex['/'] = LEX_IS_TWOCHAR_COMMENT_1ST;
@@ -476,7 +477,6 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
10: After seeing whitespace in state 9 (keep white before symchar)
11: After seeing a symbol character in state 0 (eg a label definition)
-1: output string in out_string and go to the state in old_state
- -2: flush text until a '*' '/' is seen, then go to state old_state
12: no longer used
#ifdef DOUBLEBAR_PARALLEL
13: After seeing a vertical bar, looking for a second
@@ -579,43 +579,6 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
PUT (ch);
continue;
- case -2:
- for (;;)
- {
- do
- {
- ch = GET ();
-
- if (ch == EOF)
- {
- as_warn (_("end of file in comment"));
- goto fromeof;
- }
-
- if (ch == '\n')
- PUT ('\n');
- }
- while (ch != '*');
-
- while ((ch = GET ()) == '*')
- ;
-
- if (ch == EOF)
- {
- as_warn (_("end of file in comment"));
- goto fromeof;
- }
-
- if (ch == '/')
- break;
-
- UNGET (ch);
- }
-
- state = old_state;
- UNGET (' ');
- continue;
-
case 4:
ch = GET ();
if (ch == EOF)
@@ -1076,6 +1039,7 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
ch2 = GET ();
if (ch2 == '*')
{
+ twochar_comment:
for (;;)
{
do
@@ -1290,15 +1254,9 @@ do_scrub_chars (size_t (*get) (char *, size_t), char *tostart, size_t tolen,
{
ch2 = GET ();
if (ch2 == '*')
- {
- old_state = 3;
- state = -2;
- break;
- }
- else if (ch2 != EOF)
- {
- UNGET (ch2);
- }
+ goto twochar_comment;
+ if (ch2 != EOF)
+ UNGET (ch2);
}
if (state == 0 || state == 1) /* Only comment at start of line. */