Fixed bug where static declarations would crash

This commit is contained in:
David Anderson 2005-09-06 21:34:33 +00:00
parent 5705e69abb
commit 67f012b74a
3 changed files with 5 additions and 3 deletions

View File

@ -215,7 +215,7 @@
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="TRUE" Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/> DebugInformationFormat="4"/>
<Tool <Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>
@ -264,7 +264,7 @@
RuntimeLibrary="1" RuntimeLibrary="1"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
Detect64BitPortabilityProblems="TRUE" Detect64BitPortabilityProblems="FALSE"
DebugInformationFormat="4"/> DebugInformationFormat="4"/>
<Tool <Tool
Name="VCCustomBuildTool"/> Name="VCCustomBuildTool"/>

View File

@ -2439,7 +2439,7 @@ static symbol *find_symbol(const symbol *root,const char *name,int fnumber,int i
while (ptr!=NULL) { while (ptr!=NULL) {
if (hash==ptr->hash && strcmp(name,ptr->name)==0 if (hash==ptr->hash && strcmp(name,ptr->name)==0
&& (ptr->parent==NULL || includechildren) && (ptr->parent==NULL || includechildren)
&& (ptr->fnumber<0 || ptr->fnumber==fnumber)) && (fnumber<0 || (ptr->fnumber<0 || ptr->fnumber==fnumber)))
return ptr; return ptr;
ptr=ptr->next; ptr=ptr->next;
} /* while */ } /* while */

View File

@ -581,6 +581,8 @@ SC_FUNC int assemble(FILE *fout,FILE *fin)
constvalue *constptr; constvalue *constptr;
cell mainaddr; cell mainaddr;
fcurrent = -1;
/* if compression failed, restart the assembly with compaction switched off */ /* if compression failed, restart the assembly with compaction switched off */
if (setjmp(compact_err)!=0) { if (setjmp(compact_err)!=0) {
assert(sc_compress); /* cannot arrive here if compact encoding was disabled */ assert(sc_compress); /* cannot arrive here if compact encoding was disabled */