Last change
on this file since 206ecae was b6923b17, checked in by Andrew Beach <ajbeach@…>, 14 months ago |
Fixed goto labelled loop. I had to reorder some passes. Updated control declaration hoisting (including comments and correcting update count). Added test, moved more tests into ctrl-flow.
|
-
Property mode
set to
100644
|
File size:
355 bytes
|
Rev | Line | |
---|
[b6923b17] | 1 | // Some runtime tests for goto.
|
---|
| 2 |
|
---|
| 3 | #include <fstream.hfa>
|
---|
| 4 |
|
---|
| 5 | // Make sure loop hoisting
|
---|
| 6 | void gotoLabelledLoop() {
|
---|
| 7 | sout | "goto-loop";
|
---|
| 8 | goto label;
|
---|
| 9 | sout | "!";
|
---|
| 10 |
|
---|
| 11 | // Verbose loop will lead to lifting.
|
---|
| 12 | label: for (int i = 0 ; i < 2 ; ++i) {
|
---|
| 13 | sout | "loop";
|
---|
| 14 | }
|
---|
| 15 | sout | "end" | nl;
|
---|
| 16 | }
|
---|
| 17 |
|
---|
| 18 | int main(int argc, char * argv[]) {
|
---|
| 19 | sout | nlOff;
|
---|
| 20 |
|
---|
| 21 | gotoLabelledLoop();
|
---|
| 22 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.