More unification work.

This commit is contained in:
kai
2012-07-29 14:22:56 +02:00
parent 9bf65bc9a2
commit e13b115583
4 changed files with 17 additions and 2 deletions

View File

@@ -3,6 +3,9 @@
#include "ir/ir.h"
#include "llvm/ADT/SmallVector.h"
#if LDC_LLVM_VER >= 301
#include "llvm/Attributes.h"
#endif
#include <vector>
@@ -27,7 +30,11 @@ struct IrFuncTyArg : IrBase
/** These are the final LLVM attributes used for the function.
* Must be valid for the LLVM Type and byref setting */
#if LDC_LLVM_VER == 300
unsigned attrs;
#else
llvm::Attributes attrs;
#endif
/** 'true' if the final LLVM argument is a LLVM reference type.
* Must be true when the D Type is a value type, but the final
@@ -50,7 +57,11 @@ struct IrFuncTyArg : IrBase
* @param byref Initial value for the 'byref' field. If true the initial
* LLVM Type will be of DtoType(type->pointerTo()), instead
* of just DtoType(type) */
#if LDC_LLVM_VER == 300
IrFuncTyArg(Type* t, bool byref, unsigned a = 0);
#else
IrFuncTyArg(Type* t, bool byref, llvm::Attributes a = llvm::Attribute::None);
#endif
};
// represents a function type