comparison gen/typinf.cpp @ 1569:755abafbf25d

Push the context through StructType::get. Requires LLVM >= 78258. Also remove old #if's.
author Benjamin Kramer <benny.kra@gmail.com>
date Thu, 06 Aug 2009 01:47:39 +0200
parents 95d710d405e3
children 8d086d552909
comparison
equal deleted inserted replaced
1568:a591aa6bd6dc 1569:755abafbf25d
14 14
15 #include <cstdio> 15 #include <cstdio>
16 #include <cassert> 16 #include <cassert>
17 17
18 #include "gen/llvm.h" 18 #include "gen/llvm.h"
19 #include "gen/llvm-version.h"
20 19
21 #include "mars.h" 20 #include "mars.h"
22 #include "module.h" 21 #include "module.h"
23 #include "mtype.h" 22 #include "mtype.h"
24 #include "scope.h" 23 #include "scope.h"
316 MDNodeField* mdVals[TD_NumFields]; 315 MDNodeField* mdVals[TD_NumFields];
317 if (TD_Confirm >= 0) 316 if (TD_Confirm >= 0)
318 mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value); 317 mdVals[TD_Confirm] = llvm::cast<MDNodeField>(irg->value);
319 mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo)); 318 mdVals[TD_Type] = llvm::UndefValue::get(DtoType(tid->tinfo));
320 // Construct the metadata 319 // Construct the metadata
321 #if LLVM_REV < 77733
322 llvm::MetadataBase* metadata = gIR->context().getMDNode(mdVals, TD_NumFields);
323 #else
324 llvm::MetadataBase* metadata = llvm::MDNode::get(gIR->context(), mdVals, TD_NumFields); 320 llvm::MetadataBase* metadata = llvm::MDNode::get(gIR->context(), mdVals, TD_NumFields);
325 #endif
326 // Insert it into the module 321 // Insert it into the module
327 llvm::NamedMDNode::Create(metaname, &metadata, 1, gIR->module); 322 llvm::NamedMDNode::Create(metaname, &metadata, 1, gIR->module);
328 } 323 }
329 } 324 }
330 #endif // USE_METADATA 325 #endif // USE_METADATA