Mercurial > projects > ldc
comparison dmd/statement.h @ 664:eef8ac26c66c
Some missed LLVMDC -> LDC.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 06 Oct 2008 22:54:08 +0200 |
parents | 6aee82889553 |
children | a58784e0f035 |
comparison
equal
deleted
inserted
replaced
663:6aaa3d3c1183 | 664:eef8ac26c66c |
---|---|
92 BEbreak = 0x20, | 92 BEbreak = 0x20, |
93 BEcontinue = 0x40, | 93 BEcontinue = 0x40, |
94 BEany = (BEfallthru | BEthrow | BEreturn | BEgoto | BEhalt), | 94 BEany = (BEfallthru | BEthrow | BEreturn | BEgoto | BEhalt), |
95 }; | 95 }; |
96 | 96 |
97 // LLVMDC this is used for tracking try-finally, synchronized and volatile scopes | 97 // LDC this is used for tracking try-finally, synchronized and volatile scopes |
98 // definitions in gen/llvmhelpers.cpp | 98 // definitions in gen/llvmhelpers.cpp |
99 struct EnclosingHandler : Object | 99 struct EnclosingHandler : Object |
100 { | 100 { |
101 virtual void emitCode(IRState* p) = 0; | 101 virtual void emitCode(IRState* p) = 0; |
102 virtual EnclosingHandler* getEnclosing() = 0; | 102 virtual EnclosingHandler* getEnclosing() = 0; |
542 | 542 |
543 void toIR(IRState *irs); | 543 void toIR(IRState *irs); |
544 | 544 |
545 CaseStatement* isCaseStatement() { return this; } | 545 CaseStatement* isCaseStatement() { return this; } |
546 | 546 |
547 // LLVMDC | 547 // LDC |
548 llvm::BasicBlock* bodyBB; | 548 llvm::BasicBlock* bodyBB; |
549 llvm::ConstantInt* llvmIdx; | 549 llvm::ConstantInt* llvmIdx; |
550 }; | 550 }; |
551 | 551 |
552 struct DefaultStatement : Statement | 552 struct DefaultStatement : Statement |
568 | 568 |
569 Statement *inlineScan(InlineScanState *iss); | 569 Statement *inlineScan(InlineScanState *iss); |
570 | 570 |
571 void toIR(IRState *irs); | 571 void toIR(IRState *irs); |
572 | 572 |
573 // LLVMDC | 573 // LDC |
574 llvm::BasicBlock* bodyBB; | 574 llvm::BasicBlock* bodyBB; |
575 }; | 575 }; |
576 | 576 |
577 struct GotoDefaultStatement : Statement | 577 struct GotoDefaultStatement : Statement |
578 { | 578 { |
653 int fallOffEnd(); | 653 int fallOffEnd(); |
654 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 654 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
655 | 655 |
656 void toIR(IRState *irs); | 656 void toIR(IRState *irs); |
657 | 657 |
658 // LLVMDC: only set if ident is set: label statement to jump to | 658 // LDC: only set if ident is set: label statement to jump to |
659 LabelStatement *target; | 659 LabelStatement *target; |
660 }; | 660 }; |
661 | 661 |
662 struct ContinueStatement : Statement | 662 struct ContinueStatement : Statement |
663 { | 663 { |
672 int fallOffEnd(); | 672 int fallOffEnd(); |
673 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 673 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
674 | 674 |
675 void toIR(IRState *irs); | 675 void toIR(IRState *irs); |
676 | 676 |
677 // LLVMDC: only set if ident is set: label statement to jump to | 677 // LDC: only set if ident is set: label statement to jump to |
678 LabelStatement *target; | 678 LabelStatement *target; |
679 }; | 679 }; |
680 | 680 |
681 struct SynchronizedStatement : Statement | 681 struct SynchronizedStatement : Statement |
682 { | 682 { |
869 | 869 |
870 Statement *inlineScan(InlineScanState *iss); | 870 Statement *inlineScan(InlineScanState *iss); |
871 | 871 |
872 void toIR(IRState *irs); | 872 void toIR(IRState *irs); |
873 | 873 |
874 // LLVMDC | 874 // LDC |
875 bool asmLabel; // for labels inside inline assembler | 875 bool asmLabel; // for labels inside inline assembler |
876 }; | 876 }; |
877 | 877 |
878 struct LabelDsymbol : Dsymbol | 878 struct LabelDsymbol : Dsymbol |
879 { | 879 { |
901 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); | 901 void toCBuffer(OutBuffer *buf, HdrGenState *hgs); |
902 virtual AsmStatement *isAsmStatement() { return this; } | 902 virtual AsmStatement *isAsmStatement() { return this; } |
903 | 903 |
904 void toIR(IRState *irs); | 904 void toIR(IRState *irs); |
905 | 905 |
906 // LLVMDC | 906 // LDC |
907 // non-zero if this is a branch, contains the target labels identifier | 907 // non-zero if this is a branch, contains the target labels identifier |
908 Identifier* isBranchToLabel; | 908 Identifier* isBranchToLabel; |
909 }; | 909 }; |
910 | 910 |
911 struct AsmBlockStatement : CompoundStatement | 911 struct AsmBlockStatement : CompoundStatement |