compiler: fix bug in importing blocks from inline functions

This patch fixes a buglet in the function body importer. Add hooks for
keeping a stack of blocks corresponding to the block nesting in the
imported function. This ensures that local variables and temps wind up
correctly scoped and don't introduce collisions.

New test case for this problem in CL 186717.

Fixes golang/go#33158.

Change-Id: I5a2bf9bdbc505aa9258b69381e24f21df71d12d1
Reviewed-by: Ian Lance Taylor <>
3 files changed