Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix[venom]: alloca for default arguments (vyperlang#4155)
this commit fixes an `ir_node_to_venom` translation bug. when there is a default argument to an external function, it can generate multiple allocas, because the entry points allocate separate symbol tables, but actually they should all correspond to the same alloca. for instance, `external 1 foo(uint256)12345` and `external 1 foo()67890` both feed into the same `external 1 foo()__common`, but the current translator mistakenly creates different symbol tables for the two "feeder" entry points, resulting in separate allocas for the same logical variable. this commit fixes the bug by fusing the symbol tables for multiple entry points to the same external function.
- Loading branch information