mirror of
https://github.com/mirror/tinycc.git
synced 2025-01-05 04:40:06 +08:00
stack full fix
This commit is contained in:
parent
1e1d3ff687
commit
1d0e5e8b01
6
tcc.c
6
tcc.c
@ -111,7 +111,7 @@ typedef int BOOL;
|
|||||||
|
|
||||||
#define INCLUDE_STACK_SIZE 32
|
#define INCLUDE_STACK_SIZE 32
|
||||||
#define IFDEF_STACK_SIZE 64
|
#define IFDEF_STACK_SIZE 64
|
||||||
#define VSTACK_SIZE 64
|
#define VSTACK_SIZE 256
|
||||||
#define STRING_MAX_SIZE 1024
|
#define STRING_MAX_SIZE 1024
|
||||||
|
|
||||||
#define TOK_HASH_SIZE 8192 /* must be a power of two */
|
#define TOK_HASH_SIZE 8192 /* must be a power of two */
|
||||||
@ -4266,7 +4266,7 @@ void vsetc(CType *type, int r, CValue *vc)
|
|||||||
{
|
{
|
||||||
int v;
|
int v;
|
||||||
|
|
||||||
if (vtop >= vstack + VSTACK_SIZE)
|
if (vtop >= vstack + (VSTACK_SIZE - 1))
|
||||||
error("memory full");
|
error("memory full");
|
||||||
/* cannot let cpu flags if other instruction are generated. Also
|
/* cannot let cpu flags if other instruction are generated. Also
|
||||||
avoid leaving VT_JMP anywhere except on the top of the stack
|
avoid leaving VT_JMP anywhere except on the top of the stack
|
||||||
@ -4387,7 +4387,7 @@ void vswap(void)
|
|||||||
|
|
||||||
void vpushv(SValue *v)
|
void vpushv(SValue *v)
|
||||||
{
|
{
|
||||||
if (vtop >= vstack + VSTACK_SIZE)
|
if (vtop >= vstack + (VSTACK_SIZE - 1))
|
||||||
error("memory full");
|
error("memory full");
|
||||||
vtop++;
|
vtop++;
|
||||||
*vtop = *v;
|
*vtop = *v;
|
||||||
|
Loading…
Reference in New Issue
Block a user