]> Cypherpunks repositories - gostls13.git/commit
Implement labels, goto, labeled break, and labeled continue.
authorAustin Clements <aclements@csail.mit.edu>
Thu, 30 Jul 2009 21:39:27 +0000 (14:39 -0700)
committerAustin Clements <aclements@csail.mit.edu>
Thu, 30 Jul 2009 21:39:27 +0000 (14:39 -0700)
commit36ca5fde680faf1abd4b05b4ca1b96c488fcbdb8
tree2fe900def247d1d92afe550b73763aeacf10a07f
parent6ccebe082fa311e06216707717fbd3887052eea6
Implement labels, goto, labeled break, and labeled continue.
Return checking is now done as a general flow check at the end
of function compilation, since break and goto complicated the
way I was doing return checking before.  Goto-over-declaration
checking is also done as a final flow check.

Temporary variables used for effect extraction are now
actually temporary.  Otherwise "op=", "++", and "--" appear as
declarations that cannot be jumped over.

R=rsc
APPROVED=rsc
DELTA=421  (344 added, 38 deleted, 39 changed)
OCL=32527
CL=32535
usr/austin/eval/compiler.go
usr/austin/eval/decls.go
usr/austin/eval/expr.go
usr/austin/eval/scope.go
usr/austin/eval/stmt.go