Alan Donovan
3b53279d8f
go.tools/ssa: preserve type of &&/|| operands in result.
...
+ test.
With this change, the Go Oracle is now self-aware. :)
R=gri, rsc
CC=golang-dev
https://golang.org/cl/12381043
2013-08-19 12:50:40 -04:00
Robert Griesemer
eae0511b70
go.tools/ssa/interp: fix build
...
fallthrough's are now checked - adjust
now illegal test.
TBR: adonovan
R=adonovan
CC=golang-dev
https://golang.org/cl/12041052
2013-07-30 20:28:18 -07:00
Alan Donovan
8846992823
go.tools/ssa: avoid redundant uint64 conversion of right operand of <<, >>.
...
Also: add sanity check that no Instruction yields a Value of 'untyped' type.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/11011043
2013-07-08 17:33:51 -04:00
Alan Donovan
ea8ba6f45b
go.tools/ssa: fix crash on 'select { case x, ok = <-ch: }' (= not :=).
...
Added test.
Also:
- abstracted Function.addLocalForIdent (9 calls).
- remove vestige of old typeswitch hack.
- specify and fix CallCommon.Signature() for calls to built-ins.
R=gri
CC=golang-dev
https://golang.org/cl/10884044
2013-07-03 15:10:49 -04:00
Alan Donovan
0f26bbae8f
go.tools/ssa: fix bug in code emitted for ast.TypeAssertExpr.
...
var x I = ...
x.(E) may fail dynamically (iff x is nil).
Added a testcase.
R=gri
CC=golang-dev
https://golang.org/cl/10237045
2013-06-13 17:31:32 -04:00
Rob Pike
01f8cd246d
go.tools: add go/types, ssa, and cmd/vet
...
They will be deleted from their current homes once this has landed.
Changes made to import paths to make the code compile, and to find
errchk in the right place in cmd/vet's Makefile.
TODO in a later CL: tidy up vet.
R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/9495043
2013-05-17 13:20:39 -07:00