* ch-exp.y (match_string_literal): Allow a zero-length string.
* ch-lang.c (chill_printstr): Don't print zero-length string funny.
This commit is contained in:
parent
5fd5199353
commit
96b6b765fc
3 changed files with 8 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Fri Jan 21 19:10:44 1994 Per Bothner (bothner@kalessin.cygnus.com)
|
||||||
|
|
||||||
|
* ch-exp.y (match_string_literal): Allow a zero-length string.
|
||||||
|
* ch-lang.c (chill_printstr): Don't print zero-length string funny.
|
||||||
|
|
||||||
Sat Jan 22 17:08:48 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
Sat Jan 22 17:08:48 1994 Jim Kingdon (kingdon@lioth.cygnus.com)
|
||||||
|
|
||||||
* i386aix-nat.c (i386_float_info): Reverse order of registers before
|
* i386aix-nat.c (i386_float_info): Reverse order of registers before
|
||||||
|
|
|
@ -1335,7 +1335,7 @@ match_float_literal ()
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Recognize a string literal. A string literal is a nonzero sequence
|
/* Recognize a string literal. A string literal is a sequence
|
||||||
of characters enclosed in matching single or double quotes, except that
|
of characters enclosed in matching single or double quotes, except that
|
||||||
a single character inside single quotes is a character literal, which
|
a single character inside single quotes is a character literal, which
|
||||||
we reject as a string literal. To embed the terminator character inside
|
we reject as a string literal. To embed the terminator character inside
|
||||||
|
@ -1363,7 +1363,6 @@ match_string_literal ()
|
||||||
tempbuf[tempbufindex++] = *tokptr;
|
tempbuf[tempbufindex++] = *tokptr;
|
||||||
}
|
}
|
||||||
if (*tokptr == '\0' /* no terminator */
|
if (*tokptr == '\0' /* no terminator */
|
||||||
|| tempbufindex == 0 /* no string */
|
|
||||||
|| (tempbufindex == 1 && *tokptr == '\'')) /* char literal */
|
|| (tempbufindex == 1 && *tokptr == '\'')) /* char literal */
|
||||||
{
|
{
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -1806,7 +1805,7 @@ yylex ()
|
||||||
{
|
{
|
||||||
case '\'':
|
case '\'':
|
||||||
case '\"':
|
case '\"':
|
||||||
/* First try to match a string literal, which is any nonzero
|
/* First try to match a string literal, which is any
|
||||||
sequence of characters enclosed in matching single or double
|
sequence of characters enclosed in matching single or double
|
||||||
quotes, except that a single character inside single quotes
|
quotes, except that a single character inside single quotes
|
||||||
is a character literal, so we have to catch that case also. */
|
is a character literal, so we have to catch that case also. */
|
||||||
|
|
|
@ -95,7 +95,7 @@ chill_printstr (stream, string, length, force_ellipses)
|
||||||
|
|
||||||
if (length == 0)
|
if (length == 0)
|
||||||
{
|
{
|
||||||
chill_printchar ('\0', stream);
|
fputs_filtered ("\"\"", stream);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue