Mercurial > projects > ldc
comparison gen/irstate.cpp @ 1141:f99a3b393c03
Reorganize EnclosingHandlers to require less changes to the frontend and allow us to
implement the synchronized storage class for functions.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Tue, 24 Mar 2009 21:18:18 +0100 |
parents | 8c73ff5f69e0 |
children | ad7f2f1862d6 |
comparison
equal
deleted
inserted
replaced
1137:45d73f0a9b43 | 1141:f99a3b393c03 |
---|---|
32 end = e; | 32 end = e; |
33 builder.SetInsertPoint(b); | 33 builder.SetInsertPoint(b); |
34 } | 34 } |
35 | 35 |
36 ////////////////////////////////////////////////////////////////////////////////////////// | 36 ////////////////////////////////////////////////////////////////////////////////////////// |
37 IRLoopScope::IRLoopScope() | 37 IRTargetScope::IRTargetScope() |
38 { | 38 { |
39 } | 39 } |
40 | 40 |
41 IRLoopScope::IRLoopScope(Statement* s, EnclosingHandler* enclosinghandler, llvm::BasicBlock* b, llvm::BasicBlock* e, bool isSwitch) | 41 IRTargetScope::IRTargetScope(Statement* s, EnclosingHandler* enclosinghandler, llvm::BasicBlock* continueTarget, llvm::BasicBlock* breakTarget) |
42 { | 42 { |
43 begin = b; | |
44 end = e; | |
45 //builder.SetInsertPoint(b); | |
46 this->s = s; | 43 this->s = s; |
47 this->enclosinghandler = enclosinghandler; | 44 this->enclosinghandler = enclosinghandler; |
48 this->isSwitch = isSwitch; | 45 this->breakTarget = breakTarget; |
46 this->continueTarget = continueTarget; | |
49 } | 47 } |
50 | 48 |
51 ////////////////////////////////////////////////////////////////////////////////////////// | 49 ////////////////////////////////////////////////////////////////////////////////////////// |
52 IRState::IRState(llvm::Module* m) | 50 IRState::IRState(llvm::Module* m) |
53 : module(m), difactory(*m) | 51 : module(m), difactory(*m) |