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;
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
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)
ch2 = GET ();
if (ch2 == '*')
{
+ twochar_comment:
for (;;)
{
do
{
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. */
--- /dev/null
+.*: Assembler messages:
+.*:6: Error: .*
+.*:7: Error: .*
+[ ]*[0-9]+[ ]+scrubber:
+[ ]*[0-9]+[ ]+\.irp x,""
+[ ]*[0-9]+[ ]*
+[ ]*[0-9]+[ ]+/\* \*/vaddps %zmm0, %zmm1, %zmm2
+[ ]*[0-9]+[ ]+vaddps/\*\*/%zmm0, %zmm1, %zmm2
+[ ]*[0-9]+[ ]+vadd/\*\*/ps %zmm0, %zmm1, %zmm2
+[ ]*[0-9]+[ ]+vaddps %zmm/\*\*/0, %zmm1, %zmm2
+[ ]*[0-9]+[ ]*
+[ ]*[0-9]+[ ]+vaddps %zmm0, %zmm1, %zmm2# ...
+[ ]*[0-9]+[ ]+vaddps %zmm0, %zmm1, %zmm2 # ...
+[ ]*[0-9]+[ ]+vaddps %zmm0, %zmm1, %zmm2/\* \*/# ...
+[ ]*[0-9]+[ ]*
+[ ]*[0-9]+[ ]+\.endr
+[ ]*[0-9]+[ ]+> +
+[ ]*[0-9]+ \?\?\?\? [0-9A-F]+[ ]+> vaddps %zmm0,%zmm1,%zmm2
+#...
+[ ]*[0-9]+ \?\?\?\? [0-9A-F]+[ ]+> vaddps %zmm0,%zmm1,%zmm2
+#...
+[ ]*[0-9]+[ ]+> vadd ps %zmm0,%zmm1,%zmm2
+[ ]*[0-9]+[ ]+> vaddps %zmm 0,%zmm1,%zmm2
+[ ]*[0-9]+[ ]+> +
+[ ]*[0-9]+ \?\?\?\? [0-9A-F]+[ ]+> vaddps %zmm0,%zmm1,%zmm2
+#...
+[ ]*[0-9]+ \?\?\?\? [0-9A-F]+[ ]+> vaddps %zmm0,%zmm1,%zmm2
+#...
+[ ]*[0-9]+ \?\?\?\? [0-9A-F]+[ ]+> vaddps %zmm0,%zmm1,%zmm2
+#pass
--- /dev/null
+scrubber:
+ .irp x,""
+
+/* */vaddps %zmm0, %zmm1, %zmm2
+ vaddps/**/%zmm0, %zmm1, %zmm2
+ vadd/**/ps %zmm0, %zmm1, %zmm2
+ vaddps %zmm/**/0, %zmm1, %zmm2
+
+ vaddps %zmm0, %zmm1, %zmm2# ...
+ vaddps %zmm0, %zmm1, %zmm2 # ...
+ vaddps %zmm0, %zmm1, %zmm2/* */# ...
+
+ .endr
run_dump_test "equ"
run_list_test "equ-2" "-al"
run_list_test "equ-bad"
+ run_list_test "comments" "-almn"
run_dump_test "curly"
run_dump_test "separator"
run_dump_test "divide"