Mercurial > repos > tabletprog
annotate samples/compilerbug_005.tp @ 251:2557ce4e671f
Fix a couple of compiler bugs. topenv was getting initialized in multiple places. This resulted in multiple copies of modules getting created which caused problems for macro expansion. Additionally, arguments were not being marked as declared during code generation so assigning to an argument that was not closed over generated invalid C code.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 11 Apr 2014 22:29:32 -0700 |
parents | ba032565c7a5 |
children |
rev | line source |
---|---|
65
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 #{ |
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 foo <- { "foobar" } |
69
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
3 bar <- #{ |
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
4 baz <- { |
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
5 print: foo |
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
6 } |
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
7 } |
65
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 main <- { |
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 print: foo |
69
ba032565c7a5
Fix handling of variable style access to self and parent object messages defined with lambdas. Improve test case for this bug to include parent object access as well as self object access.
Mike Pavone <pavone@retrodev.com>
parents:
65
diff
changeset
|
10 bar baz |
65
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 } |
b4190db72288
Add sample for bug triggered by accessing a lambda-defined message in variable style
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 } |