mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-02-26 08:33:14 +01:00
More unification work.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user