aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/app.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/gas/app.c b/gas/app.c
index 9cfece4..09492b4 100644
--- a/gas/app.c
+++ b/gas/app.c
@@ -564,7 +564,14 @@ recycle:
break;
case LEX_IS_STRINGQUOTE:
- if (state == 9 || state == 10)
+ if (state == 10)
+ {
+ /* Preserve the whitespace in foo "bar" */
+ (*unget) (ch);
+ state = 3;
+ return ' ';
+ }
+ else if (state == 9)
old_state = 3;
else
old_state = state;
@@ -572,6 +579,13 @@ recycle:
return ch;
#ifndef IEEE_STYLE
case LEX_IS_ONECHAR_QUOTE:
+ if (state == 10)
+ {
+ /* Preserve the whitespace in foo 'b' */
+ (*unget) (ch);
+ state = 3;
+ return ' ';
+ }
ch = GET ();
if (ch == EOF)
{
@@ -599,7 +613,7 @@ recycle:
{
return out_buf[0];
}
- if (state == 9 || state == 10)
+ if (state == 9)
old_state = 3;
else
old_state = state;