aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CodeGenTypes.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/CodeGenTypes.h')
-rw-r--r--lib/CodeGen/CodeGenTypes.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/CodeGen/CodeGenTypes.h b/lib/CodeGen/CodeGenTypes.h
index d89dfa6d0f..f9cc4ef08f 100644
--- a/lib/CodeGen/CodeGenTypes.h
+++ b/lib/CodeGen/CodeGenTypes.h
@@ -18,6 +18,8 @@
#include "llvm/ADT/SmallSet.h"
#include <vector>
+#include "CGCall.h"
+
namespace llvm {
class FunctionType;
class Module;
@@ -42,7 +44,6 @@ namespace clang {
class Type;
namespace CodeGen {
- class CGFunctionInfo;
class CodeGenTypes;
/// CGRecordLayout - This class handles struct and union layout info while
@@ -143,6 +144,17 @@ public:
/// GetFunctionType - Get the LLVM function type from Info.
const llvm::FunctionType *GetFunctionType(const CGFunctionInfo &Info);
+ /// GetFunctionType - Get the LLVM function type from Info.
+ /// \param IsVariadic Should the resulting type be variadic?
+ const llvm::FunctionType *GetFunctionType(const CGCallInfo &Info,
+ bool IsVariadic);
+
+ /// GetFunctionType - Get the LLVM function type for the given types
+ /// and variadicness.
+ // FIXME: Do we even need IsVariadic here?
+ const llvm::FunctionType *GetFunctionType(ArgTypeIterator begin,
+ ArgTypeIterator end,
+ bool IsVariadic);
void CollectObjCIvarTypes(ObjCInterfaceDecl *ObjCClass,
std::vector<const llvm::Type*> &IvarTypes);