aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-05-06 17:27:27 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-05-06 17:27:27 +0000
commit49a94b1c7cf661b1d45247ef39e70c7330219045 (patch)
tree422ba891ab463a187a8b8d6ba8292e29db578255 /clang/lib/CodeGen/CodeGenFunction.h
parentaab77fe5749d48bd8ca8556e8954319505c3fc44 (diff)
downloadllvm-49a94b1c7cf661b1d45247ef39e70c7330219045.zip
llvm-49a94b1c7cf661b1d45247ef39e70c7330219045.tar.gz
llvm-49a94b1c7cf661b1d45247ef39e70c7330219045.tar.bz2
Add an implementation of thunks for varargs methods. The implementation is a bit messy, but it is correct as long as the method in question doesn't use indirect gotos. A couple of possible alternative implementations are outlined in FIXME's in this patch. rdar://problem/8077308 .
llvm-svn: 130993
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 169c576..0745647 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -1157,6 +1157,9 @@ public:
void GenerateThunk(llvm::Function *Fn, const CGFunctionInfo &FnInfo,
GlobalDecl GD, const ThunkInfo &Thunk);
+ void GenerateVarArgsThunk(llvm::Function *Fn, const CGFunctionInfo &FnInfo,
+ GlobalDecl GD, const ThunkInfo &Thunk);
+
void EmitCtorPrologue(const CXXConstructorDecl *CD, CXXCtorType Type,
FunctionArgList &Args);