Add code generation and sema checking for __builtin_va_arg.
llvm-svn: 43006
diff --git a/clang/Sema/Sema.h b/clang/Sema/Sema.h
index a7db5b9..c45bbf8 100644
--- a/clang/Sema/Sema.h
+++ b/clang/Sema/Sema.h
@@ -418,6 +418,11 @@
ExprTy *cond, ExprTy *expr1, ExprTy *expr2,
SourceLocation RPLoc);
+ // __builtin_va_arg(expr, type)
+ virtual ExprResult ActOnVAArg(SourceLocation BuiltinLoc,
+ ExprTy *expr, TypeTy *type,
+ SourceLocation RPLoc);
+
/// ActOnCXXCasts - Parse {dynamic,static,reinterpret,const}_cast's.
virtual ExprResult ActOnCXXCasts(SourceLocation OpLoc, tok::TokenKind Kind,
SourceLocation LAngleBracketLoc, TypeTy *Ty,
@@ -624,6 +629,8 @@
unsigned NewWidth, bool NewSign,
SourceLocation Loc, unsigned DiagID);
+ void InitBuiltinVaListType();
+
//===--------------------------------------------------------------------===//
// Extra semantic analysis beyond the C type system
private: