* src/SDCC.lex (check_type),
authorMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 15 May 2008 22:40:51 +0000 (22:40 +0000)
committerMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Thu, 15 May 2008 22:40:51 +0000 (22:40 +0000)
* src/SDCC.y (type_specifier2 TYPE_NAME): fixed bug 1925942

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5156 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/SDCC.lex
src/SDCC.y

index 3ea7ed34cf318d0dfd91edfe240f929b4af64f81..493093385f927ecea799a2f93a8f2257e2ac0ade 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,4 @@
-2008-05-07 Maarten Brock <sourceforge.brock AT dse.nl>
+2008-05-13 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * src/SDCCast.c (fixupInline, createFunction): save currBlockno in
          fixupInline instead of createFunction to fix bug 1864577
index e0038cc65202abf5aa30a0557481a7cfa8a14573..6567003c575dfd329e9cfdadf1736369e48975de 100644 (file)
@@ -383,7 +383,7 @@ static int check_type(void)
 
   /* check if it is in the table as a typedef */
   if (!ignoreTypedefType && sym && IS_SPEC (sym->etype)
-      && SPEC_TYPEDEF (sym->etype))
+      && SPEC_TYPEDEF (sym->etype) && findSym(TypedefTab, NULL, yytext))
     return (TYPE_NAME);
   else
     return(IDENTIFIER);
index b37f2ba868bd945422e482d169402cf1cbe99b67..ef699343deb1ebe5302611cea4e5998e94659c74 100644 (file)
@@ -709,7 +709,7 @@ type_specifier2
             symbol *sym;
             sym_link   *p  ;
             sym = findSym(TypedefTab,NULL,$1) ;
-            $$ = p = copyLinkChain(sym->type);
+            $$ = p = copyLinkChain(sym ? sym->type : NULL);
             SPEC_TYPEDEF(getSpec(p)) = 0;
             ignoreTypedefType = 1;
          }