MDNode left the Context!

The changes are in #if LLVM_REV >= 77733 to make the dstress bot happy.
This commit is contained in:
Benjamin Kramer
2009-07-31 23:53:06 +02:00
parent 4c5457ba61
commit a75873da1c
2 changed files with 10 additions and 0 deletions

View File

@@ -16,6 +16,7 @@
#include <cassert>
#include "gen/llvm.h"
#include "gen/llvm-version.h"
#include "mars.h"
#include "module.h"
@@ -317,7 +318,11 @@ void DtoResolveTypeInfo(TypeInfoDeclaration* tid)
mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value);
mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo));
// Construct the metadata
#if LLVM_REV < 77733
llvm::MetadataBase* metadata = gIR->context().getMDNode(mdVals, TD_NumFields);
#else
llvm::MetadataBase* metadata = MDNode::get(Context, mdVals, TD_NumFields);
#endif
// Insert it into the module
llvm::NamedMDNode::Create(metaname, &metadata, 1, gIR->module);
}

View File

@@ -5,6 +5,7 @@
#include "declaration.h"
#include "mtype.h"
#include "gen/llvm-version.h"
#include "gen/irstate.h"
#include "gen/logger.h"
#include "gen/tollvm.h"
@@ -86,7 +87,11 @@ LLGlobalVariable * IrStruct::getClassInfoSymbol()
mdVals[CD_Finalize] = LLConstantInt::get(LLType::Int1Ty, hasDestructor);
mdVals[CD_CustomDelete] = LLConstantInt::get(LLType::Int1Ty, hasCustomDelete);
// Construct the metadata
#if LLVM_REV < 77733
llvm::MetadataBase* metadata = gIR->context().getMDNode(mdVals, CD_NumFields);
#else
llvm::MetadataBase* metadata = MDNode::get(Context, mdVals, CD_NumFields);
#endif
// Insert it into the module
std::string metaname = CD_PREFIX + initname;
llvm::NamedMDNode::Create(metaname, &metadata, 1, gIR->module);