]> granicus.if.org Git - clang/commit
Support __builtin_ms_va_list.
authorCharles Davis <cdavis5x@gmail.com>
Thu, 17 Sep 2015 20:55:33 +0000 (20:55 +0000)
committerCharles Davis <cdavis5x@gmail.com>
Thu, 17 Sep 2015 20:55:33 +0000 (20:55 +0000)
commit69b5694b76d36fde04c1f3511459a575e48f201d
treef962b07e2d761f7c5cbe248e5db42c85f5a8029c
parent15522c723b52d7843fa813ff60f8db3a66b40bcd
Support __builtin_ms_va_list.

Summary:
This change adds support for `__builtin_ms_va_list`, a GCC extension for
variadic `ms_abi` functions. The existing `__builtin_va_list` support is
inadequate for this because `va_list` is defined differently in the Win64
ABI vs. the System V/AMD64 ABI.

Depends on D1622.

Reviewers: rsmith, rnk, rjmccall

CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D1623

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@247941 91177308-0d34-0410-b5e6-96231b3b80d8
36 files changed:
include/clang/AST/ASTContext.h
include/clang/AST/Expr.h
include/clang/Basic/BuiltinsX86.def
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Basic/TargetInfo.h
include/clang/Sema/Sema.h
include/clang/Serialization/ASTBitCodes.h
lib/AST/ASTContext.cpp
lib/AST/ASTDiagnostic.cpp
lib/Basic/TargetInfo.cpp
lib/Basic/Targets.cpp
lib/CodeGen/ABIInfo.h
lib/CodeGen/CGBuiltin.cpp
lib/CodeGen/CGCall.cpp
lib/CodeGen/CGExprAgg.cpp
lib/CodeGen/CGExprComplex.cpp
lib/CodeGen/CGExprScalar.cpp
lib/CodeGen/CodeGenFunction.cpp
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/TargetInfo.cpp
lib/Sema/Sema.cpp
lib/Sema/SemaChecking.cpp
lib/Sema/SemaExpr.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderStmt.cpp
lib/Serialization/ASTWriter.cpp
lib/Serialization/ASTWriterStmt.cpp
test/CodeGen/ms_abi.c
test/PCH/Inputs/va_arg.h
test/PCH/va_arg.c
test/PCH/va_arg.cpp
test/PCH/va_arg.h
test/Sema/varargs-win64.c [new file with mode: 0644]
test/Sema/varargs-x86-32.c [new file with mode: 0644]
test/Sema/varargs-x86-64.c
test/SemaTemplate/instantiate-expr-3.cpp