Commit 07ca8cc17842eac42a2bd477851e987ace68a2a0
1 parent
eefa7b6f61
Exists in
master
break and continue should work
Showing 1 changed file with 4 additions and 3 deletions Side-by-side Diff
ast_stmt.cc
View file @
07ca8cc
... | ... | @@ -301,7 +301,7 @@ |
301 | 301 | llvm::LLVMContext * context = irgen.GetContext(); |
302 | 302 | llvm::Function * func = irgen.GetFunction(); |
303 | 303 | llvm::BasicBlock * contBlock = llvm::BasicBlock::Create(*context, "contBlock", func); |
304 | - val=llvm::Create (breakBlock, irgen.GetBasicBlock()); | |
304 | + val=llvm::Create (contBlock, irgen.GetBasicBlock()); | |
305 | 305 | } |
306 | 306 | |
307 | 307 | //Not sure |
... | ... | @@ -324,7 +324,6 @@ |
324 | 324 | //find all cases and create a basic block for all of them |
325 | 325 | for (int i = 0; i < cases->NumElements(); i++){ |
326 | 326 | //cases->Nth(i)->Emit(); |
327 | - | |
328 | 327 | //llvm::BasicBlock * headBlock = llvm::BasicBlock::Create(*context, "headBlock", func); |
329 | 328 | } |
330 | 329 | //Emit of expression |
... | ... | @@ -333,7 +332,6 @@ |
333 | 332 | //create switch instruction |
334 | 333 | //val=llvm::SwitchInst::Create(Value *Value, BasicBlock *Default, unsigned NumCases, BasicBlock *InsertAtEnd); |
335 | 334 | //for each case 'addCase to switch stmt', EMIT for stmt in case, create terminator instruction |
336 | - | |
337 | 335 | } |
338 | 336 | |
339 | 337 | llvm::Value * SwitchLabel::Emit(){ |
340 | 338 | |
341 | 339 | |
... | ... | @@ -341,10 +339,13 @@ |
341 | 339 | } |
342 | 340 | |
343 | 341 | llvm::Value * Case::Emit(){ |
342 | + | |
344 | 343 | return NULL; |
344 | + //stmt and label emit on stmt //return on label | |
345 | 345 | } |
346 | 346 | |
347 | 347 | llvm::Value * Default::Emit(){ |
348 | 348 | return NULL; |
349 | + //stmt emit return null | |
349 | 350 | } |