]> git.gag.com Git - fw/sdcc/commitdiff
1) Added keyword "_JavaNative" prep for TINI
authorsandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 18 Dec 2001 04:08:24 +0000 (04:08 +0000)
committersandeep <sandeep@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 18 Dec 2001 04:08:24 +0000 (04:08 +0000)
2) Added keyword "_overlay" forces overlay for a function
3) Port decides whether to handle GPOINTER unqualified pointers treated
as port->unqualified_pointer

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

src/SDCC.y

index b4b3664615be9f25d67283daf4d61e9306e7e9c3..d3767658b4ac2ffa1f28517435bbaf03a6f9ba3c 100644 (file)
@@ -85,7 +85,7 @@ value *cenum = NULL  ;  /* current enumeration  type chain*/
 %token CHAR SHORT INT LONG SIGNED UNSIGNED FLOAT DOUBLE CONST VOLATILE VOID BIT
 %token STRUCT UNION ENUM ELIPSIS RANGE FAR
 %token CASE DEFAULT IF ELSE SWITCH WHILE DO FOR GOTO CONTINUE BREAK RETURN
-%token NAKED
+%token NAKED JAVANATIVE OVERLAY
 %token <yyinline> INLINEASM
 %token IFX ADDRESS_OF GET_VALUE_AT_ADDRESS SPIL UNSPIL GETHBIT
 %token BITWISEAND UNARYMINUS IPUSH IPOP PCALL  ENDFUNCTION JUMPTABLE
@@ -192,6 +192,14 @@ function_attributes
                         $$->class = SPECIFIER   ;
                        FUNC_ISNAKED($$)=1;
                      }
+   |  JAVANATIVE     {  $$ = newLink ();
+                        $$->class = SPECIFIER   ;
+                       FUNC_ISJAVANATIVE($$)=1;
+                     }
+   |  OVERLAY        {  $$ = newLink ();
+                        $$->class = SPECIFIER   ;
+                       FUNC_ISOVERLAY($$)=1;
+                     }
    |  NONBANKED      {$$ = newLink ();
                         $$->class = SPECIFIER   ;
                         FUNC_NONBANKED($$) = 1;
@@ -976,7 +984,7 @@ pointer
          {
             $$ = $1 ;          
             $$->next = $2 ;
-            DCL_TYPE($2)=GPOINTER;
+            DCL_TYPE($2)=port->unqualified_pointer;
         }
    | unqualified_pointer type_specifier_list pointer
          {