1. 29 Jan, 2017 1 commit
  2. 28 Jan, 2017 1 commit
    • Matthias Braun's avatar
      Reorganize va_arg handling · ec7cfdce
      Matthias Braun authored
      Do not put stuff unnecessarily into backend params.
      - Pass lower_va_arg directly as a parameter to lower_builtins
      - Pass stack_param align directly to be_default_lower_va_arg
  3. 24 Jan, 2017 2 commits
  4. 27 Sep, 2016 1 commit
  5. 14 Aug, 2015 1 commit
    • Andreas Fried's avatar
      Implement vararg handling in a more portable way (for now only for IA32). · f833aa25
      Andreas Fried authored
      This adds two builtin kinds, ir_bk_va_start and ir_bk_va_arg. va_arg Builtins
      are lowered in the lower_builtins pass with a function provided by the backend,
      whereby most architectures can use be_default_lower_va_args. va_start Builtins
      are lowered in the backend.
      Note: This commit breaks all backends except for IA32. SPARC and AMD64 are
      implemented in later commits. The ARM backend previously miscompiled variadic
      functions, and will now throw a proper error.