mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-25 13:41:05 +00:00
Removed BarrierSide from VMFunction, since it's obsolete with addition of VarFlags
This commit is contained in:
parent
7cbabfb0d4
commit
3eafc13b08
2 changed files with 2 additions and 5 deletions
|
@ -707,7 +707,6 @@ class VMFunction
|
||||||
public:
|
public:
|
||||||
bool Unsafe = false;
|
bool Unsafe = false;
|
||||||
int VarFlags = 0; // [ZZ] this replaces 5+ bool fields
|
int VarFlags = 0; // [ZZ] this replaces 5+ bool fields
|
||||||
int BarrierSide = 0; // [ZZ] FScopeBarrier::Side
|
|
||||||
BYTE ImplicitArgs = 0; // either 0 for static, 1 for method or 3 for action
|
BYTE ImplicitArgs = 0; // either 0 for static, 1 for method or 3 for action
|
||||||
unsigned VirtualIndex = ~0u;
|
unsigned VirtualIndex = ~0u;
|
||||||
FName Name;
|
FName Name;
|
||||||
|
@ -940,7 +939,7 @@ class VMNativeFunction : public VMFunction
|
||||||
public:
|
public:
|
||||||
typedef int (*NativeCallType)(VMValue *param, TArray<VMValue> &defaultparam, int numparam, VMReturn *ret, int numret);
|
typedef int (*NativeCallType)(VMValue *param, TArray<VMValue> &defaultparam, int numparam, VMReturn *ret, int numret);
|
||||||
|
|
||||||
// 8 is VARF_Native.
|
// 8 is VARF_Native. I can't write VARF_Native because of circular references between this and dobject/dobjtype.
|
||||||
VMNativeFunction() : NativeCall(NULL) { VarFlags = 8; }
|
VMNativeFunction() : NativeCall(NULL) { VarFlags = 8; }
|
||||||
VMNativeFunction(NativeCallType call) : NativeCall(call) { VarFlags = 8; }
|
VMNativeFunction(NativeCallType call) : NativeCall(call) { VarFlags = 8; }
|
||||||
VMNativeFunction(NativeCallType call, FName name) : VMFunction(name), NativeCall(call) { VarFlags = 8; }
|
VMNativeFunction(NativeCallType call, FName name) : VMFunction(name), NativeCall(call) { VarFlags = 8; }
|
||||||
|
|
|
@ -2415,7 +2415,6 @@ void ZCCCompiler::CompileFunction(ZCC_StructWork *c, ZCC_FuncDeclarator *f, bool
|
||||||
if (sym->Variants[0].Implementation != nullptr)
|
if (sym->Variants[0].Implementation != nullptr)
|
||||||
{
|
{
|
||||||
// [ZZ] unspecified virtual function inherits old scope. virtual function scope can't be changed.
|
// [ZZ] unspecified virtual function inherits old scope. virtual function scope can't be changed.
|
||||||
sym->Variants[0].Implementation->BarrierSide = FScopeBarrier::SideFromFlags(varflags);
|
|
||||||
sym->Variants[0].Implementation->VarFlags = sym->Variants[0].Flags;
|
sym->Variants[0].Implementation->VarFlags = sym->Variants[0].Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2461,8 +2460,7 @@ void ZCCCompiler::CompileFunction(ZCC_StructWork *c, ZCC_FuncDeclarator *f, bool
|
||||||
Error(f, "Attempt to change private/protected qualifiers for virtual function %s", FName(f->Name).GetChars());
|
Error(f, "Attempt to change private/protected qualifiers for virtual function %s", FName(f->Name).GetChars());
|
||||||
}
|
}
|
||||||
// inherit scope of original function if override not specified
|
// inherit scope of original function if override not specified
|
||||||
sym->Variants[0].Implementation->BarrierSide = oldfunc->BarrierSide;
|
sym->Variants[0].Flags = FScopeBarrier::ChangeSideInFlags(sym->Variants[0].Flags, FScopeBarrier::SideFromFlags(oldfunc->VarFlags));
|
||||||
sym->Variants[0].Flags = FScopeBarrier::ChangeSideInFlags(sym->Variants[0].Flags, oldfunc->BarrierSide);
|
|
||||||
// inherit const from original function
|
// inherit const from original function
|
||||||
if (oldfunc->VarFlags & VARF_ReadOnly)
|
if (oldfunc->VarFlags & VARF_ReadOnly)
|
||||||
sym->Variants[0].Flags |= VARF_ReadOnly;
|
sym->Variants[0].Flags |= VARF_ReadOnly;
|
||||||
|
|
Loading…
Reference in a new issue