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

@@ -74,7 +74,7 @@ Global::Global()
written = "written by Walter Bright and Tomas Lindquist Olsen";
version = "v1.074";
ldc_version = "LDC trunk";
llvm_version = "LLVM 3.0";
llvm_version = "LLVM "LDC_LLVM_VERSION_STRING;
global.structalign = 8;
// This should only be used as a global, so the other fields are

View File

@@ -104,7 +104,7 @@ Global::Global()
version = "v2.059";
#if IN_LLVM
ldc_version = "LDC trunk";
llvm_version = "LLVM 3.0";
llvm_version = "LLVM "LDC_LLVM_VERSION_STRING;
#endif
global.structalign = 8;

View File

@@ -19,7 +19,11 @@ LLType* DtoTypeNotVoid(Type* t);
bool DtoIsPassedByRef(Type* type);
// should argument be zero or sign extended
#if LDC_LLVM_VER == 300
unsigned DtoShouldExtend(Type* type);
#else
llvm::Attributes DtoShouldExtend(Type* type);
#endif
// tuple helper
// takes a arguments list and makes a struct type out of them

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