Locals with a qualifier and implicit int type where not parsed correctly

git-svn-id: svn://svn.cc65.org/cc65/trunk@1910 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2003-01-28 16:28:41 +00:00
parent 6e6560abd9
commit 703447dd26

View File

@@ -6,9 +6,9 @@
/* */ /* */
/* */ /* */
/* */ /* */
/* (C) 2000-2002 Ullrich von Bassewitz */ /* (C) 2000-2003 Ullrich von Bassewitz */
/* Wacholderweg 14 */ /* Roemerstrasse 52 */
/* D-70597 Stuttgart */ /* D-70794 Filderstadt */
/* EMail: uz@cc65.org */ /* EMail: uz@cc65.org */
/* */ /* */
/* */ /* */
@@ -453,12 +453,15 @@ void DeclareLocals (void)
/* Check variable declarations. We need to distinguish between a /* Check variable declarations. We need to distinguish between a
* default int type and the end of variable declarations. So we * default int type and the end of variable declarations. So we
* will do the following: If there is no explicit storage class * will do the following: If there is no explicit storage class
* specifier *and* no explicit type given, it is assume that we * specifier *and* no explicit type given, *and* no type qualifiers
* have reached the end of declarations. * have been read, it is assumed that we have reached the end of
* declarations.
*/ */
DeclSpec Spec; DeclSpec Spec;
ParseDeclSpec (&Spec, SC_AUTO, T_INT); ParseDeclSpec (&Spec, SC_AUTO, T_INT);
if ((Spec.Flags & DS_DEF_STORAGE) != 0 && (Spec.Flags & DS_DEF_TYPE) != 0) { if ((Spec.Flags & DS_DEF_STORAGE) != 0 && /* No storage spec */
(Spec.Flags & DS_DEF_TYPE) != 0 && /* No type given */
GetQualifier (Spec.Type) == T_QUAL_NONE) { /* No type qualifier */
break; break;
} }