Switch gofrontend to using go.googlesource.com, and
update to 81eb6a3f425b2158c67ee32c0cc973a72ce9d6be.
There are various changes required to update to the
go 1.5 runtime:
- typemap.go is changed to accommodate the change in representation for equal/hash algorithms, and the removal of the zero value/type.
- CMakeLists.txt is updated to add the build tree to the package search path, so internal packages, which are not installed, are found.
- various files changes due to removal of __go_new_nopointers; the same change as in D11863, but with NoUnwindAttribute added to the added runtime functions which are called with "callOnly".
- minor cleanups in ssa.go while investigating issues with unwinding/panic handling.
I don't think you need to be able to call arbitrary closures in the algorithm implementations. Since the identity of the element type is statically known, you can just call the function directly. The only place where you should need to deal with closure descriptors is when building the type descriptor struct.