From d17a6f67efab31c32ca2cfbc28b82939d9dab15b Mon Sep 17 00:00:00 2001 From: kmh Date: Sun, 9 Dec 2001 20:16:20 +0000 Subject: [PATCH] added missing storage class adjustment git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1669 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- src/SDCCast.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/SDCCast.c b/src/SDCCast.c index f5e17f81..f0e2e00d 100644 --- a/src/SDCCast.c +++ b/src/SDCCast.c @@ -2025,6 +2025,33 @@ decorateType (ast * tree) (tree->right->type == EX_VALUE ? tree->right->opval.val : NULL)); TETYPE (tree) = getSpec (TTYPE (tree)); + + /* adjust the storage class */ + switch (DCL_TYPE(tree->left->ftype)) { + case POINTER: + break; + case FPOINTER: + SPEC_SCLS(TETYPE(tree)) = S_XDATA; + break; + case CPOINTER: + SPEC_SCLS(TETYPE(tree)) = S_CODE; + break; + case GPOINTER: + break; + case PPOINTER: + SPEC_SCLS(TETYPE(tree)) = S_XSTACK; + break; + case IPOINTER: + SPEC_SCLS(TETYPE(tree)) = S_IDATA; + break; + case EEPPOINTER: + SPEC_SCLS(TETYPE(tree)) = S_EEPROM; + break; + case UPOINTER: + case ARRAY: + case FUNCTION: + } + return tree; /*------------------------------------------------------------------*/ -- 2.30.2