mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
cgen: fix Gen.check_noscan to always return correct _noscan information, depending on the type
This commit is contained in:
parent
400dececc9
commit
2e3384aaef
@ -6219,11 +6219,10 @@ fn (mut g Gen) or_block(var_name string, or_block ast.OrExpr, return_type ast.Ty
|
|||||||
|
|
||||||
[inline]
|
[inline]
|
||||||
fn c_name(name_ string) string {
|
fn c_name(name_ string) string {
|
||||||
name := util.no_dots(name_)
|
if c.c_reserved_chk.matches(name_) {
|
||||||
if c.c_reserved_chk.matches(name) {
|
return '_v_${name_}'
|
||||||
return '_v_${name}'
|
|
||||||
}
|
}
|
||||||
return name
|
return util.no_dots(name_)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn (mut g Gen) type_default(typ_ ast.Type) string {
|
fn (mut g Gen) type_default(typ_ ast.Type) string {
|
||||||
@ -6973,10 +6972,8 @@ pub fn (mut g Gen) contains_ptr(el_typ ast.Type) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn (mut g Gen) check_noscan(elem_typ ast.Type) string {
|
fn (mut g Gen) check_noscan(elem_typ ast.Type) string {
|
||||||
if g.pref.gc_mode in [.boehm_full_opt, .boehm_incr_opt] {
|
|
||||||
if !g.contains_ptr(elem_typ) {
|
if !g.contains_ptr(elem_typ) {
|
||||||
return '_noscan'
|
return '_noscan'
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user