[PATCH] D1623: Support __builtin_ms_va_list.

Reid Kleckner rnk at google.com
Mon Jul 27 11:18:24 PDT 2015

rnk added a comment.

We can easily codegen `__builtin_ms_va_start()` and `end()` to `llvm.vastart` / `llvm.vaend`, because the first *has* to live in the win64 function and the second is a no-op. We should remove the FIXME about lowering `__builtin_ms_va_arg()` in LLVM instead of clang, because you can use it from a SysV function and it should work: consider implementing Win64 printf by calling an internal SysV vfprintf implementation. We also need to implement `__builtin_ms_va_copy()` in Clang for the same reason, but that's easy, since it's always a simple pointer load and store.

Charles, are you actively working on this or should I just fix up the patch and submit it?


More information about the cfe-commits mailing list