patched amb1296 - multi-d r-values are now impossible

--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%401818
This commit is contained in:
David Anderson 2007-12-22 05:16:18 +00:00
parent f87da92617
commit ad5ef39cb4
2 changed files with 8 additions and 7 deletions

View File

@ -39,12 +39,12 @@
/> />
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="3" Optimization="0"
InlineFunctionExpansion="2" InlineFunctionExpansion="0"
EnableIntrinsicFunctions="true" EnableIntrinsicFunctions="false"
FavorSizeOrSpeed="1" FavorSizeOrSpeed="0"
OmitFramePointers="true" OmitFramePointers="false"
EnableFiberSafeOptimizations="true" EnableFiberSafeOptimizations="false"
AdditionalIncludeDirectories="..\..\..\public\sourcepawn" AdditionalIncludeDirectories="..\..\..\public\sourcepawn"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE" PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true" MinimalRebuild="true"

View File

@ -1207,7 +1207,7 @@ static int hier14(value *lval1)
} /* if */ } /* if */
} /* if */ } /* if */
if (lval3.sym->dim.array.level!=level) if (lval3.sym->dim.array.level!=level)
return error(48); /* array dimensions must match */ return error(47); /* array dimensions must match */
else if (ltlength<val || exactmatch && ltlength>val || val==0) else if (ltlength<val || exactmatch && ltlength>val || val==0)
return error(47); /* array sizes must match */ return error(47); /* array sizes must match */
else if (lval3.ident!=iARRAYCELL && !matchtag(lval3.sym->x.tags.index,idxtag,TRUE)) else if (lval3.ident!=iARRAYCELL && !matchtag(lval3.sym->x.tags.index,idxtag,TRUE))
@ -1217,6 +1217,7 @@ static int hier14(value *lval1)
symbol *sym1 = lval3.sym; symbol *sym1 = lval3.sym;
symbol *sym2 = lval2.sym; symbol *sym2 = lval2.sym;
int i; int i;
error(23);
assert(sym1!=NULL && sym2!=NULL); assert(sym1!=NULL && sym2!=NULL);
/* ^^^ sym2 must be valid, because only variables can be /* ^^^ sym2 must be valid, because only variables can be
* multi-dimensional (there are no multi-dimensional literals), * multi-dimensional (there are no multi-dimensional literals),