fix rtti sizeof for varargs in global scope (#13125) [backport]
This commit is contained in:
parent
1f27a2f8ab
commit
bf2e052e6d
2 changed files with 11 additions and 2 deletions
|
|
@ -479,7 +479,7 @@ type
|
||||||
nfExecuteOnReload # A top-level statement that will be executed during reloads
|
nfExecuteOnReload # A top-level statement that will be executed during reloads
|
||||||
|
|
||||||
TNodeFlags* = set[TNodeFlag]
|
TNodeFlags* = set[TNodeFlag]
|
||||||
TTypeFlag* = enum # keep below 32 for efficiency reasons (now: ~39)
|
TTypeFlag* = enum # keep below 32 for efficiency reasons (now: ~40)
|
||||||
tfVarargs, # procedure has C styled varargs
|
tfVarargs, # procedure has C styled varargs
|
||||||
# tyArray type represeting a varargs list
|
# tyArray type represeting a varargs list
|
||||||
tfNoSideEffect, # procedure type does not allow side effects
|
tfNoSideEffect, # procedure type does not allow side effects
|
||||||
|
|
@ -539,6 +539,7 @@ type
|
||||||
tfCheckedForDestructor # type was checked for having a destructor.
|
tfCheckedForDestructor # type was checked for having a destructor.
|
||||||
# If it has one, t.destructor is not nil.
|
# If it has one, t.destructor is not nil.
|
||||||
tfAcyclic # object type was annotated as .acyclic
|
tfAcyclic # object type was annotated as .acyclic
|
||||||
|
tfIncompleteStruct # treat this type as if it had sizeof(pointer)
|
||||||
|
|
||||||
TTypeFlags* = set[TTypeFlag]
|
TTypeFlags* = set[TTypeFlag]
|
||||||
|
|
||||||
|
|
@ -580,7 +581,6 @@ type
|
||||||
const
|
const
|
||||||
routineKinds* = {skProc, skFunc, skMethod, skIterator,
|
routineKinds* = {skProc, skFunc, skMethod, skIterator,
|
||||||
skConverter, skMacro, skTemplate}
|
skConverter, skMacro, skTemplate}
|
||||||
tfIncompleteStruct* = tfVarargs
|
|
||||||
tfUnion* = tfNoSideEffect
|
tfUnion* = tfNoSideEffect
|
||||||
tfGcSafe* = tfThread
|
tfGcSafe* = tfThread
|
||||||
tfObjHasKids* = tfEnumHasHoles
|
tfObjHasKids* = tfEnumHasHoles
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ TEMP=C:\Programs\xyz\bin
|
||||||
8 5 0 0
|
8 5 0 0
|
||||||
pre test a:test b:1 c:2 haha:3
|
pre test a:test b:1 c:2 haha:3
|
||||||
assignment test a:test b:1 c:2 haha:3
|
assignment test a:test b:1 c:2 haha:3
|
||||||
|
abc123
|
||||||
'''
|
'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -207,3 +208,11 @@ when false:
|
||||||
var
|
var
|
||||||
a, b: Foo
|
a, b: Foo
|
||||||
a = b
|
a = b
|
||||||
|
|
||||||
|
block tgeneric_assign_varargs:
|
||||||
|
template fatal(msgs: varargs[string]) =
|
||||||
|
for msg in msgs:
|
||||||
|
stdout.write(msg)
|
||||||
|
stdout.write('\n')
|
||||||
|
|
||||||
|
fatal "abc", "123"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue