* (process_pseudo_op): Pass right are do do_aif.

(get_any_string): New arg 'pretend_quote'.
	(get_and_process, do_formals, macro_expand, do_sdata,
	process_pseudo_op): Use new arg.
This commit is contained in:
Steve Chamberlain 1994-07-08 22:34:11 +00:00
parent 0a9a6ed9d3
commit 6f15d409d0
2 changed files with 28 additions and 10 deletions

View File

@ -1,3 +1,10 @@
Fri Jul 8 15:22:07 1994 Steve Chamberlain (sac@jonny.cygnus.com)
* (process_pseudo_op): Pass right are do do_aif.
(get_any_string): New arg 'pretend_quote'.
(get_and_process, do_formals, macro_expand, do_sdata,
process_pseudo_op): Use new arg.
Fri Jul 8 12:23:44 1994 Kung Hsu (kung@mexican.cygnus.com)
* config/obj-ecoff.h: define macro OBJ_GENERATE_ASM_LINE_STAB.

View File

@ -1698,12 +1698,21 @@ do_form (idx, in)
}
/* Fetch string from the input stream,
rules:
'Bxyx<whitespace> -> return 'Bxyza
%<char> -> return string of decimal value of x
"<string>" -> return string
xyx<whitespace> -> return xyz
*/
int
get_any_string (idx, in, out, expand)
get_any_string (idx, in, out, expand, pretend_quoted)
int idx;
sb *in;
sb *out;
int expand;
int pretend_quoted;
{
sb_reset (out);
idx = sb_skip_white (idx, in);
@ -1733,12 +1742,13 @@ get_any_string (idx, in, out, expand)
|| in->ptr[idx] == '<'
|| (alternate && in->ptr[idx] == '\''))
{
if (alternate && !expand)
if (alternate && expand)
{
/* Keep the quotes */
/* sb_add_char (out, '\"');*/
sb_add_char (out, '\"');
idx = getstring (idx, in, out);
/* sb_add_char (out, '\"');*/
sb_add_char (out, '\"');
}
else {
@ -1750,6 +1760,7 @@ get_any_string (idx, in, out, expand)
while (idx < in->len
&& (in->ptr[idx] == '"'
|| in->ptr[idx] == '\''
|| pretend_quoted
|| !ISSEP (in->ptr[idx])))
{
if (in->ptr[idx] == '"'
@ -1998,7 +2009,7 @@ get_and_process (idx, in, out)
{
sb t;
sb_new (&t);
idx = get_any_string (idx, in, &t, 1);
idx = get_any_string (idx, in, &t, 1, 0);
process_assigns (0, &t, out);
sb_kill (&t);
return idx;
@ -2682,7 +2693,7 @@ do_formals (macro, idx, in)
if (idx < in->len && in->ptr[idx] == '=')
{
/* Got a default */
idx = get_any_string (idx + 1, in, &formal->def, 1);
idx = get_any_string (idx + 1, in, &formal->def, 1, 0);
}
}
@ -2911,7 +2922,7 @@ macro_expand (name, idx, in, m)
{
/* Insert this value into the right place */
sb_reset (&ptr->value.f->actual);
idx = get_any_string (idx + 1, in, &ptr->value.f->actual, 0);
idx = get_any_string (idx + 1, in, &ptr->value.f->actual, 0, 0);
}
}
else
@ -2930,7 +2941,7 @@ macro_expand (name, idx, in, m)
}
sb_reset (&f->actual);
idx = get_any_string (idx, in, &f->actual, 1);
idx = get_any_string (idx, in, &f->actual, 1, 0);
f = f->next;
}
idx = sb_skip_comma (idx, in);
@ -3165,7 +3176,7 @@ do_sdata (idx, in, type)
idx = sb_skip_white (idx, in);
while (!eol (idx, in))
{
pidx = idx = get_any_string (idx, in, &acc, 1);
pidx = idx = get_any_string (idx, in, &acc, 0, 1);
if (type == 'c')
{
if (acc.len > 255)
@ -3565,7 +3576,7 @@ process_pseudo_op (idx, line, acc)
switch (ptr->value.i)
{
case K_AIF:
do_aif ();
do_aif (idx, line);
break;
case K_AELSE:
do_aelse ();