summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2012-06-18 01:59:37 -0400
committerSøren Sandmann Pedersen <ssp@redhat.com>2012-06-18 01:59:37 -0400
commitb4675a903d6fe7c2e8aefb89a091b309e3dfe871 (patch)
treeb221c36b7c4639817931456d9036cfe99fa6b44d
parent25edd2d8484456fd135beeaa63d172bb2d288fd7 (diff)
Expression with goto in them
-rw-r--r--TODO10
-rw-r--r--goto-powerful3
2 files changed, 13 insertions, 0 deletions
diff --git a/TODO b/TODO
index 706888e..05d4933 100644
--- a/TODO
+++ b/TODO
@@ -189,6 +189,16 @@ These will need similar code, so some of it may be sharable.
Not very clear ... maybe it needs to go away and be replaced with
definition expressions.
+ There is actually a big problem here because expression *can* have
+ gotos in them:
+
+ B() -> int32 { goto blah; return 100; }
+
+ print 7 + B();
+
+ which will cause problems because the "7" is left on the stack even
+ as control goes elsewhere.
+
- At the moment we directly change the nodes in optimize.c, this should
be fixed with helper functions in graph.c (which should probably be
split out in node.c). Things we need
diff --git a/goto-powerful b/goto-powerful
index 64985d2..5930055 100644
--- a/goto-powerful
+++ b/goto-powerful
@@ -1,3 +1,6 @@
+[Note: need to come up with an answer to the expression-with-goto-in-it
+ problem - see TODO];
+
Go To Statement Considered Powerful
Oort is a programming language I have been working on, on and off