Mercurial > projects > ldc
comparison gen/statements.c @ 79:875617f89c51 trunk
[svn r83] Fixed: Returning a struct from within the try block of a try-finally was broken.
author | lindquist |
---|---|
date | Wed, 31 Oct 2007 22:20:19 +0100 |
parents | 2332006e1fa4 |
children | 7299ff502248 |
comparison
equal
deleted
inserted
replaced
78:2332006e1fa4 | 79:875617f89c51 |
---|---|
94 | 94 |
95 IRFunction::FinallyVec& fin = p->func().finallys; | 95 IRFunction::FinallyVec& fin = p->func().finallys; |
96 if (fin.empty()) | 96 if (fin.empty()) |
97 new llvm::ReturnInst(p->scopebb()); | 97 new llvm::ReturnInst(p->scopebb()); |
98 else { | 98 else { |
99 new llvm::BranchInst(fin.back().bb); | 99 new llvm::BranchInst(fin.back().bb, p->scopebb()); |
100 fin.back().ret = true; | 100 fin.back().ret = true; |
101 } | 101 } |
102 delete e; | 102 delete e; |
103 } | 103 } |
104 else { | 104 else { |