corrected subrange handling: char type was not recognized

This commit is contained in:
ceriel 1990-10-24 16:46:46 +00:00
parent 32da1c8c1e
commit a94e7b877a

View file

@ -314,6 +314,7 @@ type(p_type *ptp; int *type_index; p_symbol sy;)
long ic1, ic2; long ic1, ic2;
int A_used = 0; int A_used = 0;
int tclass; int tclass;
int tp_index[2];
char *str; char *str;
} }
: :
@ -355,7 +356,7 @@ type(p_type *ptp; int *type_index; p_symbol sy;)
* integer_const. * integer_const.
* Upperbound -1 means unsigned int or unsigned long. * Upperbound -1 means unsigned int or unsigned long.
*/ */
'r' type_name(&t1, (p_symbol) 0) ';' 'r' type_index(tp_index) ';'
[ 'A' integer_const(&ic1) { A_used = 1; } [ 'A' integer_const(&ic1) { A_used = 1; }
| integer_const(&ic1) | integer_const(&ic1)
] ]
@ -365,7 +366,7 @@ type(p_type *ptp; int *type_index; p_symbol sy;)
] ]
{ if (tp != *ptp) free_type(tp); { if (tp != *ptp) free_type(tp);
tp = subrange_type(A_used, tp = subrange_type(A_used,
last_index, tp_index,
ic1, ic1,
ic2, ic2,
type_index); type_index);