arrays can now be public variables
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40132
This commit is contained in:
		
							parent
							
								
									0196df3cc9
								
							
						
					
					
						commit
						4f5f8dced9
					
				| @ -1678,8 +1678,10 @@ static void declglb(char *firstname,int firsttag,int fpublic,int fstatic,int fst | ||||
|         if (size > INT_MAX) | ||||
|           error(105);                   /* overflow, exceeding capacity */ | ||||
|       #endif | ||||
| #if 0	/* We don't actually care */
 | ||||
|       if (ispublic) | ||||
|         error(56,name);                 /* arrays cannot be public */ | ||||
| #endif | ||||
|       dim[numdim++]=(int)size; | ||||
|     } /* while */ | ||||
|     assert(sc_curstates==0); | ||||
| @ -1857,7 +1859,7 @@ static void declglb(char *firstname,int firsttag,int fpublic,int fstatic,int fst | ||||
|     assert(sym!=NULL); | ||||
|     sc_curstates=0; | ||||
|     if (ispublic) | ||||
|       sym->usage|=uPUBLIC; | ||||
|       sym->usage|=uPUBLIC|uREAD; | ||||
|     if (fconst) | ||||
|       sym->usage|=uCONST; | ||||
|     if (fstock) | ||||
|  | ||||
| @ -713,7 +713,7 @@ SC_FUNC int assemble(FILE *fout,FILE *fin) | ||||
|         assert(sym->vclass==sGLOBAL); | ||||
|         mainaddr=sym->addr; | ||||
|       } /* if */ | ||||
|     } else if (sym->ident==iVARIABLE) { | ||||
|     } else if (sym->ident==iVARIABLE || sym->ident == iARRAY || sym->ident == iREFARRAY) { | ||||
|       if ((sym->usage & uPUBLIC)!=0 && (sym->usage & (uREAD | uWRITTEN))!=0) | ||||
|         match=++numpubvars; | ||||
|     } /* if */ | ||||
| @ -891,7 +891,8 @@ SC_FUNC int assemble(FILE *fout,FILE *fin) | ||||
|   /* write the public variables table */ | ||||
|   count=0; | ||||
|   for (sym=glbtab.next; sym!=NULL; sym=sym->next) { | ||||
|     if (sym->ident==iVARIABLE && (sym->usage & uPUBLIC)!=0 && (sym->usage & (uREAD | uWRITTEN))!=0) { | ||||
|     if ((sym->ident==iVARIABLE || sym->ident==iARRAY || sym->ident==iREFARRAY) | ||||
|         && (sym->usage & uPUBLIC)!=0 && (sym->usage & (uREAD | uWRITTEN))!=0) { | ||||
|       assert((sym->usage & uDEFINE)!=0); | ||||
|       assert(sym->vclass==sGLOBAL); | ||||
|       func.address=sym->addr; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user