Skip to content

Commit

Permalink
compiler: fix code generation for reference variables
Browse files Browse the repository at this point in the history
  • Loading branch information
mertcandav committed Nov 3, 2024
1 parent d0d2531 commit fdb5f40
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/julec/obj/cxx/object.jule
Original file line number Diff line number Diff line change
Expand Up @@ -924,6 +924,16 @@ impl ObjectCoder {
if v.Value.Data.Model != nil {
if v.Reference {
self.varInitExpr(v, fn() {
match type v.Value.Data.Model {
| &sema::Var:
// If value is variable, check whether it is a reference.
// Because references implemented as raw pointers.
// So, do not take address of them, use directly them.
if (&sema::Var)(v.Value.Data.Model).Reference {
self.ec.model(v.Value.Data.Model)
ret
}
}
self.write("&(")
self.ec.model(v.Value.Data.Model)
self.write(")")
Expand Down

0 comments on commit fdb5f40

Please sign in to comment.