comparison gen/metadata.h @ 1343:c21a6654cce2

Update for metadata changes in LLVM trunk.
author Frits van Bommel <fvbommel wxs.nl>
date Mon, 11 May 2009 11:59:22 +0200
parents 4099548c80e0
children 3297edb697eb
comparison
equal deleted inserted replaced
1342:16d9afa22df4 1343:c21a6654cce2
3 3
4 #include "gen/llvm-version.h" 4 #include "gen/llvm-version.h"
5 5
6 #if LLVM_REV >= 68420 6 #if LLVM_REV >= 68420
7 // Yay, we have metadata! 7 // Yay, we have metadata!
8
9 // The metadata interface is still in flux...
10 #if LLVM_REV >= 71407
11 // MDNode was moved into its own header, and contains Value*s
12 #include "llvm/MDNode.h"
13 typedef llvm::Value MDNodeField;
14
15 // Use getNumElements() and getElement() to access elements.
16 inline unsigned MD_GetNumElements(llvm::MDNode* N) {
17 return N->getNumElements();
18 }
19 inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) {
20 return N->getElement(i);
21 }
22 #else
23 // MDNode is in Constants.h, and contains Constant*s
24 #include "llvm/Constants.h"
25 typedef llvm::Constant MDNodeField;
26
27 // Use getNumOperands() and getOperand() to access elements.
28 inline unsigned MD_GetNumElements(llvm::MDNode* N) {
29 return N->getNumOperands();
30 }
31 inline MDNodeField* MD_GetElement(llvm::MDNode* N, unsigned i) {
32 return N->getOperand(i);
33 }
34 #endif
8 35
9 #define USE_METADATA 36 #define USE_METADATA
10 #define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage 37 #define METADATA_LINKAGE_TYPE llvm::GlobalValue::WeakODRLinkage
11 38
12 // *** Metadata for TypeInfo instances *** 39 // *** Metadata for TypeInfo instances ***