parent
5ee9e86c87
commit
4164ec4f8b
2 changed files with 19 additions and 2 deletions
|
|
@ -243,7 +243,10 @@ proc genSingleVar(p: BProc, a: PNode) =
|
||||||
if params != nil: params.add(~", ")
|
if params != nil: params.add(~", ")
|
||||||
assert(sonsLen(typ) == sonsLen(typ.n))
|
assert(sonsLen(typ) == sonsLen(typ.n))
|
||||||
add(params, genOtherArg(p, value, i, typ))
|
add(params, genOtherArg(p, value, i, typ))
|
||||||
lineF(p, cpsStmts, "$#($#);$n", [decl, params])
|
if params == nil:
|
||||||
|
lineF(p, cpsStmts, "$#;$n", [decl])
|
||||||
|
else:
|
||||||
|
lineF(p, cpsStmts, "$#($#);$n", [decl, params])
|
||||||
else:
|
else:
|
||||||
initLocExprSingleUse(p, value, tmp)
|
initLocExprSingleUse(p, value, tmp)
|
||||||
lineF(p, cpsStmts, "$# = $#;$n", [decl, tmp.rdLoc])
|
lineF(p, cpsStmts, "$# = $#;$n", [decl, tmp.rdLoc])
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
discard """
|
discard """
|
||||||
targets: "cpp"
|
targets: "cpp"
|
||||||
output: '''6.0'''
|
output: '''6.0
|
||||||
|
0'''
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# bug #4730
|
# bug #4730
|
||||||
|
|
@ -20,3 +21,16 @@ proc main =
|
||||||
echo v[0]
|
echo v[0]
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
||||||
|
#------------
|
||||||
|
|
||||||
|
#bug #6837
|
||||||
|
type StdString {.importCpp: "std::string", header: "<string>", byref.} = object
|
||||||
|
proc initString(): StdString {.constructor, importCpp: "std::string(@)", header: "<string>".}
|
||||||
|
proc size(this: var StdString): csize {.importCpp: "size", header: "<string>".}
|
||||||
|
|
||||||
|
proc f(): csize =
|
||||||
|
var myString: StdString = initString()
|
||||||
|
return myString.size()
|
||||||
|
|
||||||
|
echo f()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue