* ch-exp.y (match_character_literal): Fix case where no

match at all is found.
This commit is contained in:
Fred Fish
1992-12-04 15:00:09 +00:00
parent 13ec8aad31
commit aed656babb
2 changed files with 28 additions and 26 deletions

View File

@ -1,3 +1,10 @@
**** start-sanitize-chill ****
Fri Dec 4 06:56:56 1992 Fred Fish (fnf@cygnus.com)
* ch-exp.y (match_character_literal): Fix case where no
match at all is found.
**** end-sanitize-chill ****
Thu Dec 3 12:00:06 1992 Fred Fish (fnf@cygnus.com) Thu Dec 3 12:00:06 1992 Fred Fish (fnf@cygnus.com)
* c-exp.y (c_create_fundamental_type): New function to create * c-exp.y (c_create_fundamental_type): New function to create

View File

@ -1014,6 +1014,11 @@ match_character_literal ()
return (0); return (0);
} }
} }
else
{
/* Not a character literal. */
return (0);
}
yylval.typed_val.val = ival; yylval.typed_val.val = ival;
yylval.typed_val.type = builtin_type_chill_char; yylval.typed_val.type = builtin_type_chill_char;
lexptr = tokptr; lexptr = tokptr;
@ -1452,44 +1457,34 @@ chill_create_fundamental_type (objfile, typeid)
warning ("internal error: no chill fundamental type %d", typeid); warning ("internal error: no chill fundamental type %d", typeid);
break; break;
case FT_BOOLEAN: case FT_BOOLEAN:
type = init_type (TYPE_CODE_BOOL, TARGET_CHAR_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_BOOL, 1, TYPE_FLAG_UNSIGNED, "BOOL", objfile);
TYPE_FLAG_UNSIGNED, "BOOL", objfile);
break; break;
case FT_CHAR: case FT_CHAR:
type = init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 1, TYPE_FLAG_UNSIGNED, "CHAR", objfile);
TYPE_FLAG_UNSIGNED, "CHAR", objfile);
break; break;
case FT_BYTE: case FT_SIGNED_CHAR:
type = init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 1, TYPE_FLAG_SIGNED, "BYTE", objfile);
TYPE_FLAG_SIGNED, "BYTE", objfile);
break; break;
case FT_UNSIGNED_BYTE: case FT_UNSIGNED_CHAR:
type = init_type (TYPE_CODE_INT, TARGET_CHAR_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 1, TYPE_FLAG_UNSIGNED, "UBYTE", objfile);
TYPE_FLAG_UNSIGNED, "UBYTE", objfile);
break; break;
case FT_INTEGER: case FT_SHORT: /* Chill ints are 2 bytes */
type = init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 2, TYPE_FLAG_SIGNED, "INT", objfile);
TYPE_FLAG_SIGNED, "INT", objfile);
break; break;
case FT_UNSIGNED_INTEGER: case FT_UNSIGNED_SHORT: /* Chill ints are 2 bytes */
type = init_type (TYPE_CODE_INT, TARGET_SHORT_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 2, TYPE_FLAG_UNSIGNED, "UINT", objfile);
TYPE_FLAG_UNSIGNED, "UINT", objfile);
break; break;
case FT_LONG: case FT_INTEGER: /* Chill longs are 4 bytes */
type = init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 4, TYPE_FLAG_SIGNED, "LONG", objfile);
TYPE_FLAG_SIGNED, "LONG", objfile);
break; break;
case FT_UNSIGNED_LONG: case FT_UNSIGNED_INTEGER: /* Chill longs are 4 bytes */
type = init_type (TYPE_CODE_INT, TARGET_LONG_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_INT, 4, TYPE_FLAG_UNSIGNED, "ULONG", objfile);
TYPE_FLAG_UNSIGNED, "ULONG", objfile);
break; break;
case FT_FLOAT: case FT_FLOAT:
type = init_type (TYPE_CODE_FLT, TARGET_FLOAT_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_FLT, 4, 0, "REAL", objfile);
0, "REAL", objfile);
break; break;
case FT_DBL_PREC_FLOAT: case FT_DBL_PREC_FLOAT:
type = init_type (TYPE_CODE_FLT, TARGET_DOUBLE_BIT / TARGET_CHAR_BIT, type = init_type (TYPE_CODE_FLT, 8, 0, "LONG_REAL", objfile);
0, "LONG REAL", objfile);
break; break;
} }
return (type); return (type);