be a bit more forgiving in eval interpreter, to allow for graceful type (and thus empty bytecode) evaluation

This commit is contained in:
Ryan Fleury
2024-08-06 07:15:03 -07:00
parent ebaf83172f
commit 784a77bdff
2 changed files with 11 additions and 6 deletions
+1 -6
View File
@@ -5349,15 +5349,10 @@ e_interpret(String8 bytecode)
}
done:;
if(stack_count == 1)
if(stack_count >= 1)
{
result.value = stack[0];
}
else if(result.code == E_InterpretationCode_Good)
{
result.code = E_InterpretationCode_MalformedBytecode;
}
scratch_end(scratch);
return result;
}
+10
View File
@@ -13,6 +13,15 @@
# define thread_var __thread
#endif
typedef struct OnlyInModule OnlyInModule;
struct OnlyInModule
{
int x;
int y;
int z;
char *name;
};
typedef struct Basics Basics;
struct Basics
{
@@ -37,6 +46,7 @@ dll_type_eval_tests(void)
{
Basics basics1 = {1, 2, 3, 4};
Basics basics2 = {4, 5, 6, 7};
OnlyInModule only_in_module = {123, 456, 789, "this type is only in the module!"};
int x = 0;
(void)x;
}