Skip to content

Fix composite temp function arg handling

Pierre Muller requested to merge pierre/fix-composite-parasyms into main

While trying to debug the issue about mips code generation error, I found two issues related to this:

  1. for composite args (such as records that can be split between registers and stack on mips code generator) the method check_stack_parameters was only checking the first allocated location, which might result in a 'miss' for some function, which put only part of the argument on the stack.
  2. tcgcallnode.pushparas method, the moving of an argument that was put to a temporary stack allocation back to its correct stack position for call was corrupted by wrong testing, which resulted in moving zero bytes instead of the correct amount.

Merge request reports