Add address space number to getPointerSize() calls.

This is required for LLVM 3.2.
This commit is contained in:
kai
2012-10-20 17:49:58 +02:00
parent fde625b33d
commit 83a7258ae4
3 changed files with 4 additions and 2 deletions

View File

@@ -581,7 +581,7 @@ int main(int argc, char** argv)
global.params.isLE = gDataLayout->isLittleEndian();
// Starting with LLVM 3.1 we could also use global.params.targetTriple.isArch64Bit();
global.params.is64bit = gDataLayout->getPointerSizeInBits() == 64;
global.params.is64bit = gDataLayout->getPointerSizeInBits(ADDRESS_SPACE) == 64;
global.params.cpu = static_cast<ARCH>(global.params.targetTriple.getArch());
global.params.os = static_cast<OS>(global.params.targetTriple.getOS());

View File

@@ -31,8 +31,10 @@ namespace llvm {
#endif
#if LDC_LLVM_VER >= 302
#define ADDRESS_SPACE 0
#define HAS_ATTRIBUTES(x) (x).hasAttributes()
#else
#define ADDRESS_SPACE
#define HAS_ATTRIBUTES(x) (x)
#endif

View File

@@ -19,7 +19,7 @@ unsigned GetTypeAlignment(Ir* ir, Type* t)
unsigned GetPointerSize(Ir* ir)
{
return gDataLayout->getPointerSize();
return gDataLayout->getPointerSize(ADDRESS_SPACE);
}
unsigned GetTypeStoreSize(Ir* ir, Type* t)